PT09IHJlbGVhc2UgMS40LjUgPT09CgoyMDE0LTEyLTE4ICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0Bjb2F4aW9uLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDEuNC41CgoyMDE0LTEyLTE4IDEyOjA2OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0xMi0wOCAyMToyNjoxOCArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2tyQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEZpeGVzIGJ1ZmZlciBsZWFrIHdoZW4gdXNpbmcgU1BTL1BQUwoJICBGaXhlcyBhIGJ1ZmZlciBsZWFrIHRoYXQgd291bGQgb2NjdXJyIGlmIHRoZSBwaXBlbGluZSB3YXMgc2h1dGRvd24KCSAgd2hpbGUgYSBTUFMvUFBTIGhlYWRlciB3YXMgYmVpbmcgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI3MQoKMjAxNC0xMS0yMSAxMTo1NDoxOCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIERlaW50ZXJsYWNlOiBpbiBxdWVyeV9jYXBzIHJldHVybiBvbmx5IHN1cHBvcnRlZCBmb3JtYXRzIGlmIGZpbHRlciBpcyBpbnRlcmxhY2VkCgkgIEluIHNvbWUgY2FzZXMgdGhlIGN1cnJlbnRseSBzZXQgR3N0VmlkZW9JbmZvIGlzIG5vdCBpbnRlcmxhY2VkLCBidXQKCSAgdXBzdHJlYW0gY2FwcyBhcmUgaW50ZXJsYWNlZCBhbmQgdGhlIGluZm8gaXMgcGFzc2VkIGluIHRoZSBmaWx0ZXIsCgkgIHdlIHNob3VsZCB0YWtlIHRoYXQgaW5mbyBpbnRvIGFjY291bnQgYW5kIG1ha2Ugc3VyZSB0aGF0IHdlIGRvIG5vdAoJICBjb25zaWRlciB0aGF0IGNhc2UgYXMgYSAicGFzcyB0aHJvdWdoIiBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDA3CgoyMDE0LTEyLTAzIDExOjEyOjU1ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBVc2UgYW4gZW1wdHkgaXRlcmF0b3IgaW4gaXRlcmF0ZV9pbnRlcm5hbF9saW5rIHdoZW4gbm8gbGlua3MKCSAgV2UgdXNlZCB0byBzZXR1cCBhbiBpdGVyYXRvciB3aXRoIDEgR1ZhbHVlIHNldCB3aXRoIGEgTlVMTCBvYmplY3QKCSAgcG9pbnRlciB3aGljaCBpcyBub3QgdGhlIG5vcm1hbCB3YXkgdG8gZG8gdGhhdC4gSW5zdGVhZCB3ZSBzaG91bGQgbWFrZQoJICBzdXJlIHRoYXQgdGhlIGZpcnN0IGNhbGwgdG8gZ3N0X2l0ZXJhdG9yX25leHQgcmV0dXJucyBHU1RfSVRFUkFUT1JfRE9ORS4KCjIwMTQtMTItMDMgMTc6MjY6NTYgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVXNlIGFuIGVtcHR5IGl0ZXJhdG9yIGluIGl0ZXJhdGVfaW50ZXJuYWxfbGluayB3aGVuIG5vIGxpbmtzCgkgIEFuZCBub3QgYSBOVUxMIEl0ZXJhdG9yLCBzbyBpdCBpcyBjb25zaXN0ZW50IHdpdGggdGhlIHdheSBpdCB1c3VhbGx5CgkgIHdvcmtzIGFuZCBhdm9pZCB1c2VyIHRvIG5lZWQgYSBkaWZmZXJlbnQgY29kZSBwYXRocyB0byBoYW5kbGUgdGhhdC4KCjIwMTQtMTItMDkgMTY6Mzg6MzggKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwWGVuYzogQ0xPQ0tfVElNRV9OT05FIGlzIG5vdCBhIHZhbGlkIG1pbl9sYXRlbmN5IHZhbHVlCgkgIFdlIHNob3VsZCBqdXN0IHVzZSAwIGlmIHdlIGRvIG5vdCBoYXZlIHRoZSBpbmZvcm1hdGlvbgoKMjAxNC0xMi0xMCAxMTozNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsc28gb25seSB1bnJlZiBjYXBzIGlmIHRoZXkncmUgbm90IE5VTEwKCjIwMTQtMTItMTAgMTE6MzQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMoKSB3aWxsIHJldHVybiBOVUxMIGlmIHRoZXJlIGlzIG5vIHBlZXIKCjIwMTQtMTItMTYgMTM6MjU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGNsZWFyIHJlY3RhbmdsZSBzdHJ1Y3R1cmVzIGJlZm9yZSB1c2UKCjIwMTQtMTItMDkgMTU6MDk6NTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWx3YXlzIHNldCBmb3JtYXQKCSAgUmlnaHQgbm93IHdlIHRyeSB0byBiZSBjbGV2ZXIgYnkgZGV0ZWN0aW5nIGlmIGRldmljZSBmb3JtYXQgaGF2ZQoJICBjaGFuZ2VkIG9yIG5vdCwgYW5kIHNraXAgc2V0dGluZyBmb3JtYXQgaW4gdGhpcyBjYXNlLiBUaGlzIGlzIHZhbGlkCgkgIGJlaGF2aW91ciB3aXRoIFY0TDIsIGJ1dCBpdCdzIGFsc28gdmVyeSBlcnJvciBwcm9uZS4gVGhlIHJhdGlvbmFsCgkgIGZvciBub3Qgc2V0dGluZyB0aGVzZSBhbGwgdGhlIHRpbWUgaXMgZm9yIHNwZWVkLCB0aG91Z2ggSSBjYW4ndAoJICBtZWFzdXJlIGFueSBub3RpY2VhYmxlIGdhaW4gb24gYW55IEhXIEkgb3duLiBBbHNvLCB1bnRpbCByZWNlbnRseSwKCSAgd2Ugd2hlcmUgZG9pbmcgZ2V0L3NldCBvbiB0aGUgZm9ybWF0IGZvciBlYWNoIGZvcm1hdCB3ZSB3aGVyZQoJICBwcm9iaW5nLCBtYWtpbmcgaXQgbmVhciB0byBpbXBvc3NpYmxlIHRoYXQgdGhlIGZvcm1hdCB3b3VsZCBtYXRjaC4KCSAgVGhpcyBhbHNvIGZpeGVzIGJ1ZyB3aGVyZSB3ZSB3aGVyZSBza2lwcGluZyBmcmFtZS1yYXRlIHNldHRpbmcgaWYKCSAgZm9ybWF0IGRpZG4ndCBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MzYKCjIwMTQtMTEtMDIgMjM6MzM6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGZpeCBhIGNvdXBsZSBvZiBtaW5vciBsZWFrcwoKMjAxNC0wOS0yOSAxMTo0OTo0NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogc2V0IGNvbG9yc3BhY2UgZm9yIG91dHB1dCBkZXZpY2VzCgkgIFdoZW4gdGhlIHY0bDIgZGV2aWNlIGlzIGFuIG91dHB1dCBkZXZpY2UsIHRoZSBhcHBsaWNhdGlvbiBzaGFsbCBzZXQgdGhlCgkgIGNvbG9yc3BhY2UuIFNvIG1hcCBHU3RyZWFtZXIgY29sb3JpbWV0cnkgaW5mbyB0byBWNEwyIGNvbG9yc3BhY2UgYW5kIHNldAoJICBvbiBzZXRfZm9ybWF0LiBJbiBjYXNlIHdlIGhhdmUgbm8gY29sb3JpbWV0cnkgaW5mb3JtYXRpb24sIHdlIHRyeSB0bwoJICBndWVzcyBpdCBhY2NvcmRpbmcgdG8gcGl4ZWwgZm9ybWF0IGFuZCB2aWRlbyBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTc5CgoyMDE0LTEyLTExIDEwOjE2OjA2ICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmlja3JAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IHBvdGVudGlhbCBjcmFzaCB3aGVuIHNodXR0aW5nIGRvd24KCSAgQSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIG1heSBjYXVzZSBidWZmZXJzCgkgIHRvIGJlIHVucmVmZmVkIHdoaWxlIHRoZXkgYXJlIHN0aWxsIHVzZWQgYnkgdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgaW4gZ3N0X3J0cF9oMjY0X3BheV9zZW5kX3Nwc19wcHMoKSByZXN1bHRpbmcgaW4gYSBjcmFzaC4gQ2hhaW4KCSAgdXAgdG8gdGhlIHBhcmVudCBjbGFzcyBmaXJzdCBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRvCgkgIG1ha2Ugc3VyZSBzdHJlYW1pbmcgaGFzIHN0b3BwZWQgYW5kIG9ubHkgdGhlbiBmcmVlIHRob3NlIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzODEKCjIwMTQtMTEtMjkgMTg6MzU6NDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IFVzZSBvZmZzZXQgd2hlbiBjb3B5aW5nIGhlYWRlcgoJICBUaGUgaGVhZGVyIGlzIG5vdCBhbHdheXMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBwYWNrZXQsIHNvIHdlIG5lZWQgdG8gY29tcHV0ZQoJICB0aGUgb2Zmc2V0IGZpcnN0LgoKMjAxNC0xMS0yOCAxMzoxMjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgIGFwZXYybXV4OiB3cml0ZSBBUEUgdGFncyBhdCBlbmQgZm9yIHdhdnBhY2sgZmlsZXMKCSAgaHR0cDovL3d3dy53YXZwYWNrLmNvbS9maWxlX2Zvcm1hdC50eHQ6CgkgICJCb3RoIHRoZSBBUEV2MiB0YWdzIGFuZC9vciBJRDN2MSB0YWdzIG11c3QgY29tZSBhdCB0aGUgZW5kIG9mIHRoZQoJICBXYXZQYWNrIGZpbGUsIHdpdGggdGhlIElEM3YxIGNvbWluZyBsYXN0IGlmIGJvdGggYXJlIHByZXNlbnQuIgoJICBXYXZQYWNrIGZpbGVzIHRoYXQgY29udGFpbiBBUEV2MiB0YWdzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGVzCgkgIGFyZSB1bnBsYXlhYmxlIG9uIHBsYXllcnMgdGhhdCB1c2UgRkZtcGVnIChsaWtlIFZMQykgYW5kIG1vc3Qgb3RoZXIKCSAgc29mdHdhcmUgKGV4Y2VwdCBCYW5zaGVlKS4gUGxheWVycyB0aGF0IHVzZSBsaWJ3YXZwYWNrIGRpcmVjdGx5IGNhbgoJICBwbGF5IHRoZSBmaWxlcyBiZWNhdXNlIGl0IHNraXBzIHRoZSB0YWdzLCBidXQgZG9lcyBub3QgcmVjb2duaXplIHRoZQoJICB0YWcgZGF0YSBhdCB0aGF0IGxvY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDM3CgoyMDE0LTEyLTA5IDE0OjAxOjUwICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHNldCBidWZmZXIgaW50ZXJsYWNlIGZsYWdzIHdoZW4gZmllbGQgaXMgVjRMMl9GSUVMRF9JTlRFUkxBQ0VECgkgIElmIHY0bDJfYnVmZmVyLmZpZWxkIGlzIFY0TDJfRklFTERfSU5URVJMQUNFRCwgd2Ugc2V0IGNvcnJlc3BvbmRpbmcKCSAgR3N0VmlkZW9CdWZmZXIgZmxhZ3MgZGVwZW5kaW5nIG9uIHRoZSB2aWRlbyBzdGFuZGFyZC4KCSAgQWNjb3JkaW5nIHRvIFY0TDIgc3BlY2lmaWNhdGlvbiwgTS9OVFNDIHRyYW5zbWl0cyB0aGUgYm90dG9tIGZpZWxkCgkgIGZpcnN0LCBhbGwgb3RoZXIgc3RhbmRhcmRzIHRoZSB0b3AgZmllbGQgZmlyc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc2MDMKCjIwMTQtMTAtMzAgMTc6NDE6MTkgKzAwMDAgIFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IENsZWFuIHVwIGludGVybGFjZSBzdXBwb3J0CgkgIFJhdGhlciB0aGFuIHRyeSBhbmQgZ3Vlc3MgaW50ZXJsYWNlIHN1cHBvcnQgYXMgcGFydCBvZiBjaGVja2luZyBzdXBwb3J0ZWQKCSAgc2l6ZXMsIGxvb2sgZm9yIGludGVybGFjZSBzdXBwb3J0IHNwZWNpZmljYWxseSBpbiBpdHMgb3duIGZ1bmN0aW9uLgoJICBBcyBhIGNsZWFudXAsIHVzZSBWNEwyX0ZJRUxEX0FOWSB3aGVuIHByb2Jpbmcgc2l6ZXMsIHdoaWNoIHNob3VsZCByZXN1bHQgaW4KCSAgdGhlIGRyaXZlciBkb2luZyB0aGUgcmlnaHQgdGhpbmcuCgkgIFdpdGggbXkgY2FwdHVyZSBzZXR1cCwgdGhpcyBnZXRzIG1lIHRoZSBmb2xsb3dpbmcgc2FtcGxlIGNhcHM6CgkgIEZvciAxMDgwaSByZXNvbHV0aW9uOgoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpWVVZMiwgd2lkdGg9KGludCkxOTIwLCBoZWlnaHQ9KGludCkxMDgwLCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMSwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZylpbnRlcmxlYXZlZCwgZnJhbWVyYXRlPShmcmFjdGlvbil7IDI1LzEsIDMwLzEgfQoJICBGb3IgNzIwcCByZXNvbHV0aW9uOgoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpWVVZMiwgd2lkdGg9KGludCkxMjgwLCBoZWlnaHQ9KGludCk3MjAsIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKXByb2dyZXNzaXZlLCBmcmFtZXJhdGU9KGZyYWN0aW9uKXsgNTAvMSwgNjAvMSB9CgkgIEZvciA1NzZpL3AgcmVzb2x1dGlvbiAoYm90aCBwb3NzaWJsZSBhdCB0aGUgcG9pbnQgb2YgcXVlcnkpOgoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpWVVZMiwgd2lkdGg9KGludCk3MjAsIGhlaWdodD0oaW50KTU3NiwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzEsIGludGVybGFjZS1tb2RlPShzdHJpbmcpeyBwcm9ncmVzc2l2ZSwgaW50ZXJsZWF2ZWQgfSwgZnJhbWVyYXRlPShmcmFjdGlvbil7IDI1LzEsIDUwLzEgfQoJICBUaGlzLCBpbiB0dXJuLCBtYWtlcyA1NzZpIHdvcmsgY29ycmVjdGx5OyB3aXRoIHRoZSBvbGQgY29kZSwKCSAgdGhlIGNhcHMgd291bGQgYmUgaW50ZXJsYWNlLW1vZGU9cHJvZ3Jlc3NpdmUgZm9yIGludGVybGFjZWQgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxOTQKCjIwMTQtMTItMDcgMTc6MzM6NTEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogV29ya2Fyb3VuZCBsaWJ2NGwyIFJXIGVtdWxhdGlvbiBidWcKCSAgV2hlbiBsaWJ2NGwyIGVtdWxhdGVzIFJXIG1vZGUgb24gdG9wIG9mIE1NQVAgZGV2aWNlcywgdGhlIHF1ZXVlcyBhcmUKCSAgb25seSBpbml0aWFsaXplZCBvbiBmaXJzdCByZWFkLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHBvbGwoKSB3aWxsIGZhaWwKCSAgaWYgY2FsbGVkIGJlZm9yZSB0aGUgcXVldWVzIGFyZSBpbml0aWFsaXplZCBhbmQgc3RyZWFtaW5nLiBXb3JrYXJvdW5kCgkgIHRoaXMgYnkgZG9pbmcgYSB6ZXJvIHNpemUgcmVhZCB3aGVuIHBvb2wgaXMgc3RhcnRlZCBpbiB0aGF0IElPIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MzMKCjIwMTQtMTItMDcgMTc6Mjc6MzcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogRml4IFJXIGlvIG1vZGUKCSAgSW4gUlcsIGFsbG9jYXRvciBjYW4gYmUgbnVsbCwgbWF4X2J1ZmZlcnMgY2FuIGJlIHplcm8sIGFuZCB3ZSBuZWVkIG5vdAoJICB0byB3YWl0IHdoaWxlIHRoZSBxdWV1ZSBpcyBlbXB0eSBzaW5jZSB0aGVyZSBpcyBubyBxdWV1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYzMwoKMjAxNC0xMS0wNyAxNjo0MTo1MiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiB1bnJlZiBwb29sIHdoZW4gdjRsMl9hbGxvY2F0b3JfbmV3KCkgZmFpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc5MQoKMjAxNC0xMS0wNyAxNzowNjo0OSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSAgdjRsMmFsbG9jYXRvcjogZml4IGdzdF92NGwyX2FsbG9jYXRvcl9zdG9wIHByb3RvdHlwZQoJICBnc3RfdjRsMl9hbGxvY2F0b3Jfc3RvcCByZXR1cm5zIGEgR3N0VjRsMlJldHVybiwgbm90IGEgZ2Jvb2xlYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3OTIKCjIwMTQtMTEtMjYgMTA6MzM6MDkgKzAzMDAgIEFuZHJlaSBTYXJha2VldiA8c2FyYWt1c2hhQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkgIGFzcGVjdHJhdGlvY3JvcDogSGFuZGxlIHJlc29sdXRpb24gY2hhbmdlcyBwcm9wZXJseQoJICBXaGVuIGFuIGNhcHMtZXZlbnQgaXMgcmVjZWl2ZWQsIHdlIG11c3QgaW1tZWRpYXRlbHkgY2hhbmdlIHRoZSBjcm9wCgkgIHRvIHZpZGVvY3JvcCBjb3JyZWN0bHkgY2hhbmdlZCBjYXBzLWV2ZW50IGRpbWVuc2lvbiwgb3RoZXJ3aXNlIHRoZQoJICB2aWRlb2Nyb3Agd2lsbCBmaXJzdCB1c2UgdGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBjcm9wIHRoYXQgd2hlbgoJICByZXNpemluZyB2aWRlbyB0byBhIHNtYWxsZXIgcmVzb2x1dGlvbiBtYXkgY2F1c2UgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2NzEKCjIwMTQtMTEtMzAgMTc6NTI6NDcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBSZW1vdmUgbGFzdCBpbmNsdWRlIHRvIGxpbnV4L3ZpZGVvZGV2Mi5oCgkgIFdlIG5vdyB1c2UgYW5kIHVwZGF0ZSBvdXIgaW50ZXJuYWwgY29weSBzbyB3ZSBubyBsb25nZXIgaGF2ZSB0byBpZmRlZgoJICB0aGUgZW50aXJlIGNvZGUgZm9yIGZlYXR1cmVzIGFuZCBkZWZpbmVzIHRoYXQgd2hlcmUgYWRkZWQgb3ZlciB0aGUKCSAgeWVhcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDUKCjIwMTQtMTEtMTkgMTY6MTI6MzggKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUmVzdHJpY3QgcmVzeW5jaW5nIHRvIFRTIHJlZ3Jlc3Npb25zCgkgIFRoZSBiZWhhdmlvciBvZiByZXN5bmNpbmcgdmlkZW8gYW5kIGF1ZGlvIGluZGVwZW4tCgkgIGRlbnRseSBjYW4gY2F1c2UgQS9WIGRlc3luY3MuIExldHMgcmVzdHJpY3QgcmVzeW5jcwoJICB0byBqdW1wcyBiYWNrd2FyZCBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Mzk3CgkgIENvbmZsaWN0czoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jCgoyMDE0LTExLTIwIDEzOjE0OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBwdXQgMC1ieXRlIGF0IHRoZSBlbmQgb2YgZXZlbnRzCgkgIFB1dCBhIDAtYnl0ZSBhdCB0aGUgZW5kIG9mIHRoZSBldmVudCBzdHJpbmcuIERvZXMgbm90IGJyZWFrIEFCSSBiZWNhdXNlCgkgIG9sZCBkZXBheWxvYWRlcnMgd2lsbCBza2lwIHRoZSAwIGJ5dGUgKHdoaWNoIGlzIGluY2x1ZGVkIGluIHRoZSBsZW5ndGgpLgoJICBFeHBlY3QgYSAwLWJ5dGUgYXQgdGhlIGVuZCBvZiB0aGUgZXZlbnQgc3RyaW5nIG9yIGEgOyBmb3Igb2xkCgkgIHBheWxvYWRlcnMuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTkxCgoyMDE0LTExLTIwIDEyOjQwOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IGF2b2lkIGJ1ZmZlciBvdmVycmVhZC4KCSAgQ2hlY2sgdGhhdCBhIGNhcHMgZXZlbnQgc3RyaW5nIGlzIDAgdGVybWluYXRlZCBhbmQgdGhlIGV2ZW50IHN0cmluZyBpcwoJICB0ZXJtaW5hdGVkIHdpdGggYSA7IHRvIGF2b2lkIGJ1ZmZlciBvdmVycmVhZHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1OTEKCjIwMTQtMTEtMTYgMTI6MzQ6MTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBIYW5kbGUgY29ycnVwdGVkIGJ1ZmZlciB3aXRoIGVtcHR5IHBheWxvYWQKCSAgVGhpcyBhbGxvdyBza2lwcGluZyBidWZmZXIgZmxhZ2dlZCB3aXRoIEVSUk9SIHRoYXQgaGFzIG5vIHBheWxvYWQuCgkgIFRoaXMgaXMgdHlwaWNhbCBiZWhhdmlvdXIgd2hlbiBhIHJlY292ZXJlcmFibGUgZXJyb3Igb2NjdXJlZCBkdXJpbmcKCSAgY2FwdHVyZSBpbiB0aGUgZHJpdmVyLCBidXQgdGhhdCBubyB2YWxpZCBkYXRhIHdhcyBldmVyIHdyaXR0ZW4gaW50byB0aGF0CgkgIGJ1ZmZlci4gVGhpcyBwYXRjaCBhbHNvIHRyYW5zbGF0ZSBWNEwyX0JVRl9GTEFHX0VSUk9SIGludG8KCSAgR1NUX0JVRkZFUl9GTEFHX0NPUlJVUFRFRC4gSGVuY2UgZGVjb2RpbmcgZXJyb3IgcHJvZHVjZQoJICBieSBkZWNvZGVyIGR1ZSB0byBtaXNzaW5nIGZyYW1lcyB3aWxsIG5vdyBiZSBjb3JyZWN0bHkgbWFya2VkLiBGaW5hbGx5LAoJICB0aGlzIGZpeGVzIGEgYnVmZmVyIGxlYWsgd2hlbiBFT1MgaXMgcmVhY2hlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA0MAoKMjAxNC0xMS0yMCAxMDo0NTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGRvbid0IGxpbWl0IG1heCB2aWRlbyByZXNvbHV0aW9uIHRvIDQwOTZ4NDA5NgoJICBNQVggaXNuJ3QgZW50aXJlbHkgY29ycmVjdCBhcyB1cHBlciBsaW1pdCBlaXRoZXIsCgkgIGl0IHNob3VsZCByZWFsbHkgYmUgTUFYVUlOVDMyLCBidXQgaXQncyB1bmxpa2VseQoJICB0byBiZSBhIHByb2JsZW0gaW4gdGhlIG5lYXIgZnV0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNDA3CgoyMDE0LTExLTE5IDE1OjA2OjAwIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGxlYWsgZm9yIG1pa2V5IGJhc2U2NCBkZWNvZGVkIGtleS1tZ210CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzOTIKCjIwMTQtMTEtMTcgMjM6MTY6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IGZpeCB1cCBRb1MgaGFuZGxpbmcgZm9yIGxpdmUgc291cmNlcwoJICBPbmx5IGF0dGVtcHQgYWRhcHRpdmUgZHJvcCB3aGVuIHdlIGFyZSBub3QgbGl2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTk2CgoyMDE0LTExLTA5IDExOjA0OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IFVzZSBHX0RFRklORV9UWVBFKCkgdG8gcmVnaXN0ZXIgdGhlIHBhZCBpbnN0ZWFkIG9mIG1hbnVhbGx5IHJlZ2lzdGVyaW5nIGl0CgoyMDE0LTExLTA2IDE1OjM3OjI4ICswMTAwICBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIEdzdE1hdHJvc2thbXV4UGFkIGdldF90eXBlKCkgZnVuY3Rpb24gdGhyZWFkLXNhZmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTcyMgoKMjAxNC0xMS0wMSAyMjozOTo0MSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cHg6IG1hcmsgYXJuci10eXBlIHByb3BlcnRpZXMgYXMgZGVwcmVjYXRlZCBhbmQgc2V0IHRoZW0gdG8gbm8tb3AKCSAgQVJOUiB0eXBlIGNvbnRyb2wgaW4gbGlidnB4IGhhcyBiZWVuIGRlcHJlY2F0ZWQgc28gdGhpcyBjb21taXQgbWFyayB0aGUKCSAgdnA4ZW5jIGFuZCB2cDllbmMgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzIGFzIGRlcHJlY2F0ZWQgYW5kIGNoYW5nZSB0aGVpcgoJICBiZWhhdmlvciB0byBqdXN0IGRpc3BsYXkgYSB3YXJuaW5nIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0NzYKCjIwMTQtMTEtMDYgMjE6MjE6NDAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEltcHJvdmUgYnVmZmVyIHZhbGlkYXRpb24KCSAgSW1wcm92ZSBidWZmZXIgdmFsaWRhdGlvbiBieSBtYWtpbmcgc3VyZSBlYWNoIG1lbW9yeSBhcmUgdGhlIHJpZ2h0CgkgIG9uZSBhbmQgdGhhdCBlYWNoIG1lbW9yeSBpcyB3cml0YWJsZS4gVGhpcyBmaXhlcyB0ZWFyaW5nIGlzc3VlcyBpbgoJICBjYXNlIGRvd25zdHJlYW0gdXNlcyBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSBvciBvdGhlciB0eXBlCgkgIG9mIEdzdEJ1ZmZlciBjb3B5IHdoZXJlIG1lbW9yeSBhcmUgb25seSByZWZmZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3NTQKCjIwMTQtMTEtMDcgMTY6MTE6MjQgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IGZpeCBlcnJvciBtZXNzYWdlIGlmIGFsbG9jYXRvciBpcyBhbHJlYWR5IGFjdGl2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Nzg5Cgo9PT0gcmVsZWFzZSAxLjQuNCA9PT0KCjIwMTQtMTEtMDYgMTM6MDI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS40LjQKCjIwMTQtMTEtMDYgMTI6NDQ6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMTEtMDEgMTI6MTg6MDIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5oOgoJICB2cHg6IHJlbW92ZSBjb21wYXRpYmlsaXR5IGRlZmluZXMKCSAgV2UgYXJlIGd1YXJhbnRlZWQgdG8gaGF2ZSBWUFhfSU1HX0ZNVF9JNDIwLCBWUFhfUExBTkVfWSwKCSAgVlBYX1BMQU5FX1UgYW5kIFZQWF9QTEFORV9WIGFzIHdlIHJlcXVpcmUgbGlidnB4ID4gMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0NzYKCjIwMTQtMTEtMDEgMTE6NTk6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwbXAydHBheTogZml4IHVwIHRlbXBsYXRlIGNhcHMgc28gd2UgY2FuIG91dHB1dCB0aGUgZGVmYXVsdCBwdCAzMwoJICBBZGQgZml4ZWQgcGF5bG9hZCB0eXBlIGZvciBtcDJ0IHRvIHRlbXBsYXRlIGNhcHMgYXMgd2VsbCwgc28KCSAgb3VyIG91dHB1dCBjYXBzIG1hdGNoIHRoZSBhZHZlcnRpc2VkIGRlZmF1bHQgcHQuIEZpeGVzIGEKCSAgcmVncmVzc2lvbiBmcm9tIDEuMi4KCSAgVGhlcmUncyBzdGlsbCBzb21ldGhpbmcgd3Jvbmcgd2l0aCBjYXBzIG5lZ290aWF0aW9uIHRob3VnaCwKCSAgcnRwbXAydHBheSBwYXlsb2FkPTk2ICEgZmFrZXNpbmsgd2lsbCBub3Qgb3V0cHV0IGNhcHMgd2l0aAoJICBwYXlsb2FkPTk2LgoKMjAxNC0xMC0yNyAxMTowODoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggdW5pdCB0ZXN0IG5vdyB0aGF0IHdlIGFsd2F5cyBoYXZlIHByb2ZpbGUvbGV2ZWwgaW4gdGhlIGNhcHMKCjIwMTQtMTAtMjYgMTE6NDc6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBbHdheXMgc2V0IHByb2ZpbGUvbGV2ZWwgb24gdGhlIGNhcHMKCSAgV2UgaGF2ZSB0aGUgaW5mb3JtYXRpb24gYWxyZWFkeSwgc28gd2h5IG5vdCB1c2UgaXQ/CgoyMDE0LTEwLTMwIDE1OjM3OjM2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWlrZXkgcmVsYXRlZCBtZW1vcnkgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQzMAoKMjAxNC0xMC0yOCAyMTozMjowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgcHVsc2UsIHY0bDI6IGFkZCBtaXNzaW5nIEdfRU5EX0RFQ0xTIGluIHNvbWUgcGxhY2VzCgoyMDE0LTEwLTIyIDIyOjUwOjU0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBUZW1wb3JhcmlseSBkaXNhYmxlIHN0cmVhbSBzdGF0dXMgcG9zdGluZwoJICBXZSBuZWVkIGEgbWVjaGFuaXNtIGluIFB1bHNlQXVkaW8gdG8gYWxsb3cgcnVubmluZyBjb2RlIG91dHNpZGUgdGhlCgkgIG1haW5sb29wIGxvY2suIFRoZW4gd2UnZCBiZSBhYmxlIHRvIHBvc3QgdG8gdGhlIGJ1cyAodGFraW5nIHRoZQoJICBHU1RfT0JKRUNUX0xPQ0spLCB3aXRob3V0IHdvcnJ5aW5nIGFib3V0IGxvY2tpbmcgb3JkZXIgd2l0aCB0aGUgbWFpbmxvb3AKCSAgbG9jaywgd2hpY2ggaXMgdGhlIGN1cnJlbnQgY2F1c2Ugb2YgZGVhZGxvY2tzIHdoaWxlIHRyeWluZyB0byBwb3N0IHRoZQoJICBzdHJlYW0gc3RhdHVzIG1lc3NhZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDcxCgoyMDE0LTEwLTA3IDE1OjI5OjMzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNsZWFubHkgaGFuZGxlIHN0cmVhbW9uIGZhaWx1cmUgZm9yIG91dHB1dCBkZXZpY2UKCSAgT24gc3RyZWFtb24gZmFpbHVyZSwgdGhlIHF1ZXVlZCBidWZmZXIgaXMgbm90IHJlbGVhc2VkIGZyb20gdGhlCgkgIGJ1ZmZlcnBvb2wgY2xhc3MgcG9pbnQgb2YgdmlldyBiZWNhdXNlIGl0IGlzIHF1ZXVlZCB0byB0aGUgZHJpdmVyIGFuZAoJICB0aGUgZmx1c2ggbG9naWMgaXMgbm90IHBlcmZvcm1lZCBzaW5jZSB3ZSBhcmUgbm90IGluIHN0cmVhbWluZyBzdGF0ZS4KCSAgSXQgY2F1c2VzIHRoZSB2NGwyIGJ1ZmZlcnBvb2wgdG8gYWx3YXlzIHJldHVybiB0aGF0IHN0b3AgbWV0aG9kIGZhaWxlZAoJICBhbmQgdG8gbGVhayB2NGwyIG9iamVjdHMgYW5kIGJ1ZmZlcnMuCgkgIFRoaXMgY29tbWl0IHNvbHZlIHRoaXMgYnkgcGVyZm9ybWluZyB0aGUgZmx1c2ggbG9naWMgaW4gZXJyb3IgY2FzZSwgaWUKCSAgZmx1c2hpbmcgdGhlIGFsbG9jYXRvciBhbmQgcmVzdG9yaW5nIHF1ZXVlZCBidWZmZXIgc3RhdGUgdG8gbm9uLXF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEwMgoKMjAxNC0xMC0wOCAxMDozMToyMSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBpbXBsZW1lbnQgZGlzcG9zZSBtZXRob2QKCSAgVW5yZWYgb2JqZWN0cyBpbiBkaXNwb3NlIG1ldGhvZCByYXRoZXIgdGhhbiBpbiBmaW5hbGl6ZSBpbiBvcmRlciB0bwoJICBwcmV2ZW50IGNpcmN1bGFyIHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEwMgoKMjAxNC0xMC0wOCAxMDozNToxNCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBjaGVjayB0aGF0IGFsbG9jYXRvciBpcyBub24gbnVsbCB3aGVuIHN0b3BwaW5nIHBvb2wKCSAgT3RoZXJ3aXNlLCB3ZSBjb3VsZCBkZXJlZmVyZW5jZSBOVUxMIGFsbG9jYXRvciB3aGVuIHRoZSBzdG9wIG1ldGhvZCBpcwoJICBjYWxsZWQgYnkgdGhlIEdzdEJ1ZmZlclBvb2wncyBmaW5hbGl6ZSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxMDIKCjIwMTQtMTAtMDkgMTI6MTU6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBJbXBsZW1lbnQgdW5sb2NrL3VubG9ja19zdG9wCgkgIFRoaXMgd2lsbCBwcmV2ZW50IGRlYWRsb2NrcywgYnV0IHdpbGwgYWxzbyBwcm9wZXJseSBmbHVzaCB0aGUgcG9vbCBhbmQgYWxsb2NhdG9yCgkgIHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUuIEl0IHNob3VsZCBhbHNvIGZpeCBpc3N1ZXMgcmVwb3J0ZWQgb24gbWFpbGluZyBsaXN0CgkgIHdoZW4gc2Vla2luZyBpcyBwZXJmb3JtZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxNTIKCjIwMTQtMTAtMjUgMTI6MzY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY3Jhc2ggb24gc29tZSAzMi1iaXQgc3lzdGVtcwoJICBNYWtlIHN1cmUgdG8gcGFzcyByaWdodCBudW1iZXIgb2YgYml0cyB0byBnc3Rfc3RydWN0dXJlX25ldygpCgkgIHdoaWNoIGlzIGEgdmFyYXJnIGZ1bmN0aW9uLgoJICBGaXhlcyBlbGVtZW50cy9ydHBhdXggdW5pdCB0ZXN0IG9uIHBwYzMyLgoKMjAxNC0xMC0yNCAyMzo0ODozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaW50ZXJzZWN0IHJlc3VsdCB3aXRoIGZpbHRlciBjYXBzIGluIGNhcHMgcXVlcnkKCSAgRml4ZXMgY3Jhc2ggaW4gYXVkaW90ZXN0c3JjIGJlY2F1c2Ugb2YgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0CgkgIGdldHRpbmcgbmVnb3RpYXRlZCBvbiBiaWctZW5kaWFuIHN5c3RlbXMgd2l0aAoJICBhdWRpb3Rlc3RzcmMgISBpbnRlcmxlYXZlICEgYXVkaW9jb252ZXJ0ICEgd2F2ZW5jCgoyMDE0LTEwLTIyIDE1OjI4OjQ0ICswMjAwICBBbmFuZGEgPGFuYW5kYUBsYXRlbGllcjIzLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IEZpeCBzZWdmYXVsdCB3aGVuIHJlc2V0dGluZyB0aGUgY29kZWNzIG11bHRpcGxlIHRpbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3OTMKCjIwMTQtMTAtMjEgMTM6MTA6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbWFrZSBkZWJ1ZyBsaW5lIGxlc3MgY29uZnVzaW5nCgoyMDE0LTEwLTAzIDE3OjI4OjA2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IGZ1bGwgc3RyZWFtIGNhcHMgb24gaW50ZXJuYWwgc3JjIFRDUCBwYWRzCgkgIFNldCB0aGUgY29tcGxldGUgc3RyZWFtIGNhcHMgb24gdGhlIFRDUCBpbnRlcm5hbCBzcmMgcGFkcy4gT3RoZXJ3aXNlLAoJICBwdGRlbXV4IHdpbGwgbm90IHByb3Blcmx5IGRldGVjdCB0aGUgY2FwcyBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4NjgKCjIwMTQtMTAtMTcgMjI6MjM6MjcgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBzZXQgUFJPWFlfQ0FQUyBmbGFnIG9uIHRoZSBzcmMgcGFkCgkgIHJ0cG11eCBiZWhhdmVzIGxpa2UgYSBmdW5uZWwgaW4gdGhhdCBpdCBmb3J3YXJkcyB3aGF0ZXZlciB1cHN0cmVhbSBpcwoJICBzZW5kaW5nIGJ1ZmZlcnMuIFNvIHNldHRpbmcgcHJveHkgY2FwcyBkb2Vzbid0IG1ha2Ugc2Vuc2UgYXMgdGhlCgkgIHVwc3RyZWFtIGRvbid0IGhhdmUgdG8gaGF2ZSBjb21wYXRpYmxlIGNhcHMsIHRodXMgcmVzdWx0aW5nIGluIGFuIGVtcHR5CgkgIGNhcHMgc2V0IGFzIGEgcmVzdWx0IG9mIGEgY2FwcyBxdWVyeS4gSW5zdGVhZCBzZXQgZml4ZWQgY2FwcyBqdXN0CgkgIGFzIGZ1bm5lbCBkb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NzIyCgoyMDE0LTEwLTIwIDExOjU3OjM4ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogY3JpdGljYWwgZXJyb3Igd2hlbiBlbGVtZW50IHByb3BlcnRpZXMgc2V0IGFzIG1heC9taW4KCSAgbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tIGNhbiBiZSBzZXQgZnJvbSByYW5nZSBvZiAtMjE0NzQ4MzY0OCB0byAyMTQ3NDgzNjQ3CgkgIHdoZW4gaSBsYXVuY2ggdGhlIHZpZGVvYm94IGVsZW1lbnQgd2l0aCB0aGF0IHZhbHVlcywgaXQgZ2l2ZXMgYSBjcml0aWNhbCBlcnJvcgoJICAoZ3N0LWNoZWNrLTEuMDoyOTg2OSk6IEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3ZhbHVlX3NldF9pbnRfcmFuZ2Vfc3RlcDogYXNzZXJ0aW9uICdzdGFydCA8IGVuZCcgZmFpbGVkCgkgIFRoaXMgaGFwcGVucyBiZWNhdXNlIG1pbiBjYW5ub3QgYmUgZXF1YWwgdG8gbWF4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODM4CgoyMDE0LTEwLTExIDExOjE4OjQyICsxMTAwICBEYXZpZCBTYW5zb21lIDxtZUBkYXZpZHNhbnNvbWUuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBEb24ndCBjYWxsIGlpcmVxdWFsaXplcidzIHRyYW5zZm9ybV9pcCBpbiBwYXNzdGhyb3VnaCBtb2RlCgkgIEl0IHRyaWVzIHRvIG1hcCB0aGUgcmVhZC1vbmx5IGJ1ZmZlciB3aXRoIEdTVF9NQVBfUkVBRFdSSVRFIGFuZCBjcmFzaGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODg2CgoyMDE0LTEwLTAyIDE0OjI2OjA4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBGaXggbGlmZXRpbWUgb2Ygc3RyZWFtIGhlYWRlcnMgYW5kIHF1ZXVlZCBidWZmZXJzCgkgIFN0cmVhbSBoZWFkZXJzIGFyZSB1cGRhdGVkIHdoZW5ldmVyIDo6c2V0X2NhcHMgaXMgY2FsbGVkLCBzbyB3ZSBjYW4ndCBhc3N1bWUKCSAgdGhleSdsbCBiZSB2YWxpZCBiZWZvcmUgdGhlIG1lc3NhZ2UgYm9keSBpcyB3cml0dGVuIG91dC4gV2UgKmNhbiogYXNzdW1lIHRoYXQKCSAgZm9yIHF1ZXVlZCBidWZmZXJzLCBidXQgU09VUF9NRU1PUllfU1RBVElDIGlzIHN0aWxsIHdyb25nIGZvciB0aG9zZS4KCSAgQWxzbywgYWRkIHNvbWUgZGVidWcgbG9nZ2luZyBmb3Igc3RyZWFtIGhlYWRlciBpbnRlcmFjdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3NzEKCjIwMTQtMTAtMDIgMDM6MjY6MjIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggbWVtb3J5IGxlYWsgd2hlbiBwcmVwZW5kaW5nIEFEVFMgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzYxCgoyMDE0LTEwLTAyIDEwOjEwOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBTZW5kIENBUFMgZXZlbnQgYWZ0ZXIgdGhlIHBhZCB3YXMgYWN0aXZhdGVkCgkgIE90aGVyd2lzZSB0aGUgQ0FQUyBldmVudCB3aWxsIGJlIGRyb3BwZWQgYW5kIHdlIG5ldmVyIGNvbmZpZ3VyZSBhbnkgY2FwcyBhdAoJICBhbGwsIGxlYWRpbmcgdG8gd2VpcmQgYmVoYXZpb3VyIGluIG1hbnkgc2l0dWF0aW9ucy4gRXNwZWNpYWxseSBoZWFkZXIKCSAgcmV3cml0aW5nIGlzIG5vdCBnb2luZyB0byB3b3JrIGlmIGEgY2Fwc2ZpbHRlciBpcyBhZnRlciB3YXZlbmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MzUKCjIwMTQtMTAtMDEgMjM6MTI6MzAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEFkZCBzb21lIG1vcmUgdXNlZnVsIGRlYnVnIGxvZ2dpbmcKCjIwMTQtMTAtMDEgMjM6MDU6MDMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEZyZWUgcXVldWVkIGJ1ZmZlcnMgaW4gOjpyZXNldAoJICA6OnJlbmRlciBzZXRzIGEgbmV3IGNhbGxiYWNrIGZvciB3cml0aW5nIG91dCBuZXcgYnVmZmVycyBvbmx5IGlmIHRoZXJlIGFyZW4ndAoJICBhbHJlYWR5IGJ1ZmZlcnMgcXVldWVkIGZvciB3cml0aW5nIHdpdGggYSBwcmV2aW91c2x5LXNjaGVkdWxlZCBjYWxsYmFjay4KCSAgSG93ZXZlciwgaWYgdGhlIHByZXZpb3VzbHktc2NoZWR1bGVkIGNhbGxiYWNrIGlzIGludGVycnVwdGVkIGJ5IGEgc3RhdGUgY2hhbmdlCgkgIChlaXRoZXIgbWFudWFsbHkgb3IgZHVlIHRvIGFuIGVycm9yKSBhbmQgdGhlcmUgYXJlIHN0aWxsIGJ1ZmZlcnMgaW4gdGhlIHF1ZXVlLAoJICByZXN0YXJ0aW5nIHRoZSBwaXBlbGluZSB3aWxsIHJlc3VsdCBpbiBidWZmZXJzIGJlaW5nIHF1ZXVlZCBmb3JldmVyLCBhbmQgbm8KCSAgY2FsbGJhY2tzIHdpbGwgZXZlciBiZSBzY2hlZHVsZWQsIGFuZCBubyBidWZmZXJzIHdpbGwgYmUgd3JpdHRlbiBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MzkKCjIwMTQtMDktMzAgMTE6Mjg6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpbmlzaCgpIGFuZCBkcmFpbigpIHNob3VsZCByZXR1cm4gYSBHc3RGbG93UmV0dXJuCgoyMDE0LTA5LTMwIDExOjM1OjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA4ZW5jL3ZwOWVuYzogUHJvdGVjdCB0aGUgZW5jb2RlciB3aXRoIGEgbXV0ZXggaW4gYWxsIHNpdHVhdGlvbnMKCjIwMTQtMDktMzAgMTE6MzE6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IEFsbG93IGNhcHMgcmVuZWdvdGlhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MzI5CgoyMDE0LTAzLTE0IDEyOjU5OjAyICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbGxvdyBjYXBzIHJlbmVnb3RpYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjMyOQoKMjAxNC0wOS0yOSAyMjo0ODoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBhYm91dCB0aHJlYWRpbmcgYW5kIHN5bmNocm9uaXNhdGlvbgoJICBUaGlzIGdpdmVzIGEgcXVpY2sgaW50cm9kdWN0aW9uIHRvIGhvdyB0aGUgcHVsc2VzaW5rL3B1bHNlc3JjIGNvZGUKCSAgaW50ZXJhY3RzIHdpdGggdGhlIHBhX3RocmVhZGVkX21haW5sb29wIHRoYXQgd2Ugc3RhcnQgdXAgdG8gY29tbXVuaWNhdGUKCSAgd2l0aCB0aGUgc2VydmVyLgoKMjAxNC0wOS0yOSAyMDoxODowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogTWFrZSBlbWl0dGluZyBzdHJlYW0gc3RhdHVzIG1lc3NhZ2VzIHN5bmNocm9ub3VzCgkgIFRoZSBzdHJlYW0gc3RhdHVzIG1lc3NhZ2VzIGFyZSBlbWl0dGVkIGluIHRoZSBQQSBtYWlubG9vcCB0aHJlYWQsIHdoaWNoCgkgIG1lYW5zIHRoZSBtYWlubG9vcCBsb2NrIGlzIHRha2VuLCBmb2xsb3dlZCBieSB0aGUgR3N0IG9iamVjdCBsb2NrIChieQoJICBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UoKSkuIEluIGFsbCBvdGhlciBsb2NhdGlvbnMsIHRoZSBvcmRlciBvZgoJICBsb2NraW5nIGlzIHJldmVyc2VkICh0aGlzIGlzIHVuYXZvaWRhYmxlIGluIGEgYnVuY2ggb2YgY2FzZXMgd2hlcmUgdGhlCgkgIG9iamVjdCBsb2NrIGlzIHRha2VuIGJ5IEdzdEJhc2VTaW5rIG9yIEdzdEF1ZGlvQmFzZVNpbmssIGFuZCB0aGVuIHdlIGdldAoJICBjb250cm9sIHRvIHRha2UgdGhlIG1haW5sb29wIGxvY2spLgoJICBUaGUgb25seSB3YXkgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIGRlZmVyIGNhbGxiYWNrIGZvciBzdHJlYW0gc3RhdHVzCgkgIG1lc3NhZ2VzIGRvZXNuJ3QgZGVhZGxvY2sgaXMgdG8gZWl0aGVyIHN0b3AgcG9zdGluZyB0aG9zZSBtZXNzYWdlcywgb3IKCSAgbWFrZSBzdXJlIHRoYXQgdGhlIG1lc3NhZ2UgZW1pc3Npb24gaXMgY29tcGxldGVkIGJlZm9yZSB3ZSBwcm9jZWVkIHRvCgkgIGFueSBwb2ludCB0aGF0IG1pZ2h0IHRha2UgdGhlIG9iamVjdCBsb2NrIGJlZm9yZSB0aGUgbWFpbmxvb3AgbG9jawoJICAod2hpY2ggaXMgd2hhdCB3ZSBkbyBhZnRlciB0aGlzIHBhdGNoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA3MQoKMjAxNC0xMC0xMCAxODozMDowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzb3VyY2U6IFJlbmFtZSBzZXFudW0tYmFzZSB0byBzZXFudW0tb2Zmc2V0IGluIGNhcHMKCSAgVGhpcyB3YXMgbW9kaWZpZWQgYmFjayBpbiAxLjAgaW4gR3N0UnRwQmFzZVBheWxvYWQKCjIwMTQtMTAtMTAgMTc6MzA6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogY2xvY2stYmFzZSBhbmQgc2VxbnVtLWJhc2UgLT4gdGltZXN0YW1wLW9mZnNldCBhbmQgc2VxbnVtLW9mZnNldAoJICBUaGVzZSB3ZXJlIHJlbmFtZWQgaW4gR3N0UlRQQmFzZVBheWxvYWQgaW4gMS4wCgoyMDE0LTEwLTEwIDE4OjExOjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgcnRwZHRtZnNyYzogY2xvY2stYmFzZSBhbmQgc2VxbnVtLWJhc2UgLT4gdGltZXN0YW1wLW9mZnNldCBhbmQgc2VxbnVtLW9mZnNldAoJICBUaGVzZSB3ZXJlIHJlbmFtZWQgaW4gR3N0UlRQQmFzZVBheWxvYWQgaW4gMS4wCgo9PT0gcmVsZWFzZSAxLjQuMyA9PT0KCjIwMTQtMDktMjQgMTI6MzU6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS40LjMKCjIwMTQtMDktMjQgMTE6MzM6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDktMjMgMjI6NTU6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE9ubHkgY2FsY3VsYXRlIHdpdGggZHVyYXRpb25zICE9IC0xCgoyMDE0LTA5LTIzIDA5OjQ3OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2svc291cDogVGVtcG9yYXJpbHkgZGlzYWJsZSBHX0VOQUJMRV9ESUFHTk9TVElDCgkgIFRoZSBTT1VQX1NFUlZFUl9QT1JUIHByb3BlcnR5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gcmVjZW50IGxpYnNvdXAKCSAgdmVyc2lvbnMuCgoyMDE0LTA5LTIzIDA5OjQzOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2svc291cDogRGVmaW5lIG1pbmltdW0gdmVyc2lvbiByZXF1aXJlZAoJICBUbyBhdm9pZCBkZXByZWNhdGlvbiB3YXJuaW5ncwoKPT09IHJlbGVhc2UgMS40LjIgPT09CgoyMDE0LTA5LTE5IDE0OjQxOjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNC4yCgoyMDE0LTA5LTE5IDEwOjU4OjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA5LTE5IDEwOjAwOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vc3IucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA5LTE3IDE2OjM3OjExICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZG8gbm90IGxlYWsgZW5jc2luayBwYWQgaW4gZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODA3CgoyMDE0LTA5LTE3IDE2OjIzOjIxICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZG8gbm90IGxlYWsgbmV3IHN0cmVhbSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODA1CgoyMDE0LTA5LTE3IDEzOjU1OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBPU1N0YXR1cyBpcyBub3QgYSBmb3VyY2MsIHNvIGRvbid0IHByaW50IGl0IGFzIG9uZS4uLgoKMjAxNC0wOS0xNiAxNDoyNjowOCArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZG8gbm90IGxlYWsgdWlkIGFmdGVyIHBhcnNpbmcgVE9DIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzkKCjIwMTQtMDktMTUgMTQ6NTE6MjQgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8cGV0ZXJAa29yc2dhYXJkLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogT19DTE9FWEVDIG5lZWRzIF9HTlVfU09VUkNFCgkgIFNpbWlsYXIgdG8gOTRmM2Q2ZmMgLyBieiA3MDk0MjMKCSAgT24gc29tZSBzeXN0ZW1zIChFLkcuIHVDbGliYyBhbmQgb2xkZXIgR2xpYmMgdmVyc2lvbnMpLCBPX0NMT0VYRUMgaXMgb25seQoJICBkZWZpbmVkIHdoZW4gX0dOVV9TT1VSQ0UgaXMgc3BlY2lmaWVkLCBzbyBkbyBzby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjY3MAoKMjAxNC0wOS0xNSAxODoxMTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IHVwZGF0ZSB0byAxLjAgdHJhbnNmb3JtX2NhcHMgc2VtYXRpY3MKCSAgSW4gMS4wLCB3ZSBwYXNzIHRoZSBjb21wbGV0ZSBjYXBzIHRvIHRyYW5zZm9ybV9jYXBzIHRvIGFsbG93IGZvciBiZXR0ZXIKCSAgb3B0aW1pemF0aW9ucy4gTWFrZSB0aGlzIGZ1bmN0aW9uIGFjdHVhbGx5IHdvcmsgb24gbm9uLXNpbXBsZSBjYXBzCgkgIGluc3RlYWQgb2YganVzdCBpZ25vcmluZyB0aGUgY29uZmlndXJlZCBmaWx0ZXIgY2Fwcy4KCjIwMTQtMDktMTIgMTU6MDY6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEZpeCBwYXJzaW5nIG9mIGFkdGwgY2h1bmtzCgkgIFdlIGhhdmUgdG8gc2tpcCAxMiBieXRlcyBvZiBkYXRhIGZvciB0aGUgY2h1bmssIGFuZCB0aGUgZGF0YSBzaXplCgkgIHBhc3NlZCB0byB0aGUgc3ViLWNodW5rIHBhcnNpbmcgZnVuY3Rpb25zIHNob3VsZCBoYXZlIDQgYnl0ZXMgbGVzcwoJICB0aGFuIHRoZSBkYXRhIHNpemUuCgkgIEFsc28gd2hlbiBwYXJzaW5nIHRoZSBzdWItY2h1bmtzLCBjaGVjayBpZiB3ZSBhY3R1YWxseSBoYXZlIGVub3VnaAoJICBkYXRhIHRvIHJlYWQgaW5zdGVhZCBvZiBqdXN0IGNyYXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjY2CgoyMDE0LTA5LTA0IDE2OjIxOjIwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYS1kZW11eDogRG9uJ3QgaGFuZGxlIHBhcnNlIGVycm9ycyBhdCB0aGUgZW5kIG9mIGZpbGUgYXMgYW4gZXJyb3IKCSAgQnV0IG9ubHkgaWYgdGhleSBoYXBwZW4gYWZ0ZXIgdGhlIE1hdHJvc2thIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4MzMKCjIwMTQtMDktMTEgMTI6NTI6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSWYgdGhlIHNlcnZlciByZXBvcnRzICJBY2NlcHQtUmFuZ2VzOiBub25lIiBkb24ndCB0cnkgcmFuZ2UgcmVxdWVzdHMKCjIwMTQtMDktMTAgMDk6NTA6NDUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogVW5yZWYgcG9vbCBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Mzg0CgoyMDE0LTA5LTA5IDE5OjAzOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRG9uJ3QgcmFuayBpdCBmb3Igbm93CgkgIFRoaXMgd2lsbCBwcmV2ZW50IHRoZSBjb252ZXJ0ZXIgdG8gYmUgcGlja2VkIGF1dG9tYXRpY2FsbHkgaW4gY2FzZQoJICBzb21lb25lIGltcGxlbWVudCBkeW5hbWljIGNvbnZlcnRlciBzZWxlY3Rpb24gc3VwcG9ydC4gSSdkIGxpa2UgdGhpcwoJICB0byBiZSByYW5rZWQgb25seSBmb3Iga25vd24gZGV2aWNlLCBhcyBpdCdzIGhhcmQgdG8gYmUgc3VyZSBhIGRldmljZSBpcwoJICBhIGNvbnZlcnRlciBzdWl0ZWQgZm9yIGdlbmVyYWwgcHVycG9zZS4gUmUtbmVnb3RpYXRpb24gaXMgYWxzbyBuZWVkZWQKCSAgYmVmb3JlIHdlIGNhbiByYW5rIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjA3CgoyMDE0LTA4LTI5IDE3OjA5OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFdvcmthcm91bmQgZHJpdmVyIHRoYXQgZG9uJ3Qgc3VwcG9ydCBSRVFCVUZTKDApCgkgIFRoZXJlIGlzIHN0aWxsIGFyb3VuZCAxOCBkcml2ZXJzIG5vdCB5ZXQgcG9ydGVkIHRvIHZpZGVvYnVmMi4gVGhlc2UgZHJpdmVyCgkgIGRvbid0IHN1cHBvcnQgZnJlZWluZyBidWZmZXRycyB0aHJvdWdoIFJFUUJVRlMoMCkgaGVuY2UgZm9yIHRoZXNlIHRoZQoJICBtZW1vcnkgdHlwZSBwcm9iaW5nIGZhaWxzLiBJbiBvcmRlciB0byBnYWluIGJhY2sgb3VyIHByZXZpb3VzIGJlaGF2aW91ciBpbgoJICBwcmVzZW5jZSBvZiB0aGVzZSwgd2UgaW1wbGVtZW50IGEgd29ya2Fyb3VuZCB0aGF0IGFzc3VtaW5nIE1NQVAgaXMKCSAgc3VwcG9ydGVkLiBOb3RlIHRoYXQgYW4gYWxsb2NhdG9yIGlzIG9ubHkgY3JlYXRlZCBmb3IgZGV2aWNlIHdpdGgKCSAgU1RSRUFNSU5HIHN1cHBvcnQgaW4gdGhlIGRldmljZSBjYXBhYmlsaXRpZXMuIEluIHN1Y2ggY2FzZSBvbmUgb2YgTU1BUCwKCSAgVVNFUlBUUiBhbmQgRE1BQlVGIGlzIHJlcXVpcmVkLiBUaG91Z2ggRE1BQlVGIGNhbWUgYWZ0ZXJ3YXJkLCBzbyBpcwoJICBub3QgYW4gb3B0aW9uIGFuZCBpbiBwcmFjdGljZSBub25lIG9mIHRoZXNlIGRyaXZlcnMgd2lsbCBvbmx5IGRvIFVTRVJQVFIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjAKCSAgQWxzby1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCjIwMTQtMDktMDcgMTI6NDY6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggY3Jhc2ggd2l0aCBjZXJ0YWluIHZpZGVvcwoJICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIDEuMiBjYXVzZWQgYnkgdGhlIHBvcnQKCSAgdG8gdGhlIHBhZCBmbG93IGNvbWJpbmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTkyCgoyMDE0LTA5LTAxIDA5OjU2OjAyICswMjAwICBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IHBhcnNpbmcgaXNzdWUgd2hlbiB0aGUgYnVmZmVyIGRvZXMgbm90IGhhdmUgYSBjb21wbGV0ZSBBRFRTL0xPQVMgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTUyMAoKMjAxNC0wOS0wNCAxMjoxNDoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJbmNsdWRlIHJlZGlyZWN0aW9uIHRhcmdldCBpbiBlcnJvciBtZXNzYWdlcwoJICBKdXN0IGdpdmluZyB0aGUgb3JpZ2luYWwgVVJJIGNhbiBnaXZlIHRoZSBmYWxzZSBpbXByZXNzaW9uIHRoYXQgZS5nLgoJICB0aGF0IG9uZSBmYWlsZWQgaG9zdCBuYW1lIHJlc29sdXRpb24sIHdoaWxlIGFjdHVhbGx5IHRoZSByZWRpcmVjdGlvbiB0YXJnZXQKCSAgZGlkLgoKMjAxNC0wOS0wMiAxMToxMzo0NCArMDQwMCAgQW5kcmVpIFNhcmFrZWV2IDxzYXJha3VzaGFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IHN5bmNocm9uaXphdGlvbiBpZiBkeW5hbWljYWxseSBjaGFuZ2luZyB0aGUgRlBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4NTkKCjIwMTQtMDktMDIgMTM6NTI6NDMgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBDaGVjayBpZiBpbnB1dCBjYXBzIGFyZSB0aGUgc2FtZSBhbmQgY3JlYXRlIG91dHB1dCBjYXBzIGZyb20gdmlkZW8gaW5mbwoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCBhbHNvIHByb3BlcnRpZXMgbGlrZSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGFyZSB0aGUgc2FtZQoJICBiZXR3ZWVuIGJvdGggc3RyZWFtcyBhbmQgdGhhdCB0aGUgb3V0cHV0IGNhcHMgY29udGFpbiBhbGwgZmllbGRzIG5lY2Vzc2FyeSBmb3IKCSAgY29tcGxldGUgdmlkZW8gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTgwNAoKMjAxNC0wOS0wMyAyMzo0NjozNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IFNpbGVuY2Ugc29tZSB3YXJuaW5ncyBmb3Igbm9ybWFsIGZpbGUgY29udGVudHMKCjIwMTQtMDktMDIgMDk6MDk6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IEdldCBpbnB1dCB3aWR0aC9oZWlnaHQgZnJvbSB0aGUgY29kZWMgaW5zdGVhZCBvZiB0aGUgaW5wdXQgY2FwcwoJICBUaGV5IGFyZSByZXBvcnRlZCBwcm9wZXJseSBieSBsaWJ2cHggaWYgdGhlIGNvcnJlY3Qgc3RydWN0IG1lbWJlcnMgYXJlIHVzZWQuCgkgIFRoaXMgYWxzbyBmaXhlcyBoYW5kbGluZyBvZiByZXNvbHV0aW9uIGNoYW5nZXMgd2l0aG91dCBpbnB1dCBjYXBzIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkzNTkKCjIwMTMtMTAtMjIgMTg6NDk6MjIgKzAxMDAgIFRvbSBHcmVlbndvb2QgPHRjZGdyZWVud29vZEBob3RtYWlsLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IGZvciBoYW5kbGluZyByZXNvbHV0aW9uIGNoYW5nZXMgd2hlbiBkZWNvZGluZyBWUDgKCSAgSWYgdGhlIHJlc29sdXRpb24gY2hhbmdlcyBpbiB0aGUgYml0c3RyZWFtIHdpdGhvdXQgdGhlIGlucHV0IGNhcHMgY2hhbmdpbmcgd2UKCSAgd291bGQgcHJldmlvdXNseSBvdXRwdXQgY29ycnVwdGVkIHZpZGVvIG9yIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5MzU5CgoyMDE0LTA4LTA1IDEwOjM0OjM5ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBSZXNldCBvdXRwdXQgYW5kIGlucHV0IHN0YXRlcyB3aGVuIGNoYW5naW5nIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY2CgoyMDE0LTA5LTAyIDAwOjU1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IEZpeCBzZWdmYXVsdCB3aGVuIGEgbmV3IGNhcHMgaXMgcmVjZWl2ZWQKCSAgUmVtZW1iZXIgdG8gdW5yZWYgdGhlIG91dHB1dCBjYXBzIHdoZW4gYSBuZXcgY2FwcyBldmVudCBpcyByZWNlaXZlZAoJICBhcyBpdCBzaG91bGQgZ2VuZXJhdGUgYSBuZXcgb25lIGJhc2VkIG9uIHRoZSBuZXcgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2NgoKMjAxNC0wOC0yOSAxMjowMToyNyArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZ2V0X25lYXJlc3Rfc2l6ZTogRml4ICJVbnN1cHBvcnRlZCBmaWVsZCB0eXBlIiBlcnJvcnMKCSAgTW9zdCBWNEwyIGlvY3RscyBsaWtlIHRyeV9mbXQgd2lsbCBhZGp1c3QgaW5wdXQgZmllbGRzIHRvIG1hdGNoIHdoYXQgdGhlCgkgIGhhcmR3YXJlIGNhbiBkbyByYXRoZXIgdGhlbiByZXR1cm5pbmcgLUVJTlZBTC4gQXMgaXMgZG9jbWVudGVkIGhlcmU6CgkgIGh0dHA6Ly9saW51eHR2Lm9yZy9kb3dubG9hZHMvdjRsLWR2Yi1hcGlzL3ZpZGlvYy1nLWZtdC5odG1sCgkgIEVJTlZBTCBpcyBvbmx5IHJldHVybmVkIGlmIHRoZSBidWZmZXIgdHlwZSBmaWVsZCBpcyBpbnZhbGlkIG9yIG5vdCBzdXBwb3J0ZWQuCgkgIFNvIHVwb24gcmVxdWVzdGluZyBWNEwyX0ZJRUxEX05PTkUgZGV2aWNlcyB3aGljaCBjYW4gb25seSBkbyBpbnRlcmxhY2VkCgkgIG1vZGUgd2lsbCBjaGFuZ2UgdGhlIGZpZWxkIHZhbHVlIHRvIGUuZy4gVjRMMl9GSUVMRF9CT1RUT00gYXMgb25seSByZXR1cm5pbmcKCSAgaGFsZiB0aGUgbGluZXMgaXMgdGhlIGNsb3Nlc3QgdGhleSBjYW4gZG8gdG8gcHJvZ3Jlc3NpdmUgbW9kZXMuCgkgIEluIGVzc2VuY2UgdGhpcyBtZWFucyB0aGF0IHdlJ3ZlIGZhaWxlZCB0byBnZXQgYSAodXNhYmxlKSBwcm9nZXNzaXZlIG1vZGUKCSAgYW5kIHNob3VsZCBmYWxsIGJhY2sgdG8gaW50ZXJsYWNlZCBtb2RlLgoJICBUaGlzIGNvbW1pdCBhZGRzIGEgY2hlY2sgZm9yIGhhdmluZyBnb3R0ZW4gYSB1c2FibGUgZmllbGQgdmFsdWUgYWZ0ZXIgdGhlIGZpcnN0CgkgIHRyeV9mbXQsIHRvIGZvcmNlIGZhbGxiYWNrIHRvIGludGVybGFjZWQgbW9kZSBldmVuIGlmIHRoZSB0cnlfZm10IHN1Y2NlZWRlZCwKCSAgdGhlcmVieSBmaXhpbmcgZ2V0X25lYXJlc3Rfc2l6ZSBmYWlsaW5nIG9uIHRoZXNlIGRldmljZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjAKCjIwMTQtMDgtMjkgMTA6NTc6MjAgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGdldF9uZWFyZXN0X3NpemU6IEFsd2F5cyByZWluaXQgYWxsIHN0cnVjdCBmaWVsZHMgb24gcmV0cnkKCSAgVGhleSBtYXkgaGF2ZSBiZWVuIG1vZGlmaWVkIGJ5IHRoZSBpb2N0bCBldmVuIGlmIGl0IGZhaWxlZC4gVGhpcyBhbHNvIG1ha2VzCgkgIHRoZSBTX0ZNVCBmYWxsYmFjayBwYXRoIHRyeSBwcm9ncmVzc2l2ZSBmaXJzdCwgbWFraW5nIGl0IGNvbnNpc3RlbnQgd2l0aCB0aGUKCSAgcHJlZmVycmVkIFRSWV9GTVQgcGF0aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MAoKPT09IHJlbGVhc2UgMS40LjEgPT09CgoyMDE0LTA4LTI3IDE1OjA0OjI5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNC4xCgoyMDE0LTA4LTI3IDE0OjMyOjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA4LTI3IDEyOjMyOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wOC0xNCAxNjozNjo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFVzZSB0aGUgYmVzdCB3aWR0aC9oZWlnaHQvZXRjIGlmIGRvd25zdHJlYW0gY2FuIGhhbmRsZSB0aGF0CgkgIEJlZm9yZSBpdCB3YXMgYWx3YXlzIHVzaW5nIHdoYXRldmVyIGRvd25zdHJlYW0gcHJlZmVycmVkLCB3aGlsZQoJICB0aGUgY29kZSBhbmQgZG9jdW1lbnRhdGlvbiBjbGFpbWVkIHNvbWV0aGluZyBkaWZmZXJlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODAKCjIwMTQtMDgtMTQgMTE6Mjk6MDAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQXZvaWQgZG91YmxlIGZyZWUgb2YgVmlkZW9Db252ZXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ3NjQKCjIwMTQtMDgtMTMgMTE6NTQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB1bi1icmVhayBkdXJhdGlvbiBxdWVyeWluZwoJICBDb21taXQgMmI5NDkzYjUgYnJva2UgdGhpcyBpbiB0d28gd2F5czogYSkgd2Ugc2hvdWxkIG9ubHkKCSAgcGFzcyBkdXJhdGlvbiBxdWVyaWVzIGluIFRJTUUgZm9ybWF0IHVwc3RyZWFtIChvciBhdCBsZWFzdAoJICBub3QgdGhvc2UgaW4gREVGQVVMVCBvciBCWVRFIGZvcm1hdCksIGFuZCBiKSB3ZSBtdXN0bid0CgkgIG92ZXJ3cml0ZSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAncmVzJyBmcm9tIFRSVUUgdG8gRkFMU0UKCSAgYW5kIG5vdCBzZXQgaXQgYWdhaW4gbGF0ZXIuIFRoaXMgbGVkIHRvIGJvZ3VzIGR1cmF0aW9ucwoJICBiZWluZyByZXBvcnRlZCBmb3IgRkxWIHBsYXliYWNrIGZyb20gZmlsZSwgYmVjYXVzZSBUSU1FCgkgIHF1ZXJpZXMgd291bGQgZmFpbCAoYXMgJ3JlcycgaGFkIGJlZW4gc2V0IHRvIEZBTFNFKSBhbmQKCSAgcGFyc2VycyB0aGVuIGRvIGEgQllURSBxdWVyeSBhcyBmYWxsYmFjayBhbmQgdHJ5IHRvCgkgIGd1ZXNzdGltYXRlIHNvbWV0aGluZyBpbiByZXR1cm4sIHdoaWNoIG9mIGNvdXJzZSBnb2VzCgkgIGhvcnJpYmx5IHdyb25nIHNpbmNlIHRoZSBCWVRFIHNpemUgcmV0dXJuZWQgaXMgZm9yIHRoZQoJICBtdXhlZCBmaWxlLgoKMjAxNC0wOC0wOCAxMjo1NDozMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogVW5yZWYgY2FwcyBhbmQgZWxlbWVudCBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc4CgoyMDE0LTA3LTI4IDE2OjQ5OjE2ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IHNldCBvdXRwdXQgY2FwcyBsYXlvdXQgdG8gaW50ZXJsZWF2ZWQKCSAgU2V0IG91dHB1dCBjYXBzIGxheW91dCBpbmRlcGVuZGVudGx5IGZyb20gaW5wdXQgY2FwcyBsYXlvdXQgd2hpY2ggY2FuCgkgIGJlIGVpdGhlciBub24taW50ZXJsZWF2ZWQgb3IgaW50ZXJsZWF2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4NjYKCjIwMTQtMDgtMTAgMTI6MzA6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRqdXN0IHRlc3QgZGF0YSB0byBhdm9pZCBOQUwgY2hvcHBpbmcKCSAgLi4uIGFuZCBjb3JyZXNwb25kaW5nbHkgdW5leHBlY3RlZCBidWZmZXIgc2l6ZXMuCgoyMDE0LTA4LTA3IDE2OjM0OjM2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQzNQoKMjAxNC0wOC0wOCAxMjozNjowMSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogVW5yZWYgYWxsb3dlZCBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzQKCjIwMTQtMDgtMDggMTI6NDA6NDkgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3NQoKMjAxNC0wOC0wOCAxMjo0NDowOSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiBVbnJlZiBwZWVyIHBhZCBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc2CgoyMDE0LTA4LTA4IDEyOjI5OjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDczCgoyMDE0LTA4LTAzIDEyOjMzOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogdW5icmVhayBhdSBhbGlnbmVkIGJ5dGUtc3RyZWFtIHBheWxvYWRpbmcKCjIwMTQtMDctMzEgMDk6NTM6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZXNyYzogRml4IHdhcm5pbmcgYWJvdXQgbWlzc2luZyByZXR1cm4gdmFsdWUKCjIwMTQtMDctMjQgMTU6Mjg6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgeGltYWdlc3JjOiBBZGQgbWlzc2luZyByZXR1cm4gdmFsdWUgdG8gQnVmZmVyIGRpc3Bvc2UgZnVuY3Rpb24KCSAgRGVwZW5kaW5nIG9udCBoZSBidWlsZCwgdGhlIG1ldGhvZCBjb3VsZCByZXR1cm4gRkFMU0UsIGhlbmNlIG5ldmVyCgkgIGZyZWUgdGhlIGJ1ZmZlcnMsIG9yIGFscmVhZHkgVFJVRSBhbmQgbGVhZCB0byBhIGNyYXNoOgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzY5NQoKPT09IHJlbGVhc2UgMS40LjAgPT09CgoyMDE0LTA3LTE5IDE3OjIwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNC4wCgoyMDE0LTA3LTE5IDE2OjM1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA3LTE5IDEyOjMyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNy0xOSAxMTozMDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRG9uJ3Qgb3ZlcndyaXRlIHRoZSBmaXJzdCBjb21wb25lbnQgd2l0aCB0aGUgYWxwaGEgdmFsdWUgZm9yIEJHUngKCSAgSW5zdGVhZCBsZWF2ZSB0aGUgeCBjb21wb25lbnQgdW5zZXQgd2hlbiBmaWxsaW5nIHRoZSBib3JkZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMzgwCgoyMDE0LTA3LTE2IDE3OjE4OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUHJvcGVybHkgcmVwb3J0IGluIHRoZSBDQVBTIHF1ZXJ5IHRoYXQgd2UgY2FuIGNvbnZlcnQgQURUUzwtPlJBVwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMTkwCgoyMDE0LTA3LTEzIDE2OjA1OjU2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogQXZvaWQgdGFraW5nIHVubmVjZXNzYXJ5IHJlZnMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzEyMgoKMjAxNC0wNy0xMyAxNjowNDoyMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBBdm9pZCB0YWtpbmcgYW4gdW5uZWNlc3NhcnkgcmVmCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxMjIKCjIwMTQtMDctMTUgMTY6NTk6MDYgKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzIwOAoKMjAxNC0wNy0xMSAxMzozNToxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IGNvcHkgdGhyZXNob2xkIGltcGxlbWVudGF0aW9uCgkgIFdlIGNhbm5vdCBhbGxvY2F0ZSBuZXcgYnVmZmVyIGluIGFjcXVpcmUsIG90aGVyd2lzZSB0aGUgYmFzZSBjbGFzcwoJICBpcyBub3QgYXdhcmUgYW5kIGdldCBjb25mdXNlZC4gSW5zdGVhZCwgY29weSBpbiBfcHJvY2VzcygpLiBUaGlzIGxlYWRzCgkgIHRvIGNyYXNoIG9uIGZpbmFsaXplLgoJICBGaXhlcyByZWdyZXNzaW9uLCBzZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjkxMgoKPT09IHJlbGVhc2UgMS4zLjkxID09PQoKMjAxNC0wNy0xMSAxMTozODo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuOTEKCjIwMTQtMDctMTEgMTA6NTg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDctMTAgMTg6MTE6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYWxsb2NhdG9yOiBVc2UgcWRhdGEgaW5zdGVhZCBvZiBwYXJlbnRpbmcgdG8gRG1hYnVmTWVtb3J5CgkgIFBhcmVudGluZyBWNGwyTWVtb3J5IHRvIERtYWJ1Zk1lbW9yeSB3YXMgaW4gY29uZmxpY3Qgd2l0aCByZWNlbnQKCSAgb3B0aW1pemF0aW9uIGluIERtYWJ1Zk1lbW9yeSB0byBhdm9pZCBkdXAoKSwgYW5kIGRpZG4ndCB3b3JrIHdpdGgKCSAgbWVtb3J5IHNoYXJpbmcuIEluc3RlYWQsIHVzZSBhIHFkYXRhIGFuZCBpdCdzIGRlc3Ryb3kgbm90aWZ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDQxCgoyMDE0LTA3LTExIDA4OjUyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNy0wOCAxNzo1MDo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFdvcmthcm91bmQgZWxlbWVudHMgbm90IHJlcXVlc3RpbmcgYW55IGJ1ZmZlcnMKCSAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGVsZW1lbnQgdGhhdCBkb24ndCByZXF1ZXN0IGJ1ZmZlcnMgd2hlbgoJICB0aGV5IHNob3VsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjI4OAoKMjAxNC0wNy0wNiAxMToyNzozNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgdGVzdHM6IGZpeCBwaXBlbGluZSBsZWFrIGluIHZpZGVvY3JvcCB0ZXN0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5NzYKCjIwMTQtMDctMDYgMTE6MjY6NDYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkgIGV4YW1wbGVzOiBjbGllbnQtcnRwYXV4OiBSZWxlYXNlIHJlZmVyZW5jZSB0byBwYXJlbnQgd2hlbiBkb25lCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5NzYKCjIwMTQtMDctMTAgMTc6MTk6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBxdWVyeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwMDMKCjIwMTQtMDctMTAgMTI6MTA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFJldHVybiBub3QtbmVnb3RpYXRlZCBpZiB3ZSBnb3Qgbm8gY2FwcyBvciBjYXBzIG5lZ290aWF0aW9uIGZhaWxlZAoJICBBbmQgZG8gaXQgYWx3YXlzLCBub3QgaW5zaWRlIGEgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5MzkKCjIwMTQtMDctMDggMTM6MzQ6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRW5zdXJlIGludGVybmFsIHBvb2wgYWN0aXZhdGlvbgoJICBCZWZvcmUgd2Ugd291bGQgaGl0IGFuIGFzc2VydGlvbiAiJ2dzdF9idWZmZXJfcG9vbF9pc19hY3RpdmUgKGJwb29sKScgZmFpbGVkIgoJICBpZiB0aGUgaW50ZXJuYWwgcG9vbCB3YXMgbm90IHVzZWQgdG8gcHVzaCBidWZmZXIgZG93bnN0cmVhLCBoZW5jZSBub3QKCSAgZ2l2ZW4gdG8gdGhlIGJhc2VjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjkxMgoKMjAxNC0wNy0wNCAyMDoyMjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBkb3VibGUgdW5sb2NrIGluIHNlZ21lbnQgc2VlayBzZWdtZW50IGNvZGUgcGF0aAoJICBXZSBvbmx5IHdhbnQgdG8gdW5sb2NrIGlmIHdlIHB1c2ggYW4gZXZlbnQgZG93bnN0cmVhbSBhbmQKCSAganVtcCB0byBkb25lX3VubG9jayBsYWJlbCBhZnRlcndhcmRzLiBXZSB3b3VsZCBhbHNvIHVubG9jawoJICBpbiBjYXNlIG9mIGEgc2VnbWVudCBzZWVrIGFuZCB0aGVuIHVubG9jayBhZ2FpbiBsYXRlciwgYW5kCgkgIG5vdGhpbmcgZ29vZCBjYW4gY29tZSBvZiB0aGF0LgoJICAoVGhpcyBjb2RlIGxvb2tzIGEgYml0IGRvZGd5IGFueXdheSB0aG91Z2gsIHNob3VsZG4ndCBpdAoJICBhbHNvIGJhaWwgb3V0IHdpdGggRkxPV19FT1MgaGVyZSBpbiBjYXNlIG9mIGEgc2VnbWVudCBzZWVrCgkgIHNjZW5hcmlvLCBqdXN0IHdpdGhvdXQgdGhlIGV2ZW50PykKCjIwMTQtMDctMDQgMTk6NDU6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IHN1cHByZXNzIGdsaWIgY3JpdGljYWxzIGNhdXNlZCBieSB0ZXN0aW5nIGRlcHJlY2F0ZWQgZHRzIG1ldGhvZHMKCjIwMTQtMDctMDQgMDM6MjE6MzAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGF2aWRlbXV4LCB3YXZwYXJzZTogUHJpbnQgaW52YWxpZCBmb3VyY2MgaW4gaGV4CgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgcHJpbnRlZCBhcyBjaGFyYWN0ZXJzIHdoaWNoIGNhdXNlZCBsYXRlciBwcm9jZXNzaW5nCgkgIG9mIHRoZSBlcnJvciBtZXNzYWdlIHRvIHNvbWV0aW1lcyB3YXJuIGFib3V0IG5vbi1VVEYtOCBjaGFyYWN0ZXJzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzE0CgoyMDE0LTA3LTAzIDE1OjIxOjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFBvb2wgbWlnaHQgYmUgTlVMTCBpbiBkZWNpZGUgYWxsb2NhdGlvbgoJICBJZiBzcGVjaWFsIHN0cmlkZSBpcyBuZWVkZWQgYW5kIGRvd25zdHJlYW0gZG9uJ3Qgc3VwcG9ydCBWaWRlb01ldGEsCgkgIHBvb2wgbWlnaHQgYmUgTlVMTCBpbiBvcmRlciB0byBsZXQgdGhlIGJhc2VjbGFzcyBjcmVhdGUgYSBnZW5lcmljCgkgIHBvb2zCrS4gVGhpcyB3b3VsZCBsZWFkIHRvIGFzc2VydGlvbiB3aXRoIG9uIEV4eW5vcyB3aXRoOgoJICBnc3QtbGF1bmNoLTEuMCAtdiBmaWxlc3JjIGxvY2F0aW9uPW1vdiAhIHF0ZGVtdXggISBoMjY0cGFyc2UgISBcCgkgIHY0bDJ2aWRlbzhkZWMgISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzA3CgoyMDE0LTA3LTAzIDE1OjI5OjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogSGFuZGxlIEZEIGVycm9yIGR1cmluZyBwb2xsCgkgIFRoaXMgd2lsbCBlbnN1cmUgd2UgZmFpbCBlYXJsaWVyIGlmIHNvbWV0aGluZyB1bnJlY292ZXJhYmxlCgkgIGhhcHBlbnMuCgoyMDE0LTA3LTAzIDE1OjI4OjQ1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogV2FpdCBiZWZvcmUgcG9sbGluZyBpZiBxdWV1ZSBpcyBlbXB0eQoJICBJbiBrZXJuZWwgYmVmb3JlIDMuMTcsIHBvbGxpbmcgZHVyaW5nIHF1ZXVlIHVuZGVycnVuIHdvdWxkIHVuYmxvY2sgcmlnaHQKCSAgYXdheSBhbmQgdHJpZ2dlciBQT0xMRVJSLiBBcyB3ZSBhcmUgbm90IGhhbmRsaW5nIFBPTExFUlIsIHdlIHdvdWxkIGVuZHVwCgkgIGJsb2NraW5nIGluIERRQlVGIGNhbGwsIHdoaWNoIHdvbid0IGJlIHVuYmxvY2tlZCBjb3JyZWN0bHkgd2hlbiBnb2luZwoJICB0byBOVUxMIHN0YXRlLiBBIGRlYWRsb2NrIGF0IHN0YXJ0IGNhdXNlZCBieSBsb2NraW5nIGVycm9yIGluIGxpYnY0bDIgd2FzCgkgIGFsc28gc2VlbiBiZWZvcmUgdGhpcyBwYXRjaC4gSW5zdGVhZCwgd2Ugd2FpdCB1bnRpbCB0aGUgcXVldWUgaXMgbm8gbG9uZ2VyCgkgIGVtcHR5IGJlZm9yZSBwb2xsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDE1CgoyMDE0LTA3LTAyIDE2OjAxOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGZvciBtaWtleSBhcGkgY2hhbmdlCgoyMDE0LTA2LTMwIDEwOjI5OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggcHJvYmluZyBhbmQgZW51bWVyYXRpb24gb2Ygc3RlcHdpc2UgZnJhbWUgc2l6ZXMKCSAgVGhlIGNvZGUgZW51bWVyYXRpbmcgU1RFUFdJU0UgZnJhbWVzaXplcyB3b3VsZCBzdGFydCBmcm9tCgkgIChtaW5fdywgbWluX2gpIGFuZCB0aGVuIGFkZCAoc3RlcF93LCBzdGVwX2gpIHRvIGdldCB0aGUKCSAgbmV4dCBmcmFtZXNpemUuIEhvd2V2ZXIsIGl0IHNob3VsZCByZWFsbHkgYWxsb3cgYW55IHdpZHRoCgkgIGZyb20gbWluX3cgdG8gbWF4X3cgd2l0aCBzdGVwX3cgYW5kIHNhbWUgZm9yIGhlaWdodHMuCgkgIFNlY29uZGx5LCB3ZSB3b3VsZCBhZGQgYW5kIHByb2JlIGVhY2ggaW5kaXZpZHVhbCBzdGVwcGVkCgkgIGZyYW1lIHNpemUgdG8gdGhlIGNhcHMgYXMgc2VwYXJhdGUgc3RydWN0dXJlLCB3aGljaCB3b3VsZAoJICBsZWFkIHRvIGh1bmRyZWRzIGlmIG5vdCB0aG91c2FuZHMgb2Ygc3RydWN0cyBlbmRpbmcgdXAgaW4KCSAgdGhlIHByb2JlZCBjYXBzLiBVc2UgaW50ZWdlciByYW5nZXMgd2l0aCBzdGVwcyBpbnN0ZWFkLgoJICBUaGlzIHdhcyBwYXJ0aWN1bGFybHkgbm90aWNhYmxlIHdpdGggdGhlIFJhc3BiZXJyeSBQaSBDYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ1MjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjQ1OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTIxCgoyMDE0LTA2LTI3IDExOjMzOjA2ICswMTAwICBEYW5pZWwgRHJha2UgPGRyYWtlQGVuZGxlc3NtLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZHJvcCB3b3JrYXJvdW5kIGZvciBtaXNiZWhhdmluZyBUUllfRk1UCgkgIFRoaXMgd29ya2Fyb3VuZCBmcm9tIDIwMTEgd2FzIGNhdXNpbmcgMjUgU19GTVQgaW9jdGxzIHRvIGJlIHNlbnQKCSAgdG8gbXkgVVZDIHdlYmNhbSBmcm9tIHVuZGVyIGdzdF92NGwyX29iamVjdF9nZXRfY2FwcyBhcyBpdCBwcm9iZXMKCSAgYWxsIHRoZSBmb3JtYXRzLiBJbiB0b3RhbCwgdGhpcyBhZGRzIHVwIHRvIGFib3V0IDUgc2Vjb25kcyBvZgoJICBleGVjdXRpb24gdGltZSwgb3IgYSAxMCBzZWNvbmQgZGVsYXkgd2hpbGUgc3RhcnRpbmcgdXAgY2hlZXNlLgoJICBUaGVzZSBpb2N0bHMgY29tZSBmcm9tIGEgd29ya2Fyb3VuZCBmcm9tIDIwMTEgd2hlcmUgVFJZX0ZNVCBtaWdodAoJICBtYWtlIGNoYW5nZXMgdG8gaGFyZHdhcmUgc2V0dGluZ3MsIHNvIFNfRk1UIHdhcyB1c2VkIHRvIHJlc3RvcmUKCSAgdGhlIG9yaWdpbmFsIGNvbmZpZzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2NwoJICBUaGUgZHJpdmVyIGJ1ZyBpcyBub3cgYXNzdW1lZCBmaXhlZC4gUmVtb3ZlIHRoZSB3b3JrYXJvdW5kIHRvIGZpeCB0aGUKCSAgbG9uZyBzdGFydHVwIGRlbGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMzI2CgoyMDE0LTA3LTAxIDEyOjUwOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IHJlc2V0IFFvUyBvbiBzZWdtZW50IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NDAKCjIwMTQtMDctMDEgMTU6MTQ6MzQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNlbmQgZ2FwIGV2ZW50cyBpbnN0ZWFkIG9mIHNlZ21lbnQgdHJpY2tzCgkgIFRoaXMgZml4ZXMgbWlzc2luZyBmcmFtZXMgZnJvbSBiZWluZyB0aW1lIHNraXBwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIzNzIKCjIwMTQtMDYtMzAgMDA6MDA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBtZW1vcnkgbGVha3MgaW4gdW5pdCB0ZXN0CgoyMDE0LTA2LTI5IDIzOjU1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRG9uJ3QgbGVhayBjYXBzCgoyMDE0LTA2LTI5IDIwOjAyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBGaXggY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMTk6NTk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMTk6NTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDE5OjU0OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDE3OjA1OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuYzoKCSAgcHVsc2U6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoJICBDb21waWxlciBjb21wbGFpbnMgYWJvdXQgdW5pbml0aWFsaXNlZCB2YXJpYWJsZXMgaW4gdGhlIGltcG9zc2libGUKCSAgJ2RlZmF1bHQnIGNvZGUgcGF0aCBpbiBkZXZpY2UgcHJvdmlkZXIgc291cmNlL3Npbmsgc3dpdGNoLWNhc2UuCgoyMDE0LTA2LTI5IDE3OjAzOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDI6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoJICBDb21waWxlciBjb21wbGFpbnMgYWJvdXQgdW5pbml0aWFsaXNlZCB2YXJpYWJsZXMgaW4gdGhlIGltcG9zc2libGUKCSAgJ2RlZmF1bHQnIGNvZGUgcGF0aCBpbiBkZXZpY2UgcHJvdmlkZXIgc291cmNlL3Npbmsgc3dpdGNoLWNhc2UuCgoyMDE0LTA2LTI4IDE3OjQwOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FwYXJzZS5jOgoJICB0ZXN0czogbWF0cm9za2FwYXJzZTogZmFpbCBvbiBlcnJvcnMgYW5kIGRpc2FibGUgcHVsbCBtb2RlIHRlc3QKCSAgQWN0dWFsbHkgbG9vayBmb3IgZXJyb3IgbWVzc2FnZXMgb24gdGhlIGJ1cyBhbmQgZmFpbCBpZiB0aGVyZQoJICBpcyBvbmUgYmVmb3JlIHRoZSBFT1MgbWVzc2FnZS4gRGlzYWJsZSBwdWxsIG1vZGUgdGVzdCB3aGljaCBpcwoJICBwb2ludGxlc3MgYXMgbG9uZyBhcyBtYXRyb3NrYXBhcnNlIG9ubHkgc3VwcG9ydHMgcHVzaCBtb2RlCgkgIChwdWxsIG1vZGUgc3VwcG9ydCBoYXMgbm90IGJlZW4gcG9ydGVkIG92ZXIgdG8gMS4wKS4KCjIwMTQtMDYtMjggMTc6Mzc6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZG9uJ3QgZXJyb3Igb3V0IGlmIHRoZXJlJ3Mgbm90IGVub3VnaCBkYXRhIGluIHRoZSBhZGFwdGVyCgkgIGdzdF9tYXRyb3NrYV9wYXJzZV90YWtlKCkgd291bGQgcmV0dXJuIEZMT1dfRVJST1IgaW5zdGVhZCBvZgoJICBGTE9XX0VPUyBpbiBjYXNlIHRoZXJlJ3MgbGVzcyBkYXRhIGluIHRoZSBhZGFwdGVyIHRoYW4gcmVxdWVzdGVkLAoJICBiZWNhdXNlIGJ1ZmZlciBpcyBOVUxMIGluIHRoYXQgY2FzZSB3aGljaCB0cmlnZ2VycyB0aGUgZXJyb3IKCSAgY29kZSBwYXRoLiBUaGlzIG1hZGUgdGhlIHVuaXQgdGVzdCBmYWlsIChvY2Nhc2lvbmFsbHkgYXQgbGVhc3QsCgkgIGJlY2F1c2Ugb2YgYSBidWcgaW4gdGhlIHVuaXQgdGVzdCB0aGVyZSdzIGEgcmFjZSBhbmQgaXQgd291bGQKCSAgaGFwcGVuIG9ubHkgc3BvcmFkaWNhbGx5KS4KCjIwMTQtMDYtMjggMTY6NTM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSBkaXN0IGdlbmVyYXRlZCBPUkMgZmlsZXMKCjIwMTQtMDYtMjggMTY6NDg6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSB2aWRlb2NvbnZlcnQgY29kZSBmcm9tIC1iYXNlCgkgIEFuZCBhbHNvIHJlbmFtZSB0aGUgcmVtYWluaW5nIHN5bWJvbHMgdG8gcHJldmVudCBjb25mbGljdHMKCSAgZHVyaW5nIHN0YXRpYyBsaW5raW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDQzCgoyMDE0LTA2LTI4IDEzOjAxOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG92aWRlb3NyYzogdXNlIHZpZGVvdGVzdHNyYyBhcyBmYWxsYmFjayBlbGVtZW50IGluc3RlYWQgb2YgZmFrZXNyYwoJICBmYWtlc3JjIGRvZXNuJ3QgYW5ub3VuY2UgdmlkZW8gY2Fwcywgc28gbW9zdCB2aWRlbyBwaXBlbGluZXMgd2lsbAoJICBqdXN0IGVycm9yIG91dCB3aXRoIG5vdC1uZWdvdGlhdGVkIGlmIGEgZmFsbGJhY2sgZWxlbWVudCBpcyBjcmVhdGVkLgoKMjAxNC0wNi0yOCAxMjo0NDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSAgYXV0b2F1ZGlvc3JjOiB1c2UgYXVkaW90ZXN0c3JjIGFzIGZhbGxiYWNrIGVsZW1lbnQgaW5zdGVhZCBvZiBmYWtlc3JjCgkgIGZha2VzcmMgZG9lc24ndCBhbm5vdW5jZSBhdWRpbyBjYXBzLCBzbyBtb3N0IGF1ZGlvIHBpcGVsaW5lcyB3aWxsCgkgIGp1c3QgZXJyb3Igb3V0IHdpdGggbm90LW5lZ290aWF0ZWQgaWYgYSBmYWxsYmFjayBlbGVtZW50IGlzIGNyZWF0ZWQuCgo9PT0gcmVsZWFzZSAxLjMuOTAgPT09CgoyMDE0LTA2LTI4IDExOjIxOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuOTAKCjIwMTQtMDYtMjggMTE6MDg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDYtMjYgMTQ6NTI6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmg6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmg6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuaDoKCSAgUmVuYW1lIEdzdERldmljZU1vbml0b3IgdG8gR3N0RGV2aWNlUHJvdmlkZXIKCjIwMTQtMDYtMjQgMDk6MTQ6NDAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNDQKCjIwMTQtMDYtMTYgMTE6MzU6MzkgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERlY2xhcmUgYXMgQ29tcG9zaXRvciBpbiAna2xhc3MnCgoyMDE0LTA2LTI2IDEzOjUwOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IHNwZWV4IGNhcHMKCSAgRGVjb2RlciBjb21wbGFpbnMgYWJvdXQgIm5vdGlmaWNhdGlvbjogSW52YWxpZCBtb2RlIGVuY291bnRlcmVkLgoJICBUaGUgc3RyZWFtIGlzIGNvcnJ1cHRlZCIgdGhvdWdoLCBldmVuIGlmIGl0IHdvcmtzLCBzbyB0aGVyZSdzCgkgIHByb2JhYmx5IHNvbWV0aGluZyB3cm9uZyB3aXRoIHRoZSBnZW5lcmF0ZWQgY29kZWMgaGVhZGVycy4KCjIwMTQtMDYtMjYgMTM6NDM6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZpeCBzcGVleCBpbiBGTFYKCSAgU3BlZXggaW4gRkxWIGlzIGFsd2F5cyBtb25vIEAgMTZrSHosIHNlZQoJICBodHRwOi8vZG93bmxvYWQubWFjcm9tZWRpYS5jb20vZjR2L3ZpZGVvX2ZpbGVfZm9ybWF0X3NwZWNfdjEwXzEucGRmCgkgIHNlY3Rpb24gRS40LjIuMTogIklmIHRoZSBTb3VuZEZvcm1hdCBpbmRpY2F0ZXMgU3BlZXgsIHRoZSBhdWRpbyBpcwoJICBjb21wcmVzc2VkIG1vbm8gc2FtcGxlZCBhdCAxNiBrSHosIHRoZSBTb3VuZFJhdGUgc2hhbGwgYmUgMCwgdGhlCgkgIFNvdW5kU2l6ZSBzaGFsbCBiZSAxLCBhbmQgdGhlIFNvdW5kVHlwZSBzaGFsbCBiZSAwIgoJICBBbHNvIHNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNjIyCgoyMDE0LTA2LTI2IDA1OjE5OjU3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IEFkZCBvYmplY3QgdHlwZSBpZCBhbmQgZm91cmNjIGZvciBEVFMvRFRTLUhECgkgIEVuYWJsZXMgcGxheWJhY2sgZm9yIGZpbGVzIHdpdGggRFRTIGF1ZGlvIHRyYWNrcy4KCSAgQWxzbyBhZGQgYW4gZXh0cmEgQUMtMyB2YXJpYW50IGZvdXJjYyBmcm9tIE5lcm8KCjIwMTQtMDMtMTMgMTA6MzU6MzAgKzAxMDAgIERhdmlkIEZlcm5hbmRleiA8ZC5mZXJuYW5kZXpsb3BAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFNvbHZlIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGVuIHNyYyBjYXBzIGFyZSBjb25maWd1cmVkCgkgIENoYW5nZSBmdW5jdGlvbiBwb2ludGVycyB0byBOVUxMIHdoaWxlIGhvbGRpbmcgdGhlIGxvY2sgdG8gYXZvaWQKCSAgcmFjZSBjb25kaXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDExMTAKCjIwMTQtMDYtMjUgMTQ6MzQ6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBTUiBwYWNrZXQgaGFuZGxpbmcKCSAgSW1wbGVtZW50IDMgZGlmZmVyZW50IGNhc2VzIGZvciBoYW5kbGluZyB0aGUgU1I6CgkgIDEpIHdlIGRvbid0IGhhdmUgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbiB0byBoYW5kbGUgdGhlIFNSIHBhY2tldCBhbmQKCSAgd2UgbmVlZCB0byB3YWl0IGEgbGl0dGxlIGZvciBtb3JlIFJUUCBwYWNrZXRzLiBJbiB0aGF0IGNhc2Ugd2Uga2VlcAoJICB0aGUgU1IgcGFja2V0IGFyb3VuZCBhbmQgcmV0cnkgd2hlbiB3ZSBnZXQgYW4gUlRQIHBhY2tldCBpbiB0aGUKCSAgY2hhaW4gZnVuY3Rpb24uCgkgIDIpIHRoZSBTUiBwYWNrZXQgaGFzIGEgdG9vIG9sZCB0aW1lc3RhbXAgYW5kIHNob3VsZCBiZSBkaXNjYXJkZWQuIEl0IGlzCgkgIGxhYmVsZWQgaW52YWxpZCBhbmQgdGhlIGxhc3Rfc3IgaXMgY2xlYXJlZC4KCSAgMykgdGhlIFNSIHBhY2tldCBpcyBvayBhbmQgdGhlcmUgaXMgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbiwgcHJvY2VlZAoJICB3aXRoIHByb2Nlc3NpbmcgdGhlIFNSIHBhY2tldC4KCSAgQmVmb3JlIHRoaXMgcGF0Y2gsIGNhc2UgMikgYW5kIDEpIHdlcmUgaGFuZGxlZCBpbiB0aGUgc2FtZSB3YXksCgkgIHJlc3VsdGluZyB0aGF0IFNSIHBhY2tldHMgd2l0aCB0b28gb2xkIHRpbWVzdGFtcHMgd2VyZSBjaGVja2VkIG92ZXIgYW5kCgkgIG92ZXIgYWdhaW4gZm9yIGVhY2ggUlRQIHBhY2tldC4KCjIwMTQtMDYtMjQgMTA6NDc6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIHRlc3RzOiBhZGQgdWRwc2luayB0ZXN0IHRvIGNoZWNrIGNsaWVudCBhZGQvcmVtb3ZlCgoyMDE0LTA2LTIzIDE2OjEzOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICB0ZXN0czogcG9ydCB1ZHBzaW5rIHRlc3RzIHRvIDEuMAoJICBUaGV5IGFsbCBzZWVtIGEgYml0IHBvaW50bGVzcyB0aG91Z2guCgoyMDE0LTA2LTIzIDE5OjU1OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBZGQgVVlWWSBmb3JtYXQKCjIwMTQtMDYtMDYgMTE6MjA6MjEgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGdzdHJ0cHNzcmNkZW11eDogbWFuYWdlIHNzcmMgb2YgUlRDUCBSUiBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzMjQKCjIwMTQtMDYtMjMgMjA6NTM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVwZGF0ZSBvZmZzZXQgYWZ0ZXIgcGFyc2luZyBhZHRsIGNodW5rCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHBhcnNlIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4gd2l0aG91dCBldmVyCgkgIGdldHRpbmcgcGFzdCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUzMwoKMjAxMy0wNy0wNyAyMDoxODoyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlbW92ZSBsZWdhY3kgY29kZSBmb3IgcGFzc2luZyBhIHdpbmRvdyBoYW5kbGUKCSAgImhhdmUtbnMtdmlldyIgYW5kIHRoZSAiZW1iZWQiIHByb3BlcnR5IHdhcyBrZXB0IGluIDAuMTAgZm9yCgkgIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGJ1dCBpdCdzIG5vIGxvbmdlciB1c2VkIGluIGZhdm9yIG9mCgkgIHRoZSBHc3RWaWRlb092ZXJsYXkgaW50ZXJmYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NTMKCjIwMTQtMDYtMjIgMTk6MzY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTQtMDYtMjIgMTk6MjY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgY2FsbCBHU1RfREVCVUdfT0JKRUNUKCkgYW5kIG90aGVyIG1hY3JvcyB3aXRoIG5vbi1HT2JqZWN0IG9iamVjdHMKCSAgSXQgd2lsbCBjcmFzaCB3aXRoIGxhdGVzdCBHTGliIEdJVCBhbmQgd2FzIG5ldmVyIHN1cHBvc2VkIHRvIHdvcmsgYmVmb3JlCgkgIGVpdGhlci4KCj09PSByZWxlYXNlIDEuMy4zID09PQoKMjAxNC0wNi0yMiAxODowODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjMKCjIwMTQtMDYtMjIgMTc6MzY6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDYtMjIgMTQ6MjQ6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA2LTIxIDAxOjMyOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5jOgoJICBwdWxzZSwgdjRsMjogdXBkYXRlIGZvciBkZXZpY2UgImtsYXNzIiAtPiAiZGV2aWNlLWNsYXNzIiByZW5hbWUKCjIwMTQtMDYtMjAgMTI6MjE6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IG9wdGltaXNhdGlvbjogYXZvaWQgdW5uZWNlc3NhcnkgbWVtb3J5IHJlZi91bnJlZnMKCSAgV2Uga25vdyB0aGUgYnVmZmVyIHdpbGwgc3RheSB2YWxpZCBhbmQgd2Ugd2lsbCBhbHNvIG5vdAoJICBtb2RpZnkgdGhlIGJ1ZmZlciwgd2UganVzdCB3YW50IHRvIHNlbmQgb3V0IHRoZSBkYXRhLgoKMjAxNC0wNi0xOSAxNDo1OTo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYXZvaWQgc29tZSB1bm5lY2Vzc2FyeSBydW4tdGltZSB0eXBlIGNoZWNrcwoKMjAxNC0wNi0xOSAxNjoxNzoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBhc3MgdGhlIHN0cmVhbSBpZCB3aGVuIGFza2luZyBmb3IgY3J5cHRvIHBhcmFtcwoJICBUaGlzIHdheSB0aGUgYXBwIGNhbiBjaG9vc2UgZGlmZmVyZW50IHBhcmFtZXRlcnMgZm9yIGVhY2ggc3RyZWFtLgoKMjAxNC0wNS0yMCAxNDo1ODowNyAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHN1cHBvcnQgZm9yIGtleSBsZW5ndGggcGFyYW1ldGVycwoJICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydHMgZm9yIHRoZSBpbmNvbWluZyBrZXkgbWFuYWdlbWVudCBwYXJhbWV0ZXJzIGZvcgoJICBlbmNyeXB0aW9uIGFuZCBhdXRoZW50aWNhdGlvbiBrZXkgbGVuZ3Rocy4KCSAgSXQgYWxzbyBhZGRzIGEgbmV3IHNpZ25hbCByZXF1ZXN0LXJ0Y3Ata2V5IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvCgkgIHByb3ZpZGUgdGhlIGNyeXB0byBwYXJhbWV0ZXJzIGFuZCBrZXkgZm9yIHRoZSBSVENQIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQ3MwoKMjAxNC0wNi0xOSAxNToyNTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHZwOGRlcGF5OiBmaXggaGVhZGVyIHNpemUgY2hlY2tpbmcKCSAgVXNlIGEgZGlmZmVyZW50IHZhcmlhYmxlIG5hbWUgdG8gbWFrZSBpdCBjbGVhciB0aGF0IHdlIGFyZSBjYWxjdWxhdGluZwoJICB0aGUgaGVhZGVyIHNpemUuCgkgIENvcnJlY3RseSBjaGVjayB0aGF0IHdlIGhhdmUgZW5vdWdoIGJ5dGVzIHRvIHJlYWQgdGhlIGhlYWRlciBiaXRzLiBXZQoJICB3ZXJlIGNoZWNraW5nIGlmIHRoZXJlIHdlcmUgNSBieXRlcyBhdmFpbGFibGUgaW4gdGhlIGhlYWRlciB3aGlsZSB3ZQoJICBvbmx5IG5lZWRlZCAzLCBjYXVzaW5nIHRoZSBwYWNrZXQgdG8gYmUgZGlzY2FyZGVkIGFzIHRvbyBzbWFsbC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzU5NQoKMjAxNC0wNS0yMCAxMjozOTozMSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RJU0NPTlQgZmxhZwoJICBTaW1pbGFybHkgdG8gd2hhdCB3ZSBkaWQgd2l0aCB0aGUgREVMVEFfVU5JVCBmbGFnLCB0aGlzIHBhdGNoCgkgIHByb3BhZ2F0ZXMgdGhlIERJU0NPTlQgZmxhZyB0byB0aGUgZmlyc3QgUlRQIHBhY2tldCBiZWluZyB1c2VkIHRvIHRyYW5zZmVyIGEKCSAgRElTQ09OVCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDUtMDYgMTc6NDI6MTQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBwcm9wYWdhdGUgdGhlIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIGZsYWcKCSAgRG93bnN0cmVhbSBlbGVtZW50cyBtYXkgYmUgaW50ZXJlc3RlZCBrbm93aW5nIGlmIGEgUlRQIHBhY2tldCBpcyB0aGUgc3RhcnQKCSAgb2YgYSBrZXkgZnJhbWUgKHRvIGltcGxlbWVudCBhIFJUUCBleHRlbnNpb24gYXMgZGVmaW5lZCBpbiB0aGUKCSAgT05WSUYgU3RyZWFtaW5nIFNwZWMgZm9yIGV4YW1wbGUpLgoJICBXZSBkbyB0aGlzIGJ5IGNoZWNraW5nIHRoZSBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBmbGFnIHdlIHJlY2VpdmUgZnJvbQoJICB1cHN0cmVhbSBhbmQgcHJvcGFnYXRlIGl0IHRvIHRoZSAqZmlyc3QqIFJUUCBwYWNrZXQgb3V0cHV0dGVkIHRvIHRyYW5zZmVyIHRoaXMKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTYzCgoyMDE0LTA1LTIwIDEzOjU4OjIwICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgZ3N0cnRwbXA0Z3BheTogcHJvcGFnYXRlIHRoZSBHU1RfQlVGRkVSX0ZMQUdfRElTQ09OVCBmbGFnCgkgIFByb3BhZ2F0ZSB0aGUgRElTQ09OVCBmbGFnIHRvIHRoZSBmaXJzdCBSVFAgcGFja2V0IGJlaW5nIHVzZWQgdG8gdHJhbnNmZXIKCSAgYSBESVNDT05UIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU2MwoKMjAxNC0wNS0yMCAxMzo1ODoyMCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcHJvcGFnYXRlIHRoZSBHU1RfQlVGRkVSX0ZMQUdfRElTQ09OVCBmbGFnCgkgIFByb3BhZ2F0ZSB0aGUgRElTQ09OVCBmbGFnIHRvIHRoZSBmaXJzdCBSVFAgcGFja2V0IGJlaW5nIHVzZWQgdG8gdHJhbnNmZXIKCSAgYSBESVNDT05UIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU2MwoKMjAxNC0wNi0xOCAxNTowMzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvbid0IGxlYWsgZmxvdyBjb21iaW5lcgoKMjAxNC0wNi0xOCAxNDozODo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGpwMmtwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXItbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoKMjAxNC0wNi0xOCAxNDozNDowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCjIwMTQtMDYtMTggMTQ6MTk6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogcHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0IG9mIHRoZSByaWdodCBzaXplCgoyMDE0LTA2LTE4IDEzOjQ0OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBhbGxvY2F0ZSBiaXRyZWFkZXIgb24gdGhlIHN0YWNrCgoyMDE0LTA2LTE4IDEzOjI5OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBwb3N0IGVycm9yIG1lc3NhZ2Ugb24gYnVzIG9uIGVycm9yIGFuZCBkb24ndCB1c2UgZ19tZXNzYWdlKCkKCjIwMTQtMDYtMTggMTM6MjA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IGNvdXBsZSBvZiBtaW5vciBvcHRpbWlzYXRpb25zCgkgIFByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZSB0byBhdm9pZCByZS1hbGxvY3MuCgkgIEF2b2lkIHBsZW50eSBvZiBkb3VibGUgcnVudGltZSBjYXN0IGNoZWNrcyBhbmQgcmUtZG9pbmcgdGhlCgkgIHNhbWUgY2FsY3VsYXRpb24gb3ZlciBhbmQgb3ZlciBhZ2FpbiBpbiBydHBfdnA4X2NhbGNfcGF5bG9hZF9sZW4oKS4KCSAgT25seSBjYWxsIGdzdF9idWZmZXJfZ2V0X3NpemUoKSBvbmNlLgoKMjAxNC0wNi0xOCAwODoxMDowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0IG9mIHRoZSByaWdodCBzaXplCgkgIFRvIGF2b2lkIHJlLWFsbG9jcy4KCjIwMTQtMDYtMTggMDc6NTI6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogcHJlLWFsbG9jYXRlIGJ1ZmZlcmxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCSAgVG8gYXZvaWQgdW5uZWNlc3NhcnkgcmUtYWxsb2NzLgoKMjAxNC0wNi0xNiAyMDoxNTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5OiBwdXNoIHNpbmdsZSBidWZmZXIgZGlyZWN0bHksIG5vIG5lZWQgdG8gd3JhcCBpdCBpbiBhIGJ1ZmZlcmxpc3QKCSAgTm8gcG9pbnQgaW4gYSBidWZmZXIgbGlzdCBpZiB3ZSBqdXN0IGhhdmUgb25lIHNpbmdsZQoJICBidWZmZXIgdG8gcHVzaC4gRml4IHVwIHVuaXQgdGVzdCB0byBoYW5kbGUgdGhhdCBjYXNlCgkgIGFzIHdlbGwuCgoyMDE0LTA2LTE2IDE1OjM1OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHB2cmF3cGF5OiBtYWtlIGNodW5rcyBwZXIgZnJhbWUgY29uZmlndXJhYmxlCgkgIEJpdCBvZiBhIG1pc25vbWVyIGJlY2F1c2UgaXQncyByZWFsbHkgY2h1bmtzIHBlciBmaWVsZAoJICBhbmQgbm90IHBlciBmcmFtZSwgYnV0IHdlJ3JlIGdvaW5nIHRvIGlnbm9yZSB0aGF0IGZvcgoJICB0aGUgdGltZSBiZWluZy4KCjIwMTQtMDYtMTYgMTQ6NTI6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHJ0cHZyYXdwYXk6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE0LTA2LTE2IDE0OjQ0OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdHMgb2Ygc3VmZmljaWVudCBzaXplCgkgIEF2b2lkcyB1bm5lY2Vzc2FyeSByZWFsbG9jcyB3aGVuIGFwcGVuZGluZyBidWZmZXJzCgkgIHRvIHRoZSBidWZmZXJsaXN0LgoKMjAxNC0wNi0xNiAxMzo1MTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBtaWNyby1vcHRpbWlzZSB2YXJpYWJsZSBhY2Nlc3MgaW4gaW5uZXIgbG9vcAoJICBTdG9yZSBzb21lIHZhbHVlcyB0aGF0IGRvbid0IGNoYW5nZSBkdXJpbmcgdGhlIGV4ZWN1dGlvbgoJICBvZiB0aGUgaW5uZXIgbG9vcHMgbG9jYWxseSwgc28gdGhlIGNvbXBpbGVyIGtub3dzIHRoYXQgdG9vLgoKMjAxNC0wNi0xNiAxMzozODo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiB1c2UgYnVmZmVyIGxpc3RzCgkgIENvbGxlY3QgYnVmZmVycyB0byBzZW5kIG91dCBpbiBidWZmZXIgbGlzdHMgaW5zdGVhZCBvZgoJICBwdXNoaW5nIG91dCBzaW5nbGUgYnVmZmVycyBvbmUgYXQgYSB0aW1lLiBGb3IgSEQgdmlkZW8KCSAgZWFjaCBmcmFtZSBtaWdodCBlYXNpbHkgYWRkIHVwIHRvIGEgY291cGxlIG9mIHRob3VzYW5kCgkgIHBhY2tldHMsIG11bHRpcGx5IHRoYXQgYnkgdGhlIGZyYW1lIHJhdGUgYW5kIHRoYXQncyBhCgkgIGxvdCBvZiBwdXNoKCkgYW5kIHNlbmRtc2coKSBjYWxscyBwZXIgc2Vjb25kLgoJICBBIGdvb2QgcmVhc29uIHRvIHB1c2ggb3V0IGJ1ZmZlcnMgYXMgZWFybHkgYXMgcG9zc2libGUgaXMKCSAgbGF0ZW5jeSwgc28gd2UgZG9uJ3QgYWNjdW11bGF0ZSB0aGUgd2hvbGUgZnJhbWUgaW4gYSBzaW5nbGUKCSAgYnVmZmVyIGxpc3QsIGJ1dCBpbnN0ZWFkIHB1c2ggaXQgb3V0IGluIGEgZmV3IGNodW5rcywgd2hpY2gKCSAgaXMgaG9wZWZ1bGx5IGEgcmVhc29uYWJsZSBjb21wcm9taXNlLgoKMjAxNC0wNi0xNiAxNjo0MDowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IGltcHJvdmUgZWxlbWVudCBkZXNjcmlwdGlvbnMgZm9yIGR5bnVkcHNpbmsgYW5kIG11bHRpdWRwc2luawoKMjAxNC0wNi0xNiAxNjoxNzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IHJlbW92ZSBzdXBwcmVzc2lvbiBvZiBjb21waWxlciB3YXJuaW5ncyBmb3IgZGVwcmVjYXRlZCBHTGliIEFQSQoJICBOb3QgbmVlZGVkIGFueSBtb3JlLgoKMjAxNC0wNi0xNyAxMzoxNjoyNyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBjYXBzIG5lZ290aWF0aW9uIGlzc3VlCgkgIE1ha2Ugc3VyZSB0aGF0IGlmIEFZVVYgaXMgcmVjZWl2ZWQgaXQgd2lsbCBkZXRlY3QgdGhhdCBpdCBjYW4gcHJvZHVjZQoJICBib3RoIFJHQiBhbmQgWVVWIGZvcm1hdHMKCSAgU2lnbmVkLW9mZi1ieTogUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyNDgKCjIwMTQtMDYtMTYgMTI6MDI6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBmaXggZG91YmxlIGZyZWVzCgkgIEZpeCBkb3VibGUtZnJlZXMgaW50cm9kdWNlZCB0byBmaXggYW5vdGhlciBjb3Zlcml0eSByZXBvcnQuCgkgIENJRCAxMjIzMDUzCgoyMDE0LTA2LTEzIDEwOjEyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIGR5bnVkcHNpbms6IHJldHVybiBGTFVTSElORyB3aGVuIHNlbmR0byBnb3QgY2FuY2VsZWQsIG5vdCBhbiBlcnJvcgoKMjAxNC0wNi0xMyAwOTo1MjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIG9zczogc2ltcGxpZnkgcHJvYmVkIGNhcHMgYmVmb3JlIHJldHVybmluZyB0aGVtCgkgIEV4cG9zZXMgYWxsIGZvcm1hdHMgaW4gdGhlIGZpcnN0IHN0cnVjdHVyZSBpZiB0aGUKCSAgcmVzdCBpcyB0aGUgc2FtZSBmb3IgYWxsIG9mIHRoZW0uCgoyMDE0LTA2LTEzIDA5OjQ1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgb3NzOiBtYWtlIHN1cmUgMTYtYml0IGZvcm1hdHMgYXJlIGJlZm9yZSA4LWJpdCBmb3JtYXRzIGluIHByb2JlZCBjYXBzCgkgIFByb2JlIHN1cHBvcnRlZCBmb3JtYXRzIGluIG9yZGVyIG9mIGRlc2lyYWJpbGl0eSByYXRoZXIgdGhhbiBpbgoJICB3aGF0IG9yZGVyIHRoZXkgbWF5IGhhcHBlbiB0byBiZSBpbiB0aGUgZm9ybWF0cyBiaXRtYXNrLiBGaXhlcwoJICBhY2NpZGVudGFsbHkgZXhwb3N1cmUgb2YgOC1iaXQgZm9ybWF0cyBpbiBjYXBzIGJlZm9yZSAxNi1iaXQgZm9ybWF0cwoJICAoaW4gY2FzZSB3aGVyZSBVMTYgd2FzIG5vdCBzdXBwb3J0ZWQgUzggbWlnaHQgYmUgbGlzdGVkIGJlZm9yZSBTMTYpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2ODg0CgoyMDE0LTA2LTEyIDE2OjM2OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ2xlYW5seSBoYW5kbGUgdjRsMl9hbGxvY2F0b3JfbmV3IGZhaWx1cmUKCjIwMTQtMDYtMTIgMTE6MjQ6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmRlcGF5OiBmaXggbGVha3MKCSAgQ292ZXJpdHkgMTIxMjE2MwoKMjAxNC0wNi0xMiAxMToxNjowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogbGVhayBmaXhlcwoJICBDb3Zlcml0eSAxMjEyMTU5CgoyMDE0LTA2LTEyIDExOjExOjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBmaXggbGVhawoJICBDb3Zlcml0eSAxMjEyMTU3CgoyMDE0LTA2LTEyIDEwOjQzOjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBmaXggbGVha3MKCSAgQ292ZXJpdHkgMTIxMjE0OQoKMjAxNC0wNi0xMiAxMDozMTo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkgIHJ0cGR2cGF5OiBjYXRjaCBmYWlsdXJlcyB0byBtYXAgYnVmZmVyCgkgIENvdmVyaXR5IDExMzk3NDEKCjIwMTQtMDYtMTEgMTc6NDM6NDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZ3VhcmQgYWdhaW5zdCBoYXZpbmcgbm8gTUlNRSB0eXBlCgkgIFRoZSBjb2RlIHdvdWxkIHByZXZpb3VzbHkgY3Jhc2ggdHJ5aW5nIHRvIGluc2VydCBhIE5VTEwgc3RyaW5nCgkgIGludG8gYSBoYXNoIHRhYmxlLgoJICBJdCBkb2VzIHNlZW0gYSBsaXR0bGUgYnJva2VuIHRoYXQgaW5kZXhpbmcgaXMgZG9uZSBieSBNSU1FIHR5cGUKCSAgYW5kIG5vdCBieSBpbmRleCB0aG91Z2gsIHVubGVzcyB0aGUgc3BlYyBzYXlzIHRoZXJlIGNhbm5vdCBiZQoJICB0d28gcGFydHMgd2l0aCB0aGUgc2FtZSBNSU1FIHR5cGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk1NzMKCjIwMTQtMDYtMTAgMTU6NDI6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBldmVudAoJICBUaGlzIGV2ZW50IHdhcyBub3Qgc2VudC4gU2VuZCBpdCBiZWZvcmUgY2FwcywgdGhpcyByZXF1aXJlcyB0aGUgcGFkIHRvCgkgIGJlIHBhcmVudGVkLiBUaGlzIHJlbW92ZXMgd2FybmluZyBsaWtlOiAiR290IGRhdGEgZmxvdyBiZWZvcmUKCSAgc3RyZWFtLXN0YXJ0IGV2ZW50Ii4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTQ3NQoKMjAxNC0wNi0xMCAxNTozMzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgbG9vcGluZyBpbmRlZmluaXRlbHkgaW4gYnJva2VuIHN2cTMgZmlsZXMKCSAgQWJvcnQgaWYgYW4gYXRvbSB3aXRoIHNpemUgMCBpcyByZWFkIGZyb20gd2l0aGluIHRoZSBzdnEzIHN0c2QKCSAgYXRvbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjUxMgoKMjAxNC0wNi0xMCAxMDo1MjoyMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGFkZCBjb25zdCB3aGVyZSBhcHByb3ByaWF0ZQoKMjAxNC0wNi0wOSAxMDozOToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogYWRkIG1pc3NpbmcgdmFfZW5kIGluIHZhcmlhZGljIGZ1bmN0aW9uCgkgIENvdmVyaXR5IDExMzk5NDQKCjIwMTQtMDYtMDkgMTA6MDQ6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBBdHRlbXB0IHVwc3RyZWFtIHNlZWsgZmlyc3QKCSAgSWYgd2UgaGF2ZSBhbiB1cHN0cmVhbSBlbGVtZW50IHRoYXQgY2FuIGhhbmRsZSB0aGUgc2VlayAoc3VjaCBhcwoJICBydG1wc3JjKSwgdHJ5IHRvIGRvIHRoYXQgZmlyc3QgYmVmb3JlIGF0dGVtcHRpbmcgaXQgb3Vyc2VsZi4KCjIwMTQtMDYtMDQgMTE6MzQ6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkbyBub3QgaW5jbHVkZSBjb2RlY19kYXRhIG9uIHJhdyBhdWRpbyBjYXBzCgkgIElmIHRoZSB3YXYgaGVhZGVyIGNvbnRhaW5zIGFuIGV4dGVuZGVkIGNodW5rLCB3ZSB3YW50IHRvIGtlZXAKCSAgdGhlIGNvZGVjX2RhdGEgZmllbGQsIGJ1dCBub3QgZm9yIHJhdyBhdWRpby4KCSAgVGhpcyBmaXhlcyBzb21lIGVsZW1lbnRzIChzdWNoIGFzIGFkZGVyKSBmcm9tIGZhaWxpbmcgdG8gaW50ZXJzZWN0CgkgIHJhdyBhdWRpbyBjYXBzIHdoaWNoIHdvdWxkIG90aGVyd2lzZSBiZSBpbnRlcnNlY3RhYmxlLgoKMjAxNC0wNi0wNSAwOTozODoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFF1ZXJ5IGR1cmF0aW9uIHVwc3RyZWFtIGZpcnN0CgkgIFVwc3RyZWFtIGVsZW1lbnRzIChsaWtlIHJ0bXBzcmMpIG1pZ2h0IGJlIGFibGUgdG8gcHJvdmlkZSB0aGUgZHVyYXRpb24KCSAgbW9yZSBhY2N1cmF0ZWx5IHRoYW4gZmx2ZGVtdXguIEVzcGVjaWFsbHkgd2l0aCBpbmRleC1sZXNzIHZvZCBmaWxlcwoKMjAxNC0wNS0zMCAxOTozNzo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENsZWFudXAgcG9sbCBtZXRob2QgYW5kIHJldHJ5IG9uIEVJTlRSL0VBR0FJTgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDE1CgoyMDE0LTAzLTA2IDE2OjM3OjUxICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc2V0IFJFU1lOQyBidWZmZXIgZmxhZyB3aGVuIGJyaWRnaW5nIGxhcmdlIFBUUyBnYXBzCgkgIFNvIGRvd25zdHJlYW0gZ2V0cyBub3RpZmllZCB3aGVuIHRoaXMgaGFwcGVucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTkwMwoKMjAxNC0wNi0wMyAxNzo1OTozMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBydHg6IFJlc2V0IHN0YXRlIG9uIGVhY2ggaXRlcmF0aW9uCgkgIE90aGVyd2lzZSBpdCBkaWRuJ3Qgd2FpdCBmb3IgdGhlIHRlc3QgdG8gZmluaXNoIGJlZm9yZSBjaGVja2luZyB0aGUgcmVzdWx0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUwMQoKMjAxNC0wNS0wOSAxNDoyMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBsZWFrIGRvY3R5cGUgc3RyaW5nIGluIGVycm9yIGNvZGUgcGF0aAoJICBDSUQgMTIxMjE0NS4KCjIwMTQtMDUtMjAgMDg6MjA6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGNoZWNrcwoJICBDSUQgIzExOTc3MDMKCjIwMTQtMDUtMjAgMDg6MjM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHZhcmlhYmxlCgkgIENJRCAjMTEzOTgzOAoKMjAxNC0wNS0zMCAxNDozMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXBzdHJlYW0gaGFuZGxlcyBzZWVrIGlmIGZyYWdtZW50ZWQgYW5kIG9uIHRpbWUgc2VnbWVudAoJICBPdGhlcndpc2Ugd2UgY2FuIHJlamVjdCBzZWVrcyBvbiBsb2NhbCBmaWxlcyB0aGF0IGNvbnRhaW4gZnJhZ21lbnRlZC1saWtlCgkgIGF0b21zIGxpa2UgJ212ZXgnLiBBbHNvIGltcHJvdmUgYSBtZXNzYWdlIGxvZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNzIyCgoyMDE0LTA1LTMwIDE2OjQzOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogbWFrZSBzdXJlIHdlIGNhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwKCSAgQ2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTCBpbiB0aGUgU1RBUC1BIFJUUCBwYWNrZXQuIFRoaXMgbWFrZXMKCSAgc3VyZSB3ZSBjb3JyZWN0bHkgZXh0cmFjdCB0aGUgU1BTIGFuZCBQUFMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5OTkKCjIwMTQtMDUtMDcgMTQ6MDk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIGN1c3RvbSBzdGlja3kgZXZlbnQgdG8gY29udGFpbiB0aGUgSFRUUCByZXF1ZXN0IGFuZCByZXNwb25zZSBoZWFkZXJzCgkgIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBlLmcuIGdldCBjb29raWUgaW5mb3JtYXRpb24gZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTcwNwoKMjAxNC0wNS0yNiAxOTo0NzozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHJlbW92ZSBzdHJlYW0gbGFzdCBmbG93IHJldHVybgoJICBHc3RQYWQgYWxyZWFkeSBzdG9yZXMgdGhhdCBpbmZvcm1hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDE5OjM3OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgbGFzdCBmbG93IHJldHVybiBmcm9tIHN0cmVhbSBzdHJ1Y3QKCSAgSXQgaXMgYWxyZWFkeSBzdG9yZWQgb24gR3N0UGFkIG9uIGNvcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxOToxOTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IFVzZSBHc3RGbG93Q29tYmluZXIKCSAgVXNlIHRoZSBmbG93IGNvbWJpbmVyIHRvIGhhdmUgdGhlIHN0YW5kYXJkIGNvbWJpbmF0aW9uIHJlc3VsdHMgYW5kIGF2b2lkCgkgIHJlcGVhdGluZyB0aGUgc2FtZSBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTM6MjE6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBVc2UgdGhlIGZsb3cgY29tYmluZXIgdG8gaGF2ZSB0aGUgc3RhbmRhcmQgY29tYmluYXRpb24gcmVzdWx0cyBhbmQgYXZvaWQKCSAgcmVwZWF0aW5nIHRoZSBzYW1lIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxMzowNDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgoyMDE0LTA1LTIzIDE3OjUzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIHRoZSBjb21tb24gY29kZSB0byBjb21iaW5pbmcgZmxvdyByZXR1cm5zIHRvIGxldCBpdCBiZQoJICBoYW5kbGVkIGJ5IGNvcmUgZ3N0dXRpbHMnIEdzdEZsb3dDb21iaW5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDEwOjU5OjU1IC0wNDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBpbXBsZW1lbnQgZ3N0dmlkZW9zaW5rLnNob3dfZnJhbWUgaW5zdGVhZCBvZiBnc3RiYXNlc2luay5yZW5kZXIKCSAgSXQgYWxsb3dzIHRvIHNob3cgcHJlcm9sbCBmcmFtZS4gRXNwZWNpYWxseSBpdCBhbGxvd3MgdG8gdXBkYXRlIHRoZQoJICBmcmFtZSB3aGVuIHNlZWtpbmcgaW4gUEFVU0VEIHN0YXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzAzCgoyMDE0LTA1LTI2IDEwOjU5OjA2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogQ2xlYW51cCBvbGQgcGFkIGFsbG9jIGRlY2xhcmF0aW9uCgoyMDE0LTA1LTI2IDEyOjM0OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyYnVmZmVycG9vbDogQ29weSBhbHJlYWR5IHF1ZXVlZCBidWZmZXIKCSAgVGhpcyBpcyByZXF1aXJlZCBhcyBkdXJpbmcgcHJlcm9sbCB3ZSBwYXNzIHRoZSBmaXJzdCBidWZmZXIgdHdpY2UsIGhlbmNlIGFscmVhZHkKCSAgcXVldWVkLiBJdCBpcyBhbHNvIHVzZWZ1bCwgdG8gYWxsb3cgZmlsdGVycyByZXBsYXlpbmcgYSBwcmV2aW91cyByZW5kZXJlZCBidWZmZXJzLgoJICBUaGlzIHdpbGwgcmVxdWlyZSAxIG1vcmUgYnVmZmVyIGluIHNpbmsgaWYgbGFzdC1zYW1wbGUgaXMgZW5hYmxlZCwgc2luY2UgdGhlIGxhc3QKCSAgc2FtcGxlIHdpbGwgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50bHkgcXVldWVkIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMwMwoKMjAxNC0wNS0yNCAyMDoyMDowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQb3J0IHRvIGJ1ZmZlcnBvb2wgZmx1c2hfc3RhcnQvc3RvcCBtZXRob2QKCSAgUG9ydCB0aGUgYnVmZmVyIHBvb2wgdG8gdXNlIHRoZSBuZXcgZmx1c2hfc3RhcnQvZmx1c2hfc3RvcCB2aXJ0dWFsCgkgIG1ldGhvZHMgYWRkZWQgdG8gR3N0QnVmZmVyUG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzYxMQoKMjAxNC0wNS0yNSAxNzo0MDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZQoKMjAxNC0wNS0yNSAxNjo1NDoxOCArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTU2CgoyMDE0LTA1LTI0IDIzOjUxOjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCBxdWV1ZSBhbGwgdGhlIGJ1ZmZlcnMgYmVmb3JlIGRlcXVldWVpbmcgZmlyc3QKCSAgRm9yIG91dHB1dCBkZXZpY2UsIHdlIHdoZXJlIHF1ZXVpbmcgYWxsIHRoZSBidWZmZXJzLCBhbmQgdGhlbiB3ZSB3b3VsZAoJICBkZXF1ZXVlIG9uZS4gVGhpcyBtZWFucyB3ZSBvbmx5IGhhdmUgMSBidWZmZXIgZm9yIHRoZSBwaXBlbGluZSwgbm8gbWF0dGVyCgkgIHRoZSBzaXplIG9mIHRoZSBxdWV1ZS4gSW5zdGVhZCwgc3RhcnQgZGVxdWV1ZWQgd2hlbiBtaW5fbGF0ZW5jeSBpcyByZWFjaGVkLgoJICBFdmVudHVhbGx5LCB0aGlzIHRoZSBtaW5fbGF0ZW5jeSBzaG91bGQgYWxzbyBiZSBhZmZlY3RlZCBieSBjb250cm9sCgkgIE1JTl9CVUZGRVJTX0ZPUl9PVVRQVVQgKHVzZSBieSBlbmNvZGVycykuCgoyMDE0LTA1LTI0IDIzOjQ5OjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogU2ltcGx5IHJlYWQgYmFjayB0aGUgY29uZmlnIHRvIHVwZGF0ZSB0aGUgcXVlcnkKCSAgSXQncyBlYXN5IHRvIGdldCB0aGUgbWluL21heCBvdXRkYXRlIHdoZW4gaGFja2luZyBkZWNpZGUgYWxsb2NhdGlvbi4gSW4KCSAgb3JkZXIgdG8gYXZvaWQgdGhpcywgc2ltcGx5IHJlYWQgYmFjayB0aGUgY2hvb3NlbiB2YWx1ZSBmcm9tIHRoZSBjb25maWcuCgoyMDE0LTA1LTI0IDIzOjMxOjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogQ2xlYW51cCBhbmQgZml4IGNhbGN1bGF0aW9uIG9mIGxhdGVuY3kKCSAgQ2FsY3VsYXRpb24gb2YgbnVtX2J1ZmZlcnMgKHRoZSBtYXggbGF0ZW5jeSBpbiBidWZmZXJzKSB3YXMKCSAgdXAtc2lkZS1kb3duLiAgSWYgd2UgY2FuIGFsbGNvYXRlLCB0aGVuIG91ciBtYXhpbXVtIGxhdGVuY3kgbWF0Y2gKCSAgcG9vbCBtYXhpbXVtIG51bWJlciBvZiBidWZmZXJzLiBBbHNvIHJlbmFtZWQgaXQgdG8gbWF4IGxhdGVuY3kuIEZpbmFsbHkKCSAgaW50cm9kdWNlZCBhIG1pbl9sYXRlbmN5IGZvciBjbGFyaXR5LgoKMjAxNC0wNS0yNCAyMDowMDoxNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIFJldmVydCAidjRsMmJ1ZmZlcnBvb2w6IFBvcnQgdG8gYnVmZmVycG9vbCBmbHVzaF9zdGFydC9zdG9wIG1ldGhvZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyZTBmYjQyZTg2OGZjOWY2ZDk4YjAyOGRlZjgwYTNlOTUzNTI3MzA3LgoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYwoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCgkgIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jCgoyMDE0LTA1LTI0IDE4OjU2OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IGNvbmZpZ3VyYXRpb24gb2Ygb3RoZXJfcG9vbCBhbmQgaW1wb3J0YXRpb24gY2FzZQoJICBGaXggdGhlIGNob2ljZSBvZiBtaW4vbWF4LCBkb24ndCBvdmVycmlkZSB0aGUgbWluL21heCB3aXRoIG93biBwb29sIHNlbGVjdGVkCgkgIHNpemUsIGNvcnJlY3Qgb3RoZXJfcG9vbCBpc19hY3RpdmUgY2hlY2ssIHN0YXJ0IGZyb20gb3RoZXJfcG9vbCBjb25maWcgd2hlbgoJICBjb25maWd1cmluZyB0aGUgb3RoZXIgcG9vbCBhbmQgZmluYWxseSB2YWxpZGF0ZSB0aGUgY29uZmlndXJhdGlvbi4KCjIwMTQtMDUtMjQgMTg6NDU6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBVc2UgcHJvcG9zZWQgYWxsb2NhdG9yIGFzIGRlZmF1bHQKCjIwMTQtMDUtMjQgMTg6NDM6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEZpeCBVU0VSUFRSIG1hcCBmbGFncwoJICBXZSBuZWVkIHRvIG1hcCBSRUFEIG9ubHkgZm9yIG91dHB1dCBhbmQgd3JpdGUgb25seSBmb3IgY2FwdHVyZSwgd2Ugd2hlcmUKCSAgZG9pbmcgdGhlIG9wcG9zaXRlLiBUaGlzIGZpeGluZyBVU0VSUFRSIHdpdGggZ2xpbWFnZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY5OAoKMjAxNC0wNS0yNCAxMToxNjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2UgdGtoZCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggYW5kIGFkZCB0YWdzIGlmIGFwcHJvcHJpYXRlCgkgIEhhbmRsZSB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IGNhc2VzIHdoZXJlIHRoZXJlIGFyZSBvbmx5IHNpbXBsZSByb3RhdGlvbnMKCSAgKDkwLCAxODAgb3IgMjcwIGRlZ3JlZXMpIGFuZCB1c2UgYSB0YWcgZm9yIHRob3NlIGNhc2VzLiBUaGlzIGlzIGEgY29tbW9uIHNjZW5hcmlvCgkgIHdoZW4gcmVjb3JkaW5nIHdpdGggbW9iaWxlIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTUyMgoKMjAxNC0wNS0yMyAxOToxMDoyMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFByZXZlbnQgbnVtX3F1ZXVlZCBmcm9tIGdvaW5nIG5lZ2F0aXZlCgoyMDE0LTA1LTIzIDE4OjI1OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBkb24ndCBzdG9wIGlmIGxvb3AgcmV0dXJuZWQgRkxVU0hJTkcKCSAgVGhlIGRlY29kZWluZyB0aHJlYWQgcmV0dXJuaW5nIGZsdXNoaW5nIGlzbid0IGFuIGVycm9yLCB3ZSBzaG91bGQgc2ltcGx5CgkgIHRyeSBzdGFydGluZyB0aGUgdGFzayBhZ2Fpbi4gSWYgaXQncyBhY3R1YWxseSBmbHVzaGluZywgaXQgd2lsbCBzdG9wIGFnYWluIGJ5IGl0c2VsZi4KCjIwMTQtMDUtMjMgMTc6NTQ6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEhhbmRsZSBlYXJseSB0YXNrIHN0b3AKCjIwMTQtMDUtMjMgMTc6Mjg6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEhhbmRsZSBnc3RfcGFkX3N0YXJ0X3Rhc2soKSBmYWlsdXJlCgoyMDE0LTA1LTIzIDE3OjE5OjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBBZGQgdHJhY2UgZm9yIEZMVVNIX1NUQVJUL1NUT1AgaGFuZGxpbmcKCjIwMTQtMDUtMjMgMTc6MTg6MTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEZpeCB1c2Ugb2YgYXRvbWljIHZhbHVlCgoyMDE0LTA1LTIzIDE3OjAxOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgTm8gbmVlZCB0byB1c2Ugb2JqLT5lbGVtZW50LCB0aGUgcG9vbCBub3cgaGF2ZSBhIHNpZ25pZmljYW50IG5hbWUuIEFsc28gZG9uJ3QKCSAgd2FybiBpZiBmbHVzaGluZy4KCjIwMTQtMDUtMjMgMTc6MDE6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEZpeCBoYW5kbGVfZnJhbWUgZXJyb3IgaGFuZGxpbmcKCjIwMTQtMDUtMjMgMTU6NTY6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBBZGQgYSB0cmFjZSB3aGVuIF9zdGFydCgpIGlzIGNhbGxlZAoKMjAxNC0wNS0yMyAxNTo1NjowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgZGVidWcgYXNzZXJ0IHRvIGRldGVjdCBjYWxscyBpbiB0aGUgd3Jvbmcgc3RhdGUKCjIwMTQtMDUtMjMgMTU6NTU6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmVzZXQgY291bnQgd2hlbiBzdG9wcGVkCgoyMDE0LTA1LTIzIDE1OjU1OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZXR1cm4gYSBHc3RGbG93UmV0dXJuIGluc3RlYWQgb2YgYm9vbGVhbiBpbiBhbGxvYwoKMjAxNC0wNS0yMyAxNToxNzoyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIGNvbmZpZyBzdHJ1Y3R1cmUKCjIwMTQtMDUtMjMgMTQ6MTI6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFBvcnQgdG8gYnVmZmVycG9vbCBmbHVzaF9zdGFydC9zdG9wIG1ldGhvZAoKMjAxNC0wNS0yMyAwMzowMDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHRhZyBtYXBwaW5ncyBmb3IgX3N3ciwgX21hayBhbmQgX21vZCB0YWdzCgkgIHN3ciAtPiBBcHBsaWNhdGlvbiBuYW1lCgkgIG1hayAtPiBkZXZpY2UgbWFudWZhY3R1cmVyCgkgIG1vZCAtPiBkZXZpY2UgbW9kZWwKCjIwMTQtMDUtMjAgMTc6Mzc6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IHhpbWFnZSBsZWFrcyB3aGVuIGJ1ZmZlciBoYXMgbW9yZSB0aGVuIG9uZSB4aW1hZ2UKCSAgRnJvbSB0aW1lIHRvIHRpbWUsIHdoZW4gdGhlIGltYWdlX3Bvb2wgbGlzdCBoYXMgbW9yZSB0aGVuIDEgZWxlbWVudAoJICBhbmQgSSBzdXBwb3NlIGF0IHN0YXJ0LCBhbGwgYnV0IDEgcG9vbGVkIHhpbWFnZSBhcmUgbGVha2VkLiBUaGlzIGlzCgkgIGR1ZSB0byBicm9rZW4gYWxnb3JpdGhtIGluIGdzdF94aW1hZ2VzaW5rX3NyY194aW1hZ2VfZ2V0KCkuIFRoZXJlIHdhcwoJICBhbHNvIGEgcmlzayBvZiB1c2UgYWZ0ZXIgZnJlZSBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIHhpbWFnZSBzaXplIGhhcwoJICBjaGFuZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NTAyCgoyMDE0LTA1LTIxIDEzOjIzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMiA9PT0KCjIwMTQtMDUtMjEgMTM6MDY6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QtYnVpbGQuc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMgoKMjAxNC0wNS0yMSAxMjoxOTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNS0yMSAxMDo1MToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjExZmE1ZiB0byAxZjVkM2MzCgoyMDE0LTA1LTIwIDA4OjIzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCB2YXJpYWJsZQoJICBDSUQgIzExMzk4MzgKCjIwMTQtMDUtMjAgMDg6MjA6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGNoZWNrcwoJICBDSUQgIzExOTc3MDMKCjIwMTQtMDUtMTkgMTE6MjY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRXhwbGljaXRseSBjYXN0IGVudW0gInN1YnR5cGUiIHRvIGl0cyAic3VwZXJ0eXBlIgoJICBnc3R2NGwyYnVmZmVycG9vbC5jOjYwODoxODogZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlCgkgICdlbnVtIF9Hc3RWNGwyQnVmZmVyUG9vbEFjcXVpcmVGbGFncycgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdEJ1ZmZlclBvb2xBY3F1aXJlRmxhZ3MnIFstV2Vycm9yLC1XZW51bS1jb252ZXJzaW9uXQoJICBwYXJhbXMuZmxhZ3MgPSBHU1RfVjRMMl9QT09MX0FDUVVJUkVfRkxBR19SRVNVUkVDVDsKCSAgfiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKMjAxNC0wNS0xOSAxMToyNDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzoKCSAgZ29vbTogVXNlIGZhYnMoKSBpbnN0ZWFkIG9mIGFicygpIHRvIGNhbGN1bGF0ZSB0aGUgZmxvYXRpbmcgcG9pbnQgYWJzb2x1dGUgdmFsdWUKCSAgdGVudGFjbGUzZC5jOjI2ODo3OiBlcnJvcjogdXNpbmcgaW50ZWdlciBhYnNvbHV0ZSB2YWx1ZSBmdW5jdGlvbiAnYWJzJyB3aGVuCgkgIGFyZ3VtZW50IGlzIG9mIGZsb2F0aW5nIHBvaW50IHR5cGUgWy1XZXJyb3IsLVdhYnNvbHV0ZS12YWx1ZV0KCSAgaWYgKGFicyAodG1wIC0gZnhfZGF0YS0+cm90KSA+IGFicyAodG1wIC0gKGZ4X2RhdGEtPnJvdCArIDIuMCAqIEdfUEkpKSkgewoJICBeCgoyMDE0LTA1LTE5IDExOjIxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSAgZGVidWd1dGlsczogUHJvcGVybHkgY2FsY3VsYXRlIHRoZSBkaWZmZXJlbmNlIHdpdGggdW5zaWduZWQgdHlwZXMKCSAgdGVzdHMuYzoxNjE6MTY6IGVycm9yOiB0YWtpbmcgdGhlIGFic29sdXRlIHZhbHVlIG9mIHVuc2lnbmVkIHR5cGUKCSAgJ3Vuc2lnbmVkIGxvbmcnIGhhcyBubyBlZmZlY3QgWy1XZXJyb3IsLVdhYnNvbHV0ZS12YWx1ZV0KCSAgdC0+ZGlmZiArPSBsYWJzIChHU1RfQlVGRkVSX1RJTUVTVEFNUCAoYnVmZmVyKSAtIHQtPmV4cGVjdGVkKTsKCjIwMTQtMDUtMTYgMTc6NDY6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEhhbmRsZSBmbHVzaCB3aGlsZSBpbiBzdGFydF9zdHJlYW1pbmcKCSAgV2UgbmVlZCB0byBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgYSBmbHVzaCBvY2N1cmUgd2hpbGUgdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgaXMgYmVpbmcgYnJvdWdodCB1cC4gSW4gdGhpcyBjYXNlLCB0aGUgZmx1c2hpbmcgc3RhdGUgb2YgdGhlIHBvbGwKCSAgb2JqZWN0IGlzIGNsZWFyZWQuIFRvIHNvbHZlIHRoaXMsIHdlIHNpbXBseSBzZXQgdGhlIGNhcHR1cmUgcG9sbCB0byBmbHVzaGluZwoJICBhZ2FpbiwgdGhpcyB3YXkgd2Uga25vdyB0aGUgdGhyZWFkIHdpbGwgZXhpdC4gVGhlIGRlY29kZXIgc3RyZWFtbG9jawoJICBpcyB1c2VkIHRvIHN5bmNocm9uaXplIHdpdGggaGFuZGxlIGZyYW1lLgoKMjAxNC0wNS0xNiAxNjo0NDozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBEb24ndCB0cmFjZSB0d2ljZSB0aGUgc2FtZSBtZXNzYWdlCgoyMDE0LTA1LTE1IDExOjI1OjUwIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWx3YXlzIHVzZSBhIHJhbmRvbSBzc3JjIGZvciB0aGUgaW50ZXJuYWwgc2Vzc2lvbgoJICBVc2UgYSByYW5kb20gU1NSQyBkaWZmZXJlbnQgdGhhbiAwIGZvciB0aGUgaW50ZXJuYWwgc2Vzc2lvbiBTU1JDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjEyCgoyMDE0LTA1LTE2IDE2OjUyOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdXBkYXRlIGxhc3RfYWN0aXZpdHkgd2hlbiBzZW5kaW5nIFJUUAoJICBBbHNvIHVwZGF0ZSBsYXN0X2FjdGl2aXR5IHdoZW4gZG9pbmcgc29tZXRoaW5nIHdpdGggdGhlIGludGVybmFsCgkgIHNvdXJjZSB0byBtYWtlIHN1cmUgZG9uJ3QgdGltZW91dCBlYXJseS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMTcKCjIwMTQtMDUtMTUgMTg6MDg6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBDbGVhbnVwIE0yTSBwcm9wZXJ0aWVzCgkgIE0yTSBkZXZpY2VzIHdlcmUgc2hhcmluZyB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHNyYyBhbmQgc2luay4gTW9zdCBvZgoJICB0aGVzZSBtYWRlIG5vIHNlbnNlLiBUaGlzIHBhdGNoIHJlZHVjZXMgdGhlIG51bWJlciBvZiBwcm9wZXRpZXMgYW5kCgkgIG1ha2VzIGlvLW1vZGUgY2xlYXJlciBieSBoYXZpbmcgY2FwdHVyZS1pby1tb2RlIGFuZCBvdXRwdXQtaW8tbW9kZS4gVGhpcwoJICBhbHNvIGFjY2lkZW50bHkgZml4ZWQgYSBidWcgaW4gZ3N0djRsMnRyYW5zZm9ybSBpby1tb2RlIGNvZGUsIHdoZXJlIHRoZQoJICBjYXB0dXJlIGlvLW1vZGUgY291bGQgbm90IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU5MQoKMjAxNC0wNS0xNSAxNzozOTozOSArMDIwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXBkYXRlIHBvb2wgbGltaXQgd2l0aCBoYXJkd2FyZSByZXF1aXJlbWVuc3QKCSAgSWYgdGhlIGRyaXZlciBuZWVkIG1vcmUgYnVmZmVycyB0aGFuIHJlcXVlc3RlZCBieSB0aGUgY29uZmlnLAoJICB1cGRhdGUgdGhlIHBvb2wgbWluL21heCB2YWx1ZXMuIFRoZSBtaW5pbXVtIHZhbHVlIGZvciB0aGUgcG9vbAoJICBjb3VsZCBiZSBwcm92aWRlZCBlaXRoZXIgYnkgdGhlIGRyaXZlciBvciBieSB0aGUgcG9vbC4gVGhpcyBpcwoJICBiZXN0IGVmZm9ydCBmb3IgZHJpdmVycyB0aGF0IGRvbid0IHN1cHBvcnQKCSAgQ0lEIFY0TDJfQ0lEX01JTl9CVUZGRVJTX0ZPUl9DQVBUVVJFLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjAwCgoyMDE0LTA1LTE1IDEwOjQ0OjI5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgc3RhcnRfc3RyZWFtaW5nIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTUgMTA6Mzk6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IFByaW50IHRoZSBmbG93IHJldHVybiBjYXVzaW5nIHRoZSBsb29wIHRvIGxlYXZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTUgMTA6MzE6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IERvbid0IGxvY2sgdGhlIGRlY29kZXIgd2hlbiBzdG9wcGluZyB0YXNrCgkgIFRoYXQgc3JjIHBhZCB0YXNrIG1heSBuZWVkIHRvIHRha2UgdGhlIGxvY2sgd2hlbiBiZWluZyBwdWxsZWQKCSAgZG93bi4gdGFrZWluZyB0aGF0IGxvY2sgY2FuIGxlYWQgdG8gYSBkZWFkbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxNzoxODo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBEb24ndCBsZWFrIHBvb2wgaWYgYWN0aXZhdGlvbiBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxNzoxODozNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogU3BsaXQgZmx1c2ggaW4gc3RhcnQvc3RvcF9zdHJlYW1pbmcKCSAgVGhpcyBhbGxvdyBjYWxsaW5nIHN0YXJ0IHN0cmVhbWluZyBsYXRlciBmb3IgY2FwdHVyZSBkZXZpY2UuIEN1cnJlbnRseSBpdCBicmVha3MKCSAgaW4gZG1hYnVmLWltcG9ydCBiZWNhdXNlIGRvd25zdHJlYW0gaXMgaG9sZGluZyBhIGJ1ZmZlciB0aGF0IHdpbGwgb25seSBiZQoJICByZWxlYXNlZCBhZnRlciBzdHJlYW0tc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTU6MTI6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRmx1c2ggYnVmZmVyIHBvb2xzIG9uIGZsdXNoIHN0b3AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxMzoyODozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggdXNlIG9mIGF0b21pYyBhY3RpdmUgbWFya2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTM6MDU6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCBkZWFjdGl2YXRlIG90aGVycG9vbAoJICBXZSBzaG91bGQgbm90IHN0b3AgdGhlIG90aGVycG9vbCB1bmxlc3Mgd2UgYWxzbyBzdG9wIG91ciBvd24KCSAgcG9vbCwgb3RoZXJ3aXNlIGl0IHdpbGwgbmV2ZXIgZ2V0IHJlc3RhcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxMjozMzo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFsc28gdXBkYXRlIG51bV9idWZmZXJzIGZvciBpbXBvcnQgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxMzo0MjoyNSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1cGRhdGUgcnRwIGVuY29kZXIvZGVjb2RlciBkb2NzCgkgIFVzZSAldSBpbiBSVFAgZW5jb2Rlci9kZWNvZGVyIHBhZHMgdG8gbWF0Y2ggb3RoZXIgcnRwYmluIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDYKCjIwMTMtMTItMjcgMTE6NTU6MTggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBydHBzZXNzaW9uOiB0ZXN0IGludGVybmFsIHNvdXJjZXMgdGltaW5nIG91dAoKMjAxMy0xMi0yNiAxNzozMDo0MiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIHVudXNlZCBpZiBicmFuY2gKCSAgMSkgc291cmNlcyB0aGF0IGhhdmUgc2VudCBCWUUgaW4gdGhlIHBhc3QgY2Fubm90IGJlIHNlbmRlcnMsIHNpbmNlCgkgIHRoZXkgd291bGQgaGF2ZSB0aW1lZCBvdXQgdG8gYmVpbmcgcmVjZWl2ZXJzIGluIHRoZSBtZWFudGltZS4uLgoJICAyKSBzb3VyY2VzIHRoYXQgaGF2ZSBzZW50IEJZRSBhcmUgbm93IGJlaW5nIHJlbW92ZWQgZWFybGllciBpbnNpZGUKCSAgdGhpcyBmdW5jdGlvbgoKMjAxMy0xMi0yNiAxNzoyOTo0MiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogY2xlYW51cCBzb3VyY2VzIHRoYXQgaGF2ZSBzZW50IEJZRQoKMjAxMy0xMi0yNiAxNzoyNDo1MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdW5pZnkgbmVzdGVkIGlmIGNsYXVzZXMKCjIwMTMtMTItMjYgMTc6MjE6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHRpbWVvdXQgaW50ZXJuYWwgc291cmNlcyB0aGF0IGFyZSBpbmFjdGl2ZSBmb3IgYSBsb25nIHRpbWUgYW5kIHNlbmQgQllFCgoyMDE0LTA1LTEzIDEyOjI1OjA0IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IHN0b3AgbG9vcGluZyBpZiBldmVudCBmb3VuZCBpbiB0aGUgcXVldWUKCSAgSWYgd2UgYXJlIGluc2VydGluZyBhIHBhY2tldCBpbnRvIHRoZSBqaXR0ZXIgcXVldWUgd2UgbmVlZCB0byBrZWVwCgkgIGxvb3BpbmcgdGhyb3VnaCB0aGUgaXRlbXMgdW50aWwgdGhlIHJpZ2h0IHBvc2l0aW9uIGlzIGZvdW5kLiBDdXJyZW50bHksCgkgIHRoZSBjb2RlIHN0b3BzIGFzIHNvb24gYXMgYW4gZXZlbnQgaXMgZm91bmQgaW4gdGhlIHF1ZXVlLgoJICBSZWdhcmRpbmcgZXZlbnRzLCB3ZSBzaG91bGQgb25seSBtb3ZlIHBhY2tldHMgYmVmb3JlIGFuIGV2ZW50IGlmIHRoZXJlCgkgIGlzIGFub3RoZXIgcGFja2V0IGJlZm9yZSB0aGUgZXZlbnQgdGhhdCBoYXMgYSBsYXJnZXIgc2VxbnVtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMDc4CgoyMDE0LTA0LTE3IDEzOjA0OjAwICswMDAwICBBZHJpZW4gU0NIIDxhZHJpZW4uc2Nod2FydHplbnRydWJlckBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggdGhlIG1lbW9yeSBsZWFrIG9mIGxhbmd1YWdlIGF0dHJpYnV0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDE4CgoyMDE0LTA1LTEzIDEzOjQ0OjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCByZWdyZXNzaW9uIGluIG9mZnNldCBleHRyYXBvbGF0aW9uCgkgIFdoZW4gZXh0cmFwb2xhdGluZyB0aGUgb2Zmc2V0LCB3ZSBuZWVkIHRvIHVzZSB0aGUgZXh0cmFwb2xhdGUKCSAgc3RyaWRlIHJhdGhlciB0aGVuIHRoZSBiYXNlIHN0cmlkZS4gVGhpcyBzaG91bGQgZml4IHN1cHBvcnQgZm9yIGZvcm1hdAoJICB3aXRoIG1vcmUgdGhlbiB0d28gcGxhbmVzIChJNDIwLCBZNDJCLCBldGMpLgoKMjAxNC0wNS0xMiAxODowMzoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVzZSBkZWZhdWx0IFZpZGVvSW5mbyBmb3IgZnJhbWUgb3BlcmF0aW9uCgkgIFdoZW4gZG9pbmcgZnJhbWUgb3BlcmF0aW9uLCB3ZSBuZWVkIHRvIHVzZSB0aGUgZGVmYXVsdCBWaWRlb0luZm8KCSAgYW5kIGxldCB0aGUgZnJhbWUgQVBJIHJlYWQgdGhlIHZpZGVvIG1ldGEgaW4gb3JkZXIgdG8gZ2V0IHRoZSBzdHJpZGUKCSAgYW5kIG9mZnNldCByaWdodC4gQ3VycmVudGx5IHdlIHdoZXJlIHVzaW5nIHRoZSBzcGVjaWFsaXplZCBWaWRlb0luZm8KCSAgd2hpY2ggcmVmbGVjdHMgd2hhdCB0aGUgSFcgaXMgc2V0dXAgdG8uCgoyMDE0LTA1LTEyIDE3OjIzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBtaW5vciBHVmFsdWUgaGFuZGxpbmcgb3B0aW1pc2F0aW9uIGluIHByb2JpbmcgY29kZQoKMjAxNC0wNS0xMiAxNzoyMDoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogYXZvaWQgbGlzdHMgd2l0aCBvbmUgc2luZ2xlIGZyYW1lcmF0ZSBpbiBwcm9iZWQgY2FwcwoJICBTaW1wbGlmeSBmcmFtZXJhdGUgZmllbGQgaWYgcG9zc2libGUsIHNvIHdlIGRvbid0IGVuZCB1cCB3aXRoCgkgIGUuZy4gZnJhbWVyYXRlID0gKGZyYWN0aW9uKSB7IDMwLzEgfS4gTWF5YmUgdGhlIGhlbHBlciBmdW5jdGlvbgoJICBzaG91bGQgYmUgbW92ZWQgdG8gY29yZSwgYnV0IHdlIGNhbiBkbyB0aGlzIGxhdGVyLgoKMjAxNC0wNS0xMiAxNjo1NjozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggbGVhayBvZiBwYWxldHRlX2RhdGEgaW4gZXJyb3IgY2FzZXMKCSAgQ0lEICMxMjEyMTUxCgoyMDE0LTA1LTEyIDE2OjUzOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSBub2RlX2hlYWRlciBpbiBlcnJvciBjYXNlcwoJICBDSUQgIzEyMTIxMzQKCjIwMTQtMDUtMTIgMTM6NDY6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgdXNlIFdBUk5JTkcgZm9yIG5vdC1saW5rZWQgZmxvdyByZXR1cm4KCSAgUG9sbHV0ZXMgZGVidWcgbG9ncyBmb3Igbm8gcmVhc29uLiBJdCdzIG9ubHkgYW4gZXJyb3IgaWYgYWxsIHBhZHMKCSAgcmV0dXJuIG5vdC1saW5rZWQKCjIwMTQtMDUtMTIgMTM6NDU6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBTa2lwIHVua25vd24gdGFncyBpbiBwdXNoLW1vZGUKCSAgV2UgYWRkIGEgbmV3IG1vZGUgKFNLSVApIGluIHB1c2gtbW9kZSB0byBza2lwIHRhZ3MgdGhhdCB3ZSBkb24ndCBrbm93biBhYm91dAoJICBQYXJ0aWFsbHkgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDcxMgoKMjAxNC0wNS0xMCAwOToxNDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogQWRkIHN1cHBvcnQgZm9yIHZhcmlhYmxlIGJsb2NrIHNpemUgZmlsZXMgYW5kIHJlbW92ZSBkZWFkIGNvZGUKCSAgVGhpcyBkZWFkIGNvZGUgd2Fzbid0IHVzZWQgc2luY2UgdGhlIDEuMCBwb3J0IGFuZCB3b3VsZCBuZWVkIHRvCgkgIGJlIG1vZGlmaWVkIGhlYXZpbHkgZm9yIHZhcmlhYmxlIGJsb2NrIHNpemUgc3VwcG9ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg5NAoKMjAxNC0wNS0wOSAxMjoxNDoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZpeCBOVUxMIGNoZWNrIGNvcHkgcGFzdGUgZXJyb3IKCSAgQ0lEIDEyMTIxMjkKCjIwMTQtMDUtMDkgMTI6MTE6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBGaXggcG90ZW50aWFsIGRlYWRsb2NrIGR1ZSB0byBtaXNzaW5nIGJyZWFrCgkgIENJRCAxMjEyMTMxCgoyMDE0LTA1LTA5IDE4OjAxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbmNyZW1lbnQgYWNjZXB0ZWQgcGFja2V0cyBhZnRlciBsb3NzCgkgIFdoZW4gd2UgZGV0ZWN0IGEgbG9zdCBwYWNrZXQsIGV4cGVjdCBwYWNrZXRzIHdpdGggaGlnaGVyCgkgIHNlcW51bSBvbiB0aGUgaW5wdXQuCgkgIEFsc28gdXBkYXRlIHRoZSB1bml0IHRlc3QuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1MjQKCjIwMTQtMDUtMDQgMTE6MTI6NTQgLTA2MDAgIEphc29uIExpdHppbmdlciA8amxpdHppbmdlcmRldkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIEFkZCBuZXcgdGVzdCBjYXNlLgoKMjAxNC0wNS0wOSAxNjoxNDoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBubyBuZWVkIHRvIGFjdGl2YXRlIHBhZHMKCSAgQWN0aXZhdGlvbiB3aWxsIGhhcHBlbiBpbiB0aGUgc3RhdGUgY2hhbmdlCgoyMDE0LTA1LTA5IDEyOjEwOjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBjb25maWcgc3RydWN0dXJlCgkgIHRoaXMgZml4ZXMgYSBsZWFrIG9mIHRoZSBjb25maWcgc3RydWN0dXJlIGFuZCB0YWtlIGNhcmUgb2YgbWFraW5nIHN1cmUKCSAgY2FwcyBjYW4ndCByZWFjaCByZWYgMCBiZWZvcmUgd2UgYXJlIGRvbmUgZG9pbmcgb3VyIGNoZWNrLgoJICBDSUQgMTIxMjE0NAoKMjAxNC0wNS0wOSAxMjowODoxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFJlbW92ZSB1bmVlZGVkIGNhc3QgZm9yIGNvZGUgY2xhcml0eQoKMjAxNC0wNS0wOSAxMTo1Njo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwycG9vbDogRml4IGxlYWsgb2YgY29uZmlnIHN0cnVjdHVyZSBpbiBlcnJvciBjYXNlCgkgIENJRHMgMTIxMjE2NyBhbmQgIDEyMTIxNjcKCjIwMTQtMDUtMDkgMTE6NTE6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggdXNlIG9mIHVuaXRpbGl6ZWQgcG9vbCBwb2ludGVyCgkgIENJRCAjMTIxMjE3MwoKMjAxNC0wNS0wOSAxNjo0ODo1OCArMDIwMCAgRXJpYyBUcm91c3NldCA8ZXRyb3Vzc2V0QGF3b3guY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHJlc3BvbmQgdG8gYSBwb3NpdGlvbiBxdWVyeSBpbiBCWVRFIGZvcm1hdCB3aXRoIGEgVElNRSBwb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUzCgoyMDE0LTA1LTA5IDE0OjIyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGxlYWsgZG9jdHlwZSBzdHJpbmcgaW4gZXJyb3IgY29kZSBwYXRoCgkgIENJRCAxMjEyMTQ1LgoKMjAxNC0wNS0wNiAxMzozNzo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFJlYWRiYWNrIHBvb2wgY29uZmlnIGlmIHVzZWQgd2l0aGluIHRoZSBiYXNlY2xhc3MKCjIwMTQtMDUtMDYgMTI6NTg6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogUmVwbGFjZSBtaXNzLXVzZSBvZiBjcm9wIG1ldGEgaW4gZmF2b3VyIG9mIHByb3BlciBvZmZzZXQKCSAgVGhpcyBtb3ZlcyBhd2F5IGZyb20gY29weWluZyBpbmZvcm1hdGlvbiBhbmQgc3RvcmUgZXZlcnl0aGluZyBpbnNpZGUKCSAgdGhlIEdzdFZpZGVvSW5mbyBzdHJ1Y3R1cmUuIFRoZSBhbGlnbmVtZW50IGV4cG9zZWQgYnkgdjRsMiBhcGkKCSAgaXMgbm93IGhhbmRsZWQgdXNpbmcgcHJvcGVyIG9mZnNldC4KCjIwMTQtMDUtMDYgMTI6NTU6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBTdHlsZSBmaXgKCjIwMTQtMDUtMDUgMTI6Mzg6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZXNldCBpbXBvcnRlZCBidWZmZXIgc2l6ZSB3aXRoIGV4cGVjdGVkIHNpemUKCSAgVGhpcyBlbnN1cmUgdGhhdCB0aGUgYnVmZmVyIHBvb2wgd29uJ3QgYWx3YXlzIGRpc2NhcmQgYnVmZmVyIHdpdGggdGhlc2UKCSAgbWVtb3J5IHdoZW4gdGhleSBhcmUgcmVsZWFzZWQuCgoyMDE0LTA1LTA1IDEyOjM3OjQzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmVzZXQgZmx1c2hlZCBncm91cAoJICBUaGlzIGVuc3VyZSB0aGF0IGEgZmx1c2hlZCBncm91cCBtZW1vcnkgYXJlIHRoZSBzYW1lIHNpemUgYXMgd2hlbiB0aGV5CgkgIHdoZXJlIG9yaWdpbmFsbHkgYWxsb2NhdGVkIC8gaW1wb3J0ZWQuCgoyMDE0LTA1LTA1IDEyOjA3OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBHZXQgbnVtYmVyIG9mIGFsbG9jYXRlZCBidWZmZXJzIGZyb20gYWxsb2NhdG9yCgkgIFRoZSB2YWx1ZSBvZiBudW1fYWxsb2NhdGVkIGJ1ZmZlciB3b3VsZCBnZXQgY29uZnVzZWQgd2hlbgoJICBidWZmZXIgYXJlIGJlaW5nIGRpc2NhcmRlZC4KCjIwMTQtMDUtMDUgMTI6MDY6NDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkgIHY0bDJhbGxvY2F0b3I6IEFkZCBhIG1ldGhvZCB0byByZWFkIG51bWJlciBvZiBhbGxvY2F0ZWQgZ3JvdXAKCjIwMTQtMDUtMDQgMjA6MjM6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEltcHJvdmUgZGVidWdnaW5nCgoyMDE0LTA1LTA0IDE5OjUxOjQ4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBFbnN1cmUgd2UgZG9uJ3QgcmUtZW5xdWV1ZSBidWZmZXIgZHVyaW5nIGZsdXNoCgoyMDE0LTA1LTA0IDE5OjEzOjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogSW5pdGlsaWFsaXplIGRlYnVnIGNhdGVnb3J5CgoyMDE0LTA1LTA0IDE2OjExOjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IGxpYnY0bDIgc3VwcG9ydAoJICBOZWVkIHRvIGluY2x1ZGUgY29uZmlnLmgsIG90aGVyd2lzZSB3ZSBlbmR1cCBkaXJlY3RseSB1c2luZyB0aGUKCSAgaW9jdC9tbWFwL211bm1hcCBjYWxscyBhbmQgbmVlZCB0byB2YWxsIHY0bDJfbXVubWFwLgoKMjAxNC0wNS0wMSAxMzowNDowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBTZXQgdGhlIGZsYWdzIG9uIHRoZSBvYmplY3QKCSAgV2Ugd2hlcmUgbm90IHNldHRpbmcgdGhlIHByb2JlZCBmbGFncyBvbiB0aGUgYWxsb2NhdG9yLCB3aGljaCBtZWFuIGV2ZW4gaWYKCSAgQ1JFQVRFX0JVRlMgd2FzIHN1cHBvcnRlZCBvbiBzb21lIGRyaXZlciwgaXQgd291bGQgZW5kdXAgYmVpbmcgaWdub3JlZC4KCjIwMTQtMDQtMjkgMTY6NDk6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZS1lbnF1ZXVlIGJ1ZmZlciBhdCBzdHJlYW0gc3RhcnQKCjIwMTQtMDQtMjkgMTY6MDY6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogVGhlcmUgaXMgbm90IGdyb3VwIG9uIGVycm9yCgoyMDE0LTA0LTI5IDE0OjU2OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEhhbmRsZSBGTFVTSF9TVE9QIGV2ZW50CgoyMDE0LTA0LTI5IDEzOjA1OjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyYnVmZmVycG9vbDogQWNxdWlyZSBjYW5ub3QgcmV0dXJuIGEgYnVmZmVyIGZyb20gYW5vdGhlciBwb29sCgkgIFJldHVybiBhIGJ1ZmZlciBmcm9tIGFuIG90aGVycG9vbCBoYXMgdW53YW50ZWQgc2lkZSBlZmZlY3RzIHRoYXQgbGVhZCB0byBsZWFrcyBhbmQKCSAgcHJldmVudHMgZGVhY3RpdmF0aW5nIHRoZSBwb29sLiBJbnN0ZWFkLCB3ZSBjaGFuZ2UgdGhlIF9wcm9jZXNzKCkgQVBJIHNvIGl0IGNhbgoJICByZXBsYWNlIHRoZSBpbnRlcm5hbCBidWZmZXIgd2l0aCB0aGUgYnVmZmVyIGZyb20gdGhlIGRvd25zdHJlYW0gcG9vbC4gVGhpcyBpbXBsaWVkCgkgIG1vdmluZyBmcm9tIF9maWxsKCkgdG8gX2NyZWF0ZSgpIG1ldGhvZCBpbiB0aGUgc3JjLgoKMjAxNC0wNC0yOSAxMzowMDozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlbW92ZSB1bnJlYWNoZWQgYWNxdWlyZSBjb2RlCgkgIFRoZSBhY3F1aXJlIGlzIGRvbmUgaW4gX3ByZXBhcmUgbm93LgoKMjAxNC0wNC0yOSAxMjo1NzowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFNhbmV0aXplIGJ1ZmZlciByZWZvdW50IGhhbmRsaW5nCgkgIEJ1ZmZlciByZWZjb3VudGluZyBpcyBhIGJpdCBoYXJkLCBiZWNhdXNlIG9mIHRoZSBkdWFsaXR5IGJldHdlZW4gQ0FQVFVSRSBhbmQKCSAgT1VUUFVUIG1vZGUuIEluIHRoZSBsb25nIHRlcm0sIHdlIHNob3VsZCBjb25zaWRlciBoYXZpbmcgdHdvIHNlcGVyYXRlIHBvb2wKCSAgaW5zdGVhZCBvZiB0aGlzIG1lc3MuIEF0IGxlYXN0IHN0YXRlIHNob3VsZCBiZSBiZXR0ZXIga2VwdCB0aGlzIHdheS4KCjIwMTQtMDQtMjkgMTI6NDg6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogQWRkIG1vcmUgdHJhY2VzCgoyMDE0LTA0LTI4IDA4OjQ4OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSAgdjRsMi1hbGxvY2F0b3I6IEFkZCBTIHRvIFJFUUJVRlMvQ1JFQVRFX0JVRlMgZW51bQoJICBBbGwgZW51bSB0aGF0IGhhcyBSRVFCVUZTIGFuZCBDUkVBVEVfQlVGUyB3aGVyZSBtaXNzaW5nIFMsIHdoaWNoIHdhcwoJICBjb25mdXNpbmcgc2luY2UgdGhleSBhcmUgc3VwcG9zZWQgdG8gbWF0Y2ggd2l0aCBhc3NvY2ljYXRlZCBpb2N0bCBuYW1lLiBUaGlzCgkgIGFsc28gZml4ZXMgdGhlIHlldCB1bnVzZWQgQ0FOX1JFUVVFU1QgZmxhZyBjaGVjay4KCjIwMTQtMDQtMTggMTc6NTE6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRW5hYmxlZCBRb1MKCjIwMTQtMDQtMTggMTc6MDI6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBGaXh1cCBVU0VSUFRSL0RNQUJVRiBjYXB0dXJlIHN1cHBvcnQKCjIwMTQtMDQtMTggMTQ6NDU6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogSW1wcm92ZSBzZWxlY3RvbiBvZiBtaW4vbWF4IGluIGRlY2lkZSBhbGxvY2F0aW9uCgoyMDE0LTA0LTE4IDEzOjA5OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXBkYXRlIGNvbmZpZyBpZiBtZXRhIGlzIG1pc3NpbmcKCSAgUmF0aGVyIHRoZW4gaGFyZCBmYWlsdXJlLCB3ZSBzaG91bGQgdXBkYXRlIHRoZSBjb25maWcgd2l0aCB0aGUgbWV0YSBvcHRpb24gd2UKCSAgbmVlZCBhbmQgcmV0dXJuIGZhbHNlLgoKMjAxNC0wNC0xMSAxNzoxMDoxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBBZGQgRE1BQlVGIGFuZCBVU0VSUFRSIGltcG9ydGF0aW9uCgoyMDE0LTA0LTE3IDIxOjQ1OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFZhbGlkIEZEIGFyZSBiaWdnZXIgb3IgZXF1YWwgdG8gemVybwoKMjAxNC0wNC0xNiAxNzowNDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIGRvd25zdHJlYW0gcG9vbCBpbiBwcm9wb3NlX2FsbG9jYXRpb24KCSAgcGFyc2VfbnRoX2FsbG9jYXRpb25fcG9vbCgpIGdpdmUgYSByZWYgb24gdGhlIHBvb2wsIHdlIG5lZWQgdG8gdW5yZWYgaXQKCSAgd2hlbiBkb25lLgoKMjAxNC0wNC0xNCAxMjoxOTozOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IEludHJvZHVjZSBETUFCVUZfSU1QT1JUIElPIG1vZGUKCjIwMTQtMDQtMTAgMTY6MjY6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBBZGQgZG1hYnVmIGV4cG9ydCBzdXBwb3J0CgkgIFRoaXMgY2FuIGJlIGVuYWJsZWQgc2luZyBpby1tb2RlPWRtYWJ1Zi4gVGhpcyB3aWxsIGVuYWJsZWQgbW1hcCBiYXNlCgkgIGRyaXZlcnMgdG8gZXhwb3J0IHRoZSBidWZmZXJzIGFzIGRtYWJ1Zi4KCjIwMTQtMDQtMTYgMTU6NTE6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogR3VhcmFudHkgcXVldWVkIHN0YXRlIGludGVncmV0eQoJICBCZWNhdXNlIG9mIHRoZSBidWYgaW4gdmlkZW9idWYyLCBkcWJ1ZiBtYXkgbGVhdmUgdGhlIERPTkUgZmxhZyBiZWluZywKCSAgd2hpY2ggd291bGQgaW1wbGllZCB0aGF0IHRoZSBidWZmZXIgaXMgcXVldWVkLiBBcyB0aGlzIGhhcyBiZWVuIGJyb2tlbgoJICBmb3IgNCB5ZWFycywgc2ltcGx5IGd1YXJhbnR5IHRoZSBzdGF0ZSBmbGFncyBpbnRlZ3JpdHkgd2hlbiBkb2luZwoJICBxYnVmL2RxYnVmLgoJICBTZWUgaHR0cHM6Ly9wYXRjaHdvcmsubGludXh0di5vcmcvcGF0Y2gvMjM2NDEvCgoyMDE0LTA0LTE1IDE3OjMxOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEltcGxlbWVudCBvcGVuL2Nsb3NlCgoyMDE0LTA0LTE1IDE2OjQzOjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuc3VyZSBvdXRwdXQgcG9vbCBpcyBjb25maWd1cmVkCgoyMDE0LTA0LTE1IDE2OjQzOjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uaDoKCSAgdjRsMnRyYW5zZm9ybTogQ2hlY2sgaWYgY2FwcyBoYXZlIGNoYW5nZXMgYmVmb3JlIGFzc2VydGluZwoJICBJbiBzZXRfY2Fwcywgbm93IGNoZWNrcyBpZiBjYXBzIGFjdHVhbGx5IGNoYW5nZWQgYW5kIHN1Y2NlZWQgaWYgdGhleSBkaWRuJ3QKCSAgY2hhbmdlLgoKMjAxNC0wNC0xNSAxNjo0MTo0NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRW5zdXJlIHBvb2wgaXMgY29uZmlndXJlZAoKMjAxNC0wNC0wOCAxODo1NDowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBbHdheXMgc2V0IGEgc2l6ZSB3aGVuIGRlY2lkaW5nIGFsbG9jYXRpb24KCjIwMTQtMDQtMDggMTg6MjA6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogSW1wcm92ZWQgZGVjaWRlIGFsbG9jYXRpb24KCSAgSW1wcm92ZSBkZWNpZGUgYWxsb2NhdGlvbiBzbyBpdCBwcm9wZXJseSBjb25maWd1cmUgYm90aCBsb2NhbCBhbmQgZG93bnN0cmVhbQoJICBidWZmZXIgcG9vbHMuIEFsc28gcmVhZCBiYWNrIHRoZSBwb29sIGNvbmZpZyBpZiBpdCB3YXMgY2hhbmdlZCB0byB0byBkcml2ZXIKCSAgbGltaXRhdGlvbnMuCgoyMDE0LTA0LTE1IDEzOjMwOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG8gbm90IHByZS1jb25maWd1cmUgdGhlIHBvb2wKCSAgUHJlLWNvbmZpZ3VyaW5nIHRoZSBwb29sIGlzIGVycm9yIHByb25lLCBzaW5jZSBpdCBtYXkgaGlkZSBhIGNvbmZpZ3VyYXRpb24gZmFpbHVyZSBhbmQKCSAgZW5kdXAgd2l0aCBhIHBvb2wgdGhhdCBpcyBub3QgY29uZmlndXJlZCB0aGUgd2F5IGl0IHNob3VsZCAoZS5nLiBubyB2aWRlbyBtZXRhLCB3cm9uZwoJICBxdWV1ZSBzaXplLCBldGMuKQoKMjAxNC0wNC0xNSAxMzoyMzozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFByZXNlcnZlIGRvd25zdHJlYW0gbWluaW11bSBldmVuIGluIFJXCgoyMDE0LTA0LTE1IDEzOjIwOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogVHVybiBjcm9wbWV0YSBpbnRvIGEgY3VzdG9tIG9wdGlvbgoJICBUdXJuIGNyb3AgbWV0YSBpbnRvIGEgY3VzdG9tIG9wdGlvbiBhbmQgbWFrZSBzdXJlIGl0J3MgdGhlcmUgaXMgbmVlZGVkLgoKMjAxNC0wNC0wOSAxMjo1MzoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyYnVmZmVycG9vbDogRWFybHkgY2F0Y2ggc2hvcnQgYWxsb2NhdGlvbgoJICBDYXRjaCBzaG9ydCBhbGxvY2F0aW9uIGFmdGVyIHNhdmluZyB0aGUgZm9ybWF0LiBUaGlzIGlzIG5vdCBhIGNhdGNoIGFsbCwgYnV0IHNob3VsZCBjYXRjaAoJICBtb3N0IG9mIHRoZSBtaXNzLWJlaGF2aW5nIGRyaXZlcnMgd2hlbiBkb2luZyBTX0ZNVC9HX0ZNVCBhbmQgYXZvaWQgcG90ZW50aWFsIGNyYXNoLgoKMjAxNC0wNC0wNCAyMjo0Njo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFBvcnQgdG8gdXNlIEdzdFY0bDJBbGxvY2F0b3IKCjIwMTQtMDQtMDQgMjI6MzU6NDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICBJbXBsZW1lbnQgVjRsMiBBbGxvY2F0b3IKCSAgVGhpcyBnb2FsIG9mIHRoaXMgYWxsb2NhdG9yIGlzIG1haW5seSB0byBhbGxvdyB0cmFja2luZyB0aGUgbWVtb3J5LgoJICBDdXJyZW50bHksIHdoZW4gYSBidWZmZXIgbWVtb3J5IGhhcyBiZWVuIG1vZGlmaWVkLCB0aGUgYnVmZmVyIGFuZCBpdCdzCgkgIG1lbW9yeSBpcyBkaXNwb3NlZCBhbmQgbG9zdCB1bnRpbCB0aGUgc3RyZWFtIGlzIHJlc3RhcnRlZC4KCjIwMTQtMDQtMTYgMTY6MzU6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgYWR2ZXJ0aXNlIGNyb3AgbWV0YQoJICBDdXJyZW50bHkgd2UgYWR2ZXJ0aXNlIGNyb3AgbWV0YSwgYnV0IG5vdCBlbGVtZW50IGhhbmRsZSBzdXBwb3J0IHRoaXMgbWV0YS4KCjIwMTQtMDQtMDggMTg6MTg6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogU2V0dXAgcG9vbCBhbHJlYWR5IHNlbmQgZWxlbWVudCBlcnJvcgoKMjAxNC0wNC0wOCAxODoxNzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBXb3JrYXJvdW5kIGRlY29kZXIgdGhhdCBzZXQgbnVtX3BsYW5lcyB0byAwIGluIHRoZSBmb3JtYXQKCSAgU29tZSB3ZWxsIGtub3duIGRlY29kZXIgd3JvbmdseSBzZXQgbnVtX3BsYW5lcyB0byAwIGluIHRoZWlyIGZvcm1hdCBpbnN0ZWFkIG9mCgkgIG9uZS4gSW4gdGhpcyBjYXNlIHdlIHdvdWxkIGVuZHVwIHdpdGggbm8gc2l6ZSB3aGVuIGRlY2lkaW5nIGJ1ZmZlciBhbGxvY2F0aW9uLgoKMjAxNC0wNC0wOCAxNzozNDoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBFbnN1cmUgc2l6ZSBiZWZvcmUgY29uZmlndXJpbmcgdGhlIHBvb2wKCjIwMTQtMDQtMDQgMjI6Mzg6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU2V0IG1pbmltdW0gYnVmZmVycyB0byAyCgkgIEFsbCB0aGUgZWxlbWVudCByZXF1aXJlcyBhdCBsZWFzdCB0d28gYnVmZmVycy4gVGhpcyBpcyBub3QgdXNlZCBmb3IgUlcgbW9kZS4KCjIwMTQtMDQtMDQgMjI6Mzc6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogUmVtb3ZlIHVudXNlZCBNQVhfQlVGRkVSUyBkZWZpbmUKCjIwMTQtMDQtMDQgMjI6MzY6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgaGFyZGNvZGUgbWluL21heCB1c2UgZGVmYXVsdCBpbnN0ZWFkCgoyMDE0LTA0LTEwIDE3OjQ5OjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEluc3RhbGwgUFJPUF9DQVBUVVJFX0lPX01PREUgd2l0aCByaWdodCBJRAoKMjAxNC0wNC0wOCAxODo1NDo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBkZWNpZGVfYWxsb2NhdGlvbiByZXR1cm5zIGEgYm9vbGVhbgoKMjAxNC0wNC0xMCAxNzo0OToyOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSW5zdGFsbCBQUk9QX0NBUFRVUkVfSU9fTU9ERSB3aXRoIHJpZ2h0IElECgoyMDE0LTAzLTI3IDEzOjIxOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEFkZCBwcm9wb3NlX2FsbG9jYXRpb24KCSAgVGhpcyBzaG91bGQgcmVtb3ZlIDEgY29weSBiZXR3ZWVuIHRoZSBkZWNvZGVyIGFuZCB0aGUgdHJhbnNmb3JtLgoKMjAxNC0wMy0yNyAxMzoyMDo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IE1vdmUgcHJvcG9zZSBhbGxvY2F0aW9uIHRvIHY0bDJvYmplY3QKCjIwMTQtMDMtMjAgMTc6MjY6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRml4dXAgY2FwcyBxdWVyeQoKMjAxNC0wMy0yMCAxNTozMToyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogU2V0dXAgY3JvcHBpbmcgaWYgbmVlZGVkCgoyMDE0LTAzLTE5IDE3OjI1OjE2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEV4cG9zZSBCR1JBIGFuZCBBUkdCIGZvcm1hdHMKCjIwMTQtMDMtMTggMTc6MzM6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRW5zdXJlIG91dHB1dCBwb29sIGlzIGFjdGl2YXRlZAoJICBUaGF0IHBvb2wgbWF5IGJlIGRpZmZlcmVudCB0aGVuIHRoZSBpbnRlcm5hbCBwb29sLgoKMjAxNC0wMy0xNiAxOToxMToxNiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBFbnN1cmUgaW50ZXJuYWwgYnVmZmVyIHBvb2xzIGFjdGljYXRpb24KCjIwMTQtMDMtMTYgMTE6MzY6MTkgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogTW92ZSBzdWJpbnN0YW5jZSBzdWJjbGFzcyBpbml0IG5lYXIgb3RoZXIgaW5pdAoKMjAxNC0wMy0xNSAxODo1Njo1MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBTdG9wIHN0cmVhbSBiZWZvcmUgY2xvc2luZyB0aGUgZGV2aWNlcy4KCjIwMTQtMDMtMTUgMTY6NTM6NTQgKzAwMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBjb3B5IG1ldGRhdGEKCjIwMTQtMDMtMDQgMTg6MzE6MjcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmg6CgkgIEltcGxlbWVudCBHc3RWNGwyVHJhbnNmb3JtCgkgIEltcGxlbWVudCBhIHY0bDIgZWxlbWVudCB0aGF0IHdyYXBzIEhXIHZpZGVvIGNvbnZlcnRlcnMuCgoyMDE0LTAzLTI3IDE4OjQxOjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogUHJvYmUgZm9yIENSRUFURV9CVUZTIGluIG9yZGVyIHRvIGNvcnJlY3RseSBzZXQgcG9vbCBtaW4vbWF4CgkgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBzZXQgdGhlIHBvb2wgbWluL21heCwgd2UgbmVlZCB0byBwcm9iZSBmb3IgQ1JFQVRFX0JVRlMKCSAgaW9jdGwuIFRoaXMgY2FuIGJlIGRvbmUgYXMgc29vbiBhcyB0aGUgZm9ybWF0IGhhcyBiZWVuIG5lZ290aWF0ZWQgdXNpbmcgYQoJICBjb3VudCBvZiAwLgoKMjAxNC0wMy0yNSAxNToyMTowMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IE1vdmUgY2FwdHVyZSBlb3MgaGFuZGxpbmcgaW4gX3Byb2Nlc3MoKQoJICBOb3cgdGhhdCB3ZSBtaWdodCBiZSBjb3B5aW5nIG91dCBidWZmZXIgKGUuZy4gZG93bnN0cmVhbSBkb24ndCBzdXBwb3J0IHZpZGVvCgkgIG1ldGEgYnVnIHdlIG5lZWQgaXQpIHdlIG5lZWQgdG8gbW92ZSB0aGUgRU9TIGhhbmRsaW5nIGluc2lkZSB0aGUgcHJvY2VzcwoJICBtZXRob2QuCgoyMDE0LTAzLTI1IDEwOjQ5OjM5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBzdXBwb3J0IGZvciBwbGFuYXIgZm9ybWF0IGluIDEgdjRsMiBtcGxhbmUKCSAgU28gZmFyIHdlIHdoZXJlIG9ubHkgc2V0dGluZyBzYXZpbmcgdGhlIGZpcnN0IHBsYW5lIHN0cmlkZSBpbiB0aGUgbWV0YS4gVGhpcyB3YXMKCSAgbGVhZGluZyB0byB3cm9uZyB2YWx1ZXMgaW4gR3N0VmlkZW9NZXRhLgoKMjAxNC0wMy0xOSAxNzo1MjowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2xlYW5seSBmYWlsIGlmIHNldF9mb3JtYXQgaXMgbmV2ZXIgY2FsbGVkCgoyMDE0LTAzLTE5IDE3OjAwOjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBFeHBvc2UgUkdCMzIgZm9ybWF0cyB3aXRoIGFuZCB3aXRob3V0IGFscGhhCgkgIEFzIHNvb24gYSB0aGUgYWxwaGEgY29tcG9uZW50IGNhbiBiZSBzZXQsIHdlIGNhbiBleHBvc2UgdGhlIFJHQjMyIGFuZCBCR1IzMgoJICBmb3JtYXQgYXMgQVJHQiBhbmQgQkdSQSBhcyBsb25nIHdlIGNhbiBkZXRlcm1pbmlzdGljYWxseSBzZXQgdGhlIGFscGhhIHBhZGRpbmcKCSAgdmFsdWUuCgoyMDE0LTAzLTE4IDE1OjQ5OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IENvcnJlY3RseSBjaGVjayBpZiB2aWRlbyBtZXRhIGlzIG5lZWRlZAoJICBDb3JyZWN0bHkgY2hlY2sgaWYgdmlkZW8gbWV0YSBpcyBuZWVkZWQuIEluIGJ1ZmZlciBwb29sLCB0cnVzdCBuZWVkX3ZpZGVvX21ldGEKCSAgZmxhZyBpbiBvcmRlciB0byBkZWNpZGUgaWYgY29uZmlndXJhdGlvbiBzaG91bGQgc3VjY2VlZC4KCjIwMTQtMDMtMTggMTU6NDU6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHRpbGVkIHN0cmlkZSByZXF1ZXN0CgkgIEZpeCBzdHJpZGUgcmVxdWVzdCBmb3IgdGlsZWQgZm9ybWF0IGFuZCBpbXByb3ZlIGxvZ2dpbmcuCgoyMDE0LTAzLTE4IDExOjUzOjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEVuc3VyZSB2aWRlbyBhbmQgY3JvcCBtZXRhIGFyZSBlbmFibGVkIGlmIG5lZWRlZAoJICBJbiBjZXJ0YWluIGNhc2VzIHdlIGNhbm5vdCBsaXZlIHdpdGhvdXQgdmlkZW8gbWV0YSBhbmQvb3IgY3JvcCBtZXRhCgkgIGJlaW5nIGVuYWJsZWQgaW4gb3VyIGludGVybmFsIGJ1ZmZlciBwb29sLiBFbnN1cmUgdGhpcyBpcyBhbHdheXMgdGhlIGNhc2UsCgkgIHJlZ2FyZGxlc3Mgb2YgaGF2aW5nIHN1cHBvcnQgZm9yIGFsbG9jYXRpb24gcXVlcnkuCgoyMDE0LTAzLTE2IDE4OjM5OjMyICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBFbnN1cmUgaW50ZXJuYWwgcG9vbCBhcmUgYWN0aXZhdGVkCgoyMDE0LTAzLTE2IDE3OjAxOjEwICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDaGVjayB0aGF0IHBvb2wgd2hlcmUgYWxsb2NhdGVkIGJlZm9yZSBmbHVzaGluZyB0aGVtCgkgIFVwb24gZXJyb3IsIHRoZSBwb29scyBtaWdodCBub3QgaGF2ZSBiZWVuIGFsbG9jYXRlZCB5ZXQsIGhlbmNlIHdlIHNob3VsZCBub3QKCSAgdHJ5IGFuZCBmbHVzaCB0aGVtIChldmVuIHRob3VnaCB3ZSBzdGlsbCB3YW50IHRvIG1ha2Ugc3VyZSB0aGUgcHJvY2Vzc2luZyB0aHJlYWQKCSAgaXMgZnVsbHkgc3RvcHBlZCkuCgoyMDE0LTAzLTE2IDE2OjU1OjQzICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyYnVmZmVycG9vbDogRW5mb3JjZSBhY3RpdmF0aW9uIG91dHNpZGUgb2YgcHJvY2VzcwoJICBFbmZvcmNlIHBvb2wgYmVpbmcgYWN0aXZhdGUgZnJvbSBiZWZvcmUgY2FsbGluZyBwb29sIHByb2Nlc3MuIFRoaXMgc2hvdWxkCgkgIGhlbHAgY2F0Y2hpbmcgYmFzaWMgZXJyb3JzIGluIHRoZSB1c2FnZSBvZiBidWZmZXIgcG9vbC4KCjIwMTQtMDMtMTYgMTI6NDQ6MTQgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZG9uJ3QgdXNlIG93biBwb29sIGlmIGRvd25zdHJlYW0gZG9uJ3Qgc3VwcG9ydCB2aWRlbyBtZXRhCgoyMDE0LTAzLTE0IDAwOjMxOjMyICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXNlIG9iai0+bl92NGwyX3BsYW5lcyBmb3IgY29ycmVjdCBudW1iZXIgb2YgcGxhbmVzCgkgIEJ1ZmZlciBwb29sIHdhcyBndWVzc2luZyB3cm9uZ2x5IHRoZSBudW1iZXIgb2YgcGxhbmVzIHJhdGhlcgoJICB0aGVuIHJlYWRpbmcgdGhlIHZhbHVlIGZyb20gb2JqLT5uX3Y0bDJfcGxhbmVzLiBUaGlzIHdhcyBjYXVzaW5nCgkgIGZvcm1hdCBZVTEyIChJNDIwKSB0byBmYWlsIHVwb24gY2hlY2suCgoyMDE0LTAzLTA3IDE2OjM5OjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBoYW5kbGluZyBvZiBjb250aXVvdXMgdnMgbm9uLWNvbnRpZ3VvdXMgc3VwcG9ydAoJICBUaGUgY29tcGxleCBtZWNoYW5pYyB0byB0cnkgYW5kIGNob29zZSB0aGUgcmlnaHQgdGhpbmcgZGlkIG5vdCB3b3JrLiBJbnN0ZWFkLAoJICBzaW1wbHkgcHJvYmUgdGhlIG5vbi1jb250aWd1b3VzIGZvcm1hdCBmaXJzdCBhbmQgdGhlbiB0aGUgY29udGlndW91cyBvbmUuCgkgIFRoaXMgaXMgaW4gZmFjdCB2ZXJ5IGxvdyBvdmVyaGVhZCwgYXMgdGhlcmUgaXMgYSByZWxhdGl2ZWx5IHNtYWxsIG51bWJlciBvZgoJICBwaXhlbCBmb3JtYXQgc3VwcG9ydGVkIGJ5IGVhY2ggZGV2aWNlcy4KCjIwMTQtMDQtMTUgMTU6MDc6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgYWxpZ25tZW50IGFuZCBjcm9wcGluZwoKMjAxNC0wMy0xMyAxOToyNDo1MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyb2JqZWN0OiBSZW5hbWUgc2V0dXBfZm9ybWF0KCkgbWV0aG9kIGludG8gYWNxdWlyZV9mb3JtYXQoKQoJICBUaGUgc2V0dXBfZm9ybWF0KCkgd2FzIGNvbmZ1c2luZyBzaW5jZSBpdCBkb2VzIG5vdCBzZXQgYW55dGhpbmcsIGluIGZhY3QKCSAgaXQgcmVhZHMgdGhlIHNldHVwIGZyb20gdGhlIGRyaXZlciBhbmQgc2F2ZSBpdC4KCjIwMTQtMDMtMTMgMTg6MjE6NDEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSB0eXBlIGRlY2xhcmF0aW9uIHRvIHRoZSB0b3AKCjIwMTQtMDMtMTIgMTg6MDc6MzggKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IFByb3RlY3QgTlVMTCBwb29sIHdoaWxlIGdvaW5nIHRvIFJFQURZCgkgIFdoZW4gdGhlIHBpcGVsaW5lIGZhaWxzIGVhcmx5LCB0aGUgcG9vbCBtaWdodCBiZSB1bnNldCBiZWZvcmUgdGhlIHByb2Nlc3NpbmcKCSAgdGhyZWFkIGhhcyBydW4gb25jZS4gQWRkIHByb3RlY3Rpb24gYWdhaW5zdCB0aGF0LgoKMjAxNC0wMy0xMiAxODowMTowOSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGYWlsIGNsZWFubHkgaWYgcGl4ZWwgZm9ybWF0IGlzIHVua293biBvciBub3QgcmF3IHZpZGVvCgkgIENlcnRhaW4gZGVjb2RlciBoYXMgYmVlbiBmb3VuZCB0byBub3QgY2hvb3NlIGEgZm9ybWF0IGF1dG9tYXRpY2FsbHkuIFJ1bm5pbmcKCSAgdjRsMnZpZGVvZGVjIG9uIHRoZXNlIHdvdWxkIGFzc2VydC4gVGhpcyBwYXRjaCB3aWxsIG1ha2UgaXQgZmFpbCBjbGVhbmx5CgkgIGluc3RlYWQuCgoyMDE0LTAzLTEyIDE3OjU2OjE4ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDbGVhciB0aGUgaW5wdXQgc3RhdGUgcG9pbnRlciBhZnRlciB1bnJlZgoJICBJZiBjYXBzIGFyZSBzZXQgYWdhaW4sIHdlIGhhdmUgYSByaXNrIG9kIHJldHVybmluZyBmcm9tIHNldF9mb3JtYXQgd2l0aCBhCgkgIGlucHV0X3N0YXRlIHBvaW50aW5nIHRvIGRlYWQgbWVtb3J5LiBDbGVhcmluZyB0aGUgcG9pbnRlciBhZnRlciB1bnJlZiBmaXgKCSAgdGhpcyBpc3N1ZS4KCjIwMTQtMDMtMTIgMTc6MTE6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IGhhbmRsZSBzdG9wIGJlaW5nIGNhbGxlZCB3aXRob3V0IGZsdXNoCgkgIFVwcG9uIGNlcnRhaW4gZG93bnN0cmVhbSBlcnJvciwgc3RvcCgpIGlzIGNhbGxlZCB3aXRob3V0IGEgZmx1c2goKS4gVGhpcyBtZWFuIHRoYXQKCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQgbWF5IHN0aWxsIGJlIHJ1bm5pbmcgZXZlbiB0aG91Z2ggdW5sb2NrIGhhcyBiZWVuIGNhbGxlZC4KCSAgTm93IGNhbGxpbmcgZmx1c2ggdG8gcmVzZXQgdGhlIGRlY29kZXIgc3RhdGUgaWYgd2UgYXJlIHByb2Nlc3NpbmcuCgoyMDE0LTAzLTA2IDE4OjEzOjE0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEZWZhdWx0IHRvIHRlbXBsYXRlIGluIGNhcHMgcXVlcnkKCjIwMTQtMDMtMTEgMTQ6MjM6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEVuc3VyZSBwcm9jZXNzaW5nIHRocmVhZCBoYXMgc3RvcHBlZCB3aGVuIGRyYWluaW5nCgoyMDE0LTAzLTExIDE0OjAxOjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEb24ndCBkcmFpbiBpZiBwcm9jZXNzaW5nIHRocmVhZCBpcyBpbmFjdGl2ZQoKMjAxNC0wNS0wOCAwOTo0OToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBDbGVhbiB1cCBhbGwgcGVuZGluZyBvcGVyYXRpb25zIGZyb20gbGlic291cCBiZWZvcmUgdW5yZWZmaW5nIG91ciBjb250ZXh0CgkgIFdoZW4gd2UgY2FuY2VsIGNvbm5lY3Rpb24gYXR0ZW1wdHMgYW5kIHNpbWlsYXIgdGhpbmdzLCB0aGVyZSBhcmUgc3RpbGwKCSAgc29tZSBvcGVyYXRpb25zIHBlbmRpbmcgb24gb3VyIG1haW4gY29udGV4dCBmcm9tIHRoZSBHQ2FuY2VsbGFibGVzLiBXZQoJICBzaG91bGQgbGV0IHRoZW0gYWxsIHJ1biBiZWZvcmUgdW5yZWZmaW5nIG91ciBjb250ZXh0LCBvdGhlcndpc2Ugd2UgbGVhawoJICBmaWxlIGRlc2NyaXB0b3JzLgoJICBVbmZvcnR1bmF0ZWx5IHRoaXMgcmVxdWlyZXMgbGlic291cCAyLjQ3LjAgb3IgbmV3ZXIgYXMgZWFybGllciB2ZXJzaW9ucwoJICBzdGVhbCBvdXIgbWFpbiBjb250ZXh0IGZyb20gdXMgYW5kIHdlIGNhbid0IHVzZSBpdCBmb3IgY2xlYW51cCBsYXRlcgoJICB3aXRob3V0IGFzc2VydGlvbnMgYW5kIGZ1bm55IGNyYXNoZXMuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgRG1pdHJ5IFNoYXRyb3YgPHNoYXRyb3ZAZ21haWwuY29tPi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzk0NAoKMjAxNC0wNS0wNyAxNTo0OTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24gb2Ygc291cGh0dHBzcmMgdGVzdCBmb3IgbGlic291cCAyLjQwIGZvciByZWFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMjkKCjIwMTQtMDUtMDcgMTM6MjM6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIHNvdXBodHRwc3JjIHRlc3QgZm9yIGxpYnNvdXAgMi40MAoJICBTT1VQX0NIRUNLX1ZFUlNJT04gd2FzIG9ubHkgYWRkZWQgaW4gMi40MSwgYnV0IHdlIG9ubHkKCSAgZGVwZW5kIG9uIDIuNDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMjkKCjIwMTQtMDUtMDcgMDA6NTg6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNraXAgUElDVFVSRSBoZWFkZXJzIHdpdGhvdXQgYW55IGltYWdlIGRhdGEKCSAgRml4ZXMgd2FybmluZyBpZiB0aGUgaW1hZ2UgbGVuZ3RoIGlzIDAuCgoyMDE0LTA1LTA2IDA5OjIyOjE4ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgWDExIGRldGVjdGlvbiBtYWNybyBmcm9tIGNvbW1vbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjIxCgoyMDE0LTA0LTMwIDExOjEzOjEyICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBydHAvUkVBRE1FOiB1cGRhdGUgcGlwZWxpbmVzIHRvIHdvcmsgd2l0aCAxLjAKCSAgLSBVc2UgZ3N0LWxpYmF2IGVuY29kZXJzL2RlY29kZXJzIGluc3RlYWQgb2YgZ3N0LWZmbXBlZwoJICAtIGdzdHJ0cGppdHRlcmJ1ZmZlciAtPiBydHBqaXR0ZXJidWZmZXIKCSAgLSBnc3QtbGF1bmNoLTAuMTAgLT4gZ3N0LWxhdW5jaC0xLjAKCSAgLSBBZGQgJ3ZpZGVvY29udmVydCcgZWxlbWVudAoJICAtIHh2aW1hZ2VzaW5rIC0+IGF1dG92aWRlb3NpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI0NwoKMjAxNC0wNS0wNSAxNDo0MTowNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogcmVqaWcgdGVzdCB0byBhdm9pZCB1bmRlZmluZWQgc2hpZnQgYmVoYXZpb3IKCSAgQ292ZXJpdHkgMTE5NTEyMSwgMTE5NTEyMAoKMjAxNC0wNS0wNSAxNDozMzozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IGRvIG5vdCBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXIKCSAgQ292ZXJpdHkgMTE5NzcwMwoKMjAxNC0wNS0wNSAxNDozMjowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBlbnN1cmUgd2UgZG9uJ3QgZGVyZWZlcmVuY2UgYSBOVUxMIHBvaW50ZXIKCSAgd2hpbGUgd29ya2luZyBvdXQgdGhlIGNvZGVjIElELgoJICBDb3Zlcml0eSAxMTk1MTQ4CgoyMDE0LTA1LTA1IDEyOjA3OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyOiBtaW5vciBmaXggZm9yIGNsb3NpbmcgdGhlIGZkCgkgIFRoZSBmZCByZXR1cm5lZCBieSBvcGVuKCkgY291bGQgdGhlb3JldGljYWxseSBiZSAwIGFzIHdlbGwuCgkgIENvdmVyaXR5IENJRCAxMjExODIzLgoKMjAxNC0wNS0wNCAyMDoyMzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBhdXgvcnRwcnR4OiBNYWtlIHRlc3RzIG5vbi1yYWN5CgkgIEZpeCB0aGUgcmFjaW5lc3MgYnkgaXRlcmF0aW5nIG9uIGEgY29uZGl0aW9uIGluc3RlYWQgb2YgdXNpbmcgdGhlIGdtYWlubG9vcC4KCSAgRG9uJ3QgdXNlIHRoZSBFT1MgYXMgdGhlIHRhcmdldCwgb3RoZXJ3aXNlIHRoZSByZXRyYW5zbWlzc2lvbiBvZiB0aGUgbGFzdAoJICBwYWNrZXRzIGFyZSBsb3N0LiBBbHNvIGNvdW50IHRoZSByZXRyYW5taXNzaW9ucyByZXF1ZXN0cyB0aGF0IGFyZSBkcm9wcGVkLgoJICBDaGVjayB0aGUgY29uZGl0aW9uIGJlZm9yZSBibG9ja2luZyBvbiB0aGUgR0NvbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUwMQoKMjAxNC0wNS0wNCAyMjozMjo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkgIHJ0cHJ0eHJlY2VpdmU6IFdhaXQgdW50aWwgdGltZW91dCB0byBjbGVhciBhc3NvY2lhdGlvbiByZXF1ZXN0cwoJICBJZiB0d28gc3RyZWFtcyByZXF1ZXN0IGEgcmV0cmFubWlzc2lvbiBmb3IgdGhlIHNhbWUgU1NSQywgaWdub3JlIHRoZSBzZWNvbmQKCSAgb25lIGlmIHRoZSBmaXJzdCBvZW4gaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQgb2xkLCBvdGhlcndpc2UgdGltZSBvdXQgdGhlIGZpcnN0CgkgIG9uZSBhbmQgaWdub3JlIHRoZSBzZWNvbmQuCgoyMDE0LTA1LTA0IDE4OjU5OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogQWx3YXlzIGxldCB1cHN0cmVhbSBjaG9zZSB0aGUgc3NyYyBpZiBpdCB3aXNoZXMKCjIwMTQtMDUtMDQgMTM6Mzc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGF2b2lkIHN0YWxsIGJ5IGNvcnJ1cHRlZCBzZXFudW0gYWNjb3VudGluZwoKMjAxNC0wNS0wNCAwMToxNDozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmg6CgkgIHB1bHNlZGV2aWNlbW9uaXRvcjogSW5kZXggYXJlIHBlciBmYWNpbGl0eSwgbm90IGdsb2JhbAoJICBTbyBuZWVkIHRvIGtlZXAgdGhlIHR5cGUgb2YgZGV2aWNlIGluIHRoZSBkZXZpY2Ugb2JqZWN0CgoyMDE0LTA1LTA0IDAxOjEzOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmM6CgkgIHB1bHNlZGV2aWNlbW9uaXRvcjogcGFfc3Vic2NyaXB0aW9uX2V2ZW50X3QgYXJlIGVudW1zLCBub3QgZmxhZ3MKCSAgQ292ZXJpdHkgMTE5NTEzMgoKMjAxNC0wNS0wMiAyMjo0Mjo1NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5jOgoJICB2NGwyZGV2aWNlbW9uaXRvcjogUG9ydCB0byB1c2UgR3N0VjRsMkl0ZXJhdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDUtMDIgMjE6Mzg6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMjogVXNlIHNpbmdsZSBwYXNzIGl0ZXJhdG9yIGZvciBNMk0gcHJvYmUKCSAgSW5zdGVhZCBvZiBoYXZpbmcgZWFjaCBNMk0gY2xhc3MgZG8gdGhlaXIgb3duIHByb2JpbmcsIHVzZSB0aGUKCSAgR3N0VjRsMkl0ZXJhdG9yIGFuZCBwcm9iZSBhbGwgZGV2aWNlcyBpbiBhIHNpbmdsZSBwYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTA1LTAyIDE2OjU1OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5jOgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmg6CgkgIHY0bDI6IEFkZCBhIGNvbW1vbiBkZXZpY2UgZW51bWVyYXRvcgoJICBUaGlzIHdpbGwgYWxsb3cgcmVtb3ZpbmcgY29kZSBkdXBsaWNhdGlvbiAoaGVuY2UgYnVncyBkdXBsaWNhdGlvbikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDMtMTYgMTE6Mzg6MDcgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMnZpZGVvZGVjOiBTaW1wbGlmeSBzdWItaW5zdGFuY2lhdGlvbiBtZWNoYW5pc20KCSAgU2ltcGxpZnkgc3ViLWluc3RhbmNpYXRpb24gYnkgZGVmaW5pbmcgYW4gYWJzcmFjdCB0eXBlIGFuZCB1c2luZyBzdWJ0eXBlCgkgIGNsYXNzIGFuZCBpbnN0YW5jZSBpbml0IGNhbGxiYWNrLiBUaGlzIGFsc28gZml4ZXMgYSBidWcgd2hlcmUgdGhlIHRlbXBsYXRlCgkgIHBhZHMgZ2V0IGluaXRpYWxpemVkIHRvbyBsYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTA1LTAyIDE4OjE4OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogQ2xlYW51cCBwbHVnaW4gcmVnaXN0cmF0aW9uCgkgIFRoZXJlIGlzIG5vIHBsYW4gdG8gaW50cm9kdWNlIHNwZWNpYWwgc291cmNlcyBmb3IganBlZywgdGUgdjRsMnNyYyB3b3JrcyBmaW5lCgkgIGZvciB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTA1LTAzIDE4OjMwOjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgcnRwc2Vzc2lvbjogS2VlcCBsb2NhbCBjb25mbGljdGluZyBhZGRyZXNzZXMgaW4gdGhlIHNlc3Npb24KCSAgQXMgd2Ugbm93IHJlcGxhY2UgdGhlIGxvY2FsIFJUUFNvdXJjZSBvbiBhIGNvbmZsaWN0LCBpdCdzIG5vIGxvbmdlciBwb3NzaWJsZQoJICB0byBrZWVwIGxvY2FsIGNvbmZsaWN0cyBpbiB0aGUgUlRQU291cmNlLCBzbyB0aGV5IGluc3RlYWQgbmVlZCB0byBiZSBrZXB0CgkgIGluIHRoZSBSVFBTZXNzaW9uLgoJICBBbHNvIGZpeCB0aGUgcnRwY29sbGlzaW9uIHRlc3QgdG8gZ2VuZXJhdGUgbXVsdGlwbGUgY29sbGlzaW9ucyBpbnN0ZWFkIG9mCgkgIG9uZSBieSBjaGFuZ2UgdGhlIGFkZHJlc3MsIGFzIG90aGVyd2lzZSB3ZSBkZXRlY3RlZCB0aGF0IGl0IHdhcyBhIHNpbmdsZSBvbmUuCgoyMDE0LTA1LTAzIDIwOjQ4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMSA9PT0KCjIwMTQtMDUtMDMgMTg6MDI6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjEKCjIwMTQtMDUtMDMgMTg6MDI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDUtMDMgMTc6MjI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NyLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDUtMDMgMTE6NDM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBTZW5kIGluaXRpYWwgZXZlbnRzIGFmdGVyIHNldHRpbmcgdGhlIGVsZW1lbnRzIHRvIFBMQVlJTkcKCSAgT3RoZXJ3aXNlIHdlIHNlbmQgdGhlbSB0b28gZWFybHksIGFuZCBzZXR0aW5nIHRoZSBlbGVtZW50cyB0byBQTEFZSU5HCgkgIGFmdGVyd2FyZHMgd2lsbCBkcm9wIGFsbCB0aGUgZXZlbnRzIGFnYWluLgoKMjAxNC0wNS0wMyAxMDoxNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmNiMTUxOCB0byAyMTFmYTVmCgoyMDE0LTA1LTAyIDE3OjEyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgc2VnbWVudCBwb3NpdGlvbiB0byB0aGUgc3RvcCBwb3NpdGlvbiBvZiB0aGUgYnVmZmVyCgoyMDE0LTA1LTAyIDE3OjEwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBQcm9wZXJseSByZXBvcnQgZXJyb3JzIGJlZm9yZSBzdG9wcGluZyB0aGUgc3JjcGFkIHRhc2sKCjIwMTQtMDUtMDIgMTc6MDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEVycm9yIG91dCBpZiB3ZSBoYXZlIG5vIGNhcHMgeWV0CgoyMDE0LTA1LTAyIDE0OjQ5OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogYXZvaWQgZGl2aWRpbmcgYnkgYSAwIGJsb2NrYWxpZ24KCSAgVGhpcyBjYW4gYmUgMC4gSW4gdGhhdCBjYXNlLCBkbyBub3QgdHJ5IHRvIGN1dCBvZmYgdGhlIGxhc3QgZmV3CgkgIGJ5dGVzIGZyb20gdGhlIGxhc3QgYnVmZmVyLgoJICBDb3Zlcml0eSAxMTQ2OTcxCgoyMDE0LTA1LTAyIDE0OjI1OjAxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvIG5vdCB1c2UgdWluaXRpYWxpemVkIGNsdXQgb24gZXJyb3IKCSAgSWYgd2UncmUgbWlzc2luZyBwYXJ0IG9mIHRoZSBjbHV0LCBkbyBub3QgdHJ5IHRvIHVzZSBpdC4gSXQgc2VlbXMKCSAgdmVyeSBsaWtlbHkgdGhlIGJyZWFrIHdhcyBtZWFudCB0byBicmVhayBvdXQgb2YgdGhlIHN3aXRjaCByYXRoZXIKCSAgdGhhbiBmcm9tIHRoZSBsb29wLgoJICBDb3Zlcml0eSAxMTM5ODc4CgoyMDE0LTA1LTAyIDE0OjE4OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogZml4IGludGVnZXIgb3ZlcmZsb3cKCSAgQ292ZXJpdHkgMTEzOTg1OQoKMjAxNC0wNS0wMiAxNDowOTowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkgIHJ0cHFkbWRlcGF5OiByZW1vdmUgcG9pbnRsZXNzIGNoZWNrCgkgIEJlc2lkZXMsIHRoZSBwb2ludGVyIHdhcyBkZXJlZmVyZW5jZWQgZWFybGllciBhbnl3YXkuCgkgIENvdmVyaXR5IDExMzk4NTMKCjIwMTQtMDUtMDIgMTQ6MDY6MjUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgZHVwbGljYXRlIHRlc3QKCSAgaXRlbSB3YXMgZGVyZWZlcmVuY2UgcHJldmlvdXNseS4KCSAgV2hpbGUgdGhlcmUsIHJlb3JkZXIgc29tZSB0ZXN0IGZvciBmYXN0ZXIgZWFybHkgb3V0LgoJICBDb3Zlcml0eSAxMTM5ODQ0CgoyMDE0LTA1LTAyIDE0OjAyOjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZ3VhcmQgYWdhaW5zdCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCSAgQ292ZXJpdHkgMTEzOTgzOAoKMjAxNC0wNS0wMiAxMzo1OTowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCB0aGVvcmV0aWNhbCBpbnRlZ2VyIG92ZXJmbG93CgkgIFRoaXMgY29kZSBpc24ndCBhY3R1YWxseSB1c2VkIGF0IHRoZSBtb21lbnQsIHVuc3VyZSBpZiBJIHNob3VsZAoJICBqdXN0IHJlbW92ZSBpdCBvciBub3QuLi4KCSAgQ292ZXJpdHkgMTEzOTgxMQoKMjAxNC0wNS0wMiAxMzozMzowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogYmxpbmRseSBmaXggd3JpdGluZyB2YXJpYWJsZSBsZW5ndGggbmVnYXRpdmUgdmFsdWVzCgkgIFNwb3R0ZWQgd2hpbGUgZml4aW5nIHNvbWV0aGluZyBlbHNlIGluIHRoZSBhcmVhLgoJICBOb3RoaW5nIGNhbGxzIHRoaXMgd2l0aCBhIG5lZ2F0aXZlIHZhbHVlLgoKMjAxNC0wNS0wMiAxMzoyOTozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogZG8gbm90IGxvc2UgdGhlIHRvcCBiaXRzIHdoZW4gd3JpdGluZyBhID4gMzIgYml0IHZhbHVlCgkgIENvdmVyaXR5IDExMzk4MDYKCjIwMTQtMDUtMDIgMTI6MTA6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IGFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaAoJICBDb3Zlcml0eSAxMTM5NzU1CgoyMDE0LTA1LTAyIDExOjM5OjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogZG8gbm90IHRyeSB0byBjYWxsIGdzdF9wYWRfcXVlcnlfZGVmYXVsdCBvbiBhIE5VTEwgcGFkCgkgIGdzdF9tYXRyb3NrYV9wYXJzZV9xdWVyeSBjYW4gYmUgY2FsbGVkIGV4cGxpY2l0ZWx5IHdpdGggYSBOVUxMIHBhZC4KCSAgSWYgd2UgcmVhY2ggdGhpcyBwb2ludCB3aXRoIGEgTlVMTCBwYWQsIGZhaWwgdGhlIHF1ZXJ5LgoJICBDb3Zlcml0eSAxMTM5NzE1CgoyMDE0LTA1LTAyIDExOjI4OjAxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogZG8gbm90IHJldHVybiBHU1RfRkxPV19PSyBpZiB3ZSBkaWQgbm90IGdldCBhIGJ1ZmZlcgoJICBDb3Zlcml0eSAxMTM5NzE0ICh3aGljaCB3aWxsIGxpa2VseSBjb21lIGJhY2sgaW4gYW5vdGhlciBndWlzZSwKCSAgYXMgdGhlIF9yZWFkX2luaXQgY2FsbCBjYW4gaGF2ZSBhIGZhaWxpbmcgX21hcCkKCjIwMTQtMDUtMDIgMTE6MjA6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IGNhdGNoIGZhaWx1cmUgdG8gbWFwIGJ1ZmZlcgoJICBBdm9pZHMgZGVyZWZlcmVuY2luZyBOVUxMLgoJICBDb3Zlcml0eSAxMTM5NzEyCgoyMDE0LTA1LTAyIDEwOjUyOjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogcmVmdXNlIGNhcHMgd2l0aCBpbnZhbGlkIGZyYW1lcmF0ZQoJICBDb3Zlcml0eSAxMTM5NzAxCgoyMDE0LTA1LTAyIDEwOjIxOjA5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSAwIHNpemUgcGFja2V0cyB3aXRob3V0IGRpdmlkaW5nIGJ5IDAKCSAgQ292ZXJpdHkgMTEzOTY5MQoKMjAxNC0wNS0wMiAwOTo0OTozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZ3VhcmQgYWdhaW5zdCBpbnZhbGlkIGZyYW1lIHNpemUgdG8gYXZvaWQgZGl2aXNpb24gYnkgMAoJICBDb3Zlcml0eSAxMTM5NjkwCgoyMDE0LTA1LTAyIDA5OjQ5OjE3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0cml2aWFsIHR5cG8gZml4CgoyMDE0LTA1LTAyIDA5OjQzOjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogcmVtb3ZlIGRlYWQgY29kZQoJICBmcHAgY2FuIG5ldmVyIGVxdWFsIDAgaGVyZSwgb3IgdGhlIGxvb3Agd291bGQgbm90IGV4ZWN1dGUgYXQgYWxsLgoJICBaZXJvIGZwcCB3YXMgcG9zc2libGUgYmVmb3JlIGFzIHRoZSBsb29wIGNvbmRpdGlvbiB3YXMgYWxsb3dpbmcKCSAgaXQgc3BlY2lmaWNhbGx5LCBidXQgbm8gbW9yZS4KCSAgQ292ZXJpdHkgMTEzOTY4MQoKMjAxNC0wNS0wMiAwOTo0MToxOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgIG9zczQ6IHJlbW92ZSBkZWFkIG1peGVyIGNvZGUKCSAgVGhpcyB3YXMgcGFydGx5IHJlbW92ZWQgaW4gdGhlIHBvcnQgdG8gMC4xMS4gSWYgc3RpbGwgbmVlZGVkLAoJICBpdCdzIHN0aWxsIHRoZXJlIGluIHRoZSBoaXN0b3J5LgoJICBDb3Zlcml0eSAxMTM5Njg3CgoyMDE0LTA1LTAyIDA5OjMzOjUxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgb3NzNDogZml4IGEgbWlzc2luZyB1bmxvY2sgYW5kIGEgcmV0dXJuLW9ubHktd2hlbi1hc3NlcnRpb25zLWVuYWJsZWQKCSAgU3BvdHRlZCBvbiB0aGUgc2lkZSB3aGlsZSBsb29raW5nIGF0IGFub3RoZXIgaXNzdWUuCgoyMDE0LTAzLTA3IDE3OjMxOjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IENvcnJlY3RseSBtYXAgUkdCMzIgZm9ybWF0CgkgIEluIHY0bDIgc3BlY2lmaWNhdGlvbiwgUkdCMzIgaGFzIHRoZSBhbHBoYSwgb3IgcGFkaW5nLCBmaXJzdCwgbm90IGxhc3QuCgkgIFNlZSBodHRwOi8vbGludXh0di5vcmcvZG93bmxvYWRzL3Y0bC1kdmItYXBpcy9wYWNrZWQtcmdiLmh0bWwgLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwOTQxCgoyMDE0LTA0LTMwIDE4OjA2OjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogcmVtb3ZlIGRlYWQgY29kZQoJICBGb3IgOCBiaXQgd2lkdGgsIHdlIGFsd2F5cyBoYXZlIGRlcHRoPT1nZGVwdGg9PXdpZHRoPT04LgoJICBDb3Zlcml0eSAxMTM5Njc4CgoyMDE0LTA0LTMwIDE3OjQ4OjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlbW92ZSBkZWFkIGNvZGUKCSAgQSBzdHJpY2VyIGNoZWNrIGlzIGFscmVhZHkgZG9uZSBlYXJsaWVyLCBhbmQgaW50ZWdlciBvdmVyZmxvd3MKCSAgZG8gbm90IHNlZW0gcG9zc2libGUgaGVyZS4KCSAgQ292ZXJpdHkgMTEzOTY3NQoKMjAxNC0wNC0zMCAxNDo1MDo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogZ3VhcmQgYWdhaW5zdCBwYXRob2xvZ2ljYWwgIm5vIHNwYWNlIiBjb25kaXRpb24KCSAgRXZlbiBpZiBvbmUgd291bCBob3BlIG9uZSBwaXhlbCBjYW4gZml0IGluIGEgTVRVLCBlbnN1cmUgd2UgZG8gbm90CgkgIG92ZXJ3cml0ZSBhIGJ1ZmZlciBpZiB0aGlzIGlzIG5vdCB0aGUgY2FzZS4KCSAgU3BvdHRlZCB3aGlsZSBsb29raW5nIGF0IENvdmVyaXR5IDEyMDg3ODYKCjIwMTQtMDQtMzAgMTE6NTI6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBzYW5pdHkgY2hlY2sgZm9yIE5VTEwgcXRhYmxlCgkgIENhbiBoYXBwZW4gKGF0IGxlYXN0IGluIGNyYWZ0ZWQgc3RyZWFtKQoJICBDb3Zlcml0eSAxMjA4Nzc4CgoyMDE0LTA0LTMwIDAxOjA4OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBwYXNzIG9uIHRhZ3MgZnJvbSB1cHN0cmVhbSBpZiB0aGVyZSBhcmUgYW55CgkgIERvbid0IGp1c3QgaWdub3JlIHVwc3RyZWFtIHRhZ3MgZnJvbSBlLmcuIGFuIElEMyB0YWcgYmVmb3JlCgkgIHRoZSAud2F2IGRhdGEsIHBhc3MgdGhlbSBvbiBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjIzCgoyMDE0LTA0LTI5IDE2OjI2OjUzICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG9wdGltaXplIHRpbWVyIHVwZGF0ZQoJICBXaGVuIHdlIGFyZSBub3QgZG9pbmcgcmV0cmFuc21pc3Npb24sIHdlIGp1c3QgbmVlZCB0byBmaW5kIHRoZSBjdXJyZW50CgkgIHNlcW51bSBzbyB3ZSBjYW4gc3RvcCB3aGVuIHdlIGZvdW5kIGl0LgoKMjAxNC0wNC0yOSAxNjoyMTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc21hbGwgb3B0aW1pemF0aW9ucwoJICBTbWFsbCBvcHRpbWl6YXRpb25zIHdoZXJlIHdlIGNhbi4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Zy4KCjIwMTQtMDQtMjkgMTY6MTY6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2lnbmFsIHdoZW4gbmV4dF9zZXFudW0gY2hhbmdlZAoJICBTaWduYWwgdGhlIHB1c2hpbmcgdGhyZWFkIHdoZW4gdGhlIG5leHRfc2VxbnVtIGNoYW5nZWQgYW5kIHdlIG1pZ2h0IGJlCgkgIGFibGUgdG8gcHVzaCBhIGJ1ZmZlciBub3cuCgoyMDE0LTA0LTI5IDE2OjEyOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG9ubHkgc2lnbmFsIGV2ZW50IHdoZW4gaGVhZCBjaGFuZ2VkCgkgIEFmdGVyIGFkZGluZyBhIGJ1ZmZlciwgb25seSBzaWduYWwgdGhlIHB1c2hpbmcgdGhyZWFkIHdoZW4gdGhlIGhlYWQKCSAgYnVmZmVyIGNoYW5nZWQgb3IgZWxzZSB3ZSBjYXVzZSBhIHVzZWxlc3Mgd2FrZXVwLgoKMjAxNC0wNC0yOSAxNToyOTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmV3b3JrIHBhY2tldCBpbnNlcnQKCSAgUmV3b3JrIHRoZSBwYWNrZXQgcXVldWUgc28gdGhhdCB0aGUgbW9zdCBjb21tb24gYWN0aW9uIChpbnNlcnQgYSBwYWNrZXQKCSAgYXQgdGhlIHRhaWwgb2YgdGhlIHF1ZXVlKSBnb2VzIHZlcnkgZmFzdC4KCSAgUmVwb3J0IGlmIGEgcGFja2V0IHdhcyBpbnNlcnRlZCBhdCB0aGUgaGVhZCBpbnN0ZWFkIG9mIHRoZSB0YWlsIHNvIHRoYXQKCSAgd2UgY2FuIGtub3cgd2hlbiB0byByZXRyeSBfcG9wIG9yIF9wZWVrLgoKMjAxNC0wNC0yOCAxNDo0MToxMCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhdzogdXNlIHBsYW5lIHBvaW50ZXJzIHdoZW4gbmVlZGVkCgkgIFBhY2svdW5wYWNrIHBsYW5hciBmb3JtYXRzIHRvL2Zyb20gdGhlIGZpcnN0IHBsYW5lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MDU4CgoyMDE0LTA0LTI4IDA5OjQ3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IFJlbWVtYmVyIGlmIGEgcmVkaXJlY3QgaXMgcGVybWFuZW50IG9yIG5vdCBhbmQgc3RvcmUgaXQgaW4gdGhlIHF1ZXJ5CgoyMDE0LTA0LTI3IDIxOjU3OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJICBnb29tOiBSZW1vdmUgZnJlbmNoIGNvbW1lbnQgc2F5aW5nIHRvIHByZWZpeCBmdW5jdGlvbnMKCSAgQWxsIG5vbi1zdGF0aWMgZnVuY3Rpb24gaW4gdGhpcyBmaWxlIGFyZSBhbHJlYWR5IHByZWZpeGVkIHdpdGggZ29vbV8uCgoyMDE0LTA0LTI4IDAwOjIwOjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJICBnb29tOiBmaXggY29tcGlsYXRpb24gb24gaW9zLWFybTctMTAuOSBhbmQgb3N4LXg4Nl82NAoJICB1aW50IGlzIG5vdCBhIHN0YW5kYXJkIHR5cGUsIGFuZCB0aGUgcmVzdCBvZiB0aGUgY29kZSB1c2VzCgkgIFVpbnQgd2hpY2ggaXMgbG9jYWxseSB0eXBlZGVmZWQgdG8gdW5zaWduZWQgaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MDY3CgoyMDE0LTA0LTI3IDE4OjI5OjExIC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJICBnb29tOiBmaXggdW5kZWZpbmVkIGJlaGF2aW91ciBvZiBsZWZ0LXNoaWZ0CgkgIERvbid0IGxlZnQtc2hpZnQgaW50byB0aGUgc2lnbiBiaXQsIHRoZSByZXN1bHQgaXMgdW5kZWZpbmVkIGFuZCBwb3RlbnRpYWxseQoJICBhbiBvdmVyZmxvdyBjb3VsZCBmbGlwIHRoZSBzaWduLgoKMjAxNC0wNC0yNiAyMDo1MTozNiAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayByZXR1cm4gZnJvbSBxdF9kZW11eF92aWRlb19jYXBzCgkgIE5vdyBxdGRlbXV4X3ZpZGVvX2NhcHMoKSBjYW4gcmV0dXJuIE5VTEwuIFdlIG5lZWQgdG8gY2hlY2sgdGhpcyByZXR1cm4gYmVmb3JlCgkgIHVzaW5nIGl0J3MgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5ODcKCjIwMTQtMDQtMjYgMjM6MzU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBkb2NzOiByZW1vdmUgb3V0ZGF0ZWQgYW5kIHBvaW50bGVzcyAnTGFzdCByZXZpZXdlZCcgbGluZXMgZnJvbSBkb2NzCgkgIFRoZXkgYXJlIHZlcnkgY29uZnVzaW5nIGZvciBwZW9wbGUsIGFuZCBtb3JlIG9mdGVuIHRoYW4gbm90CgkgIGFsc28ganVzdCBub3QgdmVyeSBhY2N1cmF0ZS4gU2VlaW5nICdsYXN0IHJldmlld2VkOiAyMDA1JyBpbgoJICB5b3VyIGRvY3MgaXMgbm90IHZlcnkgY29uZmlkZW5jZS1pbnNwaXJpbmcuIExldCdzIGp1c3QgcmVtb3ZlCgkgIHRob3NlIGNvbW1lbnRzLgoKMjAxNC0wNC0yNSAxNzo1ODo0MiAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0aWFsaXplIGNhcHMgcG9pbnRlciB0byBudWxsCgkgIE1ha2Ugc3VyZSB0aGUgY2FwcyBwb2ludGVyIHJldHVybnMgaW5pdGlhbGl6ZWQgd2hlbiB1c2luZyBpdCBpbgoJICBxdGRlbXV4X3BhcnNlX3RyZWUgKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5ODcKCjIwMTQtMDQtMjIgMTc6MDc6MzggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ2xlYXIgbGFzdF9wdCBvbiBmbHVzaC1zdG9wLgoJICBPdGhlcndpc2UsIHdlIGRvbid0IHJlY2hlY2sgdGhlIGJ1ZmZlciBjYXBzIGZvciBjbG9jay1yYXRlCgkgIHByb3Blcmx5IG9uIHRoZSBuZXh0IGNoYWluLgoKMjAxNC0wNC0yMiAxNzoyOTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0ZGVpbnRlcmxhY2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9kZWludGVybGFjZV9vdXRwdXRfZnJhbWUnOgoJICBnc3RkZWludGVybGFjZS5jOjE1Mzc6NTc6IGVycm9yOiAncGF0dGVybi5sZW5ndGgnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICBUaGlzIGFjdHVhbGx5IGlzIGFsd2F5cyBpbml0aWFsaXplZCBiZWZvcmUgaXQgaXMgdXNlZCB0aGVyZSwgYnV0CgkgIGxldCdzIGp1c3Qgc2lsZW5jZSBnY2MgaGVyZS4KCjIwMTQtMDQtMjEgMTU6NTg6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IGJ1ZmZlciBsaXN0IGRyb3AgY2hlY2sKCSAgV2hpbGUgcG9ydGluZyB0byAwLjExLCB0aGUgY2hlY2sgd2FzIG1pc3Rha2VubHkgbWFkZSBjb25zdGFudCwKCSAgaW5zdGVhZCBvZiB0ZXN0aW5nIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIHByb2Nlc3NfYnVmZmVyX2xvY2tlZC4KCSAgQ292ZXJpdHkgMTEzOTY2MwoKMjAxNC0wNC0yMSAxMzo0NDoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGZpeCBjb250ZW50IGVuY29kaW5nIHNjb3BlIHZhbGlkaXR5IGNoZWNrCgkgIEl0J3MgMyBiaXRzLCBhbmQgaHR0cDovL21hdHJvc2thLm9yZy90ZWNobmljYWwvc3BlY3MvaW5kZXguaHRtbAoJICBzYXlzIGl0IGNhbid0IGJlIDAuCgkgIENvdmVyaXR5IDExMzk2NjAKCjIwMTQtMDQtMjEgMTM6MzQ6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IFBBUiBmcmFjdGlvbiBzYW5pdHkgY2hlY2sKCSAgSXQgd2FzIGNoZWNraW5nIHBhcl9udW0gdHdpY2UsIGFuZCBuZXZlciBwYXJfZGVudW0uCgkgIENvdmVyaXR5IDExMzk2MzQKCjIwMTQtMDQtMjEgMTM6MzI6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGlpZHBzaW5rOiB3YXJuIHdoZW4gc2V0c29ja29wdCBmYWlscwoJICBUaGlzIGRvZXNuJ3Qgc2VlbSB0byBiZSBmYXRhbCwgYnV0IGl0J3MgZ29vZCB0byBsZXQgdGhlIHVzZXIga25vdwoJICBpbiB0aGUgbG9ncy4KCSAgQ292ZXJpdHkgMTEzOTYzMAoKMjAxNC0wNC0yMSAxMzoyNzoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgaW50ZXJsYWNlOiBjYXRjaCBmYWlsdXJlIHRvIGNyZWF0ZSBhdWRpbyBpbmZvIGZyb20gY2FwcwoJICBDb3Zlcml0eSAxMTM5NjI3LCAxMTM5NjI4CgoyMDE0LTAzLTEzIDA5OjM3OjQ4ICswMTAwICBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgZ3N0cnRwaDI2NHBheTogUmVzZXQgc3BzIHBwcyB2YXJpYWJsZSB3aGVuIHN0YXRlIGNoYW5nZS4KCSAgUmVzZXQgbGFzdF9zcHNwcHMgYW5kIHNwcy9wcHMgYXJyYXlzICB3aGVuIHN0YXRlIHRyYW5zaXRpb24KCSAgR1NUX1NUQVRFX0NIQU5HRV9QQVVTRURfVE9fUkVBRFkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYwMTUKCjIwMTQtMDQtMTggMTE6MTE6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIEVPUyBoYW5kbGluZwoJICBNYWtlIGEgbmV3IG1ldGhvZCB0byBkaXNhYmxlIHRoZSBqaXR0ZXJidWZmZXIgYnVmZmVyaW5nLgoJICBSZXdvcmsgdGhlIHVwZGF0ZV9lc3RpbWF0ZWRfZW9zKCkgbWV0aG9kLiBDYWxjdWxhdGUgaG93IG11Y2ggdGltZQoJICB0aGVyZSBpcyBsZWZ0IHRvIHBsYXkuIElmIHdlIGhhdmUgbGVzcyB0aGFuIHRoZSBkZWxheSBvZiB0aGUKCSAgaml0dGVyYnVmZmVyLCB3ZSBkaXNhYmxlZCBidWZmZXJpbmcgYmVjYXVzZSB3ZSBtaWdodCBuZXZlciBiZSBhYmxlIHRvCgkgIGZpbGwgdGhlIGNvbXBsZXRlIGppdHRlcmJ1ZmZlciBhZ2Fpbi4KCSAgSWYgd2UgcmVjZWl2ZSBhbiBFT1MgZXZlbnQsIGRpc2FibGUgYnVmZmVyaW5nLiBXZSB3aWxsIGRyYWluIHRoZQoJICBidWZmZXIgYW5kIGV2ZW50dWFsbHkgcHVzaCB0aGUgRU9TIGV2ZW50IG91dC4KCSAgV2hlbiB3ZSByZWFjaCB0aGUgZXN0aW1hdGVkIE5QVCB0aW1lb3V0IGFuZCB3ZSBkaWRuJ3QgcmVjZWl2ZSBhbiBFT1MKCSAgZXZlbnQsIG1ha2Ugb25lIGFuZCBxdWV1ZSBpdCBzbyB0aGF0IGl0IGNhbiBiZSBwdXNoZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgwMTcKCjIwMTQtMDQtMTggMTA6MjE6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogc2VuZCByZWNvbmZpZ3VyZSB3aGVuIGludGVybmFsLXNzcmMgY2hhbmdlcwoJICBXaGVuIHRoZSBpbnRlcm5hbC1zc3JjIHByb3BlcnR5IGNoYW5nZXMsIHdlIHdhbnQgdG8gc2VuZCBhIHJlY29uZmlndXJlCgkgIHVwc3RyZWFtIHRvIG1ha2UgcGF5bG9hZGVycyB1c2UgdGhlIG5ldyBzdWdnZXN0ZWQgc3NyYy4KCSAgVXNpbmcgdGhlIGludGVybmFsLXNzcmMgcHJvcGVydHkgdG8gY2hhbmdlIHRoZSBTU1JDIG9mIGEgc3RyZWFtIGlzIG5vdCBhCgkgIGdvb2QgaWRlYSBhbmQgZG9lc24ndCB3b3JrIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIHNlbmRlcnMsIHdlIHdhbnQgdG8KCSAgc2V0IHRoZSBTU1JDIGRpcmVjdGx5IG9uIHRoZSBwYXlsb2FkZXJzLiBUaGVyZWZvcmUsIGRlcHJlY2F0ZSB0aGlzCgkgIHByb3BlcnR5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MzYxCgoyMDE0LTA0LTE4IDA0OjIzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFzc3VtZSBhIGZ1bGwgYnVmZmVyIHdoZW4gZW9zCgkgIFJld29yayB0aGUgbG9naWMgdG8gbWFrZSBidWZmZXJpbmcgbWVzc2FnZXMgYSBsaXR0bGUsIG1ha2Ugc3VyZSB3ZQoJICBkb24ndCBtYWtlIHRoZSBzYW1lIG1lc3NhZ2UgbXVsdGlwbGUgdGltZXMuCgkgIENvbnNpZGVyIHRoZSBidWZmZXIgZnVsbCB3aGVuIEVPUyB3YXMgcmVjZWl2ZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgwMTcKCjIwMTQtMDQtMTcgMTg6MDc6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwcnR4OiBEb24ndCBmb3JnZXQgdG8gdW5tYXAgcnRwIGJ1ZmZlciBpbiB0aGUgdGVzdAoKMjAxNC0wNC0xNyAxNzo1ODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogUmVxdWlyZSBjbG9jay1yYXRlIGluIHRoZSBjYXBzIGFuZCBoYW5kbGUgbm8gc3NyYyBpbiB0aGUgY2FwcyBwcm9wZXJseQoKMjAxNC0wNC0xNyAxNzo0MzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBydHg6IFByb3ZpZGUgYW4gc3NyYyBpbiB0aGUgdGVzdAoJICBBbmQgaW5jcmVhc2UgdGltZW91dCB0byBhbGxvdyBhbGwgdGVzdHMgdG8gcnVuIGluIHZhbGdyaW5kLgoKMjAxNC0wNC0xNyAxNzozMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IG1lbW9yeSBsZWFrcyBpbiB0ZXN0CgoyMDE0LTA0LTE3IDE3OjI2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGh1bmRyZWRzIG9mIG1lbW9yeSBsZWFrcyBpbiB0aGUgdGVzdAoKMjAxNC0wNC0xNyAxNzowMDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFVucmVmIGNsb2NrIGlkIHdoZW4gd2FpdGluZyBmb3IgdGhlIGNsb2NrIGlzIGludGVycnVwdGVkCgoyMDE0LTA0LTE3IDE2OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHJ0cGNvbGxpc2lvbjogRml4IG1lbW9yeSBsZWFrcyBpbiB1bml0IHRlc3QKCjIwMTQtMDQtMTYgMjE6NDA6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBuYW1lIGNvbGxlY3RwYWRzIG9iamVjdCBiYXNlZCBvbiB2aWRlb21peGVyIG5hbWUKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIHRyYWNrIHRoaW5ncyBpbiBkZWJ1ZyBsb2dzIHdoZW4gdGhlcmUKCSAgYXJlIG11bHRpcGxlIG1peGVycyBhbmQgbXV4ZXJzLgoKMjAxNC0wNC0xNiAyMTozNzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGJldHRlciBsb2dnaW5nIG9mIGluY29taW5nIGV2ZW50cwoJICBUaGUgcGFkIGFuZCBwYXJlbnQgbmFtZXMgYXJlIGFscmVhZHkgbG9nZ2VkIGFzIHBhcnQgb2YgbG9nZ2luZwoJICB0aGUgb2JqZWN0LiBJbnN0ZWFkIGxvZyB0aGUgZnVsbCBldmVudCBkZXRhaWxzLgoKMjAxNC0wNC0xNiAxOTowMzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRml4IG1lbW9yeSBsZWFrIGluIHVuaXQgdGVzdAoKMjAxNC0wNC0xNiAxODo0OTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogVXNlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBzYW1wbGVzIHRvIGl0ZXJhdGUgb3ZlciB0aGUgaW5wdXQgYXJyYXkKCSAgRml4ZXMgaW52YWxpZCBtZW1vcnkgYWNjZXNzZXMgYW5kIGFjY2Vzc2VzIHRvIHVuaW5pdGlhbGlzZWQgZGF0YS4KCjIwMTQtMDQtMTYgMTg6MDA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IFVucmVmIGRyb3BwZWQgZXZlbnRzCgoyMDE0LTA0LTE2IDE3OjI5OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IGZpeCBjaGVjayBmb3IgYW1vdW50IG9mIGRhdGEgdG8gcmVhZAoJICBIaXN0b3J5IHNob3dzIGxlbmd0aD09MCBzaG91bGQgc2V0IGRhdGEgdG8gTlVMTCBhbmQgcmV0dXJuLAoJICBzbyB3ZSBkbyB0aGF0IHRvbyBpbnN0ZWFkIG9mIHRyeWluZyB0byByZWFkIG5vdGhpbmcuCgkgIENvdmVyaXR5IDIwNjIwNQoKMjAxNC0wNC0xNiAxNzoyNTo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBzaWduIGNvbXBhcmlzb24KCSAgaGlzdG9yeV9jb3VudCBpcyB1bnNpZ25lZCwgc28gdGhlIHdob2xlIGNvbXBhcmlzb24gd2lsbCBiZSBtYWRlCgkgIGFzIHVuc2lnbmVkLCBhbmQgZmFpbCB0byByZWplY3Qgd2hhdCBpdCB3YXMgbWVhbnQgdG8uCgkgIENvdmVyaXR5IDIwNjIwNAoKMjAxNC0wNC0xNiAxNzowNDo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZW1vdmUgZGVhZCBjb2RlCgkgIHN1YiBtYXkgbm90IGJlIE5VTEwgaW4gdGhpcyBzd2l0Y2gsIHRoZXJlIGlzIGEgYmFpbCBvdXQganVzdAoJICBiZWZvcmUgaXQgaWYgc28uCgkgIENvdmVyaXR5IDIwNjA5OAoKMjAxNC0wNC0xNiAxNjo1OTo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHJlbW92ZSBkZWFkIGNvZGUKCSAgVGhlIGJsb2NrX3NpemUgPT0gMCB3YXMgc2hvcnRjdXQgZWFybGllciwgYW5kIHRoZSB2YXJpYWJsZSBpcyBub3QKCSAgbW9kaWZpZWQgaW4gdGhlIG1lYW50aW1lLgoJICBDb3Zlcml0eSAyMDYwOTcKCjIwMTQtMDQtMTYgMTY6NTY6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkgIHZpZGVvbWl4ZXI6IHJlbW92ZSBkZWFkIGNvZGUKCSAgV2hpbGUgaXQgc2VlbXMgdG8ga2VlcCBhIGNvbXBpbGUgdGltZSBzZWxlY3Rpb24sIEkgdHJhY2VkIGl0CgkgIHRvIHNvbWUgY29kZSBjb3BpZWQgZnJvbSB2aWRlb2NvbnZlcnQsIHdoZXJlIGl0IHdhcyByZW1vdmVkLAoJICB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWVudDoKCSAgQWxzbyByZW1vdmUgdGhlIGhpZ2gtcXVhbGl0eSBJNDIwIHRvIEJHUkEgZmFzdC1wYXRoIGFzIGl0IG5lZWRzCgkgIHRoZSBzYW1lIGZpeCwgd2hpY2ggY2F1c2VzIGFuIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb24sIHdoaWNoIGNhdXNlcwoJICBvcmMgdG8gZW1pdCBtb3JlIHRoYW4gOTYgdmFyaWFibGVzLCB3aGljaCB0aGVuIGp1c3QgY3Jhc2hlcy4KCSAgVGhpcyBjYW4gb25seSBiZSBmaXhlZCBpbiBvcmMgYnkgYnJlYWtpbmcgQUJJIGFuZCBhbGxvd2luZyBtb3JlCgkgIHZhcmlhYmxlcy4KCSAgVGh1cywgSSByZW1vdmUgaXQgaGVyZSBhcyB3ZWxsLgoJICBDb3Zlcml0eSAyMDYwNjQKCjIwMTQtMDQtMTYgMTY6NTA6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogZml4IGluY29ycmVjdCBtYXNraW5nIGZvciBtdWx0aXBsZSB0YWdzCgkgIENvdmVyaXR5IDIwNjA1OAoKMjAxNC0wNC0xNiAxNjo0NTowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGlzb21wNDogZml4IHdyb25nIGF0b20gZmxhZ3Mgc2V0IHdoZW4gYWRkaW5nIHNhbXBsZXMKCSAgQ292ZXJpdHkgMjA2MDU3CgoyMDE0LTA0LTE2IDE2OjQwOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IGZpeCBjb21wYXJpc29uIG9mIGRlbHRhIHRpbWUgdG8gYSB0aHJlc2hvbGQKCSAgQ292ZXJpdHkgMjA2MDU1CgoyMDE0LTA0LTE2IDE2OjMyOjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZG8gbm90IHJlbHkgb24gY2FsbCBmYWlsdXJlIGtlZXBpbmcgcmV0dXJuIGRhdGEgdW5tb2RpZmllZAoJICBUaGlzIGlzIGNsZWFyZXIgdGhpcyB3YXkgdG9vLgoJICBDb3Zlcml0eSAyMDYwMjkKCjIwMTQtMDQtMTYgMTY6Mjg6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIGlzb21wNDogY2F0Y2ggZnNlZWsgZXJyb3IKCSAgQ292ZXJpdHkgMjA2MDI4CgoyMDE0LTA0LTE2IDE2OjI1OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0OiByZXBvcnQgZmFpbHVyZXMgdG8gY2FsbGVyCgkgIENvdmVyaXR5IDIwNjAyNwoKMjAxNC0wNC0xNiAxODowNTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWZ1c2Ugc2VyaWFsaWVkIHF1ZXJ5IHdoZW4gYnVmZmVyaW5nCgkgIFdoZW4gd2UgYXJlIGJ1ZmZlcmluZywgd2UgY2FuJ3QgYmxvY2sgYW5kIHdhaXQgZm9yIHRoZSBzZXJpYWxpemVkIHF1ZXJ5CgkgIHRvIGNvbXBsZXRlIGJlY2F1c2UgdGhlIGppdHRlcmJ1ZmZlciB3aWxsIG5vdCB0cnkgdG8gZm9yd2FyZCB0aGUgcXVlcnkKCSAgd2hpbGUgYnVmZmVyaW5nLiBJbnN0ZWFkLCBqdXN0IHJlZnVzZSB0aGUgcXVlcnkuCgoyMDE0LTA0LTE2IDE2OjUxOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGZyZWUgdGhlIHNlcmlhbGl6ZWQgcXVlcnkKCSAgV2Ugc2hvdWxkIG5ldmVyIGZyZWUgYSBzZXJpYWxpemVkIHF1ZXJ5IGluIHRoZSBxdWV1ZSwgaXQgaXMgdGhlIHVwc3RyZWFtCgkgIGNhbGxlciB0aGF0IHdpbGwgZnJlZSBpdC4KCjIwMTQtMDQtMTYgMTc6MzU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IG1lbW9yeSBsZWFrIGluIHRoZSB0ZXN0CgoyMDE0LTA0LTE2IDE3OjMzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQ3JlYXRlIGhhc2h0YWJsZSBvbmx5IHdoZW4gd2UgYWN0dWFsbHkgdXNlIGl0CgkgIEluIGVycm9yIGNhc2VzIHdlIHByZXZpb3VzbHkgcmV0dXJuZWQgd2l0aG91dCBmcmVlaW5nIGl0LgoKMjAxNC0wNC0xNiAxNzozMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIGRpc3Bvc2UgZnVuY3Rpb24KCjIwMTQtMDQtMTYgMTc6MjM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBJbml0aWFsaXNlIGlvY3RsIHN0cnVjdCB3aXRoIHplcm9lcyBiZWZvcmUgcGFzc2luZyBpdCB0byBpb2N0bCgpCgoyMDE0LTA0LTE2IDEzOjQ3OjQzICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBjb3JyZWN0IExPRyBtc2cgZm9yIC0xCgkgIFNpZ25lZC1vZmYtYnk6IE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoyMDE0LTA0LTE1IDIxOjM2OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggbmVnb3RpYXRpb24gdG8gd29yayBhdCBhbGwgYWdhaW4KCSAgVGhlIGNhcHMgcXVlcnkgaGFuZGxpbmcgZnVuY3Rpb24gZm9yIHRoZSBzaW5rcGFkcyB3YXMgY2FsbGVkIGZvcgoJICB0aGUgc3JjcGFkLCBhbmQgdGhlIHNpbmtwYWRzIGhhZCBub25lLiBUaGlzIGNvbW1pdCBtb3ZlcyBpdCB0byB0aGUKCSAgcmlnaHQgcGFkLCBidXQgbm9uZXRoZWxlc3MgdGhlIG5lZ290aWF0aW9uIHN0aWxsIGxvb2tzIHdyb25nLgoJICBUaGlzIG1ha2VzIHRoZSB0ZXN0IHBhc3MgYWdhaW4gYWZ0ZXIgdGhlIHJlY2VudCBjb3Zlcml0eSBmaXgKCSAgYW5kIGFsc28gYWxsb3dzIGludGVybGVhdmUgdG8gd29yayBhZ2FpbiwgYnV0IHNvbWVvbmUgc2hvdWxkCgkgIHJlYWxseSByZXZpZXcgdGhlIG5lZ290aWF0aW9uIGNvZGUgYW5kIGZpeCBpdC4KCjIwMTQtMDQtMTMgMDk6MDM6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBNYXhpbXVtIG51bWJlciBvZiBjaGFubmVscyBzdXBwb3J0IGlzIDgKCSAgQXZvaWRzIGRvaW5nIHBvdGVudGlhbCBvdmVyd3JpdGVzIGluIGNoX2xheW91dCAod2hpY2ggb25seSBoYXMgOAoJICBmaWVsZHMpLgoJICBDSUQgIzExMzk4MjYKCjIwMTQtMDQtMTIgMjI6MTY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogU2V0IHJhbmsgdG8gTUFSR0lOQUwKCSAgSWYgYXZhaWxhYmxlIHdlIHByZWZlciB1c2luZyBnbGltYWdlc2luayBvdmVyIG9zeHZpZGVvc2luay4gSXQgc3VwcG9ydHMKCSAgbW9yZSBmb3JtYXRzIGFuZCBpbiBnZW5lcmFsIGhhcyBtb3JlIGZlYXR1cmVzIHRoYW4gb3N4dmlkZW9zaW5rLgoKMjAxNC0wNC0xMSAxODoxOTo0OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBvbmx5IGd1ZXNzIEFVIGJvdW5kYXJpZXMgd2hlbiBhcmVuJ3QgaW5kaWNhdGVkIGJ5IG1hcmtlcgoJICBUaGUgbWFya2VyIGJpdCBpc24ndCBtYW5kYXRvcnkgYW5kIHdlIGhhZCBpbiBwbGFjZSBjb2RlIHRvIGd1ZXNzIEFVCgkgIGJvdW5kYXJpZXMgYnkgZGV0ZWN0aW5nIGEgbmV3IHBpY3R1cmUgc3RhcnQuIFRoaXMgZ3Vlc3NpbmcgY29kZQoJICBkaWRuJ3Qgd29yayB3aXRoIGludGVybGFjZWQgY29udGVudCB0aGF0IGhhcyBwcm9wZXIgbWFya2VyIGJpdHMKCSAgdG8gaW5kaWNhdGUgdGhlIEFVIGJvdW5kYXJpZXMuIEl0IHdhcyBsZWFraW5nIHRoZSBmaXJzdCBmaWVsZCBidWZmZXIKCSAgYW5kIHByb2R1Y2luZyBhIGNvcnJ1cHRlZCBvdXRwdXQuCgkgIGZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MDQxCgoyMDE0LTA0LTEwIDEwOjM4OjE5IC0wMzAwICBSYWZhxYIgTXXFvHnFgm8gPGdhbHRnZW5kb0BvMi5wbD4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogZW5hYmxlIGxpYnBuZyBpbnRlcmxhY2VkIHBpY3R1cmUgaGFuZGxpbmcKCSAgTWFrZXMgbGlicG5nIGRlaW50ZXJsYWNlIEFkYW03IGludGVybGFjZWQgcGljdHVyZXMKCSAgYnkgZGVmYXVsdC4gSXQgaXMgdGhlIG9ubHkgaW50ZXJsYWNlZCBmb3JtYXQgYXZhaWxhYmxlCgkgIGFuZCBpZiB0aGUgcGljdHVyZSBpc24ndCBpbnRlcmxhY2VkIHRoZSBjb2RlIHNob3VsZCBiZWhhdmUKCSAgYXMgYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTYxCgoyMDE0LTA0LTExIDEzOjI3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE9ubHkga2VlcC1hbGl2ZSB0aGUgY29ubmVjdGlvbiBpbiBzdG9wKCkgaWYgd2UgaGF2ZSBmaW5pc2hlZCBhbGwgcHJldmlvdXMgbWVzc2FnZXMKCSAgQWZ0ZXIgY2FuY2VsbGluZyBhIHJlcXVlc3Qgd2UgbmVlZCB0byBjcmVhdGUgYSBuZXcgY29ubmVjdGlvbi4KCjIwMTQtMDQtMTEgMTE6NTQ6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgZHZkZWM6IERvbid0IHNldCBib2d1cyB0aW1lc3RhbXAvZHVyYXRpb24KCSAgVGhpcyB3aWxsIGhhcHBlbiBpZiB3ZSBoYXZlIGFuIGluY29taW5nIHN0cmVhbSB3aXRoIGEgbm9uLVRJTUUgc2VnbWVudAoJICBDb3VsZCBiZSBpbXByb3ZlZCBsYXRlciB0byBmaWd1cmUgb3V0IHByb3BlciBwdHMvZHVyYXRpb24uCgkgIENJRCAjMTE5OTcwMgoJICBDSUQgIzExOTk3MDMKCjIwMTQtMDQtMTEgMTE6NTM6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgZHZkZWM6IFByb3Blcmx5IHJlZnVzZSBpbmNvbWluZyBzdHJlYW0gd2l0aG91dCBmcmFtZXJhdGUKCSAgVGhlIHJldHVybiB2YWx1ZSB3YXNuJ3QgcHJvcGVybHkgcHJvcGFnYXRlZCBiYWNrIGlmIHRoZSBjYXBzCgkgIGRpZG4ndCBjb250YWluIGEgZnJhbWVyYXRlCgoyMDE0LTA0LTEwIDE2OjM1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFsc28gcmV0cnkgb24gdW5leHBlY3RlZCBuZXR3b3JrIGZhaWx1cmVzCgoyMDE0LTA0LTEwIDE1OjQ1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IE5ldyBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiByZXRyaWVzIGJlZm9yZSB3ZSBnaXZlIHVwCgoyMDE0LTAzLTEzIDEwOjU2OjExICswMTAwICBBbGV4YW5kZXIgWmFsbGVzb3YgPHphbGxlc292QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBDaGFuZ2UgZGVmYXVsdCB0aW1lb3V0IHRvIDE1IHNlY29uZHMKCSAgSWYgbm90aGluZyBoYXBwZW5zIGFmdGVyIDE1IHNlY29uZHMsIGNoYW5jZXMgYXJlIGdvb2QgdGhhdAoJICBvdXIgY29ubmVjdGlvbiB3aWxsIG5ldmVyIHdpbGwgd29yay4gU3RvcCBhZnRlciAxNSBzZWNvbmRzCgkgIGluc3RlYWQgb2Ygd2FpdGluZyB1bnRpbCB0aGUgc3lzdGVtJ3MgZGVmYXVsdCB0aW1lb3V0LCB3aGljaAoJICBjYW4gYmUgPiAxIG1pbnV0ZS4KCjIwMTQtMDQtMDkgMTc6MzA6NTQgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXBsYWNlIGR1cGxpY2F0ZWQgdmFyaWFibGUgd2hlbiBwYXJzaW5nIHRyZXggYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODc4CgoyMDE0LTA0LTA5IDEwOjU2OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFVzZSBHU1RfRkxPV19GTFVTSElORyB3aGVuIGZsdXNoaW5nLCBub3QgR1NUX0ZMT1dfRU9TCgkgIC4uLiBhbmQgcmVzZXQgaXQgcHJvcGVybHkgYWZ0ZXIgZmx1c2hpbmcgaXMgZG9uZS4gRml4ZXMgcGxheWJhY2sKCSAgaW4gbWFueSBjYXNlcyB3aGVuIGJ1ZmZlcmluZyBpcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODIxCgoyMDE0LTA0LTA5IDA4OjU4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFByb3Blcmx5IHJldHVybiBzdHJlYW0gZmxhZ3Mgd2hlbiBwYXJzaW5nIHRyZXggYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODY3CgoyMDE0LTAzLTE5IDE5OjE4OjExICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogdXNlIHRoZSB2aWRlbyBmcmFtZSBBUEkgaW5zdGVhZCBvZiB0aGUgdmlkZW8gbWV0YSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjczOAoKMjAxNC0wMy0xOSAxODo0NzozOSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhZHZlcnRpemUgdmlkZW8gbWV0YSBBUEkgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NzM3CgoyMDE0LTA0LTA4IDExOjMxOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoIHN0YXRlbWVudAoJICBUaGUgY2FwcyBxdWVyeSBpcyBoYW5kbGVkIGVudGlyZWx5IGFscmVhZHkgYmVmb3JlLgoJICBDSUQgIzExMzk3NTcKCjIwMTQtMDQtMDYgMTg6MDM6MTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiB1c2UgU291cEtub3duU3RhdHVzQ29kZSBpZiBuZWVkZWQKCSAgRnJvbSBsaWJzb3VwIGRvY3M6CgkgIFByaW9yIHRvIDIuNDQgU291cFN0YXR1cyB3YXMgY2FsbGVkIFNvdXBLbm93blN0YXR1c0NvZGUsCgkgIGJ1dCB0aGUgaW5kaXZpZHVhbCB2YWx1ZXMgaGF2ZSBhbHdheXMgaGFkIHRoZSBuYW1lcyB0aGV5CgkgIGhhdmUgbm93LgoJICBGaXhlczoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMyOQoKMjAxNC0wNC0wNyAxMjo1ODoyMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB1c2UgZnJhbWVzLCBub3QgYnl0ZXMsIGZvciBwb3NpdGlvbiBxdWVyeSBpbiBWQlIgc3RyZWFtcwoJICBDb3Zlcml0eSAxMTM5NjQ4CgoyMDE0LTA0LTA3IDEyOjQyOjE0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogZml4IGNvcHkvcGFzdGUgZXJyb3IgY2F1c2luZyB1bm1hcCBvbiB3cm9uZyBidWZmZXIKCSAgQ292ZXJpdHkgMTEzOTY0NwoKMjAxNC0wNC0wNyAxMjoxNjoxNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGd1YXJkIGFnYWluc3QgZmluZGluZyBubyBzdWl0YWJsZSBwYXR0ZXJuCgkgIFRoZSBjb2RlIGhhbmRsZXMgYSAtMSBwYXR0ZXJuIGluZGV4LCBhbmQgaXQgc2VlbXMgcGxhdXNpYmxlCgkgIHRoYXQgYSBwYXR0ZXJuIG1pZ2h0IGJlIGZvdW5kIGxhdGVyLCBzbyBpdCBzZWVtcyBiZXN0IHRvIG5vdAoJICBzZW5kIGFuIGVsZW1lbnQgZXJyb3IgaGVyZS4KCSAgQ292ZXJpdHkgMTEzOTc2NgoKMjAxNC0wNC0wNCAxNzozODoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVwZGF0ZSBmb3IgbmV3IE1JS0VZIEFQSQoKMjAxNC0wNC0wMyAxNzo0MDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2VuZCBzZW5kZXIgU1NSQyBpbiB0aGUgTUlLRVkgbWVzc2FnZQoJICBBbGxvY2F0ZSBhIG5ldyBTU1JDIGZvciBvdXIgUlRDUCBtZXNzYWdlcyBiYWNrIHRvIHRoZSBzZXJ2ZXIgYW5kIHNldAoJICB0aGlzIGluIHRoZSBNSUtFWSBtZXNzYWdlLgoKMjAxNC0wNC0wMyAxNzozOTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2UgcmFuZG9tIG51bWJlciBmb3IgdGhlIENTQgoJICBBcyByZWNvbW1lbmRlZCBpbiB0aGUgUkZDCgoyMDE0LTAzLTI2IDEyOjEwOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcHV0IHNwYWNlcyBpbiBrZXltZ210IGhlYWRlcgoKMjAxNC0wMy0yNSAxNzo0Nzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogY3JlYXRlIGFuZCBzZW5kIHRoZSBSVENQIGVuY3J5cHRpb24ga2V5CgkgIENyZWF0ZSBhbmQgbWFrZSBhIGtleSBmb3IgZW5jcnlwdGluZyB0aGUgUlRDUCBwYWNrZXRzIGJhY2sgdG8gdGhlIHNlcnZlcgoJICBhbmQgd3JhcCB0aGlzIGluIGEgTUlLRVkgbWVzc2FnZSB0aGF0IHdlIHNlbmQgYXMgYSBoZWFkZXIgaW4gdGhlIFNFVFVQCgkgIHJlcXVlc3QuCgoyMDE0LTA0LTAzIDEyOjE4OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZnJlZSB0aGUgc3J0cGRlYyBlbGVtZW50CgoyMDE0LTA0LTAzIDEyOjE2OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2xlYW51cCBzdHJlYW1fZnJlZSBmdW5jdGlvbgoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gTlVMTCBhbGwgZmllbGRzLCB3ZSB3aWxsIGZyZWUgdGhlIHN0cmVhbSBhbnl3YXkuCgoyMDE0LTA0LTAzIDEyOjA3OjMxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGRlbW90ZSB3YXJuaW5nIHRvIGRlYnVnCgkgIEZvciBUQ1AsIGl0IGlzIG5vcm1hbCB0aGF0IHdlIGRvbid0IGhhdmUgdGltZXN0YW1wcyBzbyBkb24ndCBXQVJOIG9uCgkgIGl0LgoKMjAxNC0wMy0yOSAxOToxMzowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IEZpeCBzdXBwb3J0IGZvciBjYXBzIHdpdGhvdXQgd2lkdGgsIGhlaWdodCwgZnJhbWVyYXRlIG9yIGZvcm1hdAoJICBGb3IgZm9ybWF0IGxpa2UgbXBlZ3RzLCB3aWR0aCBhbmQgaGVpZ2h0IGlzIHJhcmVseSBpbiB0aGUgbmVnb3RpYXRlZCBjYXBzLiBUaGlzCgkgIHBhdGNoIGZpeGVzIGZhaWx1cmUgd2hlbiBzZXR0aW5nIGZvcm1hdCwgYW5kIHByZXZlbnQgaW50cm9kdWNpbmcgd2lkdGgsIGhlaWdodCwKCSAgZnJhbWVyYXRlIGFuZCBmb3JtYXQgdG8gdGhlIGNhcHMgd2hlbiBmaXhhdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTg2MAoKMjAxNC0wMy0zMSAxODozNDoxMyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBBbHdheXMgc2V0IFBUUz1EVFMgb24gcmF3IHZpZGVvIHN0cmVhbXMKCjIwMTQtMDMtMzEgMTg6MzE6MjIgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFsd2F5cyBzZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIG9uIHJhdyB2aWRlbyBzdHJlYW1zCgkgIFRoYXQgZmllbGQgaXMgbWFuZGF0b3J5IGluIGNhcHMgYW5kIGlmIGl0IGlzIG5vdCBwcmVzZW50IGluIHRoZQoJICBBVkkgY29udGFpbmVyLCBpdCBtZWFucyBzcXVhcmUgcGl4ZWxzIHRodXMgMS8xLgoKMjAxNC0wMy0zMCAwMDozNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBhZGQgbWFwcGluZyBmb3IgT3B1cyBhdWRpbwoJICBNaWdodCB3YW50IHRvIGNvbnNpZGVyIGFkZGluZyBjaGFubmVscy9yYXRlCgkgIHJlcXVpcmVtZW50IHRvIHRlbXBsYXRlIGNhcHMsIGJ1dCByZXF1aXJlcwoJICBmaXhpbmcgdXAgb2YgZW5jb2RlciBhbmQgcGFyc2VyIGZpcnN0LgoKMjAxNC0wMy0zMCAwMDozMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thLWRlbXV4OiBhZGQgbWFwcGluZyBmb3IgT3B1cyBhdWRpbyBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzA1CgoyMDE0LTAzLTI5IDE3OjIxOjE3IC0wNDAwICBXaWxsaWFtIE1hbmxleSA8d2lsbEB3aWxsaWFtbWFubGV5Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogRml4IHN1cHBvcnQgZm9yIG1wZWd0cyBzdHJlYW1zCgkgIEl0IHNlZW1zIHRoYXQgR1N0cmVhbWVyJ3MgbXBlZ3RzIGVsZW1lbnRzICh0c2RlbXV4LCB0c3BhcnNlKSByZXF1aXJlIGNhcHMKCSAgYHZpZGVvL21wZWd0cyxzeXN0ZW1zdHJlYW09dHJ1ZWAuICBBcyBmYXIgYXMgSSBjYW4gc2VlIHRoZSBzaWduaWZpY2FuY2UKCSAgb2Ygc3lzdGVtc3RyZWFtIGlzIHRvIGluZGljYXRlIHRoYXQgdGhpcyBpcyBhIGNvbnRhaW5lciBmb3JtYXQgcmF0aGVyIHRoYW4KCSAgYW4gZWxlbWVudGFyeSBzdHJlYW0uICBBcyB0aGlzIGlzIHRoZSBjYXNlIChhbmQgSSBjYW4ndCB1bmRlcnN0YW5kIGhvdyBpdAoJICBjb3VsZCBub3QgYmUgdGhlIGNhc2Ugd2l0aCBtcGVndHMpIEkgYWRkIHN5c3RlbXN0cmVhbT10cnVlIHRvIHY0bDJzcmMncwoJICBjYXBzLgoJICBUaGlzIGFsbG93cyB2NGwyc3JjIHRvIGJlIGxpbmtlZCB3aXRoIHRzZGVtdXggZm9yIHBsYXliYWNrIGZyb20gbXkKCSAgSGF1cHBhdWdlIEhELVBWUiB3aXRoIHRoZSBwaXBlbGluZToKCSAgdjRsMnNyYyAhIHF1ZXVlICEgdHNkZW11eCAhIHZpZGVvL3gtaDI2NCAhIGRlY29kZWJpbiAhIHh2aW1hZ2VzaW5rCgkgIEluIGNvbWJpbmF0aW9uIHdpdGggdGhlIG5leHQgY29tbWl0IHRoaXMgZml4ZXMgdXNpbmcgSGF1cHBhdWdlIEhELVBWUiB3aXRoCgkgIEdTdHJlYW1lciAxLjArLgoKMjAxNC0wMS0xNCAxNDo0ODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGF0dGVtcHQgdG8gZml4IGluZmluaXRlIChmb3Igc21hbGwgdmVyc2lvbiBvZiBpbmZpbml0ZSkgbG9vcAoKMjAxNC0wMy0yOSAxMzoyMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBtYW5hZ2VyOiBjb3B5IHN0aWNreSBldmVudHMgd2hlbiBleHBvc2luZyBwYWRzIGluIG1vcmUgcGxhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MTIKCjIwMTQtMDMtMjggMjA6MTE6MzYgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyOiBmaXggZGlzdGNoZWNrCgkgIE1ha2Ugc3VyZSBleHQvKi5oIGFyZSBkaXN0J2VkCgoyMDE0LTAzLTI3IDE5OjUxOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBvbmx5IGV4dHJhcG9sYXRlIGFscGhhIG1hc2sgZm9yIDMyLWJpdCBkZXB0aAoJICBJbnN0ZWFkIG9mIHBhc3NpbmcgYm9ndXMgYWxwaGEgbWFzayB2YWx1ZXMgd2hlbiB0aGVyZSdzIG5vIGFscGhhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODMzCgoyMDE0LTAzLTIxIDEzOjAzOjE3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEFkZCBBUkdCL0JHUkEgc3VwcG9ydAoKMjAxNC0wMy0yMCAxNToyODoyNiArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBqcGVncGF5OiBjb25zaWRlciBoZWFkZXIgbGVuIHdoZW4gY2FsY3VsYXRpbmcgcGF5bG9hZCBsZW4KCSAgRml4ZWQgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjc3NwoKMjAxNC0wMy0yNiAwODowMzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQWxsIGZyYW1lcyBhcmUgc3luYyBwb2ludHMKCjIwMTQtMDMtMjYgMDg6MDI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEFsbCBmcmFtZXMgYXJlIHN5bmMgcG9pbnRzCgoyMDE0LTAzLTIyIDE3OjA3OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2VnbWVudCBjbG9zaW5nIG5vdCBuZWVkZWQgaW4gMS54CgkgIC4uLiBhcyBzZW5kZXIgc2hvdWxkIGtlZXAgdHJhY2sgb2Ygc2VnbWVudCBiYXNlIGFjY3VtdWxhdGlvbi4KCSAgUmF0aGVyLCBpdCBtYXkgaGF2ZSBzb21lIGFkdmVyc2UgZWZmZWN0cyBhcyBhIHNwdXJpb3VzIHNlZ21lbnQgZXZlbnQsCgkgIGUuZy4gaW4gY29sbGVjdHBhZHMuCgoyMDE0LTAzLTIyIDE3OjA1OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZWFybHkgc2VuZGluZyBwZW5kaW5nIGNvZGVjLWRhdGEgZm9yIGFsbCBzdHJlYW1zCgkgIC4uLiBhdCBsZWFzdCBiZWZvcmUgc3luY2luZyBhY3Jvc3MgYWxsIHN0cmVhbXMgbWlnaHQgY2F1c2Ugc29tZSBnYXAKCSAgYWN0aXZpdHkgb24gYW55IG9mIHRob3NlIHN0cmVhbXMsIG5vdGFibHkgc3BhcnNlIHN0cmVhbXMuCgkgIFNlZSBhbHNvICM3MTIxMzQKCjIwMTQtMDMtMjIgMTc6MDE6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGhhbmRsZSBib3RoIHN0aWNreSBhbmQgbm9uLXN0aWNreSBjdXN0b20gZXZlbnQKCjIwMTQtMDMtMjUgMTE6NDQ6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IGV4cG9zZSBzdHJlYW1zIG9uIGRhdGFmbG93CgkgIE9ubHkgcHJvYmUgb24gYnVmZmVycywgd2UgZG9uJ3Qgd2FudCB0byBleHBvc2UgdGhlIHN0cmVhbXMgb24gZXZlbnRzLgoKMjAxNC0wMy0yNSAxMTozNjo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjb3B5IHN0aWNreSBldmVudHMgdG8gZ2hvc3RwYWQKCSAgV2hlbiB3ZSBleHBvc2UgaW50ZXJuYWwgcGFkcyBhcyBnaG9zdHBhZHMsIGZpcnN0IGNvcHkgdGhlIHN0aWNreSBldmVudHMKCSAgc28gdGhhdCB3ZSBoYXZlIHRoZSBjYXBzIGFuZCBzZWdtZW50IGV0Yy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcxMgoKMjAxNC0wMy0yNCAxNDoyNTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc3J0cCBoYW5kbGluZwoKMjAxNC0wMy0yNSAxMDoyMzowMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBTU1JDIG9uIGNhcHMgaWYga25vd24KCjIwMTQtMDMtMjQgMTY6NTg6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwdXQgY2FwcyBvbiB1ZHBzcmMgaW5zdGVhZCBvZiB1c2luZyB0aGUgc2lnbmFscwoJICBUcnkgdG8gYXZvaWQgdXNpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHRvIGdldCBjYXBzIGJ1dCBzZXQgdGhlbSBkaXJlY3RseQoJICBvbiB0aGUgdWRwc3JjIGVsZW1lbnQuIFRoYXQgd2F5LCB0aGUgY2FwcyBnZXQgbmljZWx5IHRyYW5zZm9ybWVkIGFzIHRoZXkKCSAgcGFzcyB0aHJvdWdoIHRoZSBkaWZmZXJlbnQgZWxlbWVudHMgaW4gdGhlIHJ0cGJpbiwgaW5jbHVkaW5nIHRoZSBBVVggYW5kCgkgIGRlY29kZXIvZW5jb2RlciBlbGVtZW50cy4KCjIwMTQtMDMtMjQgMTU6MzU6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgcHJvZmlsZSB0byBzZXQgcnRjcCBjYXBzCgkgIFVzZSB0aGUgbmVnb3RpYXRlZCBwcm9maWxlIHRvIHNldCB4LXJ0Y3Agb3IgeC1zcnRjcCBjYXBzCgoyMDE0LTAzLTI0IDE1OjM0OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IHVkcHNyYyB0byBSRUFEWQoJICBSRUFEWSBpcyBlbm91Z2ggdG8gYWxsb2NhdGUgcG9ydHMgbm93CgoyMDE0LTAzLTI0IDE0OjI1OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogaW1wcm92ZSBjYXBzIGhhbmRsaW5nCgkgIFByb3RlY3QgY2FwcyB3aXRoIHRoZSBsb2NrLgoJICBEb24ndCBwdXNoIHRoZSBjYXBzIGV2ZW50IGZyb20gdGhlIHNldF9wcm9wZXJ0eSBmdW5jdGlvbiBidXQgbWFyayB0aGUKCSAgcGFkIGZvciByZWNvbmZpZ3VyYXRpb24gc28gdGhhdCBpdCB3aWxsIHJlbmVnb3RpYXRlIGFuZCBwdXNoIHRoZSBuZXcKCSAgY2FwcyBldmVudCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTQtMDMtMjQgMTU6MTU6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBvcGVuL2Nsb3NlIHNvY2tldCBpbiBOVUxMPC0+UkVBRFkgc3RhdGUKCSAgV2Ugc2hvdWxkIG9wZW4gdGhlIHNvY2tldCB3aGVuIGdvaW5nIHRvIE5VTEw8LT5SRUFEWSBhbmQgbm90IGluIHRoZQoJICBzdGFydC9zdG9wIHZlbXRob2QsIHdoaWNoIGlzIGNhbGxlZCBpbiBSRUFEWTwtPlBBVVNFRC4gVGhpcyBtYWtlcyBpdAoJICBwb3NzaWJsZSB0byBhbGxvY2F0ZSBhIHNvY2tldCB3aXRob3V0IGdvaW5nIHRvIFBBVVNFRCAoYW5kIHN0YXJ0aW5nIHRoZQoJICBuZWdvdGlhdGlvbikuCgoyMDE0LTAzLTI0IDE0OjM1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZnJlZSBjYXBzIGluIHB0bWFwIGFycmF5CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY2OTYKCjIwMTQtMDMtMjAgMTE6MTI6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgTlVMTCBydHBtYXAgYW5kIHBhcnNlIGVycm9yIGJldHRlcgoKMjAxNC0wMy0xNiAyMzo0NjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRG9uJ3QgY2hlY2sgZm9yIGd1ZGV2IGlmIHZpZGVvNGxpbnV4MiBpcyBub3QgcHJlc2VudAoKMjAxNC0wMy0xNiAyMzoxOTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRG9uJ3QgZmFpbCBpZiBndWRldiBpcyBub3QgcHJlc2VudAoJICBQS0dfQ0hFQ0tfTU9EVUxFUyBoYXMgdGhlIGJhZCBoYWJpdCBvZiBmYWlsaW5nIHRoZSBidWlsZCBpZiBpdCBkb2Vzbid0CgkgIGdldCB3aGF0IGl0IHdhbnRzLCBwcmV2ZW50IHRoYXQuCgoyMDEyLTExLTAyIDEzOjMzOjEzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5oOgoJICB2NGwyOiBJbXBsZW1lbnQgR3N0RGV2aWNlTW9uaXRvciBzdWJjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDAyCgoyMDEzLTA4LTEyIDExOjQ5OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5oOgoJICBwdWxzZTogQWRkIGRldmljZSBtb25pdG9ycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDAyCgoyMDE0LTAzLTE2IDE5OjI0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogUmVtb3ZlIEdzdFByb3BlcnR5UHJvYmUgbGVmdG92ZXJzCgoyMDE0LTAyLTE5IDAzOjA0OjAzICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IFBvcnQgdG8gbmV3IGNvbGxlY3RwYWRzIEFQSQoJICBTZWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MDUKCjIwMTQtMDMtMTYgMTU6MjY6MDQgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2V4dC90eXBlcy1jb21wYXQuaDoKCSogc3lzL3Y0bDIvZXh0L3ZpZGVvZGV2Mi5oOgoJICB2NGwyOiBBZGQgdHlwZXMgY29tcGF0aWJsaXR5IGZvciBvdGhlciBPUwoJICBBZGRzIHR5cGUgY29tcGF0aWJsaXR5IHdpdGggb3RoZXIgT1MgbGlrZSBCU0QuIFRoaXMgdXNlcyB0eXBlcyBtYXBwaW5nIG1hY3JvIHRvCgkgIGF2b2lkIGNvbmZsaWN0IHdpdGggZXhpc3RpbmcgZGVmaW5lZCB0eXBlcy4gV2UgcmVzdXNlIGdsaWIgdHlwZXMgYXMgdGhlc2UgYXJlCgkgIGFscmVhZHkgYXZhaWxhYmxlIG9uIHN1cHBvcnRlZCBwbGF0Zm9ybXMuIFRoaXMgaXMgR0NDIG9ubHkgYmVjYXVzZSBvZiB0aGUKCSAgbGUzMiB0eXBlIHRoYXQgdXNlcyBiaXR3aXNlIGF0dHJpYnV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQ1MwoKMjAxNC0wMy0xNiAxNTo1NTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IGZpeCBmb3JtYXQgaW5mbyB0byBjYXBzIGNvbnZlcnNpb24gZm9yIG11bGF3CgoyMDEzLTA4LTEzIDEyOjEwOjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IE1ha2UgZ3N0X3B1bHNlX2Zvcm1hdF9pbmZvX3RvX2NhcHMoKSBzaGFyZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQwMgoKMjAxNC0wMy0xNSAxODo0MToxNiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB2NGwyOiBGaXggdHlwbyBWNExfRElSIGludGVhZCBvZiBWNEwyX0RJUgoKMjAxNC0wMy0xNSAxODowNTozMiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2NGwyLWJ1aWxkOiBTZXQgSEFWRV9HU1RfVjRMMiBpZiBoZWFkZXJzIGFyZSBwcmVzZW50CgkgIFRoZSBuYW1lIG9mIEhBVkVfIG5lZWQgdG8gbWF0Y2ggdGhlIFVTRV8uIE5vdyBzZXQgSEFWRV9HU1RfVjRMMiBpZgoJICB2aWRlb2RldjIuaCBpcyBmb3VuZC4KCjIwMTQtMDMtMTUgMTY6NDc6NTEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB2NGwyOiBBY3R1YWxseSBidWlsZCB0aGUgcGx1Z2luCgkgIFRoZSBjaGVja3Mgd2VyZSByZW1vdmVkIGluYWR2ZXJ0ZWRseSBpbiBwcmV2aW91cyBwYXRjaCBhbmQgbm90IHJlcGxhY2VkLgoJICBSZS1pbnRyb2R1Y2UgdGhlIGNvbmZpZ3VyZSBjaGVja3MgYW5kIHNvbWUgb2YgdGhlIGNoZWNrcyBpbiBvcmRlciB0byBlbmFibGUKCSAgdGhpcyBwbHVnaW4gYWdhaW4uIFdlIG9ubHkgY2hlY2sgaWYgdmlkZW9kZXYyLmggZXhpc3Qgb24gdGhlIHBsYXRmb3JtIHRvCgkgIGF2b2lkIGJ1aWxkaW5nIG9uIFdpbmRvd3Mgb3IgT1NYLCB0aG91Z2ggd2UgYnVpbGQgYWdhaW5zdCBvdXIgb3duIGNvcHkuIFRoaXMKCSAgd2FzIGJyZWFraW5nIHRoZSBidWlsZCBvbiBidWlsdC1ib3QuCgoyMDE0LTAzLTE1IDEzOjQ3OjQyICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHRyYW5zbGF0aW9uOiBQTyBmaWxlIGNoYW5nZXMgY2F1c2VkIGJ5IFBPVEZJTEUuaW4gdXBkYXRlCgoyMDE0LTAzLTE1IDEzOjE3OjIxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJICB2NGwyOiBSZW1vdmUgWFYgc3VwcG9ydAoJICBYViBzdXBwb3J0IGZvciB2NGwyIG5ldmVyIGJlY2FtZSB1cHN0cmVhbSBhbmQgZW5kZWQgdXAgYmVpbmcKCSAgY29tbWVudGVkIG91dCB3aXRoIGFuIHVuZGVmIGZvciBhIGxvbmcgdGltZSBub3cuCgoyMDE0LTAzLTE1IDExOjEzOjA1ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9leHQvdjRsMi1jb21tb24uaDoKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29udHJvbHMuaDoKCSogc3lzL3Y0bDIvZXh0L3ZpZGVvZGV2Mi5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB2NGwyOiBVc2UgYSBjb3B5IG9mIHZpZGVvZGV2Mi5oIGhlYWRlcgoJICBXaXRoIHllYXJzIHRoZSBhbW91bnQgb2YgaWZkZWYgaGF2ZSBncm93biB1cCBhbmQgd2UgYXJlIG5vdCBldmVuIHN1cmUgaWYgdGhlCgkgIG9sZCBjb2RlIHBhdGggY29tcGlsZXMuIEVhY2ggdGltZSB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgdjRsMiBmcmFtZXdvcmsgdG8gYWRkCgkgIHRoZSBuZXcgZmVhdHVyZSwgd2UgYnJlYWsgY29tcGlsYXRpb24gb24gb2xkZXIga2VybmVsLiBXaXRoIGV4Y2VwdGlvbiBvZiB0d28KCSAgY29udHJvbHMgaW4gdGhlIHZpZGVvIG9yaWVudGF0aW9uIGNvbnRyb2wsIHRoaXMgcGF0Y2ggZ2V0IHJpZCBvZiBhbGwgaWZkZWYgYnkKCSAgaW5jbHVkaW5nIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB2aWRlb2RldjIuaCBpbnNpZGUgR1N0cmVhbWVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDQ2CgoyMDE0LTAzLTEyIDE1OjMyOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBwcm9wZXJ0aWVzIGZvciBzZWxlY3RpbmcgU1NML1RMUyBjZXJ0aWZpY2F0ZSBjaGVja2luZwoJICBBbmQgYnkgZGVmYXVsdCBwcm9wZXJseSBjaGVjayBjZXJ0aWZpY2F0ZXMgYWdhaW5zdCB0aGUgc3lzdGVtJ3MgQ0EKCSAgY2VydGlmaWNhdGVzLiBFdmVyeXRoaW5nIGVsc2UgaXMgbm90IGEgZ29vZCBkZWZhdWx0IGF0IGFsbC4KCjIwMTQtMDMtMTEgMTQ6NTY6MzAgKzAxMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggYXNzZXJ0IG9uIGZwcyBsb3dlciB0aGFuIDEKCSAgRml4ZXMgYXNzZXJ0IGNhdXNlZCBieSBnc3RfZHVyYXRpb25fdG9fZnJhY3Rpb24gY2FsbGluZwoJICBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50IHdpdGggYSBkZW5vbWluYXRvciBvZiAwIHdoZW4gZnBzIGlzIGxlc3MKCSAgdGhhbiAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTA2CgoyMDE0LTAzLTExIDAwOjQ2OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBzdG9yZSB2aWRlbyBpbmZvIHdpdGggYnVmZmVycyB0byBrZWVwIGl0IGluIHN5bmMKCSAgSW5zdGVhZCB0aGUgcXVldWVkIGJ1ZmZlciBtaWdodCBoYXZlIGFuIG9sZCBjYXBzIHdoaWxlIHRoZSBwYWQKCSAgaXMgYWxyZWFkeSBzdG9yaW5nIHRoZSBpbmZvcm1hdGlvbiBmb3IgYSBuZXcgY2Fwcy4gTWl4aW5nIHRob3NlCgkgIHdoaWxlIGhhbmRsaW5nIGJ1ZmZlcnMgd2lsbCBvZnRlbiBsZWFkIHRvIGlzc3VlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1OTQ4CgoyMDE0LTAzLTA4IDE5OjI5OjU4IC0wNTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbEB3aWxsaWFtbWFubGV5Lm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogRml4IHR5cG8gY29udG9sIC0+IGNvbnRyb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTYzMgoKMjAxNC0wMy0wNCAwMToxNTo0OSArMDAwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IE5vcm1hbGlzZSBjb250cm9sIG5hbWVzIGluIHRoZSBzYW1lIHdheSBhcyB2NGwyLWN0bAoJICBWNEwyIGtlcm5lbCBkcml2ZXJzIGFsbG93IGNvbmZpZ3VyYXRpb24gb2YgdGhlIGhhcmR3YXJlIHNldHRpbmdzIHZpYSBhCgkgIG1lY2hhbmlzbSBjYWxsZWQgY29udHJvbHMuICBUaGVzZSBjYW4gYmUgcmVmZXJyZWQgdG8gYnkgbmFtZSBzdWNoIGFzCgkgICJCcmlnaHRuZXNzIiBhbmQgIldoaXRlIEJhbGFuY2UgVGVtcGVyYXR1cmUiLiAgVGhlIHVzZXItc3BhY2UgY29tbWFuZCBsaW5lCgkgIGNsaWVudCBmb3Igc2V0dGluZyB0aGVzZSBjb250cm9scyAodjRsMi1jdGwpIG5vcm1hbGlzZXMgdGhlc2UgbmFtZXMgc3VjaAoJICB0aGF0IHRoZXkgb25seSBjb250YWluIGxvd2VyIGNhc2UgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHRoZQoJICB1bmRlcnNjb3JlICdfJy4gIGUuZzoKCSAgS2VybmVsICAgICAgICAgICAgICAgICAgICAgdjRsMi1jdGwKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICBCcmlnaHRuZXNzICAgICAgICAgICAgICAgICBicmlnaHRuZXNzCgkgIFdoaXRlIEJhbGFuY2UgVGVtcGVyYXR1cmUgIHdoaXRlX2JhbGFuY2VfdGVtcGVyYXR1cmUKCSAgRm9jdXMgKGFic29sdXRlKSAgICAgICAgICAgZm9jdXNfYWJzb2x1dGUKCSAgR1N0cmVhbWVyIHNlZW1zIHRvIHdhbnQgdG8gZm9sbG93IHRoaXMgcGF0dGVybiBidXQgZmFpbGVkIGZvciBjb250cm9scyB3aXRoCgkgIG1vcmUgdGhhbiBvbmUgY29uc2VjdXRpdmUgbm9uLWFscGhhbnVtIGNoYXJhY3Rlci4gIGUuZy4gR1N0cmVhbWVyIHdvdWxkCgkgIHByb2R1Y2UgImZvY3VzX19hYnNvbHV0ZV8iIHJhdGhlciB0aGFuICJmb2N1c19hYnNvbHV0ZSIuCgkgIFRoaXMgY29tbWl0IGZpeGVzIHRoYXQgaXNzdWUuICBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBpcyBwcmVzZXJ2ZWQgYnkKCSAgbm9ybWFsaXNpbmcgYWxsIGNvbnRyb2wgbmFtZXMgYmVmb3JlIGNvbXBhcmlzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU2MzIKCjIwMTQtMDMtMDcgMTY6MTc6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogTWFrZSBzdXJlIHRvIG5vdCByZXR1cm4gRU9TIGltbWVkaWF0ZWx5IGlmIHdlIGZpbmlzaGVkIGEgcmFuZ2UgcmVxdWVzdAoJICBPbmx5IHJldHVybiBFT1MgdGhlIG5leHQgdGltZSBjcmVhdGUoKSBpcyBjYWxsZWQsIGlmIGF0IGFsbC4gYmFzZXNyYwoJICBzaG91bGQgYWxyZWFkeSB0YWtlIGNhcmUgb2Ygbm90IGNhbGxpbmcgaXQgYWdhaW4uCgkgIEFsc28gYWx3YXlzIHJldHVybiBpbW1lZGlhdGVseSBpZiB0aGUgcHJldmlvdXMgZmxvdyByZXR1cm4gd2FzCgkgIG5vdCBPSy4gVGhpcyBpbmRpY2F0ZXMgYW4gZXJyb3Igc29tZXdoZXJlLgoKMjAxNC0wMy0wNiAxMjowNjo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICBydHA6IFJlbW92ZSBjYXBzIHJlc3RyaWN0aW9ucyBmcm9tIFJUUCBkZXBheWxvYWRlciBzaW5rIGNhcHMKCSAgUmVtb3ZlIGNhcHMgcmVzdHJpY3Rpb25zIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgZGVmYXVsdCBhbmQgYXJlIG5vdAoJICByZXF1aXJlZCBpbiBTRFAuIFdpdGggdGhlIG5ldyB1c2FnZSBvZiBoYXZpbmcgcGFkcyByZXF1aXJlIGEgc3Vic2V0CgkgIG9mIHRoZSBjYXBzLCB0aGV5IHdpbGwgbWFrZSB0aGUgbmVnb3RpYXRpb24gZmFpbC4KCjIwMTQtMDMtMDYgMTE6MDI6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwc3BlZXhkZXBheTogUmVtb3ZlIGNhcHMgcmVzdHJpY3Rpb25zIGZvciBkZXBheWxvYWRlcgoJICBUaGUgImVuY29kaW5nLXBhcmFtcyIgaXMgb3B0aW9uYWwgaW4gdGhlIFNEUCwgYmVjYXVzZSB3ZSBub3cgcmVxdWlyZQoJICBhIHN1YnNldCBvZiB0aGUgY2FwcywgaXQgd291bGQgZmFpbCBjYXBzIG5lZ290aWF0aW9pbiBpZiBpdCB3YXNuJ3QgcHJlc2VudC4KCSAgU28gcmVtb3ZlZCBpdCBmcm9tIHRoZSB0ZW1wbGF0ZSBjYXBzLgoKMjAxNC0wMy0wNiAxMzozODowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBmb3JnZXQgdG8gcXVpdCBtYWlubG9vcCBhZnRlciB3ZSBjYW5jZWxsZWQgd2hlbiB3ZSBnb3QgZGF0YSBhZnRlciB0aGUgc3RvcCBwb3NpdGlvbgoKMjAxNC0wMy0wNiAxMzozNTo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJZiB3ZSBoYWQgYSBzdG9wIHBvc2l0aW9uLCBhbGxvdyBmb3IgdGhlIHNlcnZlciB0byBmaW5pc2ggb3VyIGNvbm5lY3Rpb24gaW5zdGVhZCBvZiBqdXN0IGNhbmNlbGxpbmcKCSAgT3RoZXJ3aXNlIGtlZXAtYWxpdmUgZG9lcyBub3QgbWFrZSBtdWNoIHNlbnNlIGFuZCBhbHNvIHRoZSBzZXJ2ZXIgd2lsbCBoYXZlCgkgIGNvbmZ1c2luZyB0aGluZ3MgaW4gdGhlIGxvZ3MuCgoyMDE0LTAzLTA2IDEyOjI0OjAxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBza2lwIHN0cmVhbXMgd2l0aCBzYW1lIGNvbnRyb2wgdXJsCgkgIEtlZXAgdHJhY2sgb2Ygd2hhdCBzdHJlYW1zIHdlIGRpZCB0aGUgU0VUVVAgZm9yLiBXZSBvbmx5IG5lZWQgdG8KCSAgY29uZmlndXJlIGNhcHMsIHdhaXQgZm9yIHBhZHMgYW5kIHB1c2ggZXZlbnRzIG9uIHNldHVwIHN0cmVhbXMuIFdlIGNhbgoJICByZW1vdmUgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBzdHJlYW0gYW5kIHNpbXBsaWZ5IHNvbWUgY2hlY2tzLgoJICBBZnRlciB3ZSBzZXR1cCBhIHN0cmVhbSwgc2tpcCB0aGUgb3RoZXIgc3RyZWFtcyB0aGF0IGhhdmUgdGhlIHNhbWUKCSAgY29udHJvbCB1cmwuIFVzZSBhIHNraXBwZWQgZmxhZyB0byBtYXJrIHN0cmVhbXMgdGhhdCBzaG91bGQgYmUgc2tpcHBlZC4KCjIwMTQtMDMtMDYgMTI6MjI6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgb2Jzb2xldGUgY29kZQoKMjAxNC0wMy0wNSAxNjoxOToxOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzoganVzdCB1c2UgdGhlIFNEUCBpbmRleCBhcyB0aGUgc3RyZWFtIGlkCgkgIFVzZSB0aGUgaW5kZXggb2YgdGhlIG1lZGlhIHN0cmVhbSBpbiB0aGUgU0RQIGFzIHRoZSBzdHJlYW0gaWQgaW5zdGVhZCBvZgoJICBrZWVwaW5nIGEgc2VwYXJhdGUgY291bnRlci4KCjIwMTQtMDMtMDUgMTM6MzU6MTkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlbzogZml4IGJ1aWxkIG9uIE1hYyBPU1ggTWF2ZXJpY2tzIGFuZCBwdXQgbmV3IHdpbmRvdyBpbiBmcm9udAoJICBHZXRDdXJyZW50UHJvY2Vzcy9TZXRGcm9udFByb2Nlc3MvVHJhbnNmb3JtUHJvY2Vzc1R5cGUgd2FzIGRlcHJlY2F0ZWQKCSAgYW5kIG5vdyByZW1vdmVkIGluIE1hYyBPU1ggMTAuOS4gb3JkZXJGcm9udFJlZ2FyZGxlc3MgaXMgdXNlZCB0byBtYWtlCgkgIHRoZSB2aWRlbyB3aW5kb3cgdGhlIG1vc3QgZnJvbnQgd2luZG93LgoKMjAxNC0wMy0wNSAxNzozMzo1NiArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW5nLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgQWRkIGRvY3MgZGlyZWN0b3J5IHRvIHNwZWMgZmlsZQoKMjAxNC0wMy0wNSAxNTo0NDoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBOVUxMIGNvbnRyb2wgdXJscyBiZXR0ZXIKCjIwMTQtMDMtMDUgMTQ6Mjg6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBzbWFsbCBjbGVhbnVwcwoJICBJdCdzIG5pY2VyIHRvIGV4cGxpY2l0bHkgY2hlY2sgZm9yIE5VTEwgb24gcG9pbnRlciB0eXBlcyB0byBtYWtlIGl0CgkgIGNsZWFyIHRoYXQgaXQncyBhIHBvaW50ZXIgYW5kIG5vdCBhIGJvb2xlYW4uCgoyMDE0LTAzLTA1IDE0OjI2OjAyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaGFuZGxlIHVua25vd24gU1NSQyBpbiBGSVIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTcxMgoKMjAxNC0wMy0wNSAxMTozOTowOSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzZWVraW5nCgkgIENhbGwgZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9mbHVzaCAoc3JjLCBGQUxTRSkgdG8gcmVzZXQgY29ubmVjdGlvbnMgYXMKCSAgbm9uLWZsdXNoaW5nIGJlZm9yZSBzZW5kaW5nIFBBVVNFIGFuZCBQTEFZIHdpdGggdGhlIG5ldyBucHQgcmFuZ2UuIFdpdGhvdXQgdGhpcwoJICBwYXRjaCwgdGhvc2UgY29tbWFuZHMgd291bGQgZmFpbCB3aXRoIEVJTlRSIGFzIHRoZSBjb25uZWN0aW9ucyB3ZXJlIHN0aWxsCgkgIGZsdXNoaW5nLgoKMjAxNC0wMy0wMyAxNjozOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGV4cG9zZSB4c3ViIGFzIGEgc3VidGl0bGUgaW5zdGVhZCBvZiBhcyBhIHZpZGVvCgkgIEl0IGlzIHBsYWNlZCBpbnNpZGUgYSAndmlkcycgc3RydWN0LCBzbyBpdCB3YXMgYmVpbmcgZXhwb3NlZCBvbgoJICBhIHBhZCBuYW1lZCB2aWRlb18lZC4gWFNVQiBhcmUgc3VidGl0bGVzIGFuZCB0aGlzIHBhdGNoIGFkZHMKCSAgYW4gc3BlY2lhbCBjYXNlIGZvciBpdCB0byBiZSBleHBvc2VkIGluIGEgc3VicGljdHVyZV8lZCBwYWQKCjIwMTQtMDMtMDMgMTY6Mzg6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG8gbm90IHRyeSB0byBhZGQgYSB0YWcgd2l0aCB0YWdfbmFtZSBzZXQgdG8gTlVMTAoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlcmUgYXJlIHN1YnRpdGxlcyBpbiB0aGUgc3RyZWFtLCBsZWFkaW5nIHRvCgkgIGFuIGFzc2VydGlvbgoKMjAxNC0wMy0wNCAxNjo0MDozNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIHBheWxvYWQgdHlwZXMKCSAgQSBtZWRpYSBzdHJlYW0gY2FuIGhhdmUgbXVsdGlwbGUgcGF5bG9hZCB0eXBlcy4gUGFyc2UgYWxsIHRoZSBwYXlsb2FkCgkgIHR5cGVzIGFuZCBjb2xsZWN0IHRoZSBjYXBzIGluZm9ybWF0aW9uLiBXZSB0aGVuIGhhdmUgdG8gc3RvcmUgdGhlCgkgIHB0PC0+Y2FwcyBtYXBwaW5nIGluc3RlYWQgb2YgMSBwdCBhbmQgMSBjYXBzLgoJICBQYXJzZSB0aGUgcHJvZmlsZSBmcm9tIHRoZSBTRFAgYW5kIHVzZSB0aGF0IHRvIG5lZ290aWF0ZSB0aGUgdHJhbnNwb3J0CgkgIGluc3RlYWQgb2YgYWx3YXlzIHVzaW5nIEFWUC4KCSAgUmV3b3JrIGhvdyB3ZSBkbyBzb21lIHR3ZWFrcyBmb3IgQVNGIGFuZCBSZWFsbWVkaWEuCgoyMDE0LTAzLTA0IDExOjM0OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVmYWN0b3IgcGF5bG9hZCBoYW5kbGluZwoKMjAxNC0wMy0wMyAxMTozNDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggYnVmZmVyIGxldmVsIHdpdGggaW52YWxpZCBEVFMKCSAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgRFRTIGlzIGludmFsaWQgKHdoZW4gd2UgcmVjZWl2ZSBSVFAgcGFja2V0cyBmcm9tCgkgIFRDUCwgZm9yIGV4YW1wbGUpLiBBcyBhIGZhbGxiYWNrLCB1c2UgdGhlIHJlY29uc3RydWN0ZWQgUFRTIHZhbHVlIHRvCgkgIGNhbGN1bGF0ZSB0aGUgYnVmZmVyIGxldmVsLgoKMjAxNC0wMy0wMiAwNToxMDoxMyArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIGdjb3YgaW50ZXJtZWRpYXRlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0ODAKCjIwMTQtMDItMjggMDk6MzQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZlMTY3MmUgdG8gYmNiMTUxOAoKMjAxNC0wMi0yNyAyMzoxNTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIFJldmVydCAiYWFjcGFyc2U6IHB1dCBjb2RlYyBkYXRhIG9uIGNhcHMgZm9yIGxvYXMgZm9ybWF0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU0NTljZjNlMDFhMDhmMWEzZWYxZmI5NTRhNDFjZmEzNmIzZTUxMGMuCgkgIFRoaXMgd2FzIHB1c2hlZCBieSBhY2NpZGVudCwgdGhlIGJ1ZyBzaG91bGQgbGlrZWx5IGJlIGZpeGVkIGluCgkgIGxpYmF2IGh0dHBzOi8vYnVnemlsbGEubGliYXYub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQKCjIwMTQtMDItMjcgMTg6NTU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBtYXJrIGFsbCBwYXJzZWQgZnJhbWVzIGFzIHN5bmMgcG9pbnRzCgkgIGFsbCBqcGVnIGZyYW1lcyBhcmUgc3luYyBwb2ludHMsIHNvIG1hcmsgdGhlbSBhcyBzdWNoIHNvCgkgIHJldmVyc2UgcGxheWJhY2sgY2FuIHByb3Blcmx5IHdvcmsgd2l0aCB0aGUgdmlkZW8gZGVjb2RlcgoJICBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMDQKCjIwMTQtMDItMjUgMDE6MTI6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcHV0IGNvZGVjIGRhdGEgb24gY2FwcyBmb3IgbG9hcyBmb3JtYXQKCSAgZ3N0LWxpYmF2IGF1ZGlvIGRlY29kZXIgYWxzbyBuZWVkcyBjb2RlYyBkYXRhIGZvciBMT0FTIGZvcm1hdCwgb3RoZXJ3aXNlCgkgIGl0IHdpbGwgY29tcGxhaW4gYWJvdXQgbm90IGhhdmluZyBhIGRlY29kZXIgY29uZmlnIGFuZCBza2lwIGFsbCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTY3NzIKCjIwMTQtMDItMjcgMDA6NDM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWxpZ24gcmF3IGF1ZGlvIG1lbW9yeSB0byBwb3dlcnMgb2YgdHdvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwMDgKCjIwMTQtMDItMjcgMDA6Mzc6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2FsY3VsYXRlIGFsaWdubWVudCBwcm9wZXJseSBmb3IgYXVkaW8gZGVwdGhzIG5vdCBhIG11bHRpcGxlIG9mIDgKCjIwMTQtMDItMjMgMTk6MDk6MjQgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGNyYXNoIHdpdGggMjQtYml0IHJhdyBhdWRpbwoJICBEbyBub3QgdHJ5IHRvIGFsaWduIGF1ZGlvIGJ1ZmZlcnMgdG8gb2RkIG51bWJlcnMsCgkgIHdoaWNoIHdpbGwgZ2V0IHVzIGEgTlVMTCBidWZmZXIgd2hpY2ggd2UgdGhlbgoJICBjcmFzaCBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTAwOAoKMjAxNC0wMi0yNyAwMDoxMTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBydHBtYW5hZ2VyOiByZS1lbmFibGUgLVdlcnJvcgoKMjAxNC0wMi0yNyAwMDoxMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbiBmdW5jdGlvbiAnZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3AnOgoJICBnc3RydHBqaXR0ZXJidWZmZXIuYzoyOTc4OjM6IGVycm9yOiAncmVzdWx0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgd2hpbGUgKHJlc3VsdCA9PSBHU1RfRkxPV19PSyk7CgkgIF4KCjIwMTQtMDItMjYgMjI6MTE6NDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFhMDdkYTkgdG8gZmUxNjcyZQoKMjAxNC0wMi0yNiAyMToxMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMjYgMDc6MzI6MzIgLTA1MDAgIEpha2UgRm95dGlrIDxqYWtlLmZveXRpa0BpcGNvbmZpZ3VyZS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBSZW1vdmUgcmF3IGNvbXBhcmlzb25zIG9mIFJUUCBzZXF1ZW5jZSBudW1iZXJzCgkgIFNldmVyYWwgY29uZGl0aW9uYWwgc3RhdGVtZW50cyBwZXJmb3JtIGNvbXBhcmlzb24gb24gUlRQIHNlcXVlbmNlCgkgIG51bWJlcnMgd2l0aG91dCB0YWtpbmcgdGhlIHNlcXVlbmNlIG51bWJlciByb2xsb3ZlciBpbnRvIGFjY291bnQuCgkgIEluc3RlYWQsIHVzZSB0aGUgZ3N0X3J0cF9idWZmZXJfY29tcGFyZV9zZXFudW0gZnVuY3Rpb24gdG8gcGVyZm9ybSB0aGUKCSAgY29tcGFyaXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTE1OQoKMjAxNC0wMi0wMyAwMTo0NDoyMSArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBEb24ndCBidWlsZCBkaXNhYmxlZCBwbHVnaW5zJyBjaGVjayB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTAyCgoyMDE0LTAyLTI2IDExOjI5OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgZG9jczogaW5zdGFsbCBwcmVidWlsdCBwbHVnaW4gZG9jcyBpZiBndGstZG9jIGlzIGRpc2FibGVkCgkgIFN5bmMgdG8gdGhlIE1ha2VmaWxlLmFtIGZyb20gZ3N0LXBsdWdpbi1iYXNlIHdoZXJlIGl0IGlzIGRvbmUgcmlnaHQuCgkgIEZpeGVzICM3MjUwMzQKCjIwMTQtMDItMjUgMTY6MTA6NTQgLTA1MDAgIEh1Z3VlcyBGcnVjaGV0IDxodWd1ZXMuZnJ1Y2hldEBzdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGRvIG5vdCBlbWl0ICJwYXJzZWQiIGNhcHMgZm9yIHZwOAoJICBWUDggZG9lc24ndCByZXF1aXJlIHBhcnNpbmcgKHZwOHBhcnNlIGRvZXNuJ3QgZXhpc3QsIHNvIG5lZ290aWF0aW9uIHdpdGggZGVtdXggZmFpbHMKCSAgaWYgInBhcnNlZCIgaXMgc2V0IGluIGNhcHMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NjM2CgoyMDE0LTAyLTExIDE2OjI3OjA4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IERvbid0IHJlcXVpcmUgcGFyc2VyIGZvciBWUDgKCSAgVW50aWwgR1N0cmVhbWVyIGhhcyBvbmUgKHNlZSBidWc3MjI3NjApLCB3ZSBzaG91bGQgbm90IHJlcXVpcmUgYSBwYXJzZXIgZm9yIFZQOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxNC0wMi0xMCAxNzowODoyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBDQVBUVVJFX01QTEFORSBpcyB3ZWxsIHRlc3RlZCBub3cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxMy0xMi0xOCAwOTo1NjozNSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDJ2aWRlb2RlYzogQ3JlYXRlIG9uZSBlbGVtZW50IHBlciBkZXZpY2UKCSAgRm9yIGVhY2ggdmlkZW9DZGV2aWNlIHByb2JlIGl0IGlucHV0L291dHB1dCBjYXBhYmlsaXRpZXMKCSAgaWYgaXQgbWF0Y2ggd2l0aCB2aWRlbyBkZWNvZGVyIHJlcXVpcmVtZW50IHJlZ2lzdGVyIGEgbmV3IGVsZW1lbnQuCgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDEzLTEyLTE5IDE1OjI2OjUyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2FsY3VsYXRlIGxhdGVuY3kgZnJvbSBkZXZpY2UgaW5mb3JtYXRpb24KCSAgRGVjb2RlcnMgb3Igb3RoZXIgZGV2aWNlcyB0aGF0IGV4cG9zZSBhIG1pbmltdW0gYnVmZmVycyByZXF1aXJlZCBwcm9kdWNlCgkgIGFuIGZpcnN0IG91dHB1dC4gV2UgdXNlIHRoaXMgaW5mb3JtYXRpb24gdG8gY2FsY3VsYXRlIGxhdGVuY3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTMtMTEtMjggMTc6MTQ6MTggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwydmlkZW9kZWM6IEltcGxlbWVudCB2NGwydmlkZW9kZWMKCSAgSW1wbGVtZW50IGFuIGVsZW1lbnQgdGhhdCBjYW4gZHJpdmVyIFY0TDIgTTJNIGRlY29kZXIgZGV2aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDE0LTAyLTExIDEyOjQxOjI5ICswMTAwICBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogb25seSB1cGRhdGUgbGFzdF9zcHNwcHMgdGltZSBpZiBhbGwgc3BzL3BwcyBnb3Qgc2VudCBzdWNjZXNzZnVsbHkKCSAgVGhpcyBmaXhlcyBhbiBpc3N1ZSB3aXRoIGdzdC1ydHNwLXNlcnZlciB3aGVyZSBubyBzcHMgYW5kIHBwcyBhcmUKCSAgc2VudCBmb3IgdGhlIGZpcnN0IGludHJhIGZyYW1lLCBiZWNhdXNlIHRoZSBwYXlsb2FkZXIgc3RhcnRzIHdvcmtpbmcKCSAgYWxyZWFkeSB3aGVuIHJlY2VpdmluZyBERVNDUklCRSBidXQgdGhlcmUgaXMgbm8gdHJhbnNwb3J0cyBzbyBpdCB0cmllcwoJICB0byBzZW5kIHNwcyBhbmQgcHBzLCBidXQgdGhhdCBmYWlscyB3aXRoIGEgRkxVU0hJTkcgZmxvdy4gQnV0IHRoZSB0aW1lCgkgIGZvciBsYXN0IHNlbnQgc3BzIGFuZCBwcHMgd291bGQgc3RpbGwgYmUgc2V0LCBzbyB3aGVuIFBMQVkgYXJyaXZlcyBhbmQKCSAgdGhlIGZpcnN0IGludHJhIGZyYW1lIGlzIHRvIGJlIHNlbnQgdGhlcmUgaXMgbm8gc3BzIGFuZCBwcHMgc2VudCBkdWUgdG8KCSAgdGhhdCB0aW1lIHNpbmNlIGxhc3Qgc3BzIHBwcyBpcyBsZXNzIHRoYW4gc3BzcHBzX2ludGVydmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MjEzCgoyMDE0LTAyLTI1IDA5OjAwOjQ1ICswMTAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGRlYWRsb2NrIHdoZW4gdGFzayBjcmVhdGlvbiBpcyBubyBzdWNjZXNzZnVsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMjQKCjIwMTQtMDItMjIgMjA6MTk6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IGRlbW90ZSBjYW5kaWRhdGUgZXJyb3IgdG8gd2FybmluZyBhbmQgcGx1ZyBmYWtle3Npbmssc3JjfQoJICBJbiB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIG5vIHN1aXRhYmxlIGNhbmRpZGF0ZSB3ZSBwb3N0IGEgd2FybmluZyBhbmQgcGx1ZyBhCgkgIGZha2UtZWxlbWVudC4gRG8gdGhlIHNhbWUgd2hlbiBub24gb2YgdGhlIGNhbmRpZGF0ZSB3b3JrLgoJICBUaGlzIGlzIG1vcmUgY29uc2lzdGVudCBhbmQgcGx1Z2luIHRoZSBmYWtlc2luayBhcyBhIGZhbGxiYWNrIGlzIHByb2JhYmx5CgkgIGhlbHBmdWwgZm9yIHJ1bm5pbmcgdW5pdCB0ZXN0cyB3aXRob3V0IHJlcXVpcmluZyBoYXJkd2FyZSBzcmMvc2luayBlbGVtZW50cy4KCSAgRml4ZXMgIzcyMjk4MQoKMjAxNC0wMi0yMyAxMjozNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IG1ha2Ugc29tZSBtb3JlIGNvbnRyb2xzIGNvbmZpZ3VyYWJsZQoJICAuLi4gYXQgbGVhc3QgaWYgb25lIHRyaWVzIGhhcmQgZW5vdWdoIHVzaW5nIGV4dHJhLWNvbnRyb2xzIHByb3BlcnR5LgoKMjAxNC0wMi0yMyAxMDozOToyMCArMDEwMCAgRGFuIEtlZ2VsIDxkYW5rQGtlZ2VsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdjRsMjogUmVxdWlyZSBtcGxhbmFyIHN1cHBvcnQgZm9yIG5vdyBpbiBjb25maWd1cmUKCSAgVGhlIGNvZGUgZmFpbHMgdG8gY29tcGlsZSB3aXRob3V0IGN1cnJlbnRseSwgc2VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM0NDYKCSAgSXQncyBiZXR0ZXIgdG8gZGlzYWJsZSBpdCBpbnN0ZWFkIG9mIGZhaWxpbmcgY29tcGlsYXRpb24KCSAgdW50aWwgdGhpcyBpcyBmaXhlZCBwcm9wZXJseS4KCjIwMTQtMDItMjMgMDA6MTQ6MDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgamFjazogYWRkIHNvbWUgc2ltcGxlIGxvZyBoYW5kbGVycyBmb3IgamFjawoJICBBZGQgbG9nIGhhbmRsZXJzIGZvciBqYWNrIHRoYXQgd3JpdGUgdG8gdGhlIGdzdCBkZWJ1ZyBsb2cuIFRoaXMgYXZvaWRzIHNwYW1taW5nCgkgIHRoZSBjb25zb2xlIHdoZW4gZS5nLiB1c2luZyBhdXRvYXVkaW9zaW5rLCBoYXZpbmcgdGhlIGphY2sgZWxlbWVudHMgaW5zdGFsbGVkLAoJICBidXQgbm90IHJ1bm5pbmcgamFjay4KCjIwMTQtMDItMjIgMjE6MzE6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogaGFuZGxlIG9sZCBhbmQgb2RkIGRyaXZlciBiZWhhdmlvdXIgd2hlbiBsaXN0aW5nIGNvbnRyb2xzCgoyMDEzLTExLTI4IDE2OjU0OjU4IC0wODAwICBEYXJyeWwgR2Ftcm90aCA8ZGdhbXJvdGhAdXZpYy5jYT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlaWlyZmlsdGVyOiBjaGVjayBpZiBjb2VmZmljaWVudHMgYXJlIHByb3ZpZGVkIGluc2lkZSBmaWx0ZXIgbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTI0CgoyMDE0LTAyLTIxIDE5OjQ2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnNyYzogYWxzbyB1bnNldCBJTlRFUkxBQ0VEIGZsYWcgb24gYnVmZmVycyBpZiBmcmFtZSBpcyBub3QgaW50ZXJsYWNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODk5CgoyMDE0LTAyLTIxIDE0OjMxOjU5ICswMDAwICBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IEZsYWcgaW50ZXJsYWNlZCBidWZmZXJzIGFzIGludGVybGFjZWQuCgkgIFdlIGNvcnJlY3RseSBpbmRpY2F0ZSB0aGUgZmllbGQgb3JkZXJpbmcgb24gaW50ZXJsYWNlZCBidWZmZXJzLCBidXQgZmFpbCB0bwoJICBmbGFnIHRoZW0gYXMgY29udGFpbmluZyBpbnRlcmxhY2VkIHZpZGVvLCB3aGljaCB3ZSBuZWVkIHRvIGRvIGhlcmUgYmVjYXVzZQoJICB3ZSBzaWduYWwgaW50ZXJsYWNlLW1vZGU9bWl4ZWQgaW4gb3VyIGNhcHMuIFRoaXMgbWVhbnMgdGhhdCBkb3duc3RyZWFtCgkgIGVsZW1lbnRzIChsaWtlIHZhYXBpcG9zdHByb2MgZnJvbSBnc3RyZWFtZXItdmFhcGkpIGRvbid0IHJlY29nbmlzZSB0aGVzZQoJICBidWZmZXJzIGFzIGluIG5lZWQgb2YgZGVpbnRlcmxhY2luZy4KCSAgRml4IHRoaXMgYnkgc2V0dGluZyB0aGUgaW50ZXJsYWNlZCBmbGFnIG9uIGFsbCBpbnRlcmxhY2VkIGJ1ZmZlcnMuCgkgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODk5CgoyMDE0LTAyLTE5IDEzOjU2OjM3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGJlIG1vcmUgc3RyaWN0IGF0IEFEVFMgaGVhZGVyIHBhcnNpbmcKCSAgQWRkcyB0d28gZXh0cmEgY2hlY2tzOgoJICAtIFNhbXBsaW5nIGZyZXF1ZW5jeSBvbiBoZWFkZXIgY2FuJ3QgYmUgMTUuCgkgIC0gRnJhbWUgc2l6ZSBzaG91bGQgYmUgYXQgbGVhc3QgOSBvciA3LCBkZXBlbmRpbmcKCSAgb24gd2hldGhlciBDUkMgcHJvdGVjdGlvbiBpcyBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NjM4CgoyMDE0LTAyLTE5IDEzOjM1OjU5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1ha2Ugc3VyZSB3ZSBoYXZlIGVub3VnaCBBRFRTIGRhdGEKCSAgV2UgbmVlZCBhdCBsZWFzdCA2IGJ5dGVzIHRvIHBhc3Mgb3ZlciB0byBfZ2V0X2ZyYW1lX2xlbigpCgkgIGJ1dCB3ZSB3ZXJlIGp1c3QgY2hlY2tpbmcgZm9yIGEgbWluaW11bSBvZiAyIGJ5dGVzIGZvciB0aGUKCSAgc3luY3dvcmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ2MzgKCjIwMTQtMDItMjAgMjI6NTI6NTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSAgYXV0b2RldGVjdDogY2hlY2sgaWYgdGhlIGtpZCBoYXMgYSBzeW5jIHByb3BlcnR5CgkgIHByZXZpb3VzbHkgYXV0b3ZpZGVvc3JjIGRpZCBub3QgaGF2ZSBhIHN5bmMgcHJvcGVydHkgYW5kIHY0bDJzcmMgaGFzIG5vbmUgZWl0aGVyLgoKMjAxNC0wMi0xOSAyMTo1NTo1MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5oOgoJICBhdXRvZGV0ZWN0OiB1c2UgYSBjb21tb24gYmFzZWNsYXNzCgkgIFRoaXMgbWFrZXMgdGhlIGFjdHVhbCBlbGVtZW50cyBzdXBlciBzaW1wbGUuIFdlJ3JlIHVzaW5nIHRoZSBFTEVNRU5UX0ZMQUcgdG8KCSAgY29uZmlndXJlIHNvdXJjZS9zaW5rIGFuZCBhIHN0cmluZyBmb3IgdGhlIEF1ZGlvL1ZpZGVvIHR5cGUuCgoyMDE0LTAyLTE0IDE3OjE0OjQyIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgdGxzLWRhdGFiYXNlIHByb3BlcnR5CgkgIEFkZCBzdXBwb3J0IGZvciBhIG5ldyBwcm9wZXJ0eTogdGxzLWRhdGFiYXNlLiBJZiB0aGUgcHJvcGVydHkgaXMgc2V0LAoJICB0aGUgY2VydGlmaWNhdGUgZGF0YWJhc2Ugd2lsbCBiZSBnaXZlbiB0byB0aGUgcnRzcCBjb25uZWN0aW9uIGlmIFRMUwoJICBwcm90b2NvbCBpcyBiZWluZyB1c2VkLiBJZiB0aGUgc2VydmVyIGNlcnRpZmljYXRlIGNhbid0IGJlIHZlcmlmaWVkIHdpdGgKCSAgdGhlIGRlZmF1bHQgZGF0YWJhc2UsIHRoaXMgYWRkaXRpb25hbCBkYXRhYmFzZSB3aWxsIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQzOTYKCjIwMTQtMDItMTkgMjI6MjE6NTQgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW86IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE0LTAyLTE5IDIxOjI2OjAzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IGV4dHJhY3QgY29tbW9uIGhlbHBlciBjb2RlCgkgIFRoZSBmdW5jdGlvbiB0byBnZW5lcmF0ZSB0aGUgcHJldHR5IG5hbWVzIGlzIGJhc2ljYWxseSB0aGUgc2FtZS4gVXNlIG9uZSBhbmQgYWRkCgkgIGEgcGFyYW1ldGVyLgoKMjAxNC0wMi0xOSAyMTowMTozOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IGltcHJvdmUgdGhlIHRlc3RzCgkgIEFkZCBmYWtlIGF1ZGlvL3ZpZGVvIHNpbmtzLiBQcmV2aW91c2x5IHJ1bm5pbmcgdGhlIHRlc3QgbWlnaHQgYmUgZmxha3kgZHVlIHRvCgkgIHRoZSB1c2Ugb2YgcmVhbCBlbGVtZW50cyAoaGFyZHdhcmUgaW4gdXNlKSwgd2hpY2ggd2UgZG9uJ3Qgd2FudCB0byB0ZXN0IGhlcmUuCgkgIEFkZCB0d28gbW9yZSB0ZXN0cyB0aGF0IGNoZWNrIHRoYXQgdGhlIGZha2VzIGFyZSBjaG9zZW4uCgoyMDE0LTAyLTE5IDE1OjE5OjMwICswMTAwICBCcmFuaXNsYXYgS2F0cmVuaWFrIDxia2F0cmVuaWFrQG51dm90ZWNobm9sb2dpZXMuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGRvIG5vdCBlbWl0IGVycm9yIHdoZW4gY29ubmVjdGlvbiB3aXRoIHVua25vd24gc2l6ZSBlbmRzCgkgIENvbW1pdCA0NmZkMTJhZTVlYzUzMjAwYjE2ZGZkN2YxNzA0OGQ2YmM2MGZiZmJjIGludHJvZHVjZWQgY29ubmVjdGlvbgoJICByZWNvdmVyeS4gQnV0IHdoZW4gc2VydmVyIGRvZXMgbm90IHNwZWNpZnkgY29udGVudC1zaXplLAoJICBzb3VwaHR0cHNyYyB0cmllcyB0byByZWNvbm5lY3QgZXZlbiBhZnRlciByZWd1bGFyIGVuZCBvZiBzdHJlYW0uCgkgIEh0dHAgc2VydmVyIHJlcGxpZXMgIHdpdGggU09VUF9TVEFUVVNfUkVRVUVTVEVEX1JBTkdFX05PVF9TQVRJU0ZJQUJMRQoJICBidXQgc291cGh0dHBzcmMgc3RpbGwgZW1pdHMgZXJyb3IgaW5zdGVhZCBvZiBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MTcKCSAgU2lnbmVkLW9mZi1ieTogQnJhbmlzbGF2IEthdHJlbmlhayA8YmthdHJlbmlha0BudXZvdGVjaG5vbG9naWVzLmNvbT4KCjIwMTQtMDItMTkgMTE6MjY6MjIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IGZpeCB0aGUgZGlzYWJsZWQgdGVzdAoJICBVc2UgYSBzaGFyZWQgaGVscGVyIGZvciBib3RoIHRlc3RzLiBJdCB0dXJucyBvdXQgdGhhdCB0aGUgdmFsZ3JpbmQgdmFyaWFudCBpcwoJICBmaW5lIChtYXliZSBkdWUgdG8gcGlja2luZyB1cCBwdWxzZXNpbmsgdGhvdWdoKS4KCjIwMTQtMDItMTkgMTE6MDU6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IHJlbW92ZSBjcnVmdCBmcm9tIHRoZSB0ZXN0CgkgIFJlbW92ZSB0aGUgb2Jzb2xldGUgdmVyc2lvbiBjaGVjayBhbmQgdXNlIHRoZSBpZ25vcmUgbWFjcm8gZm9yIHRoZSBkaXNhYmxlZCB0ZXN0LgoKMjAxNC0wMi0xOCAyMjo1NDo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgZG9jczogdXNlIGRvY2Jvb2sgbWFya3VwIGZvciB4aTppbmNsdWRlCgkgIEl0IHR1cm5zIG91dCB0aGF0IHRoZSBjaGFuZ2UgaW4gZ3RrLWRvYy0xLjIwIHdoaWNoIHdyYXBzIHRoZSB8W118IGNvbnRlbnQgaW4KCSAgQ0RBVEEgYnJlYWsgeGk6aW5sY3VkZSBleGFtcGxlcy4gQXMgaW4gYSB3aG9sZSBqaGJ1aWxkIGNoZWNrb3V0IHRoZXNlIHdoZXJlCgkgIHRoZSBvbmx5IDQsIHdlJ3JlIGZpeGluZyB0aGVtIGluc3RlYWQuCgoyMDE0LTAyLTE4IDIyOjM1OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuaDoKCSAgaXNvbXA0bXV4OiBmaXggY29weSBhbmQgcGFzdGUKCSAgVGhpcyBmaXhlcyBkb2Mgd2FybmluZ3MuCgoyMDE0LTAyLTE4IDIxOjQ0OjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIGRvY3M6IHVzZSB0aGUgZ3RrLWRvYyBzeW50YXggdG8gbGluayB0byBwcm9wZXJ0aWVzCgkgIERvbid0IHVzZSBkb2Nib29rIHVubGVzcyBuZWVkZWQuIEFsc28gc3RpcCBvdGhlciBkb2Nib29rIHRhZ3MgaW4gdGhlIHRoZSBmaWxlcyB3ZSBmaXguCgoyMDE0LTAyLTE4IDExOjI4OjE4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBjcmFzaCB3aGVuIGdldHRpbmcgdGhlIGN1cnJlbnQtZGV2aWNlIGluIE5VTEwtPlJFQURZCgkgIFRoZSAiZ290byB1bmxvY2siIGlzIHdyb25nIGFzIGluIHRoaXMgY29kZSBwYXRoIHdlIGhhdmVuJ3QgdGFrZSB0aGUgbG9jayB5ZXQuCgkgIEZpeGVzICM3MjQ2MTkKCjIwMTQtMDItMTQgMjI6NTA6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdXA6IFdlIG5lZWQgbGlic291cCA+PSAyLjQwIGZvciBwcm9wZXIgdXNhZ2Ugb2YgdGhlIGNvbnRlbnQgZGVjb2RlcgoJICBQcmV2aW91cyB2ZXJzaW9ucyBkaWQgbm90IGNvbnNpZGVyIG91ciBjaHVuayBhbGxvY2F0b3IgYW5kIGFsbG9jYXRlZAoJICBtZW1vcnkgYnkgdGhlbXNlbHZlcywgd2hpY2ggY2F1c2VkIGNyYXNoZXMgYW5kIGJyb2tlbiBiZWhhdmlvdXIuCgoyMDE0LTAyLTE0IDE1OjI3OjIwIC0wNTAwICBXaWxsaWFtIEpvbiBNY0Nhbm4gPHdpbGxpYW0uam9uLm1jY2FubkBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBkb2NzOiBmaXggbWlzbWF0Y2hlZCBwYXJhIHRhZ3MKCSAgbmV3ZXIgZ3RrZG9jIGlzIG1vcmUgc2Vuc2l0aXZlIHRvIG1pc21hdGNoZWQgZG9jYm9vayB0YWdzLgoJICBUaGlzIGZpeGVzIHRoZSBidWlsZCBpbiBtYXN0ZXIuCgoyMDE0LTAyLTE0IDE1OjU5OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkZCBzdXBwb3J0IGZvciBzZXJpYWxpemVkIHF1ZXJpZXMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4NTAKCjIwMTQtMDItMTQgMTU6NTM6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGZpeCB0eXBlY2FzdCB0byBmaXggY29tcGlsYXRpb24KCjIwMTQtMDItMTQgMTI6MDE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBwcm94eSBjYXBzIGFuZCBhbGxvY2F0aW9uIG9uIFJUUCBwYWRzCgkgIHJlY3ZfcnRwX3Npbms6IGFsbG93IHByb3h5aW5nIG9mIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5LgoJICBzZW5kX3J0cF9zaW5rOiBhbGxvdyBwcm94eWluZyBvZiBjYXBzIGFuZCBhbGxvY2F0aW9uLiBUaGlzIGFsbG93cyB1cyB0bwoJICBxdWVyeSBjYXBzIGRvd25zdHJlYW0gYXMgd2VsbCBhcyBnZXQgYW4gYWxsb2NhdG9yIGZyb20gZG93bnN0cmVhbS4KCSAgc2VuZF9ydHBfc3JjOiBhbGxvdyBwcm94eSBvZiBjYXBzLCB0aGlzIG1ha2VzIHRoZSBjYXBzIHF1ZXJ5IGRvCgkgIHVwc3RyZWFtLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzg1MAoKMjAxNC0wMi0xMyAxMjoyOToxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIHRhZ3MgaW4gbWFjIGVuY29kaW5nCgkgIENoZWNrIHRoZSBjaGFyc2V0IGZyb20gKEMpKioqIHRhZ3MgYW5kIHNldCB0aGUgY2hhcnNldAoJICB0byBjb252ZXJ0IGZyb20gTUFDIGVuY29kaW5nIGlmIHN1aXRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTY2CgoyMDE0LTAyLTEzIDEyOjA5OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFVzZSBuZXcgYXV0b21hdGljX2VvcyBBUEkgZnJvbSBiYXNlc3JjCgkgIFdlIHdhbnQgdG8gbm90aWNlIG91cnNlbHZlcyB0aGF0IHdlJ3JlIEVPUy4gT3RoZXJ3aXNlIHdlIHdpbGwKCSAgYWx3YXlzIGNhbmNlbCByZXF1ZXN0cyBpbiB0aGUgdmVyeSBlbmQgYW5kIGNvbmZ1c2UgdGhlIHNlcnZlci4uLgoJICBhbmQgYWxzbyBtYWtlIGl0IGltcG9zc2libGUgdG8gdXNlIHBlcnNpc3RlbnQgY29ubmVjdGlvbnMuCgoyMDE0LTAyLTEzIDExOjExOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IENvbnNpc3RlbnRseSB1c2UgaGF2ZV9zaXplIGluc3RlYWQgb2YgY29udGVudF9zaXplIT0wCgoyMDE0LTAyLTEzIDEwOjMwOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZyZWUgZXh0cmEgaGVhZGVycyB3aGVuIGZpbmFsaXppbmcgdGhlIGVsZW1lbnQKCSAgSXQncyBzZXQgYXMgcHJvcGVydHkgYnkgdGhlIGFwcGxpY2F0aW9uLCB3ZSBzaG91bGQgbm90IGp1c3QgcmVzZXQKCSAgcHJvcGVydGllcyB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkuCgoyMDE0LTAyLTEzIDEwOjI4OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFByb3Blcmx5IGNsb3NlIHRoZSBzZXNzaW9uIHdoZW4gZ29pbmcgYmFjayB0byBOVUxMCgkgIERvbid0IHdhaXQgZm9yIHRoYXQgdW50aWwgdGhlIGVsZW1lbnQgaXMgZGlzcG9zZWQuCgoyMDEzLTAyLTI4IDEyOjIwOjUyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFkZCBzdXBwb3J0IGZvciBrZWVwLWFsaXZlIHNlc3Npb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjYKCjIwMTQtMDItMTIgMTM6MDA6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkICJjb21wcmVzcyIgcHJvcGVydHkgdG8gZW5hYmxlL2Rpc2FibGUgYXV0b21hdGljIGd6aXAvZGVmbGF0ZSBjb250ZW50IGVuY29kaW5nIGhhbmRsaW5nCgoyMDE0LTAyLTEyIDEyOjM5OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFJldHJ5IGNvbm5lY3Rpb24gaWYgd2UncmUgZmluaXNoZWQgYmVmb3JlIHRoZSBjb250ZW50IHNpemUgb25seSBpZiB3ZSBhY3R1YWxseSBoYXZlIGEgY29udGVudCBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxODUKCjIwMTQtMDItMTIgMTA6MDg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwdXRpbHMuYzoKCSAgc291cHV0aWxzOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3Rzb3VwdXRpbHMuYzozNToyNTogZXJyb3I6IGNvbXBhcmlzb24gb2YgY29uc3RhbnQgOSB3aXRoIGV4cHJlc3Npb24gb2YgdHlwZQoJICAnU291cExvZ2dlckxvZ0xldmVsJyBpcyBhbHdheXMgZmFsc2UKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29uc3RhbnQtb3V0LW9mLXJhbmdlLWNvbXBhcmVdCgoyMDE0LTAxLTA3IDIzOjAwOjU2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSogZXh0L3NvdXAvZ3N0c291cHV0aWxzLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXB1dGlscy5oOgoJICBzb3VwaHR0cCo6IGFkZCBhYmlsaXR5IHRvIGRvIEhUVFAgc2Vzc2lvbiBsb2dnaW5nCgkgIFRoaXMgY2hhbmdlc2V0IGFkZHMgdGhlIGxvZ2dpbiBpbmZyYXN0cnVjdHVyZSBhbmQKCSAgbW9kcyBib3RoIHNvdXBodHRwc3JjIGFuZCBzb3VwaHR0Y2xpZW50c2luayB0byB1c2UgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE3NjQKCjIwMTQtMDItMDcgMTQ6MDA6MTUgKzAxMDAgIGRpdmhhZXJlIDxkaXJrLnZhbmhhZXJlbmJvcmdoQHVnZW50LmJlPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGFkZCBzdXBwb3J0IGZvciBHUkFZOCwgQkdSIGFuZCBSR0IgdmlkZW8gY29sb3Vyc3BhY2VzIGluIFZfVU5DT01QUkVTU0VEIGNvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4NDkKCjIwMTQtMDItMTEgMTM6MjU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWRkIG1hcHBpbmcgZm9yIE5PVF9GT1VORCBhbmQgTk9UX0FVVEhPUklaRUQgZXJyb3JzCgoyMDE0LTAyLTExIDEzOjI1OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGR1cGxpY2F0ZSBzdGF0dXNfY29kZSB0byBHU3RyZWFtZXIgZXJyb3IgbWFwcGluZwoKMjAxNC0wMi0wOSAyMzozODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5jOgoJICBnb29tOiBSZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoKMjAxNC0wMi0wOSAyMzoyMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBDb21tZW50IG91dCBzb21lIHVudXNlZCBmdW5jdGlvbnMgdXNlZCBvbmx5IGZyb20gdGhlIGNvbW1lbnRlZCBvdXQgcHVsbC1tb2RlIGNvZGUKCjIwMTQtMDItMDggMjE6MDE6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogRml4IGFub3RoZXIgY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0wOCAxNzo0MzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGaXggaW1wbGljaXQgZW51bSBjb252ZXJzaW9uIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlCgkgICdTb3VwU3RhdHVzJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZSAnU291cEtub3duU3RhdHVzQ29kZScKCjIwMTQtMDItMDggMTc6NDE6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIGluIHRlc3QKCSAgZXJyb3I6IHZhcmlhYmxlICdtYXNrJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQKCSAgd2hlbmV2ZXIgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCjIwMTQtMDItMDggMTc6Mjc6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgZXJyb3I6IHZhcmlhYmxlICdpbWFnZV90eXBlJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQKCSAgd2hlbmV2ZXIgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCjIwMTQtMDItMDggMTc6MjU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkgIG9zczQ6IEZpeCB0eXBvIGluIGhlYWRlciBpbmNsdWRlIGd1YXJkCgkgIGVycm9yOiAnR1NUX09TUzRfQVVESU9fSCcgaXMgdXNlZCBhcyBhIGhlYWRlciBndWFyZCBoZXJlLAoJICBmb2xsb3dlZCBieSAjZGVmaW5lIG9mIGEgZGlmZmVyZW50IG1hY3JvIFstV2Vycm9yLC1XaGVhZGVyLWd1YXJkXQoKMjAxNC0wMi0wOCAxNzoyNDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgdmFyaWFibGUgJ3J0eF9zc3JjJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbmV2ZXIKCSAgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCjIwMTQtMDItMDggMTc6MjE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkgIHJ0cGFjM2RlcGF5OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTAyLTA4IDE3OjE5OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkgIGZseDogRml4IHR5cG8gaW4gaGVhZGVyIGluY2x1ZGUgZ3VhcmQKCSAgZXJyb3I6ICdfX0dTVF9GTFhfRk1UX19IX18nIGlzIHVzZWQgYXMgYSBoZWFkZXIgZ3VhcmQgaGVyZSwKCSAgZm9sbG93ZWQgYnkgI2RlZmluZSBvZiBhIGRpZmZlcmVudCBtYWNybyBbLVdlcnJvciwtV2hlYWRlci1ndWFyZF0KCjIwMTQtMDItMDcgMTA6MDc6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiByZW1vdmUgaGF2ZV9kdHMgZmxhZyBmcm9tIHBhZHMKCSAgSXQgd2FzIHVzZWQgaW4gdGhlIHBhc3QgaW4gMC4xMCB3aGVuIHRoZXJlIHdhcyBubyBleHBsaWNpdCBEVFMKCSAgZmllbGQgaW4gYnVmZmVycywgbm93IHdlIGhhdmUgaXQgaW4gMS54IHNlcmllcyBhbmQgd2UgY2FuCgkgIGNoZWNrIGl0IGRpcmVjdGx5IHdpdGggR1NUX0JVRkZFUl9EVFNfSVNfVkFMSUQKCjIwMTQtMDItMDcgMDE6NDk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBpbXByb3ZlIHN1cHBvcnQgZm9yIHNwYXJzZSBzdHJlYW1zCgkgIERvIG5vdCB0cnkgdG8gdXNlIHN1YnNlcXVlbnQgYnVmZmVyIHRpbWVzdGFtcHMgdG8gY2FsY3VsYXRlCgkgIHNwYXJzZSBzdHJlYW1zIGR1cmF0aW9ucyBiZWNhdXNlIHRoZSBzdHJlYW0gaXMgc3BhcnNlIGFuZAoJICB0aGUgYnVmZmVycyBtaWdodCBub3QgYmUgJ3RpbWUgYWRqYWNlbnQnLiBTbyByZWx5IG9uIHRoZQoJICBkdXJhdGlvbiBhbmQgZ2l2ZSB0aGUgb3B0aW9uIHRvIHRoZSBwYWQgdG8gcHJvdmlkZQoJICBjdXN0b20gJ2VtcHR5JyBidWZmZXJzIHRvIHJlcHJlc2VudCB0aGUgZ2FwcyBpbiB0aGUKCSAgc3RyZWFtLCB0aGlzIGNhbiB2YXJ5IG9uIGhvdyB0aGUgZGF0YSBpcyByZXByZXNlbnRlZC4KCSAgUmlnaHQgbm93LCB0aGUgb25seSBzcGFyc2Ugc3RyZWFtIHN1cHBvcnRlZCBpcyB0eDNnIHN1YnRpdGxlcy4KCjIwMTQtMDItMDYgMTI6MTU6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgc3VwcG9ydCBmb3IgdGV4dC94LXJhdyBzdWJ0aXRsZXMKCSAgQWRkcyBpdCB0byBtcDRtdXgsIHF0bXV4IGFuZCBncHBtdXguCgkgIEJ1ZmZlcnMgbmVlZCB0byBiZSBwcmVmaXhlZCB3aXRoIDIgYnl0ZXMgZm9yIHRoZSB0ZXh0IGxlbmd0aCBiZWZvcmUKCSAgYmVpbmcgbXV4ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODEyOTUKCjIwMTQtMDItMDYgMTI6MDk6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkgIHF0bXV4OiBhZGQgc3VwcG9ydCBmb3IgdGhlIFRYM0cgYXRvbXMKCSAgQWRkcyBmdW5jdGlvbnMgZm9yIGNyZWF0aW5nIGFuZCBzZXR0aW5nIHZhbHVlcyByZWxhdGVkIHRvIHRoZQoJICB0eDNnIGF0b20gZm9yIHJhdyB0ZXh0IHN1YnRpdGxlIHN1cHBvcnQuCgkgIFFURkYgc3BlYyBoYXMgaW5mb3JtYXRpb24gb24gdGhvc2UgYXRvbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4MTI5NQoKMjAxNC0wMi0wNSAxMDoyNzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmg6CgkgIHF0bXV4OiBhZGQgc3VidGl0bGUgc3VwcG9ydCB0byBxdG11eG1hcCBzdHJ1Y3R1cmVzCgkgIGFkZHMgYmFzaWMgc3R1YnMgZm9yIHN1YnRpdGxlIHN1cHBvcnQgYXJvdW5kIHRoZSBxdG11eCBhbmQKCSAgcXRtdXhtYXAgc3RydWN0dXJlcy4gU3RpbGwgbm8gcmVhbCBzdWJ0aXRsZSBpbXBsZW1lbnRlZCwgYnV0CgkgIGJhc2ljIGZ1bmN0aW9ucyBpbiBwbGFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgxMjk1CgoyMDE0LTAxLTIwIDE3OjMxOjE0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGZhY3RvciBvdXQgcmVhZCBjb250ZXh0IGluaXQvcmVzZXQKCSAgV2hpbGUgYXQgdGhpcywgbW92ZSBfdHJhY2tfcmVzZXQoKSB0byB0cmFjay1pZHMKCSAgc28gaXQgY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBjb21tb24gcmVhZCBjb250ZXh0CgkgIHJlc2V0IHJvdXRpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI3MDUKCjIwMTQtMDItMDYgMTI6MjE6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgIGVmZmVjdHY6IGZpeCBkb2Mgc2VjdGlvbiBvZiByZXZ0diBlbGVtZW50CgoyMDE0LTAyLTA1IDEyOjQ2OjU0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlbzogRml4IGxpYnRvb2wgdXNhZ2UKCSAgLS10YWc9Q0MgaXMgbmVlZGVkIGZvciBzdGF0aWMgYnVpbGQKCjIwMTQtMDEtMTYgMTE6MjY6NDEgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGRvIG5vdCB0cnkgc2V0IGRlaW50ZXJsYWNlIG1ldGhvZCBpZiBwYXNzdGhyb3VnaCBpcyBlbmFibGVkCgkgIEZpeGVzIGFuIGlzc3VlIHdpdGggcHJvZ3Jlc3NpdmUgY29udGVudCBhbmQgdW5zdXBwb3J0ZWQgdmlkZW8gZm9ybWF0cwoJICBmb3IgdGhlIGRlaW50ZXJsYWNlIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTYzNgoKMjAxNC0wMi0wNCAyMToyNjo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogb3JkZXIgZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMgYnkgcHJlZmVyZW5jZQoJICBUbyBtaW5pbWlzZSByaXNrIG9mIGJhZCBmaXhhdGlvbiwgdGhvdWdoIGF1ZGlvY29udmVydAoJICBhdCBsZWFzdCBzaG91bGQgYmUgc21hcnQgZW5vdWdoIHRvIGF2b2lkIGl0LgoKMjAxNC0wMi0wMiAwOTo1NzowMyAtMDgwMCAgRGFuIEtlZ2VsIDxkYW5rQGtlZ2VsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdjRsMjogUmVtb3ZlIG9ic29sZXRlIGRlZmluaXRpb24gR1NUX1Y0TDJfTUlTU0lOR19CVUZERUNMCgkgIFRoZSBvbmx5IHVzZSB3YXMgcmVtb3ZlZCBieSA5ZWRjMGMwMzY1Zjc5YWIwN2ZmMmU2NTQ2MWM2Njk2ZTM5MzFhM2YwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM0NDYKCjIwMTQtMDItMDQgMTM6NDM6NTYgKzAxMDAgIFJhZmHFgiBNdcW8ecWCbyA8Z2FsdGdlbmRvQG8yLnBsPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGdzdDogRG9uJ3QgdXNlIGVuZGlhbm5lc3Mtc3BlY2lmaWMgUzggYXVkaW8gZm9ybWF0CgkgIEl0IGRvZXMgbm90IGV4aXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzMxCgoyMDE0LTAxLTMxIDE0OjE3OjU0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBhZGQgc3VwcG9ydCBmb3IgUkdCMTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzI4OQoKMjAxNC0wMS0zMCAwOTo0Mzo1MCArMDEwMCAgUGVyIHggSm9oYW5zc29uIDxwZXJ4am9oQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBGaXggY29uc3RhbnRseSBncm93aW5nIHVzZWQgdWlkIGxpc3QKCSAgTW92ZXMgdGhlIHVzZWQgdWlkIGxpc3QgdG8gdGhlIGNsYXNzIHRvIGF2b2lkIGhhdmluZyBpdCBncm93IGZvcmV2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyNjkKCjIwMTQtMDEtMzAgMTA6NDQ6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ0OGJlZDMgdG8gMWEwN2RhOQoKMjAxNC0wMS0yNCAwMTo1MjowOCArMDAwMCAgTWlrZSBTaGVsZG9uIDxlbGxlb0BnbnUub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBJZ25vcmUgQnJvYWRjYXN0IFdhdmUgRm9ybWF0IChCV0YpIHRhZ3Mgd2hlbiBzZWFyY2hpbmcgZm9yICdmbXQnIGNodW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxMjUKCjIwMTQtMDEtMjkgMTA6Mzc6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgY2hlY2s6IFVzZSBmYWtlc2luayBzeW5jPVRydWUgaW5zdGVhZCBvZiBhbiBhdWRpbyBzaW5rCgkgIEVuc3VyZXMgdGhlIHRlc3QgY2FuIHJ1biBvbiBzeXN0ZW1zIHdpdGhvdXQgYWxzYSAob3IgYW55IGF1ZGlvIG91dHB1dCBmb3IKCSAgdGhhdCBtYXR0ZXIpLCBhbmQgd2lsbCBhdm9pZCBwZW9wbGUgcnVubmluZyBidWlsZCBzbGF2ZXMgd29uZGVyaW5nIHdoYXQKCSAgdGhlIGhlbGwgd2FzIGJlZXBpbmcgZHVyaW5nIHRoZSBuaWdodCA6KQoKMjAxNC0wMS0yNyAyMDowNTo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogY3VzdG9tIGdldF9zaW5rX2NhcHMgaGFuZGxpbmcgZm9yIHByaXZhdGUgc3RyZWFtIGNhcHMKCSAgLi4uIG5vdyB0aGF0IHRob3NlIGFyZSB0cmFuc2Zvcm1lZCByYXRoZXIgdGhhbiBwYXJzZWQsIHNvbWUgdHJhbnNmb3JtaW5nCgkgIG9mIGNhcHMgaXMgcmVxdWlyZWQgYXMgd2VsbCB0byBtYWtlIGF1dG8tcGx1Z2dpbmcgc3VjY2VlZC4KCjIwMTQtMDEtMjUgMDI6MDY6MDAgLTA1MDAgIFJ5YW4gTG9ydGllIDxkZXNydEBkZXNydC5jYT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZ3VhcmQgdXNlIG9mIEVOT0RBVEEgd2l0aCAjaWZkZWYKCSAgTm90IGFsbCBzeXN0ZW1zIHdpdGggdjRsIGhhdmUgRU5PREFUQSBkZWZpbmVkLCBzbyBjaGVjayB0aGF0IHdlIGhhdmUgaXQKCSAgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdXNlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyOTUzCgoyMDE0LTAxLTI0IDEyOjM3OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFJldmVydCAicnRzcHNyYzogUHJveHkgcnRwaml0dGVyYnVmZmVyIGRvLXJldHJhbnNtaXNzaW9uIHByb3BlcnR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDlmN2IxMTI4YjFmMDBhMmI4N2EyMzJmZjg5MDg2NzU0OWFiOTViYTUuCgkgIFRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgYXV0b21hdGljYWxseSBiZSBydHNwc3JjIGlmIHRoZSBBVlBGIHByb2ZpbGUKCSAgaXMgdXNlZCwgYW5kIG1hbnVhbCBlbmFibGluZyBvZiBpdCBjYW4gYmUgZG9uZSB3aXRoIHRoZSBuZXctbWFuYWdlcgoJICBzaWduYWwuCgoyMDE0LTAxLTI0IDEwOjIxOjExICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNpZ25hbCB0byBub3RpZnkgb2YgbmV3IG1hbmFnZXIKCSAgU28gdGhhdCB5b3UgY2FuIGNvbmZpZ3VyZSBhbmQgY29ubmVjdCB0byBzaWduYWxzIG9uIHRoZSBydHBiaW4uCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyODY2CgoyMDE0LTAxLTIzIDE1OjE3OjU4IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBQcm94eSBydHBqaXR0ZXJidWZmZXIgZG8tcmV0cmFuc21pc3Npb24gcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjg2NgoKMjAxNC0wMS0yMSAxNzo1Mjo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBoYW5kbGUgZXhwZWN0ZWQgcGFja2V0IGJlaW5nIGFuIFJUWCBwYWNrZXQKCSAgSWYgdGhlIGV4cGVjdGVkIHBhY2tldCAoZG9fbmV4dF9zZXFudW0gaXMgVFJVRSkgaXMgdGhlIG9uZSB3ZSByZXF1ZXN0ZWQKCSAgZm9yIHJldHJhbm1pc3Npb24gZWFybGllciwgZG8gdGhlIGxvZ2ljIHRvIHVwZGF0ZSB0aGUgcmV0cmFuc21pc3Npb24KCSAgc3RhdGlzdGljcyBhcyB3ZWxsIGJlZm9yZSBzZXR0aW5nIHVwIHRoZSB0aW1lcnMgZm9yIHRoZSBuZXh0IGV4cGVjdGVkCgkgIHBhY2tldC4KCSAgQWxzbyByZXNldCB0aGUgcmV0cmFuc21pc3Npb24gY291bnRlciBpZiB0aGUgdGltZXIgaXMgcmV1c2VkIGZvciBhbm90aGVyCgkgIHNlcW51bS4KCjIwMTQtMDEtMjEgMTU6NDg6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIGEgY2FwcyBhY2N1bXVsYXRvciBmb3IgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbAoJICBBZGQgYW4gYWNjdW11bGF0b3IgdGhhdCBzdG9wcyB0aGUgc2lnbmFsIGVtaXNzaW9uIGFzIHNvb24gYXMgYSBjYXBzIGhhcwoJICBiZWVuIHJldHJpZXZlZC4gT3RoZXJ3aXNlIHRoZSBkZWZhdWx0IGhhbmRsZXIgd291bGQgY29udGludWUgZW1pdHRpbmcKCSAgdGhlIHNpZ25hbCBhbmQgcG9zc2libHkgb3ZlcndyaXRlIHRoZSByZXN1bHQgd2l0aCBOVUxMIGFnYWluLgoKMjAxNC0wMS0yMSAxNToyNTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0eHJlY2VpdmU6IGNvcHkgZmxhZ3MgYW5kIHRpbWVzdGFtcHMgZnJvbSBvcmlnaW5hbCBidWZmZXIKCjIwMTQtMDEtMjEgMTU6MjQ6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaWdub3JlIGludmFsaWQgdGltZXN0YW1wcyBpbiBydHQgY2FsY3VsYXRpb24KCSAgV2hlbiB0aGUgaW5wdXQgYnVmZmVyIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAsIGRvbid0IHRyeSB0bwoJICBjYWxjdWxhdGUgdGhlIHJvdW5kLXRyaXAtdGltZS4KCjIwMTQtMDEtMTYgMTQ6MjM6MTMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thcGFyc2U6IGJldHRlciBkZWZhdWx0IGNhcHMgd2hlbiBub25lIHNldAoJICBVc2VzIGluZm9ybWF0aW9uIGdhdGhlcmVkIGR1cmluZyBFQk1MIHBhcnNpbmcgdG8KCSAgZm9yZ2UgYSBtb3JlIHN1aXRhYmxlIHNldCBvZiBjYXBzIGluc3RlYWQgb2YgYmxpbmRseQoJICBhc3N1bWluZyBldmVyeXRoaW5nIGlzIHZpZGVvL3gtbWF0cm9za2EuCgkgIEZvciBjb25zaXN0ZW5jeSwgc3RyZWFtIHR5cGUgcmVzZXQgd2FzIGFkZGVkIHRvCgkgIG1hdHJvc2thLWRlbXV4IHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMxMQoKMjAxNC0wMS0xNSAxNzoyOTozNSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3J0eHJlY2VpdmVfZGF0YV9yZWNvbnN0cnVjdGlvbjogcmVtb3ZlIHVzZWxlc3MgY29kZSBmb3IgdHJpZ2dlcmluZyByZXRyYW5zbWlzc2lvbgoJICBUaGVyZSBpcyBubyBuZWVkIGFueW1vcmUgdG8gcHVzaCB5ZXQgYW5vdGhlciBidWZmZXIgaW4gcnR4c2VuZAoJICBpbiBvcmRlciB0byB0cmlnZ2VyIHRoZSBwcmV2aW91c2x5IHJlcXVlc3RlZCByZXRyYW5zbWlzc2lvbnMKCSAgdG8gYWN0dWFsbHkgaGFwcGVuLgoKMjAxNC0wMS0xNSAxNzoyNzoxOSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3J0eHJlY2VpdmVfZGF0YV9yZWNvbnN0cnVjdGlvbjogZml4IHJhY2UgY29uZGl0aW9uCgkgIE5vdyB3aXRoIHJ0cHJ0eHNlbmQgcHVzaGluZyBydHggYnVmZmVycyBmcm9tIGEgZGlmZmVyZW50IHRocmVhZCwKCSAgdGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBpcyBkZXRlcm1pbmlzdGljLgoJICBUaGlzIGNvZGUgbWFrZXMgdXNlIG9mIEdzdENoZWNrJ3MgZ2xvYmFsIEdNdXRleCBhbmQgR0NvbmQgdGhhdCBhcmUKCSAgYmVpbmcgdXNlZCBpbnNpZGUgR3N0Q2hlY2sncyBzaW5rIHBhZCBjaGFpbigpIGZ1bmN0aW9uIGluIG9yZGVyCgkgIHRvIHN5bmNocm9uaXplIHdpdGggaXQuCgoyMDE0LTAxLTE1IDE3OjE3OjU3ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcnR4c2VuZGVyX3BhY2tldF9yZXRlbnRpb246IGZpeCByYWNlIGNvbmRpdGlvbgoJICBOb3cgd2l0aCBydHBydHhzZW5kIHB1c2hpbmcgcnR4IGJ1ZmZlcnMgZnJvbSBhIGRpZmZlcmVudCB0aHJlYWQsCgkgIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSByZXN1bHQgb2YgdGhlIHRlc3QgaXMgZGV0ZXJtaW5pc3RpYy4KCSAgVGhpcyBjb2RlIG1ha2VzIHVzZSBvZiBHc3RDaGVjaydzIGdsb2JhbCBHTXV0ZXggYW5kIEdDb25kIHRoYXQgYXJlCgkgIGJlaW5nIHVzZWQgaW5zaWRlIEdzdENoZWNrJ3Mgc2luayBwYWQgY2hhaW4oKSBmdW5jdGlvbiBpbiBvcmRlcgoJICB0byBzeW5jaHJvbml6ZSB3aXRoIGl0LgoKMjAxNC0wMS0xNSAxMToyNjozMyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3B1c2hfZm9yd2FyZF9zZXE6IGZpeCByYWNlIGNvbmRpdGlvbgoJICBOb3cgd2l0aCBydHBydHhzZW5kIHB1c2hpbmcgcnR4IGJ1ZmZlcnMgZnJvbSBhIGRpZmZlcmVudCB0aHJlYWQsCgkgIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSByZXN1bHQgb2YgdGhlIHRlc3QgaXMgZGV0ZXJtaW5pc3RpYy4KCSAgVGhpcyBjb2RlIG1ha2VzIHVzZSBvZiBHc3RDaGVjaydzIGdsb2JhbCBHTXV0ZXggYW5kIEdDb25kIHRoYXQgYXJlCgkgIGJlaW5nIHVzZWQgaW5zaWRlIEdzdENoZWNrJ3Mgc2luayBwYWQgY2hhaW4oKSBmdW5jdGlvbiBpbiBvcmRlcgoJICB0byBzeW5jaHJvbml6ZSB3aXRoIGl0LgoKMjAxNC0wMS0xNSAwOTo0NzowMyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3B1c2hfZm9yd2FyZF9zZXE6IGZpeCBidWZmZXIgcmVmY291bnRpbmcKCjIwMTQtMDEtMjEgMTM6NDI6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGVuc3VyZSB0aGF0IG5vIHJ0eCBidWZmZXJzIGFyZSBzZW50IGFmdGVyIEVPUwoJICBUbyBkbyB0aGF0LCBlbnF1ZXVlIHRoZSBFT1MgZXZlbnQgdG8gYmUgc2VudCBmcm9tIHRoZSBzcmNwYWQgdGFzawoJICB0aHJlYWQgYW5kIGZsdXNoIHRoZSBxdWV1ZSByaWdodCBhZnRlcndhcmRzLCBzbyB0aGF0IG5vIG1vcmUgcnR4CgkgIGJ1ZmZlcnMgY2FuIGJlIHNlbnQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgcmVxdWVzdHMgY29taW5nIGluLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzcwCgoyMDE0LTAxLTE1IDA5OjQ2OjE0ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IHJ1biBhIG5ldyBHc3RUYXNrIG9uIHRoZSBzcmMgcGFkCgkgIFRoZSByZWFzb24gYmVoaW5kIHRoaXMgaXMgdG8gbWluaW1pemUgdGhlIHJldHJhbnNtaXNzaW9uIGRlbGF5LgoJICBQcmV2aW91c2x5LCB3aGVuIGEgTkFDSyB3YXMgcmVjZWl2ZWQsIHJ0cHJ0eHNlbmQgd291bGQgcHV0IGEKCSAgcmV0cmFuc21pc3Npb24gcGFja2V0IGluIGEgcXVldWUgYW5kIGl0IHdvdWxkIHNlbmQgaXQgZnJvbSBjaGFpbigpLAoJICBpLmUuIG9ubHkgYWZ0ZXIgYSBuZXcgYnVmZmVyIHdvdWxkIGFycml2ZS4KCSAgVGhpcyB1bmZvcnR1bmF0ZWx5IHdhcyBjYXVzaW5nIGJpZyBkZWxheXMsIGluIHRoZSBvcmRlciBvZiA2MC0xMDAgbXMsCgkgIHdoaWNoIGNhbiBiZSBjcml0aWNhbCBmb3IgdGhlIHJlY2VpdmVyIHNpZGUuCgkgIEJ5IGhhdmluZyBhIHNlcGFyYXRlIEdzdFRhc2sgZm9yIHB1c2hpbmcgYnVmZmVycyBvdXQgb2YgcnR4c2VuZCwKCSAgd2UgY2FuIHB1c2ggYnVmZmVycyBvdXQgcmlnaHQgYWZ0ZXIgcmVjZWl2aW5nIHRoZSBldmVudCwgd2l0aG91dAoJICB3YWl0aW5nIGZvciBjaGFpbigpIHRvIGdldCBjYWxsZWQuCgoyMDE0LTAxLTAzIDE3OjQ3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyc2VuZDogZXJyb3Igb3V0IGlmIG5vIGNhcHMgd2VyZSByZWNlaXZlZAoJICBJbnN0ZWFkIG9mIGFzc3VtaW5nIHRoYXQgaW5wdXQgaXMgb2dnLgoKMjAxNC0wMS0wMyAxNzozMDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGFjY2VwdCBhdWRpby93ZWJtLCBhdWRpby9vZ2cgYW5kIHZpZGVvL29nZyBhcyB3ZWxsCgkgIFRob3NlIGFyZSBhZHZlcnRpc2VkIGluIHRoZSB0ZW1wbGF0ZSBjYXBzLCBidXQgdGhlCgkgIHNldGNhcHMgaGFuZGxlciBkaWRuJ3QgaGFuZGxlIHRoZW0uIEJ1dCB0aGVuIG9nZ211eAoJICBhbmQgb2dncGFyc2UgYXQgbGVhc3QgZm9yIG5vdyBzdGlsbCBhbHdheXMgb3V0cHV0CgkgIGFwcGxpY2F0aW9uL29nZyBhbnl3YXksIHNvIHRoYXQgd2Fzbid0IGEgcmVhbCBwcm9ibGVtLgoKMjAxNC0wMS0yMCAxMDoxMjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI0MTQKCjIwMTQtMDEtMTkgMTc6NDA6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogcmVzZXQgc29tZSBtb3JlIGF1ZGlvIHBhZCBkYXRhIHdoZW4gbmVlZGVkCgoyMDE0LTAxLTE5IDE3OjM4OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHdyaXRlIGNvcnJlY3QgYmxvY2thbGlnbiBmb3IgdmJyIGF1ZGlvCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA2NTkKCjIwMTQtMDEtMTYgMTc6MzY6MTIgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG8gbm90IGRyb3Agc2VyaWFsaXplZCBldmVudHMgd2hlbiBsYXRlbmN5IGlzIHNldAoJICBTZXJpYWxpemVkIGV2ZW50cyBhcmUgbm93IHF1ZXVlZCBpbiB0aGUgaml0dGVyIGJ1ZmZlciwgc28gd2UgZG9uJ3QKCSAgd2FudCB0byBkcm9wIHRoZW0gZXZlbiBsYXRlbmN5IGlzIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM3MgoKMjAxMy0xMi0xMSAwOTozNjoyMiArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGRvbid0IG1ha2UgdGhlIGJ1ZmZlciB3cml0YWJsZSB1bmxlc3MgYWJzb2x1dGVseSBuZWNlc3NhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM5NgoKMjAxMy0wOS0xMiAxNjo1Njo1NiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBzZXQgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgd2hlbiBhcHByb3ByaWF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzk0CgoyMDE0LTAxLTE3IDA3OjQ2OjA5ICswMTAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkb24ndCByZWYgdGhlIG5ld2x5IGNyZWF0ZWQgYWxsb2NhdG9yCgkgIE90aGVyd2lzZSB0aGUgYWxsb2NhdG9yIHdpbGwgbmV2ZXIgYmUgZGVsZXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYxMgoKMjAxNC0wMS0xNSAyMjo0NzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBza2lwIGFsbCB2aWRlbyBmcmFtZXMgdW50aWwgdGhlIGZpcnN0IGtleWZyYW1lCgkgIEluc3RlYWQgZG8gaXQgbGlrZSBhbGwgb3RoZXIgZGVtdXhlcnMgYW5kIGxldCBwYXJzZXJzIGFuZCBkZWNvZGVycwoJICBoYW5kbGUgdGhhdC4gVGhlIGtleWZyYW1lIGluZm9ybWF0aW9uIGluc2lkZSB0aGUgY29udGFpbmVyIG1pZ2h0CgkgIGJlIGNvbXBsZXRlbHkgd3JvbmcgbGlrZSBpbiB0aGUgc2FtcGxlIGZpbGUgb2YgdGhlIGJ1ZyByZXBvcnQsCgkgIGFuZCBpZiBpdCBpcyBjb3JyZWN0IGFuZCB3ZSBwdXNoIG5vIGtleWZyYW1lcywgdGhlbiB0aGUgcGFyc2VycwoJICBhbmQgZGVjb2RlcnMgd2lsbCBoYW5kbGUgdGhhdCBwcm9wZXJseSBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIyNzYKCjIwMTQtMDEtMTMgMTA6MDg6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiByZW1vdmUgZWxzdF9vZmZzZXQgdmFyaWFibGVzCgkgIFRoZXkgYXJlIG5vdCB1c2VkIGFueW1vcmUKCjIwMTQtMDEtMDYgMjE6MzY6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbWVtYmVyIHJldmVyc2UgcGxheWJhY2sgd2hlbiB2ZXJpZnlpbmcgdGhlIHNlZ21lbnQgZW5kCgkgIENoZWNrIGlmIHRoZSByYXRlIGlzIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIHRvIGNvcnJlY3RseSBjb21wYXJlIHRoZSBjdXJyZW50CgkgIHBvc2l0aW9uIHdpdGggdGhlIHNlZ21lbnQgdG8gbWFrZSByZXZlcnNlIHBsYXliYWNrIHdvcmsKCjIwMTQtMDEtMDMgMTA6NTk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBkbyBub3QgaWdub3JlIGVtcHR5IHNlZ21lbnRzCgkgIE1ha2Ugc3VyZSBlbXB0eSBzZWdtZW50cyBhcmUgdXNlZCBhbmQgcHVzaGVkIHdpdGggYSBnYXAgZXZlbnQKCSAgdG8gcmVwcmVzZW50IGl0cyBkYXRhIChvciBsYWNrIG9mIGl0KQoJICBFYWNoIFF0U2VnbWVudCBpcyBtYXBwZWQgaW50byBhIEdzdFNlZ21lbnQgd2l0aCB0aGUgY29ycmVzcG9uZGluZwoJICBtZWRpYSByYW5nZS4gRm9yIGVtcHR5IFF0U2VnbWVudHMgYSBnYXAgZXZlbnQgaXMgcHVzaGVkIGluc3RlYWQKCSAgb2YgR3N0QnVmZmVycyBhbmQgaXQgYWR2YW5jZXMgdG8gdGhlIG5leHQgUXRTZWdtZW50LgoJICBUbyBtYWtlIHRoaXMgd29yayB3aXRoIHNlZWtzLCBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhlIHN0YXJ0aW5nCgkgICdiYXNlJyB0byBtYWtlIHN1cmUgaXQgcmVtYWlucyBjb25zaXN0ZW50bHkgaW5jcmVhc2luZyB3aGVuCgkgIHB1c2hpbmcgbmV3IHNlZ21lbnQgZXZlbnRzLgoJICBGb3IgZXhhbXBsZTogaWYgYSBzZWVrIG1ha2VzIHF0ZGVtdXggc3RhcnQgZnJvbSA1cywgdGhlIGZpcnN0CgkgIHNlZ21lbnQgd2lsbCBoYXZlIGEgYmFzZT0wLiBXaGVuIHRoZSBuZXh0IHNlZ21lbnQgaXMgYWN0aXZhdGVkLAoJICBpdHMgYmFzZSB0aW1lIHdpbGwgYmUgUXRTZWdtZW50LnRpbWUgLSBxdGRlbXV4LnNlZ21lbnRfYmFzZSBzbwoJICB0aGF0IGl0IGRvZXNuJ3QgaW5jbHVkZSB0aGUgZmlyc3QgNXMgdGhhdCB3ZXJlbid0IHBsYXllZCBhbmQKCSAgc2hvdWxkbid0IGJlIGFjY291bnRlZCBvbiB0aGUgcnVubmluZyB0aW1lCgkgIFRoaXMgcHVycG9zZWRseSB3aWxsIHJlbW92ZSB0aGUgZml4IG1hZGUgZm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyNjQsIGF0IHRoaXMKCSAgcG9pbnQgaXQgd2FzIGRlY2lkZWQgdG8gcmVzcGVjdCB0aGUgZ2FwcywgZXZlbiBpZiB0aGV5IGNhdXNlCgkgIGEgZGVsYXkgb24gcGxheWJhY2ssIGJlY2F1c2UgdGhhdCdzIHRoZSB3YXkgdGhlIGZpbGUgd2FzIGNyYWZ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDU4MzAKCjIwMTMtMTItMTIgMjM6MDU6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IFJlbW92ZSB1c2FnZSBvZiB0aGUgc3lzdGVtIGNsb2NrIGZyb20gdGhlIHJ0cHJ0eCB0ZXN0CgoyMDEzLTEyLTEyIDIzOjIyOjQxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzOiBJbml0aWFsIHNlZ21lbnQgaW4gcnRwY29sbGlzaW9uIHRlc3QKCjIwMTQtMDEtMTQgMTU6NTY6NDIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jOgoJICBleGFtcGxlcy8qLXJ0cGF1eDogc3BlY2lmeSBwYXlsb2FkIHR5cGUgYXNzb2NpYXRpb24gZm9yIHRoZSBhdWRpbyBzdHJlYW0sIHNvIHRoYXQgcnR4IHdvcmtzIGFsc28gZm9yIGF1ZGlvCgoyMDE0LTAxLTE0IDEzOjA4OjE4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiByZW1vdmUgd3JvbmcgY2hlY2sgZm9yIHBheWxvYWQgdHlwZSBub3QgaGF2aW5nIGJlZW4gc2V0CgkgIDEpIHB0IGNhbiBiZSBsb3dlciB0aGFuIDk2CgkgIDIpIHRoZXJlIGlzIG5vIHBvaW50IGluIGNoZWNraW5nIHRoYXQgYmVjYXVzZSBydHBydHhzZW5kIHdpbGwgbm90CgkgIGV2ZW4gc3RvcmUgYnVmZmVycyBmb3IgcGF5bG9hZCB0eXBlcyB0aGF0IGl0IGRvZXNuJ3Qga25vdyBhYm91dCwKCSAgc28gdGhpcyBjYXNlIHdpbGwgbmV2ZXIgYmUgcmVhY2hlZAoKMjAxNC0wMS0xNCAxMzowMTo0MSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogZml4IGRhdGEgbG9ja2luZyB3aGVuIGNyZWF0aW5nIHJ0eCBwYWNrZXRzCgkgIFRoaXMgcGF0Y2ggbW92ZXMgdGhlIGNyZWF0aW9uIG9mIHJ0eCBwYWNrZXRzIHRvIGJlIGRvbmUgZWFybHksCgkgIGluIHRoZSBzcmNfZXZlbnQoKSBmdW5jdGlvbiwgd2hlbiB0aGV5IGFyZSByZXF1ZXN0ZWQuIFRoZSBwdXJwb3NlCgkgIGlzIHRvIHJ1biBnc3RfcnRwX3J0eF9idWZmZXJfbmV3KCkgd2l0aCB0aGUgb2JqZWN0IGxvY2tlZCB0bwoJICBwcm90ZWN0IGludGVybmFsIGRhdGEsIGJlY2F1c2UgaWYgaXQgaXMgZG9uZSBhdCB0aGUgcHVzaGluZyBzdGFnZSwKCSAgd2Ugd291bGQgaGF2ZSB0byBsb2NrIGFuZCB1bmxvY2sgbXVsdGlwbGUgdGltZXMgaW4gYSByb3cgd2hpbGUgd2UKCSAgYXJlIHB1c2hpbmcgdGhlIHJ0eCBidWZmZXJzLgoJICBQcmV2aW91c2x5IHRoZXJlIHdhcyBubyBsb2NraW5nIGF0IGFsbCwgd2hpY2ggd2FzIHRlcnJpYmx5IHdyb25nLgoKMjAxNC0wMS0xNCAxMjo1MDoyMyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogbG9jayBhY2Nlc3MgdG8gaW50ZXJuYWwgZGF0YSBpbiBzaW5rX2V2ZW50KCkgZnVuY3Rpb24KCjIwMTQtMDEtMTQgMTI6NDQ6MDYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjYWxsIHRvIHJlc2V0KCkgZnJvbSBmaW5hbGl6ZSgpCgkgIC4uLmFuZCB1c2UgX2ZyZWVfZnVsbCgpIG9uIHRoZSBwZW5kaW5nIGJ1ZmZlcnMgcXVldWUgbm93IHRoYXQKCSAgcmVzZXQoKSBpcyBub3QgYmVpbmcgY2FsbGVkCgoyMDE0LTAxLTE0IDEyOjM4OjUxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiByZW1vdmUgdW51c2VkIHBhcmFtZXRlciBmcm9tIHRoZSBpbnRlcm5hbCByZXNldCgpIG1ldGhvZAoKMjAxNC0wMS0xNCAxMjozMjozOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogVXNlIGdfc2xpY2VfKiBmb3IgYWxsb2NhdGluZyBpbnRlcm5hbCBzdHJ1Y3R1cmVzCgoyMDE0LTAxLTE0IDEyOjI4OjAxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiByZW1vdmUgc3R1cGlkIG11dGV4IHVubG9jayBpbiB0aGUgbWlkZGxlIG9mIGNoYWluKCkKCjIwMTQtMDEtMTQgMTI6MjU6MzYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IHVzZSBHU1RfREVCVUdfT0JKRUNUIC8gR1NUX1dBUk5JTkdfT0JKRUNUIGluc3RlYWQgb2YgR1NUX0RFQlVHIC8gZ193YXJuaW5nCgoyMDE0LTAxLTE0IDEyOjE5OjU4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBmaXggaW50ZWdlciBmb3JtYXQgc3BlY2lmaWVycyBpbiBHU1RfREVCVUcKCSAgc2VxbnVtIGluIHRoaXMgZnVuY3Rpb24gaXMgMzItYml0LCBzbyBHX0dVSU5UMTZfRk9STUFUIHdvdWxkCgkgIHByb2R1Y2UgdW5kZWZpbmVkIG91dHB1dCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMKCjIwMTQtMDEtMTQgMTI6MTM6NDkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogY2hhbmdlIHRoZSBydHhfcHRfbWFwIGRpcmVjdGx5IGluIHNldF9wcm9wZXJ0eSgpIGluc3RlYWQgb2YgZGVsYXlpbmcgaXQgZm9yIGNoYWluKCkKCSAgVGhlIHNhbWUgbG9jayBpcyBoZWxkLCBzbyB0aGVyZSBpcyBubyBwb2ludCBpbiBjb21wbGljYXRpbmcgaXQuLi4KCjIwMTQtMDEtMTQgMTI6MDc6NTggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSAgcnRwcnR4cmVjZWl2ZTogY2hhbmdlIHRoZSBydHhfcHRfbWFwIGRpcmVjdGx5IGluIHNldF9wcm9wZXJ0eSgpIGluc3RlYWQgb2YgZGVsYXlpbmcgaXQgZm9yIGNoYWluKCkKCSAgVGhlIHNhbWUgbG9jayBpcyBoZWxkLCBzbyB0aGVyZSBpcyBubyBwb2ludCBpbiBjb21wbGljYXRpbmcgaXQuLi4KCjIwMTQtMDEtMTQgMTE6NTU6MDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IHNpbXBsaWZ5IHRoZSBjb2RlIG9mIGZpbmFsaXplKCkKCjIwMTQtMDEtMTQgMTE6NTI6MjEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSAgcnRwcnR4cmVjZWl2ZTogdXNlIHRoZSBHc3RPYmplY3QgbG9jayBpbnN0ZWFkIG9mIGEgbmV3IG9uZQoKMjAxNC0wMS0xNCAxMTo0NTo1MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiB1c2UgdGhlIEdzdE9iamVjdCBsb2NrIGluc3RlYWQgb2YgYSBuZXcgb25lCgoyMDEzLTEyLTEwIDE0OjI5OjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBOVjEyXzY0WjMyIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyNwoKMjAxNC0wMS0xNCAxOTowODo0OSArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIG9zc2hlbHBlcjogRG9uJ3QgbGVhayBmZCB3aGVuIGdldHRpbmcgY2FyZCBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNjMKCjIwMTQtMDEtMTQgMDk6NDM6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBSZXZlcnQgImFhY3BhcnNlOiByZWxheCB0aGUgZGV0ZWN0aW9uIG9mIEFEVFMiCgkgIFRoaXMgd2FzIHB1c2hlZCBieSBtaXN0YWtlIGFsb25nIHdpdGggdGhlIFY0TDIgZml4LgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhlYjRiMDMyYmVmNDQ0Mzk3YzRkMjExZjIwOTVjMTczYmExMTQxODcuCgoyMDE0LTAxLTE0IDE1OjQyOjAxICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIHJ0cGc3MjZwYXk6IGRvbid0IGxlYWsgZW5jb2RpbmdfbmFtZSBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE1OQoKMjAxNC0wMS0xMyAwOToxNDowMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCBidWlsZCBicmVhayB1c2luZyBWNEwyX0NBUF9WSURFT19NMk1fTVBMQU5FCgkgIFRoaXMgbWF5IG5vdCBiZSBkZWZpbmVkLiBTaW5jZSB0aGUgcHJldmlvdXMgdmVyc2lvbiB1c2VkCgkgIG9ubHkgdGhlIG90aGVyIGRlZmluZSAoVjRMMl9DQVBfVklERU9fT1VUUFVUX01QTEFORSksIGZhbGwKCSAgYmFjayBvbiB0aGlzIG9ubHkgd2hlbiBub3QgYXZhaWxhYmxlLgoKMjAxMy0wMi0yNyAwMTo0NTo1MiArMDkwMCAgQWtpaGlybyBUc3VrYWRhIDxhdHN1a2FkYUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiByZWxheCB0aGUgZGV0ZWN0aW9uIG9mIEFEVFMKCSAgQWNjb3JkaW5nIHRvIElTTy9JRUMgMTM4MTgtNywgImNoYW5uZWxfY29uZmlnIiBmaWVsZCBpbiBBRFRTIGhlYWRlcgoJICBtYXkgaGF2ZSB2YWx1ZSBvZiAwLCBhcyBpbiB0aGUgY2FzZSBvZiBmcmFtZSB3aXRoIFBDRS4KCSAgZ3N0X2FhY19wYXJzZV9kZXRlY3Rfc3RyZWFtcygpIHJldHVybmVkIEZBTFNFIGZvciB0aG9zZSBmcmFtZXMKCSAgYW5kIGRpc2NhcmRlZCB0aGVtLgoKMjAxNC0wMS0wNyAxMTo1ODoyMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogY2hlY2sgc2V0X2NvbmZpZyByZXR1cm4gdmFsdWUgaW4gZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTQtMDEtMTAgMTI6NDA6MzEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWRkIHBhcnNlZD0xIGZpZWxkIGZvciBlbmNvZGVkIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDE0LTAxLTEwIDEyOjM5OjE2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgZW1wdHkgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDE0LTAxLTA4IDE2OjUxOjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkbyBub3Qgc3RvcCBhIHN0cmVhbSBub3QgcHJldmlvdXNseSBzdGFydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTY6Mjc6MjEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgZW5mb3JjZSBkaW1lbnNpb24gZmllbGQgb24gZW5jb2RlZCBmb3JtYXRzCgkgIERvbid0IGVuZm9yY2UgaGF2aW5nIHdpZHRoLCBoZWlnaHQgYW5kIGZyYW1lcmF0ZSBpbiB0ZW1wbGF0ZSBjYXBzIGZvciBlbmNvZGVkCgkgIGZvcm1hdHMuIFRoZXNlIGRvbid0IGFsd2F5cyBuZWVkIHRvIGJlIGV4cG9zZWQgYW5kIG1heSBicmVhayBuZWdvdGlhdGlvbiBmb3IKCSAgZGVjb2RlciBhbmQgZGVjb2Rpbmcgc2luay4gSWYgbmVlZGVkLCB0aGVzZSBmaWVsZCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgYWRkZWQKCSAgd2hlbiBwcm9iZWQgY2FwcyBhcmUga25vd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTc6MDk6NTkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiB1bnJlZiBkb3duc3RyZWFtIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xOCAxMzozNzoyMyAtMDUwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogYWRkIGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZsdXNoCgkgIFNUUkVBTU9GRiBzZXQgYWxsIHY0bDJidWZmZXJzIHRvIERFUVVFVUUgc3RhdGUuCgkgIFRoZW4gZm9yIENBUFRVUkUgd2UgY2FsbCBRQlVGIG9uIGVhY2ggYnVmZmVyLgoJICBGb3IgT1VUUFVUIHRoZSBidWZmZXJzIGFyZSBqdXN0IHB1c2ggYmFjayBpbiB0aGUgR3N0QnVmZmVyUG9vbAoJICBiYXNlIGNsYXNzICdzIHF1ZXVlLgoJICBCdXQgdGhlIGxvb3AgYWN0dWFsbHkgbG9va3MgbGlrZSB0aGUgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xNiAxNzoyOTozMCAtMDUwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFkZCB2cDggc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE2OjQ2OjA5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGZvcmNlIGZyYW1lcmF0ZSBmaWVsZCBmb3IgT1VUUFVUCgkgIElmIHRoZXJlIGlzIG5vdGhpbmcgdGhhdCBzZWVtcyB0byBmb3JjZSBhIGNlcnRhaW4gZnJhbWVyYXRlIG9uIG91dHB1dCBkZXZpY2UsIGl0IGlzCgkgIHByZWZlcmFibGUgdG8gc2ltcGx5IG5vdCBzZXQgdGhhdCBmZWlsZC4gVGhpcyBhbGxvdyBuZWdvdGlhdGlvbiB3aXRoIHRzZGVtdXggaW4gYQoJICBkZWNvZGVyIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE0OjA3OjAzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKCkgY2FuIGJlIHN0YXRpYwoJICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGFueW1vcmUgb3V0c2lkZSB2NGwyb2JqZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE0OjIyOjI2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFkZCBNUEVHMS8yIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxMjoxODo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBc2sgZm9yIGEgZGVjZW50IGJ1ZmZlciBzaXplIHdoZW4gZGVhbGluZyB3aXRoIGVuY29kZWQgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA3IDE0OjAzOjUzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogT24gd2FybiBvbiBzaXplIGNoYW5nZSBpZiBuX3BsYW5lcyA+IDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0zMSAxNjozODowOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGNoZWNrIGlmIHRyYW5zbGF0ZWQgZm9ybWF0IGlzIHZhbGlkCgkgIEFsc28gYWRkIGEgRklYTUUgaW4gZ3N0X3Y0bDJfb2JqZWN0X3NldHVwX2Zvcm1hdAoJICB0byBub3RlIHRoYXQgdGhlIHdob2xlIGZ1bmN0aW9uIGhhcyB0byBiZSBpbXByb3ZlZAoJICBpbiBvcmRlciB0byBzdXBwb3J0IEVOQ09ERUQgZm9ybWF0cy4KCSAgSXQgcmVxdWlyZXMgdG8gaGF2ZSBhbiBlbmNvZGVyIGRldmljZSB3aGljaCB3ZSBkbyBub3QKCSAgaGF2ZSByaWdodCBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDcgMTA6MzE6MTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVmFsaWRhdGUgcmV0dXJuZWQgZGltZW5zaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE5OjM2OjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEVuc3VyZSBtYXggaXMgbm90IHNtYWxsZXIgdGhlbiBtaW4gaW4gZGVjaWRlX2FsbG9jYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxOTozNjowNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBrZWVwIHRoZSBtYXggcGFyYW10ZXIgd2hlbiB1c2luZyBvdXIgb3duIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxOTozNDo0NCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlc3BlY3QgdGhlIHN1Z2dlc3RlZCBtaW4gYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTg6NDg6NDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWxsb2NhdGUgcG9vbCBpZiBuZWVkZWQgaW4gZGVjaWRlX2FsbG9jYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxODo0OToxOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgVjRMMl9DSURfTUlOX0JVRkZFUlNfRk9SX0NBUFRVUkUgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE4OjQ4OjE1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBNb3ZlIGRlY2lkZSBhbGxvY2F0aW9uIGludG8gdjRsMm9iamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDEzOjUxOjEzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogSW1wbGVtZW50IF9zZXR1cF9mb3JtYXQoKQoJICBUaGlzIG1ldGhvZCBhbGxvdyBzZXR0aW5nIHVwIHRoZSBvYmplY3QgZnJvbSB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgZm9ybWF0IG9uIHRoZQoJICBkZXZpY2UuIFRoaXMgaXMgdXNlZnVsIGZvciBNMk0gZWxlbWVudCB3aGVyZSBpbnB1dCBkYXRhIGRlY2lkZXMgdGhlIGZvcm1hdCB0aGF0IHdpbGwKCSAgYmUgc2V0IG9uIGNhcHR1cmUgc2lkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMCAxNDozNDoxNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBTcGxpdCBvdXQgc2F2aW5nIGZvcm1hdCBmcm9tIHNldF9mb3JtYXQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTMxIDE1OjM3OjI2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogc2V0IG9ubHkgb25lIHBsYW5lIGZvciBlbmNvZGVkIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE2OjQ5OjEzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgY29kZSBibG9jayB3aGVyZSBpdCBiZWxvbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTY6MjY6MTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgY2hlY2sgZm9ybWF0IHNwZWNpZmljIGluZm9ybWF0aW9uCgkgIFRoZSBudW1iZXIgb2YgcGxhbmUsIGFuZCB0aGUgc3RyaWRlIGRvZXMgbm90IHJlcHJlc2VudCBhIGNhcGFiaWxpdHkgY2hhbmdlLiBTYW1lIGNhcHMKCSAgY2FuIGhhdmUgZGlmZmVyZW50IHN0cmlkZSBmcm9tIHRoZSBkZWZhdWx0IEdzdFZpZGVvSW5mbyBhbmQgdGhlIG51bWJlciBvZiBwbGFuZXMgd2lsbAoJICBuZXZlciBjaGFuZ2UgZm9yIDEgZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE2OjIzOjE4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgdGhlIGV4dHJhcG9sYXRpb24gb2Ygc3RyaWRlIGF0IHRoZSByaWdodCBwbGFjZQoJICBOb3cgdGhhdCB3ZSBoYXZlIGEgc3RyaWRlIGFycmF5LCB3ZSBzaG91bGQgZXh0cmFwb2xhdGUgb25seSB3aGVuCgkgIGVlZGVkIChub24gbXVsdGktcGxhbmFyIGJ1ZmZlcikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTU6MDk6NDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSBiYWNrIGFzc2VydGlvbnMgd2hlcmUgdGhleSBzaG91bGQgYmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNTowOToxMCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIG1wbGFuZSBsb2dpYyBpbnRvIGdzdF92NGwyX29iamVjdF9nZXRfY2Fwc19pbmZvKCkKCSAgSXQgbWFrZXMgdGhlIGdzdF92NGwyX29iamVjdF9zZXRfZm9ybWF0KCkgc2xpZ2h0bHkgc2ltcGxpZXIgYW5kIHdpbGwgbWFrZSB0aGF0CgkgIGxvZ2ljIHJldXNhYmxlLiBOb3RlIHRoYXQgZ3N0X3Y0bDJfb2JqZWN0X2hhc19tcGxhbmUoKSB3aWxsIGFsd2F5cyByZXR1cm4gdGhlCgkgIHNhbWUgdmFsdWUgZm9yIG9uZSBkZXZpY2UuIFRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgYWdhaW5zdCB0aGUgY2FwcyBhcyB0aGlzCgkgIGhhcyBhbHJlYWR5IGJlZW4gZG9uZSBieSBfb3Blbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wMyAxODoyNzo0NyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFNwbGl0IF92NGwyZm91cmNjX3RvX3ZpZGVvX2Zvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTAyIDE4OjA1OjExIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmVxdWVzdCBidWZmZXJzIG9ubHkgb25jZQoJICBWSURJT0NfUkVRQlVGUyBhbGxvY2F0ZXMgYnVmZmVyLCBpdCBoYXMgbm8gcGxhY2UgaW5zaWRlIHNldF9jb25maWcuIEFsc28sIHNvbWUgZHJpdmVyIGRvCgkgIG5vIGFsbG93IG11bHRpcGxlIGNhbGxzIHRvIHRoaXMgaW9jdGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDIgMTU6MjY6NTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgdmFsaWRhdGUgZGltZW5zaW9uIGZvciBlbmNvZGVkIGZvcm1hdAoJICBXZSBzZXQgdGhlIGRpbWVuc2lvbnMganVzdCBpbiBjYXNlIGJ1dCBkb24ndCB2YWxpZGF0ZSB0aGVtCgkgIGFmdGVyd2FyZHMuIEZvciBzb21lIGNvZGVjcyB0aGUgZGltZW5zaW9ucyBhcmUgKm5vdCogaW4gdGhlCgkgIGJpdHN0cmVhbSwgSUlSQyBWQzEgaW4gQVNGIG1vZGUgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTEtMjggMTc6MTA6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBRdWlya3MgZm9yIGRldiB3aXRob3V0IGluaXRpYWwgZm9ybWF0CgkgIE1vc3QgTTJNIGhhdmUgdW5kZWZpbmVkIGJlaGF2aW91ciBpbml0aWFsbHkgd2hlbiBWSURJT0NfR19GTVQgaXMgY2FsbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE3OjA5OjI2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogQWRkIGdzdF92NGwyX29iamVjdF9vcGVuX3NoYXJlZCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTEtMjggMTc6MDc6MDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyb2JqZWN0OiBJbXBsZW1lbnQgZ3N0X3Y0bDJfZHVwKCkKCSAgVGhpcyB3aWxsIGR1cGxpY2F0ZWQgdGhlIEZEIGZyb20gYW5vdGhlciBvYmplY3QgYW5kIGNvcHkgb3ZlciB0aGUgcHJvYmVkIHJlc3VsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMS0yOCAxNjo1OTo1OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IG1ha2UgSU9fTU9ERSBlbnVtIHB1YmxpYwoJICBUaGlzIGlzIHRvIGFsbG93IGFkZGluZyBhIHNlY29uZCBpby1tb2RlIHByb3BlcnR5IG9uIE0yTSBkZXZpY2UgbGlrZSBkZWNvZGVyIHNvCgkgIGlucHV0IGFuZCBvdXRwdXQgY2FuIGJlIGNvbnRyb2xsZWQgc2VwYXJhdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTA2LTA0IDIzOjQyOjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGJldHRlciBoYW5kbGUgcXVpcmtzIGFjdGl2YXRpb24KCSAgVGhpcyB3YXkgd2UgY2FuIGFjdGl2YXRlIGRlYWN0aXZhdGUgdGhvc2UgcXVpcmtzIGFsbCBhdCBvbmNlIGF0IG9uZQoJICBwbGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0wNi0wNCAyMzozNDowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEZpeCBoMjY0IGNhcHMKCSAgVjRMMl9QSVhfRk1UX0gyNjQgaXMgZG9jdW1lbnRhdGVkIGFzIGJ5dGUtc3RyZWFtICh3aXRoIHN0YXJ0IGNvZGUpLiBUaGUgZW5zdXJlIHByb3BlcgoJICBuZWdvdGlhdGlvbiB3aXRoIGVsZW1lbnQgbGlrZSBoMjY0cGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDYgMTQ6NDQ6NTEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBTcGxpdCBjYXBzIGluIGRpZmZlcmVudCBjYXRlZ29yaWVzCgkgIFRoaXMgaXMgbmVlZCB0byBjb3JyZWN0bHkgZXhwb3NlIGNhcGFiaWxpdGllcyBvbiBzcGVjaWFsaXplZCBkZXZpY2VzCgkgIGxpa2UgZGVjb2RlcnMgYW5kIGVuY29kZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDE0LTAxLTEwIDE0OjE2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGxlYWsgVE9DIGNoYXB0ZXIgbGlzdAoKMjAxNC0wMS0xMCAwODo1MjoxNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgb2Jzb2xldGUgd3JpdGUtZHVtbXktYW5kLW92ZXJ3cml0ZS1vbi1lb3MgY29kZQoJICBUaGUgbmVlZCBmb3IgcmV3cml0aW5nIGFwcGFyZW50bHkgaXMgb2Jzb2xldGUgMC4xMCBsZWZ0b3Zlci4KCSAgV2Ugbm93IGhhdmUgY2FwcyBmb3Igc3VidGl0bGVzIHdoZW4gd2UgY3JlYXRlIHRoZSBoZWFkZXJzLAoJICBzbyB3ZSBhbHdheXMgd3JpdGUgdGhlIGNvcnJlY3QgZGF0YSBpbiB0aGUgZmlyc3QgcGxhY2UuCgoyMDE0LTAxLTA5IDIzOjU1OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiByZW1vdmUgZHVwbGljYXRlIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgQ0lEIDExNTE2ODAKCjIwMTQtMDEtMDkgMTg6MjU6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogd3JpdGUgc3VidGl0bGUgY29kZWMgSUQgYW5kIGRhdGEgYXQgc3RhcnQgd2hlbiBrbm93bgoJICBUaGlzIGF2b2lkcyBpc3N1ZXMgd2l0aCB3cml0aW5nIGR1bW15IGRhdGEgZmlyc3QsIHRoZW4gaGF2aW5nCgkgIHRvIGNvbWUgYmFjayBhbmQgd3JpdGUgY29ycmVjdCBkYXRhIGxhdGVyLiBEb2luZyBzbyBwcmV2ZW50cwoJICB0aGUgbXV4ZWQgc3RyZWFtIGZyb20gYmVpbmcgYWN0dWFsbHkgc3RyZWFtYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjEzNAoKMjAxNC0wMS0wOSAxNzozMjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBJbmNsdWRlIEF2YWlsYWJpbGl0eU1hY3Jvcy5oIGZvciBvc3h2aWRlbyBjaGVjawoJICBPdGhlcndpc2UgTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgbWlnaHQgbm90IGJlIGRlZmluZWQKCjIwMTQtMDEtMDkgMTE6NTY6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkgIHF0bXV4OiByZXNwZWN0IHRoZSBIRExSIGJveCBzdHJpbmcgZm9ybWF0IGZvciBtb3YgYW5kIGlzb21lZGlhCgkgIE1vdiBzcGVjIHNheXMgaXQgdXNlcyBhIHBhc2NhbCBzdHlsZSBzdHJpbmcsIHdoaWxlIGlzb21lZGlhIHVzZXMKCSAgYSBudWxsIHRlcm1pbmF0ZWQgb25lLiBTdG9yZSB0aGUgY3VycmVudCBhdG9tcyBmbGF2b3IgaW50byB0aGUgSERMUgoJICB0byBiZSBhYmxlIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG91dHB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk4MgoKMjAxNC0wMS0wOCAxMToyODowNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIFJldmVydCAibWF0cm9za2FtdXg6IFVzZSB0aGUgcnVubmluZyB0aW1lIGZvciBjb250YWluZXIgdGltZXN0YW1wcywgbm90IGJ1ZmZlciB0aW1lc3RhbXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGIzYWE4NzU1ZmUwNzYzOWYyMmU0MTA0ZjQ5MzJkNzY5ZDZjOTA3NWEuCgkgIFdlIGFyZSBhbHJlYWR5IHVzaW5nIHRoZSBydW5uaW5nLXRpbWUgYmVjYXVzZSB0aGV5IHdlcmUgcGxhY2VkIG9uIHRoZQoJICBidWZmZXJzIHdpdGggZ3N0X2NvbGxlY3RfcGFkc19jbGlwX3J1bm5pbmdfdGltZSgpLiBBcmd1YWJseSBpdCB3b3VsZCBiZQoJICBiZXR0ZXIgdG8gbm90IG1vZGlmeSB0aGUgaW5jb21taW5nIGJ1ZmZlcnMgYnV0IGNvbGxlY3RwYWRzIHNlZW1zIHRvIHdhbnQKCSAgdG8gdXNlIGFic29sdXRlIHRpbWVzdGFtcHMgZnJvbSB0aGUgYnVmZmVycyBmb3IgZmluZGluZyB0aGUgYmVzdCBidWZmZXIKCSAgKHRoaXMgY2FuIGJlIGNoYW5nZWQgd2l0aCBhIGN1c3RvbSBjb21wYXJlIGZ1bmN0aW9uLi4pLgoKMjAxNC0wMS0wOCAxMDo0MToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggQUNfQ09NUElMRV9JRkVMU0UgdXNhZ2UKCjIwMTQtMDEtMDggMTA6MzE6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9zeHZpZGVvc2luazogSW1wcm92ZSBjb25maWd1cmUgY2hlY2sgZm9yIE9TWCA+PSAxMC42CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDUKCjIwMTQtMDEtMDcgMTI6MTM6NTEgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmVtb3ZlIHVudXNlZCBsaXN0IG9mIGRlY29kZXJzCgkgIHJlbW92ZSBsaXN0IG9mIGRlY29kZXJzLCB3aGljaCBhcmUgYWxyZWFkeSBoYW5kbGVkIGJ5IHRoZSBsaXN0IG9mIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5OTM4CgoyMDE0LTAxLTA4IDA5OjQ2OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRXJyb3Igb3V0IGlmIEFEUENNIGNhcHMgZG9uJ3QgY29udGFpbiB0aGUgbGF5b3V0IGZpZWxkCgoyMDE0LTAxLTAzIDE1OjI1OjIzICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBnNzI2IEFEUENNCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA5OTUKCjIwMTQtMDEtMDcgMTU6MDQ6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgbmV3IG1ldGhvZCB0byBnZXQgbWVkaWEtdHlwZQoJICBVc2UgdGhlIG5ldyBtZXRob2QgdG8gZ2V0IHRoZSBtZWRpYSB0eXBlIG9mIGEgdHJhbnNwb3J0LgoKMjAxNC0wMS0wNiAyMToxMjoxNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBzcGxpdCB0aGUgdGVzdAoJICBUaGlzIHdheSBvbmUgZmFpbHVyZSB3b24ndCBzaGFkb3cgdGhlIG90aGVyIHRlc3QgYW5kIGFsc28gaWYgb25lIGZhaWxzIHdlIGdldAoJICBiZXR0ZXIgZGlzZ25vc3RpY3MgdGhyb3VnaCB0aGUgdGVzdC1uYW1lLgoKMjAxNC0wMS0wNiAxNDo1NDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBIRVZDIC8gaDI2NSBzdXBwb3J0CgoyMDE0LTAxLTA2IDE0OjU0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogQWRkIEhFVkMgLyBoMjY1IHN1cHBvcnQKCjIwMTQtMDEtMDYgMTM6MzY6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlbW92ZSBpZmRlZidlZCBjb2RlCgkgIFdlIGRvIGhhdmUgYWR0bCBhbmQgY3VlIHBhcnNlIGFzIHBhcnQgb2YgdG9jIGhhbmRsaW5nIGFscmVkYXkuIFRoZSBmbXQgY29kZSBpcyBhIGxlZnQgb3ZlciBmcm9tIDwwLjEwIHRpbWVzLgoKMjAxNC0wMS0wNiAxMzozMjo1OCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGF2aWRlbXV4LCB3YXZlcGFyc2U6IG1vcmUgbG9nZ2luZyBmb3IgdW5oYW5kbGVkIGNodW5rcwoJICBBbHdheXMgcHJpbnQgYSB3YXJuaW5nIHdpdGggdGhlIHRhZyBhbmQgaWYgcG9zc2libGUgZG8gYSBtZW1kdW1wLgoKMjAxNC0wMS0wNSAyMjo0Nzo0MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGV4cG9zZSAnc3RybicgLSBzdHJlYW0gbmFtZSAtIGFzIHRpdGxlIHRhZwoKMjAxNC0wMS0wNSAyMjo0MToyNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHBhcnNlIGZ1amkgc3RyZAoJICBXZSBjYW4gZ2V0IG1ha2VyLCBtb2RlbCBhbmQgY2FwdHVyZSBkYXRlIGZyb20gdGhpcyBjaHVuay4KCSAgRml4ZXMgIzYzNjE0MwoKMjAxNC0wMS0wNSAyMTo0NjozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IC4uLiBhbmQgdXNlIHRoZSBsb2NhbCBhcGkgYm90aCB0aW1lcwoKMjAxNC0wMS0wNSAyMTozODoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNvcHkgdGhlIHJpZmYgYXBpIGZvciBuY2R0IGludG8gdGhlIGVsZW1lbnQKCSAgVGhpcyBjaHVuayBpcyBhdmkgc3BlY2lmaWMsIG5vIG5lZWQgdG8gZXhwb3NlIHRoaXMgYXMgcHVibGljIGFwaS4KCjIwMTQtMDEtMDUgMTA6Mjg6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgbWlzc2luZyBzZW1pY29sb24gZnJvbSBsYXN0IGNvbW1pdAoKMjAxNC0wMS0wNSAxMDoyMjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSB0aGUgcnVubmluZyB0aW1lIGZvciBjb250YWluZXIgdGltZXN0YW1wcywgbm90IGJ1ZmZlciB0aW1lc3RhbXBzCgkgIEJ1ZmZlciB0aW1lc3RhbXBzIGhhdmUgbm8gcmVhbCBtZWFuaW5nIGhlcmUsIGFuZCBmb3Igc2VsZWN0aW5nIHRoZSBuZXh0CgkgIGJ1ZmZlciB3ZSBhbHJlYWR5IHVzZSB0aGUgcnVubmluZyB0aW1lIGFueXdheS4KCjIwMTQtMDEtMDQgMjE6MzQ6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogdXNlIG5ldyByaWZmIGFwaSB0byBleHRyYWN0IG5pa29uIG1ldGFkYXRhCgkgIEZpeGVzICM2MzYxNDMKCjIwMTMtMTEtMDEgMTY6NDE6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSAgcnRwcnR4c2VuZC9ydHBydHhyZWNlaXZlOiBnZW5lcmF0ZSBndGsgZG9jCgoyMDEzLTEyLTAyIDExOjI2OjA5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3QvY2hlY2s6IFZlcmlmeSBydHBydHhzZW5kOjpzc3JjLW1hcCBwcm9wZXJ0eSB3b3JrcyBhcyBleHBlY3RlZAoKMjAxMy0xMS0yOSAxOTozNTo0NCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IG1vZGlmeSB0byB1c2UgYSBwYXlsb2FkLXR5cGUgbWFwIGxpa2UgcnRwcnR4c2VuZAoKMjAxMy0xMS0yOSAxOTo1ODoyNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogZG8gbm90IGtlZXAgaGlzdG9yeSBvZiBwYWNrZXRzIHdpdGggYW4gdW5rbm93biBwYXlsb2FkIHR5cGUKCSAgVGhpcyBhbGxvd3MgdG8gZGlzYWJsZSByZXRyYW5zbWlzc2lvbiBwZXIgcGF5bG9hZCB0eXBlIGJ5IG5vdCBwdXR0aW5nCgkgIGEgY2VydGFpbiBwYXlsb2FkIHR5cGUgaW4gdGhlIG1hcC4KCjIwMTQtMDEtMDIgMTU6MTg6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmM6CgkgIHJ0cHJ0eHNlbmQ6IEFsbG93IFNTUkMtbXVsdGlwbGV4aW5nIGFuZCBtdWx0aXBsZSBwYXlsb2FkIHR5cGVzIGluIHRoZSBvcmlnaW5hbCBzdHJlYW0KCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jCgoyMDEzLTExLTI1IDE1OjAwOjQ1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBBZGQgYW4gcnR4LXNzcmMgcHJvcGVydHkgdG8gYWxsb3cgZXh0ZXJuYWwgY29udHJvbCBvZiB0aGUgc3NyYwoJICBUaGlzIGlzIHVzZWZ1bCB3aGVuIG9uZSBuZWVkcyB0byBrbm93IHRoZSBTU1JDIGJlZm9yZWhhbmRzLCBzbyB0aGF0IGl0IGNhbgoJICBiZSB1c2VkIGZvciBTUlRQIGZvciBleGFtcGxlLgoKMjAxMy0xMS0xMyAxNToxMTozNSAtMDUwMCAgVG9ycmllIEZpc2NoZXIgPHRvcnJpZS5maXNjaGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmM6CgkgIGV4YW1wbGVzOiBydHA6IEFkZCBlbmQtdG8tZW5kIHJ0cGJpbiBleGFtcGxlIHdpdGggUlRYIGVsZW1lbnRzCgkgIFRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXMgaG93IHRvIHVzZSBydHBiaW4gd2l0aCByZXRyYW5zbWlzc2lvbiAocnR4KQoJICBlbGVtZW50cyBzZXQgaW4gdGhlIHBsYWNlIG9mIHJ0cGJpbidzICJhdXgiIGVsZW1lbnRzIGluIG9yZGVyIHRvCgkgIGVuYWJsZSBSVFAgcmV0cmFuc21pc3Npb24gYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBvZiBSRkM0NTg4LgoKMjAxMy0xMS0wNSAxNzozNTowMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2Rlc2lnbi9NYWtlZmlsZS5hbToKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cGF1eGlsaWFyeS50eHQ6CgkgIGRvYzogYWRkIGRlc2lnbi1ydHBhdXhpbGlhcnkudHh0IHRvIGRlc2NyaWJlIGhvdyBydHBiaW4gZGVhbHMgd2l0aCBhdXhpbGlhcnkgZWxlbWVudHMKCjIwMTQtMDEtMDIgMTQ6NDg6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhbHNvIHB1c2ggRU9TIGV2ZW50IHRvIFJUQ1Agc3JjcGFkCgoyMDE0LTAxLTAyIDE0OjQ2OjExICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHBsYWNlIFNTUkMgaW4gUmV0cmFuc21pc3Npb24gZXZlbnQKCjIwMTMtMTEtMDEgMTY6NTc6MTUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cGF1eDo6dGVzdF9zaW1wbGVfcnRwYmluX2F1eAoJICBJdCBzaG93cyBob3cgdG8gdXNlICJzZXQtYXV4LXJlY2VpdmUiIGFuZCAic2V0LWF1eC1zZW5kIgoJICBwcm9wZXJ0aWVzIG9mIHJ0cGJpbiB0byBzZXQgcnRwcnR4c2VuZCBhbmQgcnRwcnR4cmVjZWl2ZQoJICBCdWlsZCAyIHBpcGVsaW5lcywgb25lIGZvciBydHBiaW4gYXMgYSBzZW5kZXIgYW5kIG9uZSBmb3IKCSAgcnRvYmluIGFzIGEgcmVjZWl2ZS4gVGhlbiB0cmFuc21pdCBhbiBhdWRpbyBzdHJlYW0uCgkgIEl0IGFsc28gZHJvcHMgc29tZSBwYWNrZXRzIHRvIGFjdGl2YXRlIHJlc3RyYW5zbWlzc2lvbiBhbmQKCSAgY2hlY2sgdGhleSBhcmUgYWN0dWFsbHkgcmV0cmFuc21pdGVkLgoKMjAxMy0xMS0wMSAxNzowOTo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBjb2xsaXNpb246OnRlc3RfcnR4X3NzcmNfY29sbGlzaW9uIHVuaXQgdGVzdAoJICBjaGVjayB0aGF0IHJ0eHJ0cHNlbmQgY2hhbmdlcyBpdHMgcmV0cmFuc21pc3Npb24gc3NyYyB3aGVuCgkgIGNvbGxpc2lvbiBoYXBwZW5zCgoyMDEzLTExLTA2IDEyOjM0OjEzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwcnR4Ojp0ZXN0X3J0eHJlY2VpdmVfZGF0YV9yZWNvbnN0cnVjdGlvbgoJICBUaGlzIHVuaXQgdGVzdCB2ZXJpZmllcyB0aGF0IHJldHJhbnNtaXR0ZWQgcnRwIHBhY2tldHMgY29taW5nIG91dAoJICBvZiBydHBydHhyZWNlaXZlIGFyZSB0aGUgc2FtZSBhcyB0aGUgb3JpZ2luYWwgb25lcy4KCjIwMTMtMTEtMDUgMDk6MzM6NTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHVzZSBhIHJlYWxpc3RpYyBsaW1pdCBmb3IgdGhlIHZhbHVlIG9mIG1heC1zaXplLXBhY2tldHMKCSAgR19NQVhJTlQxNiBpcyBjaG9zZW4gYmVjYXVzZSBpZiB0aGUgcXVldWUgY29udGFpbnMgbW9yZSB0aGFuCgkgIEdfTUFYSU5UMTYgcGFja2V0cywgc2VxbnVtIGNvbXBhcmlzb24gd2lsbCBub3Qgd29yayBwcm9wZXJseS4KCjIwMTMtMTEtMDQgMjA6MDU6MDMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogdXNlIGEgR1NlcXVlbmNlIHRvIGltcGxlbWVudCB0aGUgYnVmZmVyIHF1ZXVlCgkgIFRoaXMgaGFzIHRoZSBhZHZhbnRhZ2UgdGhhdCBzZWFyY2hpbmcgdGhlIHF1ZXVlIHRvIGZpbmQgdGhlCgkgIGJ1ZmZlciB3aXRoIHRoZSByZXF1ZXN0ZWQgc2VxbnVtIGlzIGRvbmUgd2l0aCBiaW5hcnkgc2VhcmNoLgoKMjAxMy0xMS0wNCAxODozODoyNCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwcnR4c2VuZDogcmV0cmFuc21pdCBwYWNrZXRzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBydHggcmVxdWVzdHMKCjIwMTMtMTEtMDIgMTk6NTY6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IEFkZCB1bml0IHRlc3QgZm9yIHJ0eHNlbmQncyBtYXhfc2l6ZV90aW1lIHByb3BlcnR5CgoyMDEzLTEwLTI5IDE4OjI3OjAwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IEhhbmRsZSB0aGUgbWF4X3NpemVfdGltZSBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGFsbG93cyB5b3UgdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIGJ1ZmZlcnMKCSAgdG8ga2VlcCBpbiB0aGUgcmV0cmFuc21pc3Npb24gcXVldWUgZXhwcmVzc2VkIGFzIHRpbWUgKG1zKQoJICBpbnN0ZWFkIG9mIGJ1ZmZlciBjb3VudCAod2hpY2ggaXMgdGhlIG1heF9zaXplX2J1ZmZlcnMgcHJvcGVydHkpLgoKMjAxMy0xMS0wMiAxNToyMTowOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDoga2VlcCBpbXBvcnRhbnQgYnVmZmVyIGluZm9ybWF0aW9uIGluIGEgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgVGhpcyBpcyB0byBhdm9pZCBtYXBwaW5nIGEgYnVmZmVyIGV2ZXJ5IHRpbWUgd2UgbmVlZCB0byByZWFkIGEgc2VxbnVtCgkgIG9yIGEgdGltZXN0YW1wLgoKMjAxMy0xMS0wMSAxMTo1ODo0NyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogQWRkIHJ0cHJ0eDo6dGVzdF9ydHhzZW5kZXJfcGFja2V0X3JldGVudGlvbgoJICBUaGlzIHVuaXQgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBydHhzZW5kIGVsZW1lbnQgY29ycmVjdGx5IG1haW50YWlucwoJICBhIGJ1ZmZlciBvZiBhbHJlYWR5IHRyYW5zbWl0dGVkIHJ0cCBwYWNrZXRzIGFuZCB0aGF0IGl0IGNhbgoJICByZS10cmFuc21pdCBhbGwgb2YgdGhlbSBjb3JyZWN0bHkgb24gZGVtYW5kLiBJdCBhbHNvIHZlcmlmaWVzCgkgIHRoYXQgdGhlIGxpbWl0IG9mIHRoaXMgYnVmZmVyIChtYXgtc2l6ZS1wYWNrZXRzIHByb3BlcnR5KSBpcyByZXNwZWN0ZWQuCgoyMDEzLTExLTAxIDE2OjIyOjEzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9kcm9wX211bHRpcGxlX3NlbmRlciB1bml0IHRlc3QKCSAgU2V2ZXJhbCBzZW5kZXJzIC8gb25lIHJlY2VpdmVyCgkgIFNpbWlsYXIgdGhhbiB0ZXN0X2Ryb3Bfb25lX3NlbmRlciBidXQgd2l0aCBtdWx0aXBsZSBzZW5kZXJzCgkgIG1peGVkIHRocm91Z2ggdGhlIGZ1bm5lbCBlbGVtZW50LgoJICBJdCBkcm9wcyBzb21lIHBhY2tldHMgYW5kIGNoZWNrcyB0aGF0IHRoZXkgYXJlIHJldHJhbnNtaXRlZAoJICBjb3JyZWN0bHkuCgoyMDEzLTExLTAxIDE2OjIxOjAwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9kcm9wX29uZV9zZW5kZXIgdW5pdCB0ZXN0CgkgIFRlc3QgZm9yIG9uZSBzZW5kZXIgLyBvbmUgcmVjZWl2ZXIKCSAgQnVpbGQgdGhlIHBpcGVsaW5lCgkgIHZpZGVvdGVzdHNyYyAhIHJ0cHZyYXdwYXkgISBydHBydHhzZW5kICEgcnRwcnR4cmVjZWl2ZSAhIGZha2VzaW5rCgkgIGFuZCBkcm9wIHNvbWUgYnVmZmVycyBiZXR3ZWVuIHJ0cHJ0eHNlbmQgYW5kIHJ0cHJ0eHJlY2VpdmUKCSAgVGhlbiBpdCBjaGVja3MgdGhhdCBldmVyeSBkcm9wcGVkIHBhY2tldCBoYXMgYmVlbiByZS1zZW50LgoJICBJdCBhbHNvIGNoZWNrcyB0aGF0IG5vdCB0b28gbXVjaCByZXF1ZXN0cyBoYXMgYmVlbiBzZW50LgoKMjAxMy0xMS0wMSAxNjoxNzo1MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwcnR4Ojp0ZXN0X3B1c2hfZm9yd2FyZF9zZXEKCSAgYWRkIHNpbXBsZSB1bml0IHRlc3QgdGhhdCBtYW51YWxseSBwdXNoIGJ1ZmZlcnMKCSAgaW4gcnRwcnR4c2VuZCBjb25uZWN0ZWQgdG8gcnRwcnR4cmVjZWl2ZS4KCSAgRHJvcHMgc29tZSBidWZmZXJzIGFuZCBtYWtlIHN1cmUgdGhleSBhcmUgcmV0cmFuc21pc3RlZC4KCjIwMTMtMTEtMDEgMTU6NTI6MDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBtYW5hZ2VyOiBhZGQgbmV3IHJ0cHJ0eHNlbmQgLyBydHBydHhyZWNlaXZlIGVsZW1lbnRzCgkgIFRoZSBwdXJwb3NlIG9mIHRoZSBzZW5kZXIgUlRYIG9iamVjdCBpcyB0byBrZWVwIGEgaGlzdG9yeQoJICBvZiBSVFAgcGFja2V0cyB1cCB0byBhIGNvbmZpZ3VyYWJsZSBsaW1pdCAoaW4gdGltZSkuIEl0IHdpbGwKCSAgbGlzdGVuIGZvciBjdXN0b20gcmV0cmFuc21pc3Npb24gZXZlbnRzIGZyb20gZG93bnN0cmVhbS4gV2hlbgoJICBpdCByZWNlaXZlcyBhIHJlcXVlc3QgZm9yIHJldHJhbnNtaXNzaW9uLCBpdCB3aWxsIGxvb2sgdXAgdGhlCgkgIHJlcXVlc3RlZCBzZXFudW0gaW4gaXRzIGxpc3Qgb2Ygc3RvcmVkIHBhY2tldHMuIElmIHRoZSBwYWNrZXQKCSAgaXMgYXZhaWxhYmxlLCBpdCB3aWxsIGNyZWF0ZSBhIFJUWCBwYWNrZXQgYWNjb3JkaW5nIHRvIFJGQyA0NTg4CgkgIGFuZCBzZW5kIHRoaXMgYXMgYW4gYXV4aWxpYXJ5IHN0cmVhbS4KCSAgVGhlIHJlY2VpdmVyIHdpbGwgbGlzdGVuIHRvIHRoZSBjdXN0b20gcmV0cmFuc21pc3Npb24gZXZlbnRzCgkgIGZyb20gdGhlIGRvd25zdHJlYW0gaml0dGVyYnVmZmVyIGFuZCB3aWxsIHJlbWVtYmVyIHRoZSBTU1JDMQoJICBvZiB0aGUgc3RyZWFtIGFuZCBzZXFudW0gdGhhdCB3YXMgcmVxdWVzdGVkLiBXaGVuIGl0IHNlZXMgYQoJICBwYWNrZXQgd2l0aCBvbmUgb2YgdGhlIHN0b3JlZCBzZXFudW0sIGl0IGFzc29jaWF0ZXMgdGhlIFNTUkMyCgkgIG9mIHRoZSBzdHJlYW0gd2l0aCB0aGUgU1NSQzEgb2YgdGhlIG1hc3RlciBzdHJlYW0uIEZyb20gdGhlbgoJICBvbiBpdCBrbm93cyB0aGF0IFNTUkMyIGlzIHRoZSByZXRyYW5zbWlzc2lvbiBzdHJlYW0gb2YgU1NSQzEuCgkgIFRoaXMgYWxnb3JpdGhtIGlzIHN0YXRlZCBpbiBSRkMgNDU4OC4gRm9yIHRoaXMgYWxnb3JpdGhtIHRvCgkgIHdvcmssIFJGQzQ1ODggYWxzbyBzdGF0ZXMgdGhhdCBubyB0d28gcGVuZGluZyByZXRyYW5zbWlzc2lvbgoJICByZXF1ZXN0cyBjYW4gZXhpc3QgZm9yIHRoZSBzYW1lIHNlcW51bSBhbmQgZGlmZmVyZW50IFNTUkNzIG9yCgkgIGVsc2UgaXQgd291bGQgYmUgaW1wb3NzaWJsZSB0byBhc3NvY2lhdGUgdGhlIHJldHJhbnNtaXNzaW9uIHdpdGgKCSAgdGhlIG9yaWdpbmFsIHJlcXVlc3RlciBTU1JDLgoJICBXaGVuIHRoZSBSVFggcmVjZWl2ZXIgaGFzIGFzc29jaWF0ZWQgdGhlIHJldHJhbnNtaXNzaW9uIHBhY2tldHMsCgkgIGl0IGNhbiBkZXBheWxvYWQgYW5kIGZvcndhcmQgdGhlbSB0byB0aGUgc291cmNlIHBhZCBvZiB0aGUgZWxlbWVudC4KCSAgUlRYIGlzIFNTUkMtbXVsdGlwbGV4ZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTA4NAoKMjAxMy0xMS0wNSAxNjozNjo0NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2Rlc2lnbi9NYWtlZmlsZS5hbToKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cHJldHJhbnNtaXNzaW9uLnR4dDoKCSAgZG9jOiBhZGQgZGVzaWduIGZvciBydHAgcmV0cmFuc21pc3Npb24KCSAgRGVzY3JpYmUgaG93IHJ0cHJ0eHNlbmQgYW5kIHJ0cHJ0eHJlY2VpdmUgZ2VuZXJhbGx5IHdvcmsKCSAgYnV0IGFsc28gaG93IHRoZSBhc3NvY2lhdGlvbiBhbGdvcml0aG0gaXMgaW1wbGVtZW50ZWQuCgoyMDE0LTAxLTAyIDIwOjIzOjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiB1c2Ugc3RhdHVzIGNvZGUgbWFjcm8gaW5zdGVhZCBvZiA0MDcKCSAgUmVzdCBvZiB0aGUgY29kZSBpcyB1c2luZyB0aGUgX1BST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVECgkgIG1hY3JvIHRvby4gRWFzaWVyIHRvIHVuZGVyc3RhbmQgaWYgeW91IGRvbid0IHJlY2FsbCBIVFRQCgkgIGVycm9yIGNvZGVzIGJ5IGhlYXJ0LgoKMjAxMy0xMi0zMSAyMTozMTo0MyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDJzZW5kOiBjaGFuZ2UgYXVkaW9fZm9ybWF0IGZpZWxkIHRvIGZvcm1hdAoJICBUaGlzIGVsZW1lbnQgYW5kIHRoZSB1bmRlcmx5aW5nIGxpYnNob3V0MiBsaWJyYXJ5CgkgIGNhbiBoYW5kbGUgdmlkZW8gbWVkaWEgZmlsZXMgdG9vLiBUaGUgY29kZSBhbHJlYWR5CgkgIGhhbmRsZXMgdmlkZW8vd2VibSBzbyB0aGUgbmFtZSBnZXRzIGNvbmZ1c2luZy4gQWxzbwoJICBhZGQgYW5kIHVzZSBERUZBVUxUX0ZPUk1BVCBtYWNybyBJbnN0ZWFkIG9mIGhhcmR3aXJpbmcKCSAgU0hPVVRfRk9STUFUX1ZPUkJJUyBhdCBpbml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzNDIKCjIwMTMtMTItMzEgMjA6MDk6MjkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogY2xhcmlmeSBtZWFuaW5nIG9mIHRoZSBVUkwgcHJvcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzQyCgoyMDEzLTEyLTI3IDEyOjI3OjMyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBkb2NzLCBhZGQgYSBzYW1wbGUgcGlwZWxpbmUKCSAgQW5kIGZpbmlzaCBhZGRpbmcgc2hvdXQyc2VuZCB0byB0aGUgZG9jcyB3aGlsZSBhdCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzQyCgoyMDEzLTEyLTMxIDE1OjAwOjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogcmVtb3ZlIHNwdXJpb3VzIEBzZWVfYWxzbwoKMjAxMy0xMi0wNiAxNzowODo1NCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc3VwcG9ydCBhbnkgdmlkZW8gZm9ybWF0cyBhbmQgYW55IGNhcHMgZmVhdHVyZXMgaWYgZGVpbnRlcmxhY2UgbW9kZSBhbGxvd3MgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTYzNgoKMjAxMy0xMi0zMSAxMzozMTo1MiArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBIYW5kbGUgdjRsMl9pb2N0bCgpIGVycm9ycyBldmVuIGluIGVycm9yIGhhbmRsaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNjgKCjIwMTQtMDEtMDEgMTI6MTE6NDMgLTA4MDAgIEplcmVteSBIdWRkbGVzdG9uIFNlcXVvaWEgPGplcmVteWh1QGFwcGxlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiB1bmlmZGVmIC1EUlVOX05TX0FQUF9USFJFQUQKCjIwMTQtMDEtMDEgMTI6MTA6MDEgLTA4MDAgIEplcmVteSBIdWRkbGVzdG9uIFNlcXVvaWEgPGplcmVteWh1QGFwcGxlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvOiBBc3N1bWUgU0RLIGFuZCBkZXBsb3ltZW50IHRhcmdldCBhcmUgYXQgbGVhc3QgU25vdyBMZW9wYXJkCgoyMDE0LTAxLTAxIDEyOjIzOjUwIC0wODAwICBKZXJlbXkgSHVkZGxlc3RvbiBTZXF1b2lhIDxqZXJlbXlodUBhcHBsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRGlzYWJsZSBvc3h2aWRlbyBvbiBMZW9wYXJkIGFuZCBlYXJsaWVyCgkgIFRoaXMgYWxzbyBtb3ZlcyB0aGUgIm90aGVyIHBsYXRmb3JtcyIgY2hlY2sgaW4gT1MgWCB2aWRlbyB0byBiZWZvcmUgdGhlCgkgIHZhcmlhYmxlIGlzIHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0NQoKMjAxMy0xMi0zMSAxNDo1NzoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBBVVggcmVjZWl2ZXIgdW5pdCB0ZXN0CgoyMDEzLTEyLTMxIDEzOjIwOjAxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogaW1wcm92ZSBydHBiaW4gdGVzdAoKMjAxMy0xMi0zMSAxMzoxNjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgc29tZSBkb2NzIGFib3V0IEFVWCBlbGVtZW50cwoKMjAxMy0xMi0zMSAxMzowMToyMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBBVVggc2VuZGVyIHVuaXQgdGVzdAoKMjAxMy0xMi0zMSAxMjozMToyNSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIHN1cHBvcnQgZm9yIEFVWCBzZW5kZXIgYW5kIHJlY2VpdmVyCgkgIEFVWCBlbGVtZW50cyBhcmUgZWxlbWVudHMgdGhhdCBjYW4gYmUgaW5zZXJ0ZWQgaW50byB0aGUgcnRwYmluCgkgIHBpcGVsaW5lIHJpZ2h0IGJlZm9yZSBvciBhZnRlciAxIG9yIG1vcmUgc2Vzc2lvbiBlbGVtZW50cy4KCSAgVGhlIEFVWCBlbGVtZW50cyBhcmUgZXNzZW50aWFsIGZvciBpbXBsZW1lbnRpbmcgZnVuY3Rpb25hbGl0eSBzdWNoCgkgIGFzIGVycm9yIGNvcnJlY3Rpb24gKEZFQykgYW5kIHJldHJhbnNtaXNzaW9uIChSVFgpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDg3CgoyMDEzLTEyLTMxIDEyOjIyOjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIGRlY29kZXIgdGVzdAoKMjAxMy0xMi0zMCAxNzozNjo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBtYWtlIHJlcXVlc3RfZWxlbWVudCBtZXRob2QgaW50ZXJuYWxseQoJICBXZSBjYW4gdXNlIHRoZSBzYW1lIG1ldGhvZCB0byBjcmVhdGUgZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cywgdGhleQoJICBhcmUganVzdCBpbnRlcm5hbCBlbGVtZW50cyB0aGF0IHdlIGNyZWF0ZS4KCjIwMTMtMTItMzEgMTA6MjU6MjggKzAxMDAgIFN0w6lwaGFuZSBDZXJ2ZWF1IDxzY2VydmVhdUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFNraXAgaWQzIHRhZwoJICBTa2lwIGlkMyB0YWcgZHVyaW5nIHdhdiBwYXJzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0MQoKMjAxMy0xMi0zMSAxMDoxMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4OiBNYWtlIE9TWCB2ZXJzaW9uIGNoZWNrcyBtb3JlIGNvbnNpc3RlbnQKCSAgQW5kIGVzcGVjaWFsbHkgYWxzbyBjb25zaWRlciB1cGRhdGUgdmVyc2lvbnMsIGUuZy4gMTAuNSB3aXRoIHVwZGF0ZXMKCSAgd2lsbCBiZSAxMDUxIG9yIHNpbWlsYXIgYW5kIHRodXMgYmlnZ2VyIHRoYW4gTUFDX09TX1hfVkVSU0lPTl8xMF81IGJ1dAoJICBzdGlsbCB3b24ndCBoYXZlIHRoZSBBUEkgd2Ugd2FudCB0byB1c2UuCgoyMDEzLTEyLTMxIDEwOjA3OjIyICswMTAwICBKZXJlbXkgSHVkZGxlc3RvbiA8amVyZW15aHVAZnJlZWRlc2t0b3Aub3JnPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IEZpeCBidWlsZCBvbiB1cGRhdGVkIE9TIFggTGVvcGFyZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjQ1CgoyMDEzLTEyLTMwIDE3OjIzOjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBZGQgbWlzc2luZyBicmVhawoJICBJIGd1ZXNzIG5vLW9uZSBub3RpY2VkIHdlIG5vIGxvbmdlciBjb3VsZCBtdXggV01WMyAuLi4KCSAgQ09WRVJJVFkgQ0lEIDExMzk3NTkKCjIwMTMtMTItMzAgMTc6MjA6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogQWRkIG1pc3NpbmcgYnJlYWsKCSAgQ09WRVJJVFkgQ0lEIDExMzk3NjIKCjIwMTMtMTItMzAgMTc6MDA6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBpbnRlcm5hbC1zc3JjIGlzIG5vIGxvbmdlciBkZXByZWNhdGVkCgoyMDEzLTEyLTMwIDE2OjU5OjIwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCBTaW5jZSB0YWdzCgoyMDEzLTEyLTMwIDE2OjUyOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgc2lnbmFsIGZvciBuZXcgaml0dGVyYnVmZmVyCgkgIEVtaXQgYSBzaWduYWwgd2hlbiBhIG5ldyBqaXR0ZXJidWZmZXIgaXMgY3JlYXRlZCBzbyB0aGF0IHRoZSBhcHAgY2FuCgkgIGhhdmUgYSBjaGFuY2UgdG8gY29uZmlndXJlIGl0LgoKMjAxMy0xMi0zMCAxNjoyODo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogaGFuZGxlIG11bHRpcGxlIGVuY29kZXIgaW5zdGFuY2VzCgkgIEtlZXAgdHJhY2sgb2YgZWxlbWVudHMgdGhhdCBhcmUgYWRkZWQgdG8gbXVsdGlwbGUgc2Vzc2lvbnMgYW5kIG1ha2Ugc3VyZQoJICB3ZSBvbmx5IGFkZCB0aGVtIHRvIHRoZSBydHBiaW4gb25jZSBhbmQgdGhhdCB3ZSBjbGVhbiB0aGVtIHdoZW4gbm8KCSAgc2Vzc2lvbiByZWZlcnMgdG8gdGhlbSBhbnltb3JlLgoKMjAxMy0xMi0zMCAxNToxNjowOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIGVuY29kZXIgZWxlbWVudAoKMjAxMy0xMi0zMCAxNToxNTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggbWVtb3J5IGxlYWtzCgoyMDEzLTEyLTMwIDE1OjAzOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogZml4IGxlYWsKCjIwMTMtMTItMzAgMTU6MDA6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZXhwZWN0IHRoZSBwYWRzIG9uIHRoZSBlbmNvZGVycwoJICBEb24ndCB1c2UgcmVxdWVzdCBwYWRzIGZvciB0aGUgZW5jb2RlciBlbGVtZW50cywgdGhlIHNpZ25hbCBoYW5kbGVyCgkgIHNob3VsZCByZXF1ZXN0IHRoZSBwYWRzIGFuZCBtYWtlIHN1cmUgdGhleSBhcmUgYXZhaWxhYmxlIHdpdGggdGhlIHJpZ2h0CgkgIG5hbWUuCgoyMDEzLTEyLTMwIDE0OjU2OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiByZXF1ZXN0LXJ0cC1lbmNvZGVyIGFyZSBubyBhY3Rpb24gc2lnbmFscwoJICBUaGUgcmVxdWVzdC1ydHAtZW5jb2RlciBzaWduYWxzIGFyZSBub3QgYWN0aW9uIHNpZ25hbHMgc28gbWFyayB0aGVtCgkgIGNvcnJlY3RseSBhbmQgdXNlIGFuIGFjY3VtdWxhdG9yIHRvIGNvbGxlY3QgdGhlIHJlc3VsdCB2YWx1ZS4KCjIwMTMtMTItMzAgMTQ6MzY6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGVtaXQgbWlkaS1iYXNlLW5vdGUgdGFnIGZyb20gZGF0YSBpbiAnc21wbCcgY2h1bmsKCSAgQWRkIHBhcnNpbmcgb2YgdGhlICdzbXBsJyBjaHVuay4gUmlnaHQgbm93IHdlIG9ubHkgZ3JhYiB0aGUgbWlkaS1iYXNlLW5vdGUgYW5kCgkgIGVtaXQgaXQgYXMgYSB0YWcuCgoyMDEzLTEyLTI2IDEyOjA1OjE5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBzdWdnZXN0IHVwc3RyZWFtIHRvIHVzZSB0aGUgbmV3ICJpbnRlcm5hbC1zc3JjIiBhZnRlciBhIGNvbGxpc2lvbgoJICBXaGVuIGEgY29sbGlzaW9uIGlzIGZvdW5kIG9uIHRoZSBpbnRlcm5hbCBzc3JjLCB3ZSBoYXZlIHRvIGNoYW5nZSBpdC4KCSAgSWRlYWxseSwgd2Ugd2FudCBhbHNvIHRoZSBwYXlsb2FkZXIgdXBzdHJlYW0gdG8gZm9sbG93IHRoaXMgY2hhbmdlIGFuZCB1c2UKCSAgdGhlIG5ldyBpbnRlcm5hbCBzc3JjLiBJZGVhbGx5IHdlIHdhbnQgdGhpcyBjb25kaXRpb24gdG8gYmUgYWx3YXlzIG1ldDoKCSAgaWYgdGhlcmUgaXMgb25lIHBheWxvYWRlciBzZW5kaW5nIG9uIHRoaXMgc2Vzc2lvbiwgaXRzIHNzcmMgc2hvdWxkIG1hdGNoIHRoZQoJICBpbnRlcm5hbCBzc3JjLgoKMjAxMy0xMi0yNiAxMTowNDoyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWxsb3cgc2V0dGluZyBpbnRlcm5hbC1zc3JjIGFnYWluCgoyMDEzLTEyLTMwIDEzOjMxOjQ1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jb2RlOiBSZW1vdmUgZGVhZCBjb2RlCgkgIHNldC9nZXQgcHJvcGVydHkgaXNuJ3QgdXNlZAoKMjAxMy0xMi0zMCAxMzozMDoyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHBxY2VscGRlcGF5OiBSZW1vdmUgdW5lZWRlZCB2YXJpYWJsZQoKMjAxMy0xMi0wNSAxNTo1Mzo1MiAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJICBydHBiaW46IGFsbG93IGR5bmFtaWMgUlRQL1JUQ1AgZW5jb2RlcnMvZGVjb2RlcnMKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uW2NoXTogZm91ciBuZXcgYWN0aW9uIHNpZ25hbHMgaGF2ZSBiZWVuCgkgIGFkZGVkIChyZXF1ZXN0LXJ0cC1lbmNvZGVyLCByZXF1ZXN0LXJ0cC1kZWNvZGVyLCByZXF1ZXN0LXJ0Y3AtZW5jb2RlcgoJICBhbmQgcmVxdWVzdC1ydGNwLWRlY29kZXIpLiBUaGUgdXNlciB3aWxsIGJlIGFibGUgdG8gcHJvdmlkZSBlbmNvZGVycwoJICBvciBkZWNvZGVycyBkeW5hbWljYWxseS4gVGhlIGVuY29kZXJzIG11c3QgZm9sbG93IHRoZSBzcnRwZW5jIEFQSSBhbmQKCSAgdGhlIGRlY29kZXJzIHRoZSBzcnRwZGVjIEFQSS4gSGF2aW5nIHNlcGFyYXRlIHNpZ25hbHMgZm9yIFJUUCBhbmQgUlRDUAoJICBhbGxvd3MgdGhlIHVzZXIgdG8gdXNlIGRpZmZlcmVudCBlbmNvZGVycy9kZWNvZGVycyBvciBwcm92aWRlIHRoZSBzYW1lCgkgIG9uZSAoZS5nLiB0aGF0IHdvdWxkIGJlIHRoZSBjYXNlIGZvciBzcnRwZW5jKS4KCSAgQWxzbywgcnRwYmluIG5vdyBhbGxvd3MgYXBwbGljYXRpb24veC1zcnRwIGluIGl0cyBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5OTM4CgoyMDEzLTEyLTI3IDE2OjUxOjMyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGR5bmFtaWNhbGx5IHJlY2FsY3VsYXRlIFJUWCBwYXJhbWV0ZXJzCgkgIFVzZSB0aGUgcm91bmQtdHJpcC10aW1lIGFuZCBhdmVyYWdlIGppdHRlciB0byBkeW5hbWljYWxseSBjYWxjdWxhdGUgdGhlCgkgIHJldHJhbnNtaXNzaW9uIGludGVydmFsIGFuZCBleHBlY3RlZCBwYWNrZXQgYXJyaXZhbCB0aW1lLgoJICBCYXNlZCBvbiBwYXRjaGVzIGZyb20gVG9ycmllIEZpc2NoZXIgPHRvcnJpZS5maXNjaGVyQGNvbGxhYm9yYS5jby51az4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQxMgoKMjAxMy0xMi0yNyAxNjo1MDo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBjYWxjdWxhdGUgYXZlcmFnZSBqaXR0ZXIKCjIwMTMtMTItMjcgMTY6NDg6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdXNlIFJUVCBmcm9tIHRoZSBSZXRyYW5zbWlzc2lvbiBldmVudAoJICBQbGFjZSB0aGUgZXN0aW1hdGVkIFJUVCBpbiB0aGUgUmV0cmFuc21pc3Npb24gZXZlbnQgYW5kIGxldCB0aGUgc2Vzc2lvbgoJICBtYW5hZ2VyIHVzZSB0aGF0IGluc3RlYWQgb2YgdGhlIGhhcmRjb2RlZCB2YWx1ZS4KCjIwMTMtMTItMjcgMTU6NTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdGFrZSBtb3JlIGFjY3VyYXRlIHJ1bm5pbmctdGltZSBmb3IgTkFDSwoJICBEb24ndCB1c2UgdGhlIGN1cnJlbnQgdGltZSBjYWxjdWxhdGVkIGZyb20gdGhlIHRtaWVvdXQgbG9vcCBmb3Igd2hlbiB3ZQoJICBsYXN0IHNjaGVkdWxlZCB0aGUgTkFDSyBiZWNhdXNlIGl0IG1pZ2h0IGJlIHVuc2NoZWR1bGVkIGJlY2F1c2Ugb2YgYSBtYXgKCSAgcGFja2V0IG1pc29yZGVyIGFuZCB0aGVuIHdlIGRvbid0IGFjY3VyYXRlbHkgY2FsY3VsYXRlIHRoZSBjdXJyZW50IHRpbWUuCgkgIEluc3RlYWQsIHRha2UgdGhlIGN1cnJlbnQgZWxlbWVudCBydW5uaW5nIHRpbWUgdXNpbmcgdGhlIGNsb2NrLgoKMjAxMy0xMi0zMCAxMTowNjozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogU2VuZCBhIENBUFMgZXZlbnQgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMy0xMi0yNyAwMjoxNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGltcHJvdmUgbXNzX21vZGUvZnJhZ21lbnRlZCBzcGVjaWFsIGhhbmRsaW5nCgkgIE1ha2UgaXQgY2xlYXIgd2hhdCBzaG91bGQgYmUgaGFuZGxlZCBwdXJlbHkgYnkgbXNzIG1vZGU6CgkgIDEpIEV4cG9zZSB0aGUgc3RyZWFtcyBvbiB0aGUgZmlyc3QgbW9vZiBhcyB0aGVyZSBhcmUgbm8gbW9vdiBhdG9tcwoJICAyKSBQcm9wZXJseSBjbGVhbnVwIHN0cmVhbXMgb24gZmx1c2hlcwoJICBBZGQgYSBub3RlIGFib3V0IHRoZSBtZWFuaW5nIG9mIHVwc3RyZWFtX25ld3NlZ21lbnQgYW5kIG1zc19tb2RlCgkgIGZvciBmdXR1cmUgcmVmZXJlbmNlLgoJICBNYWtlIGFsbCBvdGhlciBzcGVjaWFsIGZyYWdtZW50IGhhbmRsaW5nIHNoYXJlZCBmb3IgYm90aCBkYXNoCgkgIGFuZCBtc3Mgc3RyZWFtcy4KCjIwMTMtMTItMTIgMTA6NTA6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRyYWluIHRoZSBhZGFwdGVyIGJlZm9yZSBwdXNoaW5nIEVPUwoJICBJbiBhIGZyYWdtZW50ZWQgc2NlbmFyaW8sIHF0ZGVtdXggaXMgb3BlcmF0aW5nIGluIHB1c2ggbW9kZQoJICBhbmQgaXQgZ2V0cyBhIGZyYWdtZW50ZWQgYnVmZmVyLiBXaGlsZSBwcm9jZXNzaW5nIGl0cyBkYXRhCgkgIGRvd25zdHJlYW0gZ2V0cyB1bmxpbmtlZCAob3IgYSBpbnB1dC1zZWxlY3RvciBjaGFuZ2VzIGl0cwoJICBhY3RpdmUgcGFkIGFuZCByZXR1cm5zIG5vdC1saW5rZWQpLiBRdGRlbXV4IHN0b3BzIHByb2Nlc3NpbmcKCSAgdGhpcyBmcmFnbWVudCBhbmQgcmV0dXJucyBub3QtbGlua2VkIHVwc3RyZWFtLCBsZWF2aW5nIHRoZQoJICByZW1haW5pbmcgZGF0YSBpbiBpdHMgYWRhcHRlci4KCSAgV2hlbiBpdCBnZXRzIGFuIEVPUyBpdCBzaG91bGQgbWFrZSBzdXJlIHRoYXQgYWxsIHRoZSBkYXRhIGl0CgkgIGhhZCByZWNlaXZlZCBpcyBwdXNoZWQgYmVmb3JlIHB1c2hpbmcgRU9TLgoKMjAxMy0xMi0yNiAyMzoyMTo0NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBkcm9wIElQIG9ubHkgcmVxdWlyZW1lbnQgZm9yIF9zZXRfaG9zdCgpCgkgIGxpYnNob3V0MiAod2UgcmVxdWlyZSA+IDIuMCBhdCBjb25maWcgdGltZSkgc3VwcG9ydHMKCSAgYm90aCBJUCBhbmQgaG9zdG5hbWUgZm9yIF9zZXRfaG9zdCgpLiBEcm9wcGVkIGFuCgkgIG91dGRhdGVkIEZJWE1FIHJlZ2FyZGluZyB0aGlzIGxpbWl0YXRpb24sIGFkanVzdGVkCgkgIHNvbWUgY29tbWVudHMgYW5kIGNoYW5nZWQgdGhlIHBhcmFtIGJsdXJiIHRvIHJlZmxlY3QKCSAgdGhpcyB0b28uCgoyMDEzLTEyLTI2IDIxOjQzOjM0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IFJldGFyZ2V0IEZJWE1FIHRvIDIuMAoKMjAxMy0xMi0yNiAxMToyMTozNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBhZ2dyZWdhdGUgY29udHJvbCBmb3IgUExBWS9QQVVTRS9URUFSRE9XTgoJICBVc2UgdGhlIGFnZ3JlZ2F0ZSBjb250cm9sIGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIHJlcXVlc3QgdXJsIHRvIHBlcmZvcm0KCSAgUEFVU0UvUExBWSBhbmQgVEVBUkRPV04uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEwMDMKCjIwMTMtMTItMjQgMTQ6NDA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IFByb3h5IENBUFMsIEFMTE9DQVRJT04sIFNDSEVEVUxJTkcgYW5kIHNyY3BhZCBldmVudHMgcHJvcGVybHkKCjIwMTMtMTItMjQgMDA6NDM6MzkgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRwY20gbWF4IGJsb2NrIGFsaWduIGlzIDgxOTIKCjIwMTMtMTItMjMgMTI6MjM6MjcgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZwOWRlYzogUmVxdWlyZSB2cHggPj0gMS4zLjAgZm9yIGJ1aWxkaW5nIHZwOWRlYyBhbmQgdnA5ZW5jCgkgIFByZXZpb3VzIHZlcnNpb25zIGRpZCBub3QgaGF2ZSBhIHN0YWJsZSBiaXRzdHJlYW0gZm9yIFZQOS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDk4NgoKMjAxMy0xMi0yMyAxNTo0Njo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSBjb3JyZWN0IGNvZGVjIGlkIGZvciBBRFBDTS9EVkkKCjIwMTMtMTItMjMgMTU6NDQ6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2hlY2sgZm9yIHRoZSBjb3JyZWN0IHNpemUgb2YgY29kZWNfZGF0YSBpbiB0aGUgQUNNIGNhc2UKCjIwMTItMDEtMTQgMTk6NTg6MTcgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYmFzaWMgYWRwY20gc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MzM5CgoyMDEzLTEyLTIwIDExOjQ1OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5jOgoJICBxdGRlbXV4OiBGaXggY2FsY3VhdGlvbiBvZiBkZXNjcmlwdG9yIGxlbmd0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwODEzCgoyMDEzLTEyLTIyIDIyOjMzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYmVkYWEwIHRvIGQ0OGJlZDMKCjIwMTMtMTItMjIgMjE6NTY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IHNldCBnZXR0ZXh0IGRvbWFpbiBpbiBNYWtldmFycyBzbyB3ZSBkb24ndCBoYXZlIHRvIHBhdGNoIHRoZSBnZW5lcmF0ZWQgTWFrZWZpbGUuaW4uaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ1NQoKMjAxMy0xMi0xOSAxNjo1MDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogb24gcmVjZWl2ZSBlcnJvciBvbmx5IHVubWFwIGFuZCB1bnJlZiBidWZmZXIgaWYgb25lIHdhcyBhbGxvY2VkIGFuZCBtYXBwZWQKCSAgY292ZXJpdHkgQ0lEIDExMzk4NjYuCgoyMDEzLTEyLTE5IDEyOjQ3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggbWlzbGVhZGluZyBjb21tZW50CgkgIFRob3NlIGFyZSBub3QgYWxsb2NhdGVkIG9uIHRoZSBzdGFjay4KCjIwMTMtMTItMTcgMTg6Mjg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZweDogTWFyayBWUDkgc3VwcG9ydCBhcyBub24tZXhwZXJpbWVudGFsCgkgIFRoZXJlIHdhcyBhIGxpYnZweCByZWxlYXNlIHdpdGggVlA5IHN1cHBvcnQgbm93IGFuZCB0aGUgYml0c3RyZWFtCgkgIGlzIGZyb3plbiB0b28uCgoyMDEzLTEyLTE1IDIxOjA0OjExIC0wODAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBTb21lIGNvbXBpbGVyIHdhcm5pbmcgZml4ZXMgdG8gc2F0aXNmeSBYQ29kZSBjb21waWxlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTEzCgoyMDEzLTEyLTE2IDE2OjE3OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IFNldCBwaWN0dXJlIHR5cGUgaW4gdGhlIEFQSUMgZnJhbWVzCgoyMDEzLTEyLTE2IDE2OjE0OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IFNldCBpbWFnZS1kZXNjcmlwdGlvbiBmcm9tIHRoZSBpbmZvIHN0cnVjdCwgbm90IHRoZSBjYXBzCgoyMDEzLTEyLTE2IDEwOjAyOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgd2F2cGFja3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDowMDozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5oOgoJICBzYmNwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NTg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1MTIKCjIwMTMtMTItMTYgMDk6NTY6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjU0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkgIGFtcnBhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo0OTo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NDY6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjQxOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogVXNlIHBidXRpbHMgZnVuY3Rpb25hbGl0eSB0byBjcmVhdGUgdGhlIEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xMyAxNzozNjozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIGVycm9yIG1lc3NhZ2UgaWYgdGhlIGFwcCB0cmllcyB0byBzZXQgdGhlIGludGVybmFsLXNzcmMKCjIwMTMtMTItMTMgMTY6MDg6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE9ubHkgY291bnQgbmFja3Mgd2hlbiBhIG5hY2sgcGFja2V0IGlzIHJlY2VpdmVkCgkgIE5vdCB3aGVuIGFueSBSVENQIGZlZWRiYWNrIHBhY2tldCBpcy4KCjIwMTMtMTItMTIgMjM6MjI6NDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHM6IEluaXRpYWxpemUgc2VnbWVudCBpbiBydHBjb2xsaXNpb24gdGVzdAoKMjAxMy0xMi0xMyAxNTo1NzozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogUHJvY2VzcyBQU0ZCIEZJUiByZXF1ZXN0cyB3aGljaCBsYWNrIHRoZSBtZWRpYSBzc3JjCgkgIEFjY29yZGluZyB0byBSRkMgNTEwNCBzZWN0aW9uIDQuMy4xLjIsIFJUQ1AgUFNGQiBGSVIgbWVzc2FnZSBTSEFMTAoJICBoYXZlIGEgbWVkaWFfc3NyYyBmaWVsZCBzZXQgdG8gMC4gVGhlIGFjdHVhbCBtZWRpYSBzc3JjIGlzIGluIHRoZSBGQ0kuCgkgIFNvIGluIHRoYXQgY2FzZSwgd2UgaWdub3JlIHRoZSByZXRhaW5lZCBmZWVkYmFjayBhbmQganVzdCBsZXQgaXQgdGhyb3VnaAoJICB0byB0aGUgcnRwX3Nlc3Npb25fcHJvY2Vzc19maXIoKSBmdW5jdGlvbiB3aGljaCB3aWxsIGNoZWNrIGZvciB0aGUgYWN0dWFsCgkgIFNTUkMgaW5zaWRlIHRoZSBGQ0kuCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCA1N2MyN2VjMwoKMjAxMy0xMS0xNCAxNjoxOToyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBmaXggcmIgYmxvY2tzIGRpc2FwcGVhcmluZyBhZnRlciB0aGUgZmlyc3QgcnRjcCBjeWNsZSB3aXRoIG11bHRpcGxlIHNlbmRlcnMKCSAgUHJldmlvdXNseSwgd2hlbiB0aGUgc2Vzc2lvbiBoYWQgbXVsdGlwbGUgaW50ZXJuYWwgc2VuZGVyIFNTUkNzLCBpdCB3b3VsZAoJICBpc3N1ZSBTUiByZXBvcnRzIHdpdGggUkIgYmxvY2tzIG9ubHkgb24gdGhlIGZpcnN0IFJUQ1AgdGltZW91dCBhbmQgYWZ0ZXJ3YXJkcwoJICBTUiByZXBvcnRzIHdvdWxkIGJlIHNlbnQgZW1wdHkuIFRoaXMgd2FzIGJlY2F1c2UgdGhlICJnZW5lcmF0aW9uIiBudW1iZXIKCSAgaW4gUlRQU291cmNlIHdvdWxkIGluY3JlYXNlIG1vcmUgdGhhbiBvbmNlIGR1cmluZyB0aGUgc2FtZSBjeWNsZSBhbmQgYWZ0ZXJ3YXJkcwoJICBpdCB3b3VsZCBhbHdheXMgYmUgZ3JlYXRlciB0aGFuIHRoZSBzZXNzaW9uJ3MgZ2VuZXJhdGlvbiwgd2hpY2ggd291bGQgY2F1c2UKCSAgaXQgdG8gYmUgc2tpcHBlZCBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIFJCcy4KCSAgVGhpcyBjb21taXQgZml4ZXMgdGhpcyBwcm9ibGVtIGJ5OgoJICAxKSBJbmNyZWFzaW5nIHRoZSBSVFBTb3VyY2UgZ2VuZXJhdGlvbiBvbmx5IGF0IHRoZSBlbmQgb2YgZWFjaCBjeWNsZSwKCSAgd2hpY2ggZXNzZW50aWFsbHkgZml4ZXMgdGhlIHByb2JsZW0gYnV0IG9ubHkgd2hlbiB0aGUgaW50ZXJuYWwgc2VuZGVycwoJICBhcmUgbGVzcyB0aGFuIEdTVF9SVENQX01BWF9SQl9DT1VOVC4KCSAgMikgS2VlcGluZyBmb3IgZWFjaCBSVFBTb3VyY2UgYSBzZXQgb2YgU1NSQ3Mgd2hpY2ggc3RvcmVzIHdoaWNoIFNTUkMncwoJICBTUiB0aGUgZ2l2ZW4gUlRQU291cmNlIGhhcyBiZWVuIHJlcG9ydGVkIGluLCB3aGljaCBhbHNvIGZpeGVzIHRoZSBwcm9ibGVtCgkgIHdoZW4gdGhlIGludGVybmFsIHNlbmRlcnMgYXJlIG1vcmUgdGhhbiBHU1RfUlRDUF9NQVhfUkJfQ09VTlQuIFRoaXMgaXMKCSAgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgdGhlIGZhY3QgdGhhdCBhbnkgUlRQU291cmNlIGlzIG1hcmtlZCBhcyByZXBvcnRlZAoJICBpbiBpdHNlbGYncyBTUiBhbmQgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byBrbm93IGlmIGl0IGhhcyBiZWVuIHJlcG9ydGVkCgkgIGluIG90aGVyIFNScyB0b28gb3Igbm90LCBhbmQgd2hpY2guCgoyMDEzLTExLTE0IDE2OjIzOjM1ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogYWRkIGFuIHJ0cHNlc3Npb24gdW5pdCB0ZXN0IHRvIHZlcmlmeSBhbGwgUkJzIGFyZSBpbmNsdWRlZCBpbiBhbGwgU1JzLCByb3VuZHJvYmluCgkgIFRoaXMgdGVzdCBjaGVja3MgdGhhdCB3aGVuIHdlIGhhdmUgbXVsdGlwbGUgaW50ZXJuYWwgc2VuZGVyIHNvdXJjZXMKCSAgaW4gcnRwc2Vzc2lvbiwgU1JzIGNvbnRhaW4gUkJzIGZvciBldmVyeSBvdGhlciBzZW5kZXIgc291cmNlLCBhbmQgdGhhdAoJICB0aGV5IGFyZSBpbmNsdWRlZCByb3VuZHJvYmluIHdoZW4gdGhleSBleGNlZWQgU1RfUlRDUF9NQVhfUkJfQ09VTlQsCgkgIHdoaWNoIGlzIHRoZSBtYXggbnVtYmVyIG9mIFJCcyB0aGF0IGNhbiBmaXQgaW4gYSBTUi4KCjIwMTMtMTItMTIgMTY6MDE6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cGNvbGxpc2lvbi50eHQ6CgkgIGRvY3M6IGltcHJvdmUgZG9jcwoKMjAxMy0xMS0wNSAxODowMzo0OCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2Rlc2lnbi9NYWtlZmlsZS5hbToKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cGNvbGxpc2lvbi50eHQ6CgkgIGRvYzogYWRkIGRlc2lnbi1ydHBjb2xsaXNpb24udHh0IHRoYXQgZXhwbGFpbnMgd2hlbiBHc3RSVFBDb2xsaXNpb24gaXMgY3JlYXRlZAoJICBJdCBhbHNvIHRhbGtzIGFib3V0ICJCWUUgb25seSB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UsIG5vdCB0aGUgd2hvbGUgc2Vzc2lvbi4iCgoyMDEzLTExLTA1IDEyOjMxOjU0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogaW1wcm92ZSBydHBjb2xsaXNpb246OnRlc3RfbWFzdGVyX3NzcmNfY29sbGlzaW9uIHRvIGVuc3VyZSB0aGF0IGEgY29sbGlzaW9uIGRvZXMgbm90IEJZRSB0aGUgd2hvbGUgc2Vzc2lvbgoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jCgoyMDEzLTExLTAxIDE3OjA3OjU3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBjb2xsaXNpb246OnRlc3RfbWFzdGVyX3NzcmNfY29sbGlzaW9uIHVuaXQgdGVzdAoJICBJdCBjaGVja3MgdGhlIHBheWxvYWRlciBjaGFuZ2VzIGl0cyBzc3JjIHdoZW4gY29sbGlzaW9uIGhhcHBlbnMKCjIwMTMtMTItMTIgMTA6Mzg6NDMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjoga2VlcCBleHRyYSBzdGF0cyBmb3Igc2NoZWR1bGluZyBCWUUKCSAgS2VlcCBhbiBleHRyYSBzdGF0cyBzdHJ1Y3R1cmUgZm9yIHNjaGVkdWxpbmcgdGhlIEJZRSBwYWNrZXRzLiBXaGVuIHdlCgkgIGRlY2lkZSB0byBzY2hlZHVsZSBCWUUsIG1ha2UgYSBjb3B5IG9mIHRoZSBjdXJyZW50IHN0YXRzIGludG8gdGhlCgkgIGJ5ZV9zdGF0cy4gVGhlbiB3aGlsZSB3ZSBzY2hlZHVsZSB0aGUgQllFLCB1cGRhdGUgYW5kIHVzZSBvbmx5IHRoZQoJICBieWVfc3RhdHMuIFdoZW4gd2UgZmluaXNoZWQgc2NoZWR1bGluZyB0aGUgQllFIHBhY2tldCwgd2UgdXNlIHRoZQoJICByZWd1bGFyIHN0YXRzIGFnYWluLgoKMjAxMy0xMi0xMiAxMDozNDozOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogd2hlbiB3ZSBzY2hlZHVsZSBCWUUsIG9ubHkgZGVhbCB3aXRoIEJZRSBzb3VyY2VzCgkgIFdoZW4gd2UgYXJlIGRvaW5nIHRoZSBSVENQIHRpbWVvdXQgdG8gc2NoZWR1bGUgQllFIHBhY2tldHMsIGRvbid0CgkgIGdlbmVyYXRlIFJUQ1AgZm9yIGFsbCBzb3VyY2VzIGJ1dCBvbmx5IGZvciB0aGUgc291cmNlcyBtYXJrZWQgYXMgQllFLgoKMjAxMy0xMi0xMiAxMDozMjo0OCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVzZXQgc3RhdGUgYWZ0ZXIgc2NoZWR1bGluZyBCWUUKCSAgQWZ0ZXIgd2UgZG8gUlRDUCwgd2UgYXJlIG5vdCBzY2hlZHVsaW5nIGJ5ZSBhbnltb3JlLgoKMjAxMy0xMi0xMiAxMDozMTozOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWxzbyBjb3VudCBOQUNLUyB3aGVuIG5vIHNpZ25hbCB3YXMgcGVuZGluZwoKMjAxMy0xMi0xMiAxMDowOToyNSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaWdub3JlIFJUQ1AgcGFja2V0cyBmb3IgdGhlIEJZRSBzb3VyY2VzCgkgIFdoZW4gd2UgYXJlIHNjaGVkdWxpbmcgQllFIHBhY2tldHMsIGlnbm9yZSBhbGwgUlRDUCBmb3IgdGhlIHNvdXJjZXMgdGhhdAoJICBhcmUgc2NoZWR1bGluZyBhIEJZRSBwYWNrZXQuIE90aGVyIHNvdXJjZXMgdGhhdCBhcmUgbm90IHNjaGVkdWxpbmcgQllFCgkgIHNob3VsZCBjb250aW51ZSByZWNlaXZpbmcgUlRDUCBwYWNrZXRzIGFzIHVzdWFsLgoKMjAxMy0xMS0wNCAxMTo0ODoyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogZGV0ZXJtaW5lIGlmIHRoZSBzZXNzaW9uIGlzIGRvaW5nIHBvaW50LXRvLXBvaW50CgkgIEluIHRoaXMgY2FzZSBUX2RpdGhlcl9tYXggaXMgc2V0IHRvIDAgYWNjb3JkaW5nIHRvIFJGQyA0NTg1CgoyMDEzLTEyLTEwIDExOjU3OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzZXJpYWxpemUgZXZlbnRzIGluIHRoZSBidWZmZXIKCSAgU2VyaWFsaXplIGV2ZW50cyBpbnRvIHRoZSBqaXR0ZXJidWZmZXIgYnkgaW5zZXJ0aW5nIHRoZW0gd2l0aCBhIC0xCgkgIHNlcW51bS4KCSAgVXBkYXRlIHVuaXQgdGVzdCB0byBleHBlY3QgZXZlbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI5ODYKCjIwMTMtMTItMTAgMTE6MDQ6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZGV0ZWN0IC0xIHNlcW51bQoJICBLZWVwIHRoZSBzZXFudW0gYXMgYSBmdWxsIGd1aW50IHNvIHRoYXQgd2UgY2FuIGNoZWNrIGZvciAtMSBlbnRyaWVzIGFuZAoJICBkZWFsIHdpdGggdGhlbSBjb3JyZWN0bHkuCgkgIEltbWVkaWF0ZWx5IHRyeSB0byBwdXNoIC0xIHNlcW51bS4KCjIwMTMtMTItMTAgMTE6MDE6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVvcmdhbml6ZSBqaXR0ZXJidWZmZXIgaXRlbXMKCSAgS2VlcCB0aGUgb2xkZXN0IGl0ZW0gYXQgdGhlIGhlYWQgYW5kIHRoZSBuZXdlc3QgaXRlbXMgb24gdGhlIHRhaWwuIFRoaXMKCSAgbWFrZXMgaXQgZWFzaWVyIHRvIGRlYWwgd2l0aCAtMSBzZXFudW1zLgoKMjAxMy0xMi0wOSAyMzozNDoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogY29ycmVjdGx5IGNoZWNrIGZvciBpbnZhbGlkIHZhbHVlcwoJICBDaGVjayBmb3IgLTEgb24gdGhlIGd1aW50IGZyb20gdGhlIGJ1ZmZlciBpdGVtIGluc3RlYWQgb2Ygb24gdGhlIGd1aW50MTYKCSAgb3IgZ3VpbnQzMi4KCSAgQWxzbyBpbnNlcnQgLTEgc2VxbnVtIGF0IHRoZSBoZWFkIG9mIHRoZSBqaXR0ZXJidWZmZXIuCgoyMDEzLTEyLTA4IDE2OjQ5OjU1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHNlZ2ZhdWx0IHdoZW4gZGVhbGluZyB3aXRoIHBhZGRlZCBmcmFtZXMKCSAgRml4ZXMgY3Jhc2hlcyB3aXRoIHZ0ZGVjICEgb3N4dmlkZW9zaW5rIHdoZXJlIFZpZGVvVG9vbGJveCBvdXRwdXRzIHBhZGRlZCBVWVZZCgoyMDEzLTEyLTA1IDEyOjE1OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbXVsYXdkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFjY2VwdGluZyBhbnkgZGF0YQoKMjAxMy0xMi0wNSAxMjoxNToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYWNjZXB0aW5nIGFueSBkYXRhCgoyMDEzLTEyLTA1IDEyOjEzOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTI6MTM6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFjY2VwdGluZyBhbnkgZGF0YQoKMjAxMy0xMi0wNSAxMTo0MjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweDogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA0IDE2OjIzOjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgZGV2aWNlX2luZm8gaW4gYWNjZXB0cyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4MTEKCjIwMTMtMTItMDQgMjE6NTc6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IERvbid0IHNlbmQgaGVhZGVycyB0d2ljZSBpZiB3ZSBnb3QgdGhlbSBmcm9tIHRoZSBjYXBzIGFscmVhZHkKCjIwMTMtMTItMDQgMjE6NTc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IERvbid0IGxlYWsgY29uZmlnIGRhdGEgd2hlbiByZWNlaXZpbmcgYSBzZWNvbmQgQ0FQUyBldmVudAoKMjAxMy0xMi0wNCAyMTo1NTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogRG9uJ3Qgc2VuZCBoZWFkZXJzIHR3aWNlIGlmIHdlIGdvdCB0aGVtIGZyb20gdGhlIGNhcHMgYWxyZWFkeQoKMjAxMy0xMi0wNCAyMTo1NDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogRG9uJ3QgbGVhayBjb25maWcgZGF0YSB3aGVuIHJlY2VpdmluZyBhIHNlY29uZCBDQVBTIGV2ZW50CgoyMDEzLTEyLTA0IDIxOjE3OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbWRlcGF5Lmg6CgkgIHJ0cHN0cmVhbWRlcGF5OiBBZGQgUkZDNDU3MSBSVFAgc3RyZWFtIGRlcGF5bG9hZGluZyBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4MjkKCjIwMTMtMTItMDQgMTA6MTI6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbXBheS5oOgoJICBydHBzdHJlYW1wYXk6IEFkZCBSRkM0NTcxIFJUUCBzdHJlYW0gcGF5bG9hZGluZyBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4MjkKCjIwMTMtMTItMDMgMTU6MDg6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBpbXByb3ZlIGZyYWdtZW50LXN0YXJ0IHRyYWNraW5nCgkgIFNvbWUgYnVmZmVycyBjYW4gaGF2ZSBtdWx0aXBsZSBtb292IGF0b21zIGluc2lkZSBhbmQgdGhlIHN0cmF0ZWd5CgkgIG9mIHVzaW5nIHRoZSBnc3RfYWRhcHRlcl9wcmV2X3B0cyB0aW1lc3RhbXAgdG8gZ2V0IHRoZSBiYXNlIHRpbWVzdGFtcAoJICBmb3IgdGhlIG1lZGlhIG9mIHRoZSBmcmFnbWVudCB3b3VsZCBmYWlsIGFzIGl0IHdvdWxkIHJldXNlIHRoZSBzYW1lCgkgIGJhc2UgdGltZXN0YW1wIGZvciBhbGwgbW9vZnMgaW4gdGhlIGJ1ZmZlciBpbnN0ZWFkIG9mIGFjY3VtdWxhdGluZwoJICB0aGUgZHVyYXRpb25zIGZvciBhbGwgb2YgdGhlbS4KCSAgSGVyZXMgYSBiZXR0ZXIgZXhwbGFuYXRpb24gb2YgdGhlIGlzc3VlOgoJICBxdGRlbXV4IHJlY2VpdmVzIGEgYnVmZmVyIHdoZXJlIFBUUyhidWYpID0gWAoJICBidWYgLT4gbW9vZkEgfCBtb29mQiB8IG1vb2ZDCgkgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IFBUUyhidWYpIHdhcyB1c2VkIGFzIHRoZSBiYXNlIHRpbWVzdGFtcCBmb3IKCSAgYWxsIDMgbW9vZnMsIGNhdXNpbmcgYWxsIGJ1ZmZlcnMgdG8gYmUgWCBiYXNlZC4gSW4gdGhpcyBjYXNlIHdlIHdhbnQKCSAgb25seSBtb29mQSB0byBiZSBYIGJhc2VkIGFzIGl0IGlzIHdoYXQgdGhlIFBUUyBvbiBidWYgbWVhbnMsIGFuZCB0aGUKCSAgb3RoZXIgbW9vZkIgYW5kIG1vb2ZDIGp1c3QgdXNlIHRoZSBhY2N1bXVsYXRlZCB0aW1lc3RhbXAgZnJvbSB0aGUKCSAgcHJldmlvdXMgbW9vZnMgZHVyYXRpb25zLgoJICBUbyBzb2x2ZSB0aGlzLCB0aGlzIHBhdGNoIHVzZXMgZ3N0X2FkYXB0ZXJfcHJldl9wdHMgZGlzdGFuY2UKCSAgcmVzdWx0LCB0aGlzIGFsbG93cyBxdGRlbXV4IHRvIGNhbGN1bGF0ZSBpZiBpdCBzaG91bGQgdXNlIHRoZQoJICByZXN1bHRpbmcgcHRzIG9yIGp1c3QgYWNjdW11bGF0ZSB0aGUgc2FtcGxlcyBhcyBpdCBjYW4gaWRlbnRpZnkKCSAgaWYgdGhlIG1vb2ZzIGJlbG9uZyB0byB0aGUgc2FtZSB1cHN0cmVhbSBidWZmZXIgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NzgzCgoyMDEzLTExLTIxIDEyOjI5OjI4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBhZGQgc3VwcG9ydCBmb3IgbXVsdGktcGxhbmFyIFY0bDIgQVBJIGluIERNQUJVRiBtb2RlCgkgIEZpeGVzIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTExLTE5IDE3OjE2OjI3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IHJlZmFjdG9yIGJ5IGVtdWxhdGluZyBvbmUgdjRsMl9wbGFuZSBpbiBub24tTVBMQU5FIG1vZGUKCSAgc28gdGhhdCB0aGUgYnVmZmVyIGluZm9ybWF0aW9ucyBjYW4gYmUgcmV0cmlldmVkIHRoZSBzYW1lIHdheQoJICBpbiBib3RoIE1QTEFORSBhbmQgbm9uLU1QTEFORSBtb2RlLgoJICBIZXJlICJlbXVsYXRpbmciIG1lYW5zICJtYW51YWxseSBmaWxsIGluIHRoZSBwbGFuZSIuCgkgIEZpeGVzIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTExLTEzIDEyOjA1OjQwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFkZCBzdXBwb3J0IGZvciBtdWx0aS1wbGFuYXIgVjRMMiBBUEkKCSAgVGhpcyBhcGkgaXMgaW4gbGludXgga2VybmVsIHNpbmNlIHZlcnNpb24gMi42LjM5LAoJICBhbmQgcHJlc2VudCBpbiBhbGwgdmVyc2lvbiAzLgoJICBUaGUgY29tbWl0IHRoYXQgYWRkcyB0aGUgQVBJIGluIG1hc3RlciBicmFuY2ggb2YgdGhlCgkgIGxpbnV4IGtlcm5lbCBzb3VyY2UgaXM6CgkgIGh0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQvZjhmMzkxNGNmOTIyZjVmOWUxZDYwZTllMTBmNmZiOTI3NDI5MDdhZAoJICB2NGwyIGRvYzogIlNvbWUgZGV2aWNlcyByZXF1aXJlIGRhdGEgZm9yIGVhY2ggaW5wdXQKCSAgb3Igb3V0cHV0IHZpZGVvIGZyYW1lIHRvIGJlIHBsYWNlZCBpbiBkaXNjb250aWd1b3VzCgkgIG1lbW9yeSBidWZmZXJzIgoJICBUaGVyZSBhcmUgbmV3ZXIgc3RydWN0dXJlcyAnc3RydWN0IHY0bDJfcGl4X2Zvcm1hdF9tcGxhbmUnCgkgIGFuZCAnc3RydWN0IHY0bDJfcGxhbmUnLgoJICBTbyB0aGUgcGl4ZWwgZm9ybWF0IGlzIG5vdCBzZXR1cCB3aXRoIHRoZSBzYW1lIEFQSSB3aGVuIHVzaW5nCgkgIG11bHRpLXBsYW5hci4KCSAgQWxzbyBmb3IgZ3N0LXY0bDIsIG9uZSBvZiB0aGUgZGlmZmVyZW5jZSBpcyB0aGF0IGluIEdzdFY0bDJNZXRhCgkgIHRoZXJlIGFyZSBub3cgb25lIG1lbSBwb2ludGVyIGZvciBlYWNoIG1hcGVkIHBsYW5lLgoJICBXaGVuIG5vdCB1c2luZyBtdWx0aS1wbGFuYXIsIHRoaXMgY29tbWl0IHRha2VzIGNhcmUgb2Yga2VlcGluZwoJICB0aGUgc2FtZSBjb2RlIHBhdGggdGhhbiBwcmV2aW91c2x5LiBTbyB0aGF0IHRoZSAyIGNhc2VzIGFyZQoJICBpbiB0d28gZGlmZmVyZW50IGJsb2NrcyB0cmlnZ2VyZWQgZnJvbSBWNEwyX1RZUEVfSVNfTVVMVElQTEFOQVIuCgkgIEZpeGVzIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTEyLTA0IDA5OjEyOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGRvbid0IGxlYWsgdGVtcGxhdGUgY2FwcwoKMjAxMy0xMi0wMyAyMTo0MToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVzZSBBQ0NFUFRfSU5URVJTRUNUIGZsYWcKCSAgVGhlIHBhcnNlciBjYW4gYWNjZXB0IGlucHV0IHRoYXQgaXMgbm90IGNvbXBsZXRlbHkgc3BlY2lmaWVkLiBVc2UgdGhlCgkgIEFDQ0VQVF9JTlRFUlNFQ1QgZmxhZyBvbiB0aGUgc2lua3BhZCB0byB0d2VhayB0aGUgYWNjZXB0Y2FwcyBmdW5jdGlvbiB0bwoJICBjaGVjayBmb3IgaW50ZXJzZWN0aW9uIG9ubHkuIFRoaXMgYWxsb3dzIHVzIHRvIHByb3h5IGRvd25zdHJlYW0KCSAgY29uc3RyYWludHMgd2hpbGUgc3RpbGwgYWxsb3dpbmcgbm9uLXN1YnNldCBjYXBzIGFzIGlucHV0LgoJICBXZSBjYW4gdGhlbiBhbHNvIHJlbW92ZSB0aGUgYXBwZW5kZWQgdGVtcGxhdGUgY2FwcyB3b3JrYXJvdW5kLgoJICBNYWtlIGEgdW5pdC10ZXN0IHRvIGNoZWNrIHRoZSBuZXcgZmVhdHVyZS4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyNjA0MGVlMzhjYjllN2M0MmYzZDlhMDI4MmIzZTVjYWNlN2NhNDJkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMjQKCjIwMTMtMTItMDMgMjE6MzY6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVtb3ZlIGZpZWxkcyBmcm9tIGZpbHRlcgoJICBXZSBuZWVkIHRvIHJlbW92ZSB0aGUgZmllbGRzIGZyb20gdGhlIGZpbHRlciB3aGVuIHdlIGNhbiBjb252ZXJ0CgkgIGJldHdlZW4gdGhlbS4KCjIwMTMtMTItMDMgMjE6Mjk6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVmYWN0b3IgY29kZSB0byByZW1vdmUgY2FwcyBmaWVsZHMKCjIwMTMtMTItMDIgMDA6MTA6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IG1pY3Jvb3B0aW1pc2F0aW9uOiBhdm9pZCBzb21lIHVubmVjZXNzYXJ5IEdWYWx1ZSBjb3BpZXMKCjIwMTMtMTItMDEgMjM6MzI6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBvZmYtYnktb25lIGNyYXNoIHdoZW4gZG93bnN0cmVhbSBjYXBzIGNvbnRhaW4gYSBsaXN0IG9mIGZyYW1lcmF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU0NAoKMjAxMy0xMS0yOSAxMToyNjowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHRoZSB0aW1lc3RhbXAgb2YgdGhlIG1vb2YgYXMgdGhlIGJhc2UgZnJhZ21lbnQgc3RhcnQKCSAgSW4gU21vb3RoU3RyZWFtaW5nIGZyYWdtZW50ZWQgc2NlbmFyaW8sIHRoZSB0aW1lc3RhbXBzIGFyZSBjYWxjdWxhdGVkCgkgIHN0YXJ0aW5nIGZyb20gdGhlIGZyYWdtZW50IGJ1ZmZlciB0aW1lc3RhbXAuIFdoZW4gdGhlcmUgaXMgYSBub3QtbGlua2VkCgkgIHJldHVybiBmcm9tIGRvd25zdHJlYW0sIHF0ZGVtdXggd2lsbCByZXR1cm4gdXBzdHJlYW0gYW5kIHdpbGwga2VlcCB0aGUKCSAgbm9uLXB1c2hlZCBkYXRhIGludG8gaXRzIGFkYXB0ZXIuCgkgIE9uIGEgbmV3IGZyYWdtZW50IGJ1ZmZlciBwdXNoZWQgdG8gcXRkZW11eCwgdGhlIG5ldyBidWZmZXIgdGltZXN0YW1wCgkgIHdvdWxkIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgb25lIHRoYXQgc2hvdWxkIGJlIHVzZWQgb24gdGhlIHN0aWxsCgkgIHRvIGJlIHB1c2hlZCBidWZmZXJzLiBCZWNhdXNlIG9mIHRoaXMsIHRoaXMgcGF0Y2ggd2lsbCBhbHNvCgkgIHVwZGF0ZSB0aGUgZnJhZ21lbnRfc3RhcnQgdGltZXN0YW1wIGZyb20gdGhlIGFkYXB0ZXIgbGFzdCBwdHMKCSAgdG8gbWFrZSBzdXJlIHRoZSBtb29mIGFuZCB0aW1lc3RhbXBzIGFyZSBpbiBzeW5jIGFuZCB3aWxsIHJlc3VsdAoJICBpbiBjb3JyZWN0IHRpbWVzdGFtcHMgZm9yIGFsbCBmcmFnbWVudHMuCgoyMDEzLTExLTE1IDA4OjU0OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogYXZvaWQgcmUtcmVhZGluZyB0aGUgc2FtZSBtb292IGFuZCBlbnRlcmluZyBpbnRvIGxvb3AKCSAgSW4gdGhlIHNjZW5hcmlvIG9mICJtZGF0IHwgbW9vdiAod2l0aCBmcmFnbWVudGVkIGFydGlmYWN0cykiIHF0ZGVtdXgKCSAgY291bGQgcmVhZCB0aGUgbW9vdiBhZ2FpbiBhZnRlciB0aGUgbWRhdCBiZWNhdXNlIGl0IHdhcyBjb25zaWRlcmluZyB0aGUKCSAgbWVkaWEgYXMgYSBmcmFnbWVudGVkIG9uZS4KCSAgVG8gYXZvaWQgdGhpcyBsb29wIHRoaXMgcGF0Y2ggbWFrZXMgaXQgc3RvcmUKCSAgdGhlIGxhc3QgcHJvY2Vzc2VkIG1vb3Zfb2Zmc2V0IHRvIGF2b2lkIHBhcnNpbmcgaXQgYWdhaW4uCgkgIEFuZCBpdCBhbHNvIGNoZWNrcyBpZiB0aGVyZSBhcmUgYW55IHNhbXBsZXMgdG8gcGxheSBiZWZvcmUKCSAgcmVzdHVybmluZyB0byB0aGUgbWRhdCwgc28gdGhhdCBpdCBrbm93cyB0aGVyZSBpcyBuZXcgZGF0YSB0byBiZSBwbGF5ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE1NzAKCjIwMTMtMTEtMTUgMDA6NTI6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCBmcmVlIHN0cmVhbXMgaWYgdGhleSB3ZXJlIG5vdCBjcmVhdGVkIGxvY2FsbHkKCSAgV2hlbiBwYXJzaW5nIGEgdHJhayBvbmx5IGZyZWUgc3RyZWFtcyBvbiBmYWlsdXJlcyBpZiB0aG9zZSBzdHJlYW1zCgkgIHdlcmUgY3JlYXRlZCBsb2NhbGx5LiBUaGV5IGNvdWxkIGhhdmUgYmVlbiBjcmVhdGVkIGZyb20gYSBwcmV2aW91cwoJICBmcmFnbWVudCwgaW4gdGhpcyBjYXNlIHdlIHRoZXkgaGF2ZSB2YWxpZCBpbmZvIGZyb20gdGhlIG90aGVyIGZyYWdtZW50LgoJICBJbmNsdWRpbmcgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTU3MAoKMjAxMy0xMS0yOSAxOTo1Nzo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IFNpbXBsaWZ5IE5WMTIvMjEgYmxlbmRpbmcgY29kZSBtYWNyb3MKCjIwMTMtMTEtMjkgMTk6NTA6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBGaXggc2VnZmF1bHQgd2hlbiBmaWxsaW5nIHRoZSBiYWNrZ3JvdW5kIG9mIGEgVVlWWSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNDAxCgoyMDEzLTExLTI5IDA5OjIxOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjb21waWxhdGlvbiB3aXRoIGdzdCBkZWJ1Z2luZyBkaXNhYmxlZAoJICBxdGRlbXV4LmM6OTQ1MjoxOiBlcnJvcjogbGFiZWwgYXQgZW5kIG9mIGNvbXBvdW5kIHN0YXRlbWVudAoKMjAxMy0xMS0yNyAxNzowMjowMCArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogTWFwIGluYnVmZmVyIG9uY2Ugb25seQoJICBEbyBub3QgY2FsbCBnc3RfYnVmZmVyX2V4dHJhY3QoKSB0d2ljZSBzaW5jZSBlYWNoIGNhbGwgd2lsbCBtYXAgYW5kCgkgIHVubWFwIHRoZSBiaWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk0MzQKCjIwMTMtMTEtMjggMTE6NTg6NDIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmxpcDogQWRkIHVuaXQgdGVzdCBmb3IgdGhlICdhdXRvbWF0aWMnIG1ldGhvZAoJICBUaGVzZSBuZXcgdGVzdHMgc2VuZCBhIHRhZyBldmVudCBiZWZvcmUgc2VkaW5nIHRoZSBidWZmZXIuIFRlc3RlZCBjYXNlIGFyZSBhbgoJICBlbXB0eSB0YWcgbGlzdCwgYSB0YWcgbGlzdCB3aXRoIG9yaWVudGF0aW9uLTE4MCBzZXQgYW5kIGFuIGludmFsaWQgb3JpZW50YXRpb24gdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk0OTcKCjIwMTMtMTEtMjggMTY6MDk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogZG9uJ3QgY3Jhc2ggb24gdGFnIGV2ZW50cyB3aXRob3V0IG9yaWVudGF0aW9uIHRhZwoJICBXb3VsZCBjcmFzaCBpbiBnX2ZyZWUoKSB0cnlpbmcgdG8gZnJlZSBhbiB1bmluaXRpYWxpc2VkIHBvaW50ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk0OTcKCjIwMTMtMTEtMjggMTY6NTA6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCB1bnJlZiBidWZmZXIgdHdpY2UKCSAgQ2xlYW5pbmcgdGhlIHBhY2tldCBpbmZvIHdpbGwgYWxyZWFkeSB1bnJlZiB0aGUgYnVmZmVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MDc4CgoyMDEzLTExLTI4IDIyOjM1OjAyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgSHlkcm9nZW5BdWRpbyBSZXBsYXlHYWluIHRhZ3MKCSAgSWRlbnRpY2FsIHRvIHRoZSBpdHVuZXMgKHRtKSB2ZXJzaW9uLCBidXQgbGFiZWxsZWQgd2l0aAoJICBvcmcuaHlkcm9nZW5hdWRpby5yZXBsYXlnYWluIGFzIHRoZSBwcm9kdWNlci4KCjIwMTMtMTEtMjcgMTY6MTU6MTIgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZXhwbGljaXRseSBmYWlsIHdoZW4gYWxwaGEgaW5mb3JtYXRpb24gd291bGQgaGF2ZSBiZWVuIGxvc3QuCgoyMDEzLTA1LTI5IDE2OjA2OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogVXBkYXRlZCB0byBpZ25vcmUgKi5zd3AgYW5kIC5kaXJzdGFtcAoKMjAxMy0xMS0yNiAxMToxNzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogQWxsb3cgYSBiaXQgbW9yZSB2YXJpYXRpb24gd2hlbiBkZXRlY3RpbmcgY29tbW9uIGZyYW1lcmF0ZXMKCSAgSW5zdGVhZCBvZiArLy0gMW5zIHdlIGFsbG93IDJucyBub3cuIER1ZSB0byByb3VuZGluZyBlcnJvcnMgdGhlcmUgYXJlCgkgIHNvbWUgTWF0cm9za2EgZmlsZXMgb3V0IHRoZXJlIHdpdGggMzMuMzMzMzMxbXMgcGVyIGZyYW1lIGZvciAzMGZwcy4KCjIwMTMtMTEtMjYgMTA6MjA6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFVzZSBnc3RfdXRpbF9kb3VibGVfdG9fZnJhY3Rpb24oKSBpbnN0ZWFkIG9mIEdWYWx1ZSBtYWdpYwoKMjAxMy0xMS0yNSAxNDowMzoyMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IFNldCBkZWZhdWx0IG1ldGhvZCBhdCBjb250cnVjdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzMzCgoyMDEzLTA1LTI5IDE1OjU3OjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXNlIHNwYWNlIGluc3RlYWQgb2YgdGFicwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTA1LTI5IDE1OjQ0OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogRml4IGhlYWRlciBpbmRlbnRhdGlvbiBzbyBpdCdzIHJlYWRhYmxlIGFnYWluCgkgIEl0J3MgdW5mb3J0dW5hdGUgdG8gaGF2ZSB0byBkbyB0aGlzLCBidXQgd2l0aCB0aGUgbWl4IG9mIHRhYnMgYW5kIHNwYWNlLCBwbHVzIGFsbCB0aGUgcmFuZG9tCgkgIGluZGVudGF0aW9uIHRoaXMgaGVhZGVyIGhhcyBiZWNvbWUgdmVyeSBoYXJkIHRvIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMTEtMjUgMTc6Mzg6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGNoZWNrOiBmaXggaml0dGVyYnVmZmVyIGNoZWNrCgkgIERvbid0IGFkdmFuY2UgdGhlIGNsb2NrIHRvIDI0MG1zIHRvbyBlYXJseS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDAxMwoKMjAxMy0xMS0yNSAxMTo0NTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRlcHJlY2F0ZSBtYXgtZXJyb3JzCgkgIFRoZSBwcm9wZXJ0eSB3YXNuJ3QgdXNlIGludGVybmFsbHksIGxldCB0aGUgYmFzZSBjbGFzcyBoYW5kbGUgdGhlCgkgIG51bWJlciBvZiBlcnJvcnMgdG8gdG9sZXJhdGUuCgoyMDEzLTExLTI1IDE1OjQ5OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGNsZWFyLXB0LW1hcCBoYW5kbGluZwoJICBEb24ndCByZXNldCB0aGUgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIGNsZWFyaW5nIHRoZSBwdCBtYXAgYmVjYXVzZSB0aGlzCgkgIGNvdWxkIHN0YWxsIHRoZSBqaXR0ZXJidWZmZXIgZm9yZXZlci4KCSAgQWRkIGEgdW5pdCB0ZXN0IGZvciB0aGlzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5ODAwCgoyMDEzLTEwLTI4IDIxOjMzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogbGV0IHRoZSBiYXNlIGNsYXNzIGRlY2lkZSB3aGVuIHRvIHJldHVybiBhbiBlcnJvcgoJICBUaGUgYmFzZSB2aWRlb2RlY29kZXIgY2xhc3MgaGFzIGFuIGVycm9yIGNvdW50aW5nIGZlYXR1cmUgdG8gdG9sZXJhdGUKCSAgYSBmZXcgZXJyb3JzIGJlZm9yZSBwb3N0aW5nIGFuIGVycm9yIG1lc3NhZ2UuIFNvIGRvbid0IGZvcmNlIHRoZQoJICBlcnJvciBhbmQgbGV0IHRoZSBiYXNlIGNsYXNzIGRlY2lkZSB3aGVuIGl0IHNob3VsZCBoYXBwZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDc2MgoKMjAxMy0xMC0yOCAyMToyODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEFkZCBkYXRhIHNraXBwaW5nIG9uIGlucHV0CgkgIEFkZCBtaXNzaW5nIGJ5dGVzIHNraXBwaW5nIHdoZW4gYmFkIGlucHV0IGlzIHJlY2VpdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzYyCgoyMDEzLTExLTI1IDEyOjEzOjQzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEaXNjYXJkIDIgYnl0ZSBzdWJwaWN0dXJlIHBhY2tldHMKCSAgQXMgZm9yIHRleHQgc3VidGl0bGVzIGFuZCBhcyBzdWdnZXN0ZWQgaW4gIzcxMjY0MywgdGhyb3cKCSAgYXdheSB0aGUgMiBieXRlIHRlcm1pbmF0b3IgcGFja2V0cyB0aGF0IHNvbWUgZW5jb2RlcnMgaW5zZXJ0LgoJICBUaGlzIHdpbGwgbWFrZSB0aGluZ3MgYmV0dGVyIHdoZW4gcmVtdXhpbmcgYW5kIGNhdXNlcyBnZW5lcmF0aW9uCgkgIG9mIGdhcCBldmVudHMuCgoyMDEzLTExLTI1IDAwOjM0OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IHdha2UtdXAgd2hlbiBuZXcgYnVmZmVycyBjb21lIGluIGFmdGVyIHJ1bm5pbmcgZW1wdHkKCSAgU3BvdHRlZCBieSAnZ3JhdGlhcycgb24gSVJDLiBQcm9iYWJseSBpbnRyb2R1Y2VkIGluIHJlY2VudCByZWZhY3RvcmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTAzOQoKMjAxMy0xMS0yMyAxMjoxNTo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogY29ycmVjdGx5IGhhbmRsZSBuZWdhdGl2ZSByZWxhdGl2ZSB0aW1lc3RhbXBzCgkgIC4uLiByYXRoZXIgdGhhbiBzY2FsaW5nIHRoZXNlIGFzIHVuc2lnbmVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzQ0CgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEtyenlzenRvZiBLb3RsZW5nYSA8cG9jZWtAdXNlcnMuc2YubmV0PgoKMjAxMy0wOS0xNCAwMzoyNzowOSArMDIwMCAgTWF0aGlldUR1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogTWVyZ2UgdGFnIGV2ZW50cyB0byBzZW5kIHRoZW0gaW4gY29sbGVjdGVkLgoJICBPdGhlcndpc2UgdGhlcmUgd2VyZSByYWNlIGNvbmRpdGlvbnMgd2hlcmUgd2Ugd291bGQgc2VuZCB0YWdzCgkgIG9uIGEgZmx1c2hpbmcgc3JjcGFkLgoJICBXZSBoYXZlIGEgdGVzdCBmb3IgdGhhdCBpbiBHRVMsIGJ1dCB0aGlzIHNob3VsZCBiZSB0ZXN0ZWQKCSAgc3lzdGVtYXRpY2FsbHkgd2l0aCBoYXJuZXNzIGluIHRoZSBmdXR1cmUgYXMgSSBiZWxpZXZlIGl0CgkgIGlzIHVzZWZ1bCBmb3IgZXhhY3RseSB0aGF0IGtpbmQgb2YgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxNjUKCjIwMTMtMTEtMTQgMTc6Mjk6NTAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgR3N0VmlkZW9JbmZvIGhlbHBlciB0byBjcmVhdGUgY2FwcyBmb3IgcmF3IHZpZGVvCgkgIFRoaXMgd2F5IHdlIGRvIG5vdCBtaXNzIG1hbmRhdG9yeSBmaWVsZHMgaW4gY2Fwcy4KCSAgQXQgdGhlIHNhbWUgdGltZSB1c2UgdGhlIGdzdF9wYl91dGlsc19nZXRfY29kZWNfZGVzY3JpcHRpb24KCSAgaGVscGVyIHRvIGdldCBjb2RlYyBkZXNjcmlwdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjMzNQoKMjAxMy0xMS0xNCAxNjoxMTozOCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVXNlIEdzdFZpZGVvSW5mbyBoZWxwZXIgdG8gY3JlYXRlIGNhcHMgZm9yIHJhdyB2aWRlbwoJICBUaGlzIHdheSB3ZSBkbyBub3QgbWlzcyBtYW5kYXRvcnkgZmllbGRzIGluIGNhcHMuCgkgIEF0IHRoZSBzYW1lIHRpbWUgdXNlIHRoZSBnc3RfcGJfdXRpbHNfZ2V0X2NvZGVjX2Rlc2NyaXB0aW9uIGhlbHBlciB0bwoJICBnZXQgY29kZWMgZGVzY3JpcHRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzMjgKCjIwMTMtMTEtMTMgMjA6MTg6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIG11bHRpZmlsZXNyYzogSW1wbGVtZW50IHNlZWtpbmcgaW4gY2FzZSBvZiBtdWx0aXBsZSBpbWFnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjI1NAoKMjAxMy0xMS0yMiAxMjoyNjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBwYXNzIGRvd25zdHJlYW0gZmxvd3JldHVybiB0byB1cHN0cmVhbQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzIyCgoyMDEzLTExLTE4IDE0OjI3OjQ4ICswMTAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogY2xlYXIgY2FjaGVkIGNhcHMgb24gY2xvc2UKCSAgQSBkaWZmZXJlbnQgZGV2aWNlIHdpdGggZGlmZmVyZW50IGNhcHMgbWF5IGJlIHVzZWQgZm9yIHRoZSBuZXh0IG9wZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MTEKCjIwMTMtMTEtMjEgMTU6MzA6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdfbWVtbW92ZSgpIGlzIGRlcHJlY2F0ZWQKCSAgSnVzdCB1c2UgcGxhaW4gbWVtbW92ZSgpLCBnX21lbW1vdmUoKSBpcyBkZXByZWNhdGVkIGluCgkgIHJlY2VudCBHTGliIHZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyODExCgoyMDEzLTExLTIxIDExOjMyOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IGhhbmRsZSBwYWNrZXRzID4gMHhmZmZmCgkgIEhhbmRsZSBpbnB1dCBwYWNrZXQgc2l6ZXMgbGFyZ2VyIHRoYW4gMTYgYml0cyBpbiB0aGUgZGVwYXlsb2FkZXIuCgkgIFJlbW92ZSBzaXplIHJlc3RyaWN0aW9ucyBvbiB0aGUgcGF5bG9hZGVyLgoKMjAxMy0xMS0yMSAxMTozMDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBoYW5kbGUgcGFja2V0cyA+IDB4ZmZmZgoJICBSZW9yZ2FuaXplIHNvbWUgdGhpbmdzIGluIHRoZSBkZXBheWxvYWRlciBzbyB0aGF0IGl0IGNhbiBoYW5kbGUgcGFja2V0cyBsYXJnZXIKCSAgdGhhbiAxNiBiaXRzLgoJICBSZW1vdmUgdGhlIHNpemUgcmVzdHJpY3Rpb24gb24gdGhlIHBheWxvYWRlci4KCjIwMTMtMTEtMjEgMDI6Mjg6MjcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBpc29tcDQ6IEhhbmRsZSBtcDRzIHN1YnBpY3R1cmUgc3RyZWFtcyBiZXR0ZXIuCgkgIENsZWFuIHVwIHRoZSBoYW5kbGluZyBvZiBtcDRzIHN0cmVhbXMuIFVzZSB0aGUgZ2VuZXJpYyBlc2RzCgkgIGRlc2NyaXB0b3IgZnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUgcGFsZXR0ZSwgaW5zdGVhZCBvZiBoYXJkIGNvZGluZwoJICBhIHdyb25nIG1hZ2ljIG9mZnNldC4KCSAgQWRkIHNvbWUgbW9yZSBzaXplIHNhZmV0eSBjaGVja3Mgd2hlbiBwYXJzaW5nIEVTIGRlc2NyaXB0b3JzLCBhbmQKCSAgcmVwbGFjZSBtYWdpYyBudW1iZXJzIHdpdGggdGhlIGRlc2NyaXB0aXZlIGNvbnN0YW50cyB0aGF0IGFyZSBhbHJlYWR5CgkgIGRlZmluZWQuCgkgIEVuaGFuY2UgZHVtcCBvdXRwdXQgZm9yIHN0c2QgYXRvbXMuCgkgIFN0cmVhbXMgZnJvbSBib3RoIGJ1ZyA3MTI2NDMgYW5kIGhpc3RvcmljIGJ1ZyA1NjgyNzggbm93IGJvdGggd29yawoJICBjb3JyZWN0bHkuCgkgIEZpeGVzOiAjNzEyNjQzCgoyMDEzLTExLTIwIDIyOjA4OjI1ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBTb3J0IGZvdXJjYyBkZWNsYXJhdGlvbnMgYW5kIHJlbW92ZSBkdXBsaWNhdGVzCgoyMDEzLTExLTIwIDIxOjQxOjQ3ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IE1lcmdlIGFsbCB0aGUgZm91cmNjIGhlYWRlcnMgaW50byBvbmUKCSAgUmVtb3ZlIHF0ZGVtdXhfZm91cmNjLmggYW5kIGZ0eXBjYy5oIGFuZCBwdXQgaXQgYWxsIGluIGZvdXJjYy5oCgoyMDEzLTExLTE5IDEwOjEwOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYXZvaWQgbWFwcGluZyB0aGUgYnVmZmVyCgkgIFJldXNlIHRoZSBwYXJzZWQgc3RydWN0dXJlIHRvIGdldCB0aGUgdGltZXN0YW1wcy4KCjIwMTMtMTEtMTggMTc6MTM6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCAnbWFrZSBjaGVjaycKCSAgRml4IGdlbmVyaWMvc3RhdGVzIGNoZWNrLiBBbHNvLCBnX3JldHVybl9pZl9mYWlsKCkgaXMKCSAgbm90IGZvciBpbnRlcm5hbCBzdGF0ZSBjaGVja2luZy4KCjIwMTMtMTEtMTggMTQ6NDQ6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGRvY3M6IGdldCByaWQgb2YgJ1NpbmNlOiAwLjEwLngnIG1hcmtlcnMKCSAgQW5kIHNvbWUgZ3RrLWRvYyBtYXJrdXAgZml4ZXMuCgoyMDEzLTExLTE2IDEyOjE1OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBmaXggU2luY2UgbWFya2VycwoJICBTaG91bGQgYmUgbmV4dCBzdGFibGUgcmVsZWFzZSBzZXJpZXMgdmVyc2lvbgoKMjAxMy0xMS0xNSAxMzo0ODowNyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggc3RhdHMgcHJvcGVydHkgZmllbGQgbmFtZXMgYW5kIGRvY3VtZW50YXRpb24KCjIwMTMtMTEtMTUgMTU6MjA6MTQgKzAxMDAgIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgZ3N0cnRwc2Vzc2lvbjogSW1wbGVtZW50IGEgbnVtYmVyIG9mIGZlZWRiYWNrIHBhY2tldCBzdGF0aXN0aWNzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2OTMKCjIwMTMtMTEtMTMgMTc6MTE6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBtYXRoIG9wZXJhdGlvbiBmcm9tIGxvb3AKCSAgVGhlIGVsc3Rfb2Zmc2V0IGRvZXNuJ3QgY2hhbmdlIGluc2lkZSB0aGUgbG9vcCwgc28gY29tcHV0ZSBpdAoJICBvdXRzaWRlCgoyMDEzLTExLTE0IDIwOjU0OjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0bXV4OiBmaXggcGxheWJhY2sgcmVncmVzc2lvbgoJICBJbiBhZTExNTBlODVjZjk5ZDc0ODI5MzNhYTZmN2U0ZjAxMmZlNDVhM2VjIGZsaXBwaW5nIGEgY29uZGl0aW9uIG1pc2FsaWduZWQgdGhlCgkgIGVsc2UgYnJhbmNoLCB3aGVyZSBmb3IgdGhlcmUgY29uZGl0aW9uIHRoYXQgd2FzIGNoYW5nZSB0aGVyZSBpcyBub25lLgoJICBGaXhlcyAjNzEyMzAzCgoyMDEzLTExLTE0IDA5OjIwOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVuYW1lIHByb3BlcnR5IHRvICdzdGF0cycKCSAgVGhpcyBtYWtlcyB0aGUgdW5pdCB0ZXN0IHdvcmsuCgkgIFdlIGNhbiBsYXRlciBhbHNvIGFkZCBtb3JlIHN0YXRzLCBub3Qgc3BlY2lmaWMgdG8gcmV0cmFuc21pc3Npb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MTEKCjIwMTMtMTEtMTIgMTE6MTk6MjUgLTA1MDAgIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wbGVtZW50IHJ0eCBzdGF0aXN0aWNzCgoyMDEzLTExLTEzIDEwOjQyOjIxICswMDAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBwcmludCBGT1VSQ0NfRk9STUFUIHdoZW4gZW51bWVyYXRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjIwNgoKMjAxMy0xMS0wNiAxMjo0MDowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkdmFuY2UgZXhwZWN0ZWQgc2VxbnVtIGFmdGVyIGRyb3BwaW5nCgkgIEFmdGVyIGRyb3BwaW5nIGEgYnVmZmVyLCBtb3ZlIG91ciBleHBlY3RlZCBzZXFudW0KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYwoKMjAxMy0xMS0wNCAxNTo0NjoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogb25seSBzZW5kIG9uZSBjYXBzCgkgIE9ubHkgc2VuZCBvbmUgY2FwcyBpbiBhIHBhY2tldC4gVHdvIGNhcHMgY2FuIGhhcHBlbiB3aGVuIHNldGNhcHMgaXMgY2FsbGVkIGFuZAoJICB0aGUgY29uZmlnLWludGVydmFsIGV4cGlyZXMgYXQgdGhlIHNhbWUgdGltZS4KCjIwMTMtMTEtMTMgMTA6MjM6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogVXNlIHRoZSBzeW5jZWQgYnVmZmVyIG1vZGUgaW4gYXV0byBtb2RlIGlmIGEgY2xvY2sgcHJvdmlkZXIgaXMgaW4gdGhlIFNEUAoKMjAxMy0xMS0wOCAxMTowOToyMSArMDAwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGluaXQgdjRsMl9idWZmZXIgdG8gMHgwIGJlZm9yZSBpb2N0bAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMTM3CgoyMDEzLTExLTExIDE1OjI3OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgY29sbGlzaW9uIHJlY29uZmlndXJlIGV2ZW50CgkgIFJlbW92ZSBib2d1cyByZWNvbmZpZ3VyZSBldmVudCBvbiBjb2xsaXNpb24sIHdlIGRvbid0IHdhbnQgdG8gc2VuZCB0aGUgZXZlbnQgb24KCSAgdGhlIHJlY2VpdmluZyBSVFAgcGFkIGFuZCB0aGUgY29sbGlzaW9uIGV2ZW50IGlzIG5vdyBoYW5kbGluZyB0aGlzCgkgIGNhc2UuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNTYwCgoyMDEzLTExLTAxIDE3OjA0OjI4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogc2VuZCBjdXN0b20gdXBzdHJlYW0gZXZlbnQgIkdzdFJUUENvbGxpc2lvbiIgb24gc2VuZF9ydHBfc2luayBwYWQKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE1NjAKCjIwMTMtMTEtMTEgMTQ6MjU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBjaGVjazogYWRkIHJ0cHNlc3Npb24gdGVzdAoJICBBZGQgYSBiYXNpYyBydHBzZXNzaW9uIHRlc3QgdG8gZW5zdXJlIHRoYXQgUlIgYmxvY2tzIGFyZSBnZW5lcmF0ZWQgd2hlbgoJICBtdWx0aXBsZSBTU1JDIHNlbmRlcnMgYXJlIGFjdGl2ZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTI3MAoKMjAxMy0xMS0xMSAxMzoxNzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogY29ycmVjdGx5IGhhbmRsZSB0aW1lc3RhbXBzIHdoZW4gcGFyc2luZyB4LXByaXZhdGUxLWFjMwoJICAuLi4gdGhlIHdheSBpdCBoYXMgYWx3YXlzIHdvcmtlZCBmaW5lIGluIGE1MmRlYy4KCjIwMTMtMTEtMDUgMTA6NDg6MzMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY3Jhc2ggd2hlbiBkby1yZXRyYW5zbWlzc2lvbj10cnVlIGFuZCBhIGxvdCBvZiBidWZmZXJzIGFyZSBsb3N0CgkgIFRoZSBwcm9ibGVtIGhlcmUgd2FzIHRoYXQgdGhlIGppdHRlcmJ1ZmZlciBsb2NrIHdhcyB1bmxvY2tlZCB0byBwdXNoCgkgIHRoZSBldmVudCwgYnV0IHRoYXQgY2F1c2VkIGFub3RoZXIgdGhyZWFkIHRvIHJlbW92ZSB0aGUgdGltZXIgY3VycmVudGx5CgkgIGJlaW5nIHByb2Nlc3NlZCwgcHJvYmFibHkgYmVjYXVzZSB0aGUgYW1vdW50IG9mIHJ0eCBldmVudHMKCSAgKGFuZCB0aGVyZWZvcmUgdGltZXJzKSB3YXMgZ2V0dGluZyB0b28gaGlnaC4gVGhlIHNvbHV0aW9uIGlzIHRvCgkgIHVubG9jayBhbmQgcHVzaCB0aGUgZXZlbnQgb25seSBhZnRlciB0aW1lciBwcm9jZXNzaW5nIGhhcyBmaW5pc2hlZC4KCSAgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTEzMQoKMjAxMy0xMC0yNCAxMzoxNjo0MiArMDIwMCAgUGVyIHggSm9oYW5zc29uIDxwZXJ4am9oQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEF2b2lkIGRpdmlzaW9uIGJ5IHplcm8gYXNzZXJ0IGluIGdzdF9tYXRyb3NrYV9kZW11eF9zZWFyY2hfcG9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4MjkKCjIwMTMtMTEtMDggMTc6NTk6MjQgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IGdlbmVyYXRlIGEgbm9uLWVtcHR5IGRhdGEgaGVhZGVyCgkgIFJlc3RvcmUgdGhlIGJlaGF2aW9yIG9mIHRoZSBlbGVtZW50IHRvIHRoZSBzdGF0ZSBiZWZvcmUgY29tbWl0CgkgIGRiMjk1MjJhNDMwZTQ0NDUwNDE1Y2EzNjc2YWJkMWI3N2VlOTIzZDkuIEEgbm9uLWVtcHR5IGhlYWRlciBpcwoJICBnZW5lcmF0ZWQgYW5kIHdoZW4gdGhlIEVPUyBldmVudCBpcyByZWNlaXZlZCB0aGUgaGVhZGVyIGlzIGdlbmVyYXRlZAoJICBhZ2FpbiwgdGhpcyB0aW1lIHdpdGggdGhlIGNvcnJlY3Qgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTY5OQoKMjAxMy0xMS0wNyAxNjoxNzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXBkYXRlIHJlY2VpdmVyIHN0YXRzIGZvciBzZW5kZXIKCSAgQW4gaW50ZXJuYWwgc2VuZGVyIGluIGEgc2Vzc2lvbiBpcyBhbHNvIGEgcmVjZWl2ZXIgb2YgaXRzIG93biBwYWNrZXRzIHNvIHVwZGF0ZQoJICB0aGUgcmVjZWl2ZXIgc3RhdHMuIE90aGVyIHNlbmRlcnMgaW4gdGhlIHNlc3Npb24gd2lsbCB1c2UgdGhpcyBpbmZvIHRvIGdlbmVyYXRlCgkgIGNvcnJlY3QgUkIgYmxvY2tzIGluIHRoZWlyIFNSIHJlcG9ydHMuCgoyMDEzLTExLTA3IDE2OjEzOjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogcmVmYWN0b3IgcmVjZWl2ZXIgc3RhdHMgdXBkYXRlCgoyMDEzLTEwLTI1IDE4OjIyOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgZnJhZ21lbnRlZCBmaWxlcyB3aXRoIG1kYXQgYmVmb3JlIG1vb2ZzCgkgIEFzc3VtZSBhIGZpbGUgd2l0aCBhdG9tcyBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBtb292LCBtZGF0LCBtb29mLAoJICBtZGF0LCBtb29mIC4uLgoJICBUaGUgZmlyc3QgbW9vdiB1c3VhbGx5IGRvZXNuJ3QgY29udGFpbiBhbnkgc2FtcGxlIGVudHJpZXMgYXRvbXMgKG9yCgkgIHRoZXkgYXJlIGFsbCBzZXQgdG8gMCBsZW5ndGgpLCBiZWNhdXNlIHRoZSByZWFsIHNhbXBsZXMgYXJlIHNpZ25hbGVkCgkgIGF0IHRoZSBtb29mcy4gSW4gcHVzaCBtb2RlLCBxdGRlbXV4IHBhcnNlcyB0aGUgbW9vdiBhbmQgdGhlbiBmaW5kcyB0aGUgbWRhdCwKCSAgYnV0IHRoZW4gaXQgaGFzIDAgZW50cmllcyBhbmQgYXNzdW1lcyBpdCBpcyBFT1MuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgY29udGludWUgcGFyc2luZyBpbiBjYXNlIGl0IGlzIGEgZnJhZ21lbnRlZCBmaWxlIHNvIHRoYXQKCSAgaXQgbWlnaHQgZmluZCB0aGUgbW9vZnMgYW5kIHBsYXkgdGhlIG1lZGlhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNjIzCgoyMDEzLTEwLTI1IDExOjQyOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogV2hlbiB1c2luZyBhIGJ1ZmZlcmVkIG1kYXQsIHN0b3JlIGFsbCByZWNlaXZlZCBkYXRhIGZvciBsYXRlciB1c2UKCSAgSW4gcHVzaCBtb2RlLCB3aGVuIHF0ZGVtdXggY2FuJ3QgdXNlIGEgc2VlayB0byBza2lwIHRoZSBtZGF0IGJ1ZmZlciBpdCBoYXMKCSAgdG8gYnVmZmVyIGl0IGZvciBsYXRlciB1c2UuCgkgIFRoZSBpc3N1ZSBpcyB0aGF0IGFmdGVyIHBhcnNpbmcgdGhlIG5leHQgbW9vdi9tb29mLCB0aGVyZSBtaWdodCBiZSBzb21lCgkgIHRyYWlsaW5nIGJ5dGVzIGZyb20gdGhlIG5leHQgYXRvbSBpbiB0aGUgZmlsZS4gVGhpcyBkYXRhIHdhcyBiZWluZyBkaXNjYXJkZWQKCSAgYWxvbmcgd2l0aCB0aGUgYWxyZWFkeSBwYXJzZWQgbW9vdi9tb29mIGFuZCBwbGF5YmFjayB3b3VsZCBmYWlsIHRvIGNvbnRpbnVlCgkgIGFmdGVyIHRoZSBjb250ZW50cyBvZiB0aGlzIG1vb3YvbW9vZiBhcmUgcGxheWVkLgoJICBUaGlzIGlzIHBhcnRpY3VsYXJseSBiYWQgb24gZnJhZ21lbnRlZCBmaWxlcyB0aGF0IGhhdmUgdGhlIG1kYXQgYmVmb3JlIHRoZQoJICBjb3JyZXNwb25kaW5nIG1vb2YuIFNvIHlvdSdkIGdldDoKCSAgbWRhdHxtb29mfG1kYXR8bW9vZiAuLi4KCSAgV2hlbiBhIG1vb2Ygd2FzIHJlY2VpdmVkLCBpdCB1c3VhbGx5IGNhbWUgd2l0aCBzb21lIGV4dHJhIGJ5dGVzIHRoYXQgd291bGQKCSAgYmVsb25nIHRvIHRoZSBuZXh0IG1kYXQgKGJlY2F1c2UgdXBzdHJlYW0gZG9lc24ndCBjYXJlIGFib3V0IGF0b21zIGFsaWdubWVudCkuCgkgIFNvIHRob3NlIGJ5dGVzIHdlcmUgYmVpbmcgZGlzY2FyZGVkIGFuZCBwbGF5YmFjayB3b3VsZCBmYWlsLgoJICBUaGlzIHBhdGNoIG1ha2VzIHF0ZGVtdXggc3RvcmUgdGhvc2UgZXh0cmEgYnl0ZXMgdG8gcmV1c2UgdGhlbSBsYXRlciBhZnRlciB0aGUKCSAgbWRhdCBpcyBlbXB0aWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNjIzCgoyMDEzLTExLTA3IDA5OjQ5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBBbHNvIHVzZSB0aGUgYmluZC1wb3J0IHByb3BlcnR5IGlmIG5vIGJpbmQtYWRkcmVzcyB3YXMgZ2l2ZW4KCjIwMTMtMTEtMDcgMDA6NTE6MTIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvc2luazogZml4IHNlZ2ZhdWx0IHdoZW4gd2UgY2FuJ3QgZ2V0IHRoZSBjaGFubmVscyBsYXlvdXQKCjIwMTMtMTEtMDUgMTc6MjY6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IE1ha2UgUGljdHVyZSBJRCBtb2RlIGNvbmZpZ3VyYWJsZSBhbmQgZGVmYXVsdCB0byBubyBwaWN0dXJlIElECgkgIFNvbWUgaW1wbGVtZW50YXRpb25zIChsaW5waG9uZSkgb25seSBzdXBwb3J0IG5vIHBpY3R1cmUgYXQgYWxsIGluIHRoZQoJICBzdHJlYW0gYW5kIHdpbGwgZmFpbCBpZiBvbmUgaXMgcHJvdmlkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0OTcKCjIwMTMtMTEtMDUgMTE6MTg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg2NWFhMjAgdG8gZGJlZGFhMAoKMjAxMy0wMS0yOSAxMDo1MTowNyArMDEwMCAgUGF1bCBIRU5SWVMgPHZpc2VjaGVsbGVAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIEFkZCBjYWxsIHRvIGdzdF9ydHBfaDI2NF9wYXlfY2xlYXJfc3BzX3BwcygpIHdoZW4gcmVjZWl2aW5nIGEgU1RSRUFNX1NUQVJUIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI3ODcKCjIwMTMtMTEtMDIgMjI6NTA6NDcgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3A6IEFkZCBtaXNzaW5nIGdpby0yLjAgZGVwcyBhbmQgaW5jbHVkZXMKCjIwMTMtMTEtMDEgMTg6MzE6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJICBhdWRpb2lpcmZpbHRlcjogRml4IGluaXRpYWxpemF0aW9uIGNvZWZmaWNpZW50IGhhbmRsaW5nCgkgIEJyb2tlIHVuaXQgdGVzdC4KCjIwMTMtMTAtMzEgMTQ6MDU6NDMgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWxsb3cgc2V0dGluZyB0bHMgY2VydGlmaWNhdGUgdmFsaWRhdGlvbiBmbGFncwoJICBBZGRlZCBhIG5ldyBwcm9wZXJ0eSAidGxzLXZhbGlkYXRpb24tZmxhZ3MiLiBJZiB0aGUgdXJsIHRyYW5zcG9ydCBpcwoJICBUTFMsIHRoZSB2YWxpZGF0aW9uIGZsYWdzIHdpbGwgYmUgc2V0IHRvIHRoZSBydHNwIGNvbm5lY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMzAKCjIwMTMtMTAtMzEgMjI6NDM6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJICBhdWRpb2lpcmZpbHRlcjogRG9uJ3QgY3Jhc2ggaWYgbm8gZmlsdGVyIGNvZWZmaWNpZW50cyBhcmUgcHJvdmlkZWQKCSAgLi4uYW5kIGJ5IGRlZmF1bHQgdXNlIGEgaWRlbnRpdHkgZmlsdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMjE1CgoyMDEzLTEwLTMxIDE5OjE1OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBGaXggd3JpdGluZyBvZiBNRDUgc3VtcyBhbmQgb3RoZXIgbWV0YWRhdGEgYmxvY2tzCgkgIFRoZXNlIGRvbid0IGhhdmUgdGhlIEZJTkFMX0JMT0NLIGZsYWcgc2V0LgoKMjAxMy0xMC0zMSAxMzowMjoxMSAtMDIwMCAgRGphbG1hIEzDumNpbyBTb2FyZXMgZGEgU2lsdmEgPGRsdWNpb0BpbXBhLmJyPgoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBoZHYxMzk0c3JjOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbGVjdCBhIGNhbWVyYSBieSBpdHMgR1VJRAoJICBUaGUgc291cmNlIGhkdjEzOTRzcmMgaGFzIHRoZSBndWlkIHByb3BlcnR5IHRoYXQgcGVybWl0cyBzZWxlY3QgYSBjYW1lcmEKCSAgY29ubmVjdGVkIGZyb20gaXRzIEdVSUQgbnVtYmVyLgoJICBIb3dldmVyIHdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBzZXR0ZWQgdGhlIHNlbGVjdGVkIGNhbWVyYSBpcyBub3QgY2hhbmdlZC4KCSAgVGhlIHNvdXJjZSBjb250aW51ZXMgdXNpbmcgdGhlIGRlZmF1bHQgY2FtZXJhLgoJICBUaGlzIHByb2JsZW0gd2FzIHNvbHZlZCB1c2luZyB0aGUgZnVuY3Rpb24gaWVjNjE4ODNfY21wX2Nvbm5lY3QuCgkgIFRoZSByZWZlcmVuY2UgZm9yIHRoZSBmdW5jdGlvbiBjb3VsZCBiZSBmb3VuZCBoZXJlOgoJICBodHRwOi8vd3d3LmRlbm5lZHkub3JnL2xpYmllYzYxODgzL0FQSS1pZWM2MTg4My1jbXAtY29ubmVjdC5odG1sCgkgIFRoZSBzb2x1dGlvbiBjYW1lIGZyb20gZHZncmFiIHNvdXJjZSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNDE1CgoyMDEzLTEwLTMxIDEzOjIwOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogYWRkIGV4cGxpY2l0IGNhc3QgdG8gc2lsZW5jZSB3YXJuaW5nCgkgIFNpbGVuY2luZyB0aGlzIHdhcm5pbmc6CgkgIGVsZW1lbnRzL3NvdXBodHRwc3JjLmM6NTMzOjE0OiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIOKAmFNvdXBLbm93blN0YXR1c0NvZGXigJkgYW5kIOKAmGVudW0gPGFub255bW91cz7igJkgWy1XZXJyb3I9ZW51bS1jb21wYXJlXQoJICBpZiAoc3RhdHVzICE9IFNPVVBfU1RBVFVTX09LICYmICFzZW5kX2Vycm9yX2RvYykKCSAgV2l0aCBnY2MgNC44LjIgKGRlYmlhbikKCjIwMTMtMTAtMzEgMTA6Mzg6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwcm94eSBuZXcgYnVmZmVyIG1vZGUKCjIwMTMtMTAtMzAgMTY6NDk6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIG5ldyB0aW1lc3RhbXAgbW9kZQoJICBBZGQgYSBuZXcgdGltZXN0YW1wIG1vZGUgdGhhdCBhc3N1bWVzIHRoZSBsb2NhbCBhbmQgcmVtb3RlIGNsb2NrIGFyZQoJICBzeW5jaHJvbml6ZWQuIEl0IHRha2VzIHRoZSBmaXJzdCB0aW1lc3RhbXAgYXMgYSBiYXNlIHRpbWUgYW5kIHRoZW4gdXNlcyB0aGUgUlRQCgkgIHRpbWVzdGFtcHMgZm9yIHRoZSBvdXRwdXQgUFRTLgoKMjAxMy0xMC0zMCAyMjoxMjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgbWF0cm9za2EtZGVtdXguYzogSW4gZnVuY3Rpb24gJ2dzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtJzoKCSAgbWF0cm9za2EtZGVtdXguYzoxMzc5Ojc6IGVycm9yOiBmb3JtYXQgJyV1JyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ3Vuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA0IGhhcyB0eXBlICdndWludDY0JyBbLVdlcnJvcj1mb3JtYXQ9XQoJICAiJTAzdSIsIGNvbnRleHQtPnVpZCk7CgkgIF4KCjIwMTMtMTAtMjggMTM6MjE6MTUgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSAgdmlkZW9taXhlcjogcmVtb3ZlIHVubmVlZGVkIGd1aW50IGNvbXBhcmFpc29uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwMTAKCjIwMTMtMTAtMjggMTQ6MTM6MTIgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogZml4IG1pc3Npbmcgc2VsZWN0b3IgbmFtZSB3YXJuaW5ncwoJICBUaGUgc3BhY2VzIG1hdHRlciBpbiBPYmpDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwMTMKCjIwMTMtMTAtMjggMTM6MzE6MzQgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmM6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTAxMQoKMjAxMy0xMC0yNSAxMTozMDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgaWYgdGhlIGVuZF90aW1lIGlzIGRlZmluZWQgYmVmb3JlIHVzaW5nIGl0CgkgIEF2b2lkcyBzZW5kaW5nIEVPUyB0b28gc29vbiBiZWNhdXNlIG9mIG92ZXJmbG93LiBDYW4gaGFwcGVuIG9uCgkgIGZyYWdtZW50ZWQgbXA0IHBsYXliYWNrLgoKMjAxMy0xMC0yMyAxMzozODoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGNvcnJlY3QgdW5yZWYgZnVuY3Rpb24KCSAgRXZlbnRzIGFyZW4ndCBHc3RPYmplY3RzLCBidXQgR3N0TWluaU9iamVjdHMKCjIwMTMtMTAtMTUgMDg6MTY6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVuYW1lIGNodW5rc19hcmVfY2h1bmtzIHRvIGNodW5rc19hcmVfc2FtcGxlcyBhbmQgZmxpcCB0aGUgbG9naWMKCSAgQXMgdGhlIHZhcmlhYmxlIG5hbWUgc3VnZ2VzdHMsIHNvbWV0aW1lcyBjaHVua3MgYXJlIGNodW5rcy4gUmVuYW1lIHRoZSB2YXJpYWJsZQoJICB0byB0ZWxsIHdoYXQgdGhleSBhcmUgd2hlbiB0aGV5IGFyZSBub3QgY2h1bmtzLgoKMjAxMy0xMC0wOSAwODowNDoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdHlwb3MgYW5kIGFkZCBtb3JlIGxvZ2dpbmcgZm9yIHVuaGFuZGxlZCBwYXJ0cwoKMjAxMy0xMC0xNCAxNjoyMzoyNSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogRml4IG1lbW9yeSBsZWFrCgkgIFVubWFwIGFsbCBHc3RNZW1vcnkgb2YgdGhlIGN1cnJlbnQgYnVmZmVyIHdoZW4gZmx1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAxMTAKCjIwMTMtMTAtMTIgMjA6NDQ6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZpeCBicm9rZW4gc2FtcGxlIHBpcGVsaW5lCgkgIHdoaWNoIHdhcyBtdXhpbmcgcmF3IGF1ZGlvIGFuZCB2aWRlbyBpbnRvIGZsdm11eCwgd2hpY2ggd29uJ3Qgd29yaywKCSAgZXZlbiBpZiB0aGVyZSB3ZXJlIGNvbnZlcnRlcnMuCgoyMDEzLTEwLTEyIDIwOjM3OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiByZXF1aXJlIHN0cmVhbS1mb3JtYXQ9cmF3IGZvciBtcGVnLTIgdG9vLCBidXQgZG9uJ3QgcmVxdWlyZSBmcmFtZWQgZmllbGQKCSAgcmF3IGltcGxpZXMgdGhhdCBpdCdzIGZyYW1lZCBhbHJlYWR5LiBGaXhlcyAuLiAhIGZhYWMgISBmbHZtdXgKCjIwMTMtMTAtMDcgMTQ6Mjc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGRvIG5vdCBlbWl0IEVPUyB3aGVuIGNvbm5lY3Rpb24gZHJvcHMKCSAgSWYgdGhlIHBpcGVsaW5lIGlzIHN0YWxsZWQgZm9yIHRvbyBsb25nLCBzb3VwaHR0cHNyYyB3aWxsIGJsb2NrIGFuZAoJICBzdG9wIGZldGNoaW5nIGRhdGEgZnJvbSB0aGUgbmV0d29yay4gVGhpcyBjYW4gY2F1c2UgdGhlIGNvbm5lY3Rpb24gdG8KCSAgZHJvcCBhbmQgc291cGh0dHBzcmMgd291bGQgaGFuZGxlIGl0IGFzIGFuIEVPUy4gVGhpcyBwYXRjaCBtYWtlcyBpdAoJICBwZXJzaXN0IGFuZCB0cnkgdG8gZmV0Y2ggbW9yZSBkYXRhIHVudGlsIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgbGVuZ3RoCgkgIG9yIHVudGlsIHJlY2VpdmluZyBhbiBlcnJvciB0aGF0IGl0IGlzIGJleW9uZyBsaW1pdHMgaW4gY2FzZSB0aGUgY29udGVudAoJICBpcyB1bmtub3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNTM2CgoyMDEzLTEwLTEwIDEzOjUyOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIGR2ZGVjOiBEb24ndCBzZW5kIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTcyOAoKMjAxMy0xMC0wOSAxNzo0NjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogU2VuZCBzdHJlYW0tc3RhcnQsIGNhcHMgYW5kIHNlZ21lbnQgZXZlbnRzIGluIHRoZSByaWdodCBvcmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NzI4CgoyMDEzLTEwLTA4IDExOjI4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEEtTGF3IGFuZCBNdS1MYXcgZG9uJ3QgaGF2ZSB3aWR0aC9kZXB0aC9zaWduZWQgY2FwcyBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTYxNAoKMjAxMy0xMC0wNyAxMjo1NDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggaGFuZGxpbmcgb2YgcGxhbmFyIHZpZGVvIGZvcm1hdHMgaW4gZ3JlZWR5aCBtZXRob2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTUwNwoKMjAxMy0xMC0wNiAxMDowMToyNiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBUcml2aWFsIGdyYW1tYXIgZml4IG9uIGRlYnVnIG1zZwoKMjAxMy0xMC0wNiAwOToxNzowMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgY29udGV4dCBmbGFnIGZvciBXZWJNCgkgIFdlYk0gaGFzIGEgY291cGxlIG9mIHNwZWNpZmljIHJlcXVpcmVtZW50cyB3ZSBuZWVkIHRvIGhhbmRsZS4KCSAgSWRlYSBpcyB0byBzZXQgdGhpcyBmbGFnIG9uY2UgYW5kIGp1c3QgcmVseSBvbiBtdXgtPmlzX3dlYm0KCSAgYXQgcnVuIHRpbWUgaW5zdGVhZCBvZiByZXBlYXRlZGx5IGZpZ3VyaW5nIHRoaXMgb3V0IGZyb20KCSAgR1NUX01BVFJPU0tBX0RPQ1RZUEVfV0VCTSAod2hpY2ggcmVxdWlyZXMgYSBzdHJjbXAoKSkuCgoyMDEzLTEwLTA0IDE0OjQyOjU5IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9AcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IERvIG5vdCB3cml0ZSBTZWdtZW50VUlEIGZvciBXZWJNIG11eAoJICBXZWJNIHNwZWMgc3RhdGVzIFNlZ21lbnRVSUQgaXMgVW5zdXBwb3J0ZWQuIEZpbGVzIHByb2R1Y2VkCgkgIHdpdGggZ3N0cmVhbWVyIHdpdGhvdXQgdGhpcyBjaGFuZ2Ugd2lsbCBzcGl0IGFuIGVycm9yIGxpa2UKCSAgdGhpcyB3aGVuIHBhc3NlZCB0byBta3ZhbGlkYXRvcjoKCSAgRVJSMjAxOiBJbnZhbGlkICdTZWdtZW50VUlEJyBmb3IgcHJvZmlsZSAnd2VibScgaW4gSW5mbyBhdCAxOTIKCjIwMTMtMTAtMDUgMDA6MDA6MDMgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFrZSBkdmQgcGFsZXR0ZSBjaGFuZ2UgZXZlbnQgc3RpY2t5CgkgIFNvIHRoZXkgZG9uJ3QgZ2V0IGxvc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0NTQKCjIwMTMtMTAtMDMgMTY6Mzk6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB2aWRlb2ZsaXA6IEFkZCBhdXRvbWF0aWMgZmxpcCBtb2RlIGRyaXZlbiBieSBpbWFnZS1vcmllbnRhdGlvbiB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTMxMgoKMjAxMy0xMC0wNCAxMzozNDowOSArMDIwMCAgUGV0ZXIgS29yc2dhYXJkIDxwZXRlckBrb3JzZ2FhcmQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IE9fQ0xPRVhFQyBuZWVkcyBfR05VX1NPVVJDRQoJICBPbiBzb21lIHN5c3RlbXMgKEUuRy4gdUNsaWJjIGFuZCBvbGRlciBHbGliYyB2ZXJzaW9ucyksIE9fQ0xPRVhFQyBpcyBvbmx5CgkgIGRlZmluZWQgd2hlbiBfR05VX1NPVVJDRSBpcyBzcGVjaWZpZWQsIHNvIGRvIHNvLgoJICBfR05VX1NPVVJDRSBuZWVkcyB0byBiZSBkZWZpbmVkIGJlZm9yZSBhbnkgc3lzdGVtIGhlYWRlcnMgYXJlIGluY2x1ZGVkLAoJICBzbyBtb3ZlIHRoZSBmY250bC5oIHNlY3Rpb24gdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MjMKCjIwMTMtMTAtMDQgMTI6MTE6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggcmFjZSBpbiBmbHVzaC1zdGFydC9mbHVzaC1zdG9wCgkgIFdoZW4gZmx1c2gtc3RvcCBhcnJpdmVzIGJlZm9yZSB3ZSBwcm9jZXNzIHRoZSByZXN1bHQgb2YgdGhlIF9wdXNoKCkgaW4gdGhlCgkgIGxvb3AgZnVuY3Rpb24sIHdlIG1pZ2h0IHBhdXNlIGV2ZW4gdGhvdWdoIHdlIGFyZSBub3QgZmx1c2hpbmcgYW55bW9yZS4gRml4IHRoaXMKCSAgcmFjZSBieSB3YWl0aW5nIGZvciB0aGUgc3JjcGFkIGxvb3AgZnVuY3Rpb24gdG8gY29tcGxldGVseSBwYXVzZSBhZnRlciBkb2luZyB0aGUKCSAgZmx1c2gtc3RhcnQuCgoyMDEzLTEwLTAzIDIyOjM4OjQzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJICB2aWRlb21peGVyOiBVcGRhdGUgdmlkZW9jb252ZXJ0IGNvcHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTM5MAoKMjAxMy0xMC0wMyAyMTozNjozNCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBDaGVjayBpZiB0aGUgcGFkIG5lZWRzIHJlY29uZmlndXJhdGlvbiBpbiBjb2xsZWN0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTM4NAoKMjAxMy0xMC0wMyAxNDozOTozNSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogUmVsYXggc2luayBjYXBzCgkgIFNpbmNlIGpwZWdkZWMgYWxyZWFkeSBwYXJzZSB0aGUganBlZyBzdHJlYW0sIHRoZSBzaW5rIGNhcHMgY291bGQgYmUKCSAgcmVsYXhlZC4gVGhpcyB3aWxsIGFsbG93IGpwZWdkZWMgdG8gYmUgc2VsZWN0ZWQgaW4gbW9yZSBjYXNlIGFuZCBpbgoJICBwYXJ0aWN1bGFyIHdoZW4gdGhlIGpwZWcgdHlwZWZpbmRlciBkb2VzIG5vdCBmaW5kIHRoZSB3aWR0aCBhbmQgaGVpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzUyCgoyMDEzLTEwLTAzIDE4OjMzOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBwcmludCBwcm9iZWQgY2FwcyBhcyBjYXBzIGFnYWluIGluIGRlYnVnIGxvZwoJICBUaGlzIGdvdCBsb3N0IGR1cmluZyByZWZhY3RvcmluZy4KCjIwMTMtMTAtMDMgMTE6NTk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgdGhlIG1wMnYgZm91cmNjIGZvciBNUEVHLTIgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTI3MAoKMjAxMy0xMC0wMiAxNTo1Njo1MyArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTI2NgoKMjAxMy0wOS0zMCAxMjozMTo0MiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBIRVZDIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTA5MwoKMjAxMy0wOS0zMCAxMjoyNDozMiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogRml4IG1lbW9yeSBsZWFrCgkgIFdlIHdlcmUgbGVha2luZyB0aGUgR0xpc3Qgbm9kZXMgb2YgdGhlIHBlbmRpbmcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTA3OQoKMjAxMy0wOS0zMCAxMjozMTowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggcmFjZSB3aGVuIHVwZGF0aW5nIHRoZSBuZXh0X3NlcW51bQoJICBJZiB3ZSB3ZXJlIG5vdCB3YWl0aW5nIGZvciB0aGUgbWlzc2luZyBzZXFudW0gd2hlbiB3ZSBpbnNlcnQgdGhlIGxvc3QgcGFja2V0CgkgIGV2ZW50IGluIHRoZSBqaXR0ZXJidWZmZXIsIHdlIGVuZCB1cCBub3QgdXBkYXRpbmcgdGhlIG5leHRfc2VxbnVtIGFuZCB3YWl0CgkgIGZvcmV2ZXIgZm9yIHRoZSBsb3N0IHBhY2tldHMgdG8gYXJyaXZlLiBJbnN0ZWFkLCBrZWVwIHRyYWNrIG9mIHRoZSBhbW91bnQgb2YKCSAgcGFja2V0cyBjb250YWluZWQgYnkgdGhlIGppdHRlcmJ1ZmZlciBpdGVtIGFuZCB1cGRhdGUgdGhlIG5leHQgZXhwZWN0ZWQKCSAgc2VxbnVtIG9ubHkgYWZ0ZXIgcHVzaGluZyB0aGUgYnVmZmVyL2V2ZW50LiBUaGlzIG1ha2VzIHN1cmUgd2UgY29ycmVjdGx5IGhhbmRsZQoJICBHQVBTIGluIHRoZSBzZXF1ZW5jZSBudW1iZXJzLgoKMjAxMy0wOS0zMCAxMjozMDoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNtYWxsIGRlYnVnIGltcHJvdmVtZW50CgoyMDEzLTA5LTMwIDExOjUzOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVzZXQgc2tldyBkb2VzIG5vdCByZXNldCBjbG9jay1yYXRlCgkgIERvbid0IHJlc2V0IHRoZSBjbG9jay1yYXRlIHdoZW4gd2UgcmVzZXQgdGhlIHNrZXcgY29ycmVjdGlvbiBhbGdvcml0aG0uCgkgIFJlc2V0IHRoZSBza2V3IGNvcnJlY3Rpb24gYWxnb3JpdGhtIHdoZW4gd2UgY2hhbmdlIHRoZSBjbG9jay1yYXRlLgoKMjAxMy0wOS0zMCAxMToxNjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHBhdXNlIHRpbWVyIHdoZW4gUEFVU0VECgkgIEFsc28gcGF1c2UgdGhlIHRpbWVyIHdoZW4gd2UgZ28gdG8gdGhlIFBBVVNFRCBzdGF0ZS4gSXQgaXMgcG9zc2libGUgdGhhdCB3ZQoJICBkb24ndCBoYXZlIGEgY2xvY2sgb3IgYmFzZS10aW1lIGluIFBBVVNFRCB0byBwZXJmb3JtIHRoZSB0aW1lb3V0cy4KCjIwMTMtMDktMzAgMTE6MTU6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA5LTI2IDIwOjQxOjI2ICswMjAwICBIYW5zIE3DpW5zc29uIDxoYW5zbUBheGlzLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgbXA0bXV4OiBEbyBub3QgcmVxdWlyZSBmcmFtZXJhdGUgaW4gcGVlciB2aWRlbyBjYXBzCgkgIFJlbW92ZSB0aGUgZnJhbWVyYXRlIHJlc3RyaWN0aW9uIG9uIHRoZSBjYXBzLgoJICBSZWZlcmVuY2U6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4NjQKCjIwMTMtMDktMjcgMTU6MDU6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsc28gZ28gaW50byB0aGUgbG9vcCBmdW5jdGlvbiBhZnRlciBjb25uZWN0CgkgIFdoZW4gd2UgaGF2ZSBvcGVuZWQgdGhlIHN0cmVhbSwgZ28gaW50byB0aGUgbG9vcCBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbgoJICByZWNlaXZlIG1lc3NhZ2VzIGZyb20gdGhlIHNlcnZlci4KCjIwMTMtMDktMjcgMTI6NTM6MDYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbW92ZSB0aGUgY2hlY2sgZm9yIHN1YnRpdGxlIGJ1ZmZlciBiZWluZyBudWxsIHRlcm1pbmF0ZWQgYmVmb3JlIHZhbGlkYXRpbmcgVVRGLTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzkzMwoKMjAxMy0wOS0yNiAxNjoyMDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGNhbGN1bGF0ZSBza2V3IHdpdGhvdXQgcnRwdGltZQoJICBTa2lwIHRyeWluZyB0byBjYWxjdWxhdGUgdGhlIHNrZXcgd2hlbiB3ZSBkb24ndCBoYXZlIGFuIHJ0cHRpbWUuCgkgIEl0IGNhdXNlcyBwcm9ibGVtcyB3aGVuIGxvc3QgcGFja2V0IGV2ZW50cyBhcmUgcGxhY2VkIGluIHRoZSBqaXR0ZXJidWZmZXIuCgoyMDEzLTA5LTI1IDIzOjQ2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGdldCByaWQgb2YgQVNfU0NSVUJfSU5DTFVERQoJICBTaG91bGQgbm90IGJlIG5lZWRlZCBhbnkgbW9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzY1OAoKMjAxMy0wOS0yNSAxNzo0MjowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZGlzYWJsZSBjaGVja3Mgd2hlbiBsaW5raW5nIHBhZHMKCSAgV2Uga25vdyB0aGUgcGFkIGxpbmtzIHdpbGwgd29yayAoYW5kIHdlIGRvbid0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWUKCSAgYW55d2F5KS4KCjIwMTMtMDktMjUgMTc6MzY6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhdm9pZCBzb21lIHBhZCBsaW5rIGNoZWNrcwoJICBMaW5rIHBhZHMgd2l0aG91dCBjaGVja3MsIHdlIGtub3cgaXQgd2lsbCB3b3JrLgoKMjAxMy0wOS0yNSAxMjo1NToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgZXJyb3Igb3V0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlIGZvciBub24tZnJhZ21lbnRlZCB2YXJpYW50cwoJICBEb2luZyBzbyB3b3VsZCBiZSBhIHJlZ3Jlc3Npb24gb3ZlciAxLjAgYW5kIGJyZWFrcyB0aGUgdW5pdCB0ZXN0LgoJICBIb3dldmVyIHRoZSByZXN1bHQgd2lsbCBiZSBtb3N0IGxpa2VseSB1bnVzYWJsZSwgc28gbGV0J3MgcG9zdAoJICBhIHdhcm5pbmcgbWVzc2FnZSBvbiB0aGUgYnVzLgoKMjAxMy0wOS0yNCAwNDowMjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGNhbGN1bGF0ZSBzb21lIHN0YXRzCgoyMDEzLTA5LTIzIDE3OjA1OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbW92ZSBzZW5kX2xvc3RfZXZlbnQgZnVuY3Rpb24KCSAgTW92ZSB0aGUgc2VuZF9sb3N0X2V2ZW50IGZ1bmN0aW9uIHRvIHRoZSBkb19sb3N0X2V2ZW50IGhhbmRsaW5nLCB0aGVyZSBpcyBubwoJICBuZWVkIHRvIGhhdmUgYSBzZXBhcmF0ZSBmdW5jdGlvbi4KCjIwMTMtMDktMTYgMTE6MjA6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgY29kZSB0byBwYXJzZSBjcmVhdGlvbiB0aW1lIGVhcmxpZXIgdGhhbiAxOTcwCgkgIFVzZSBnX2RhdGVfdGltZSBzZWNvbmRzIG1hbmlwdWxhdGlvbiB0byBhbGxvdyB0byBjb3ZlciB0aGUgcXVpY2t0aW1lCgkgIHNwZWMgZm9yIGNyZWF0aW9uX3RpbWUuIEl0IHVzZXMgc2Vjb25kcyBzaW5jZSAxOTA0LgoJICBCb3RoIHBhdGhzIGNvdWxkIGJlIGRvbmUgdXNpbmcgdGhlIGdlbmVyaWMgYXBwcm9hY2ggb2Ygc2Vjb25kcyBzaW5jZQoJICAxOTA0IHdpdGggR0RhdGVUaW1lIGhhbmRsaW5nLCBidXQgdGhlIGZpcnN0IHBhdGggdXNpbmcgc2Vjb25kcyBmcm9tCgkgIDE5NzAgc2hvdWxkIGJlIG1vcmUgY29tbW9ubHkgZm91bmQgYW5kIGF2b2lkcyBhIGZldyBvYmplY3RzIGNyZWF0aW9uIGFuZAoJICByZWYvdW5yZWYsIHNvIGtlZXAgaXQgdGhlcmUgZm9yIHBlcmZvcm1hbmNlLgoJICBBZGRpdGlvbmFsbHksIHRoZSBjb2RlIGZvciBoYW5kbGluZyBzZWNvbmRzIHNpbmNlIDE5NzAgY2hhbmdlZCBmcm9tID4KCSAgdG8gPj0gYmVjYXVzZSBoYXZpbmcgMCBzZWNvbmRzIHNpbmNlIDE5NzAgaXMgYWxzbyBhIHZhbGlkIGNhc2UgZm9yIHRoYXQKCSAgcGF0aCB0byBoYW5kbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5NzUKCjIwMTMtMDktMjEgMDA6NTU6MjYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdXBkYXRlIHN0cmVhbS0+cG9zIHdoZW4gc2VuZGluZyBidWZmZXJzIHNvIHRoYXQgZ2FwIGV2ZW50cyBhcmUgbm90IHNlbnQgdW5uZWNlc3NhcmlseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NTA1CgoyMDEzLTA5LTI0IDE4OjMwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZiMDNiYTcgdG8gODY1YWEyMAoKMjAxMy0wOS0yNCAxNTowNToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFjdHVhbGx5IHVzZSAxLjMuMC4xIGFzIHZlcnNpb24gdG8gbWFrZSBjb25maWd1cmUgaGFwcHkKCjIwMTMtMDktMjQgMTU6MDA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4yLjAgPT09CgoyMDEzLTA5LTI0IDE0OjIxOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4yLjAKCjIwMTMtMDktMjQgMTQ6MjA6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0yMCAxOTo0MzoyMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2VnZmF1bHQgcmVsZWFzaW5nIHRoZSBzaW5rCgkgIHNob3dfZnJhbWUgaXMgZGVmZXJyZWQgdG8gdGhlIG1haW4gdGhyZWFkIGFuZCBjYW4gYmUgY2FsbGVkCgkgIHdoZW4gdGhlIHNpbmsgaGFzIGJlZW4gcmVsZWFzZWQsIHNvIHdlIG5lZWQgdG8ga2VlcCBhbiBleHRyYSByZWYKCSAgb24gT2JqZWN0aXZlQyBvYmplY3QgaGVscGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NTAxCgoyMDEzLTA5LTE5IDE3OjExOjM0IC0wNDAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlc3RvcmUgb3JpZ2luYWwgR3N0TWVtb3J5IGluIGJ1ZmZlciBpZiBpdCBoYXMgYmVlbiBjaGFuZ2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwODMKCjIwMTMtMDktMjMgMTY6MzQ6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiB1cGRhdGUgZG9jcwoKMjAxMy0wOS0yMyAxNTozNjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBkb2NzOiB1cGRhdGUgZG9jcyB3aXRoIDEuMCBlbGVtZW50IG5hbWVzCgoyMDEzLTA5LTIzIDE0OjEzOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgcmV0cmFuc21pc3Npb24gYmVjYXVzZSBvZiByZW9yZGVyaW5nCgoyMDEzLTA5LTIzIDE0OjEyOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWx3YXlzIHN0b3JlIGxvc3QgZXZlbnQgaW4gaml0dGVyYnVmZmVyCgkgIEFsd2F5cyBwcmVwYXJlIGEgbG9zdCBldmVudCBpbiB0aGUgaml0dGVyYnVmZmVyLCBpdCBpcyB0byB3YWtlIHVwIGFuZCBtYWtlIHRoZQoJICBwdXNoaW5nIHRocmVhZCBjb250aW51ZS4gV2UgZHJvcCB0aGUgZXZlbnQgd2hlbiB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIHB1c2ggbG9zdAoJICBldmVudHMgZG93bnN0cmVhbS4KCjIwMTMtMDktMjMgMTE6MTg6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzY2hlZHVsZSBsb3N0IGV2ZW50IGRpZmZlcmVudGx5CgkgIFNjaGVkdWxlIHRoZSBsb3N0IGV2ZW50IGJ5IHBsYWNpbmcgaXQgaW5zaWRlIHRoZSBqaXR0ZXJidWZmZXIgd2l0aCB0aGUgc2VxbnVtCgkgIHRoYXQgd2FzIGxvc3Qgc28gdGhhdCB0aGUgcHVzaGluZyB0aHJlYWQgY2FuIGludGVybGVhdmUgYW5kIHB1c2ggaXQgcHJvcGVybHkuCgoyMDEzLTA5LTIzIDExOjE3OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiByZW1vdmUgdGltZW91dHMgZnJvbSBjaGVjawoJICBUaW1lb3V0cyBtYWtlIHRoZSB0ZXN0IHVucmVsaWFibGUgYW5kIGFyZSBub3QgbmVlZGVkLgoKMjAxMy0wOS0yMyAxMToxNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlbW92ZSBsaXN0IGRlYnVnCgoyMDEzLTA5LTIzIDExOjE0OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkZCB0eXBlIHRvIHRoZSBpdGVtCgkgIFNvIHRoYXQgdGhlIHVwcGVyIGxheWVyIGNhbiBrbm93IHdoYXQgZGF0YSBpcyBjb250YWluZWQgaW4gdGhlIGl0ZW0uCgoyMDEzLTA5LTIzIDA5OjU4OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggZmx1c2gKCSAgUGFzcyBmdW5jdGlvbiB0byBmbHVzaCB0byBwcm9wZXJseSBmcmVlIHRoZSBxdWV1ZSBpdGVtcy4KCjIwMTMtMDktMjEgMDA6MDg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhcHBlbmQgc2VxbnVtIC0xIHBhY2tldHMKCjIwMTMtMDktMjAgMjM6NDg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IHVzZSBzdHJ1Y3R1cmUgdG8gaG9sZCBwYWNrZXQgaW5mb3JtYXRpb24KCSAgTWFrZSB0aGUgaml0dGVyYnVmZmVyIG9wZXJhdGUgb24gYSBzdHJ1Y3R1cmUgY29udGFpbmluZyBhbGwgdGhlIHBhY2tldAoJICBpbmZvcm1hdGlvbi4gVGhpcyBhdm9pZHMgbWFwcGluZyB0aGUgYnVmZmVyIG11bHRpcGxlIHRpbWVzIGp1c3QgdG8gZ2V0IHRoZSBSVFAKCSAgaW5mb3JtYXRpb24uIEl0IHdpbGwgYWxzbyBtYWtlIGl0IHBvc3NpYmxlIHRvIHN0b3JlIG90aGVyIG1pbmlvYmplY3RzIHN1Y2ggYXMKCSAgZXZlbnRzIGxhdGVyLgoKMjAxMy0wOS0yMCAxNzo0ODo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVwZGF0ZSBleHBlY3RlZCB0aW1lciB3aGVuIHBvc3NpYmxlCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIHBhY2tldCBhbmQgd2UgaGF2ZSBzb21lIG1pc3NpbmcgcGFja2V0cywgd2UgY2FuIHVwZGF0ZSB0aGVpcgoJICBlc3RpbWF0ZWQgYXJyaXZhbCB0aW1lcyBiYXNlZCBvbiB0aGUgdGltZXN0YW1wIGRpZmZlcmVuY2UuCgoyMDEzLTA5LTIwIDE3OjE4OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IG9yZGVyIG9mIHRpbWVvdXQgZXZlbnRzCgkgIEltcHJvdmUgdGhlIG9yZGVyIG9mIHRoZSB0aW1lb3V0IGV2ZW50cywgaWYgdGhlcmUgYXJlIHRpbWVycyB3aXRoIHRoZSBzYW1lCgkgIHRpbWVvdXQsIHdlIHdhbnQgdG8gdHJpZ2dlciB0aGUgbG93ZXN0IHNlcW51bSBmaXJzdC4gRm9yIHRoaXMgd2UgbmVlZCB0byBsb29wCgkgIG92ZXIgdGhlIGNvbXBsZXRlIGFycmF5IG9mIHRpbWVycyB0byBmaW5kIHRoZSBiZXN0IG9uZSBiZWZvcmUgdHJpZ2dlcmluZyB0aGUKCSAgdGltZW91dC4KCjIwMTMtMDktMjAgMTY6NTg6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzZW5kIGxvc3QgZXZlbnQgYmVmb3JlIHNpZ25hbGluZyBuZXh0IGJ1ZmZlcgoJICBGaXJzdCBzZW5kIHRoZSBsb3N0IGV2ZW50LCB0aGVuIHVwZGF0ZSB0aGUgbmV4dF9zZXFudW0gY291bnRlciBhbmQgdGhlbgoJICBzZW5kIHRoZSBzaWduYWwgdG8gdGhlIHB1c2hpbmcgdGhyZWFkIHRoYXQgaXQgY2FuIHJldHJ5IHRvIHB1c2ggYSBidWZmZXIuIFRoaXMKCSAgYXZvaWRzIHB1c2hpbmcgb3V0IGJ1ZmZlcnMgYmVmb3JlIHRoZSBsb3N0IGV2ZW50IGlzIHB1c2hlZC4KCjIwMTMtMDktMjAgMTU6MzU6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGNvbmZpZ3VyZSBjbG9jay1yYXRlIG9uIGppdHRlcmJ1ZmZlcgoJICBBZGQgYSBnZXQgYW5kIHNldHRlciB0byBjb25maWd1cmUgdGhlIGNsb2NrLXJhdGUgaW4gdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mCgkgIHBhc3NpbmcgaXQgYXMgYW4gYXJndW1lbnQgdG8gdGhlIGluc2VydCBtZXRob2QuCgoyMDEzLTA5LTIwIDEyOjI5OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgcGFja2V0IGRlbGF5IGFuZCByZXRyYW5zbWlzc2lvbgoKMjAxMy0wOS0yMCAxMjoyNzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkZCBvcHRpb24gdG8gcmVzZXQgcmV0cmFuc21pc3Npb24gdGltZXJzCgoyMDEzLTA5LTIwIDEyOjI1OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc3RvcCB0aGUgdGltZXIgdGhyZWFkCgkgIFRoZSB0aW1lb3V0IGNvZGUgY291bGQgcmVsZWFzZSB0aGUgbG9jayBzbyB3ZSBuZWVkIHRvIGNoZWNrIGlmIHdlIGFyZSBhbGxvd2VkIHRvCgkgIHdhaXQgZm9yIHRoZSBjbG9jayBzb21lIG1vcmUuCgoyMDEzLTA5LTIwIDEyOjI1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdW5sb2NrIG9ubHkgb25jZQoKMjAxMy0wOS0yMCAxMTozMDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogY2hlY2sgYm90aCBQVFMgYW5kIERUUwoKMjAxMy0wOS0yMCAxMDo1NTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHVuaXQtdGVzdCBmb3IgbXVsdGlwbGUgbWlzc2luZyBwYWNrZXRzCgkgIENoZWNrIGlmIG11bHRpcGxlIG1pc3NpbmcgcGFja2V0cyBnZW5lcmF0ZSByZXRyYW5zbWlzc2lvbiBldmVudHMgYW5kIHRoYXQgdGhlCgkgIHJldHJhbm1pc3Npb24gcmVxdWVzdHMgYXJlIGNhbmNlbGVkIHdoZW4gdGhlIG1pc3NpbmcgcGFja2V0IGFycml2ZXMuCgoyMDEzLTA5LTIwIDEwOjUzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBmbHVzaCBhbmQgc2h1dGRvd24KCSAgVGhlcmUgaXMgbm8gbmVlZCB0byB1bnNjaGVkdWxlIHRoZSB0aW1lciBpbiBmbHVzaC1zdGFydCwgZmx1c2gtc3RvcCB3aWxsIHJlbW92ZQoJICB0aGUgdGltZXJzIGFuZCB1bnNjaGVkdWxlLgoJICBVbnNjaGVkdWxlIHRoZSBjdXJyZW50IHRpbWVyIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGpvaW4gdGhlIHRpbWVyIHRocmVhZC4KCjIwMTMtMDktMjAgMTA6NDM6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGltcHJvdmUgZGVidWcKCjIwMTMtMDktMjAgMTA6NDI6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzZXQgY29ycmVjdCBleHBlY3RlZCB0aW1lCgkgIFdoZW4gd2UgYWxyZWFkeSBoYXZlIGEgdGltZXIgZm9yIGEgcGFja2V0LCBza2lwIGl0IGJ1dCBkb24ndCBmb3JnZXQgdG8gYWRqdXN0CgkgIHRoZSBkdHMgdG8gdGhlIGV4cGVjdGVkIGR0cyBvZiB0aGUgbmV4dCBwYWNrZXQuCgoyMDEzLTA5LTIwIDEwOjQxOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wOS0xOSAxNjo1NToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogdXNlIFBPRkZTRVQgaW5zdGVhZCBvZiBPRkZTRVQKCSAgVXNlIHRoZSBtb3JlIGNvcnJlY3QgUE9GRlNFVCBtYWNybyB0byBnZXQgdGhlIG9mZnNldCBvZiBhIGNvbXBvbmVudCBpbiBpdHMKCSAgcGxhbmUuIFRoZSBvZmZzZXQgbWFjcm8gZ2l2ZXMgdGhlIG9mZnNldCBvZiB0aGUgY29tcG9uZW50IHJlbGF0aXZlIHRvIHRoZSBzdGFydAoJICBvZiB0aGUgZnJhbWUuCgoyMDEzLTA5LTIxIDE4OjQ2OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ29vbS9tbXguaDoKCSAgZ29vbTogRml4IE1NWCBhc3NlbWJseSBjb21waWxhdGlvbiB3aXRoIGNsYW5nCgkgIGNsYW5nIGRvZXMgbm90IHdhbnQgb3IgbmVlZCBhIGNsb2JiZXIgbGlzdCBmb3IgZW1tczoKCSAgZXJyb3I6IGNsb2JiZXJzIG11c3QgYmUgbGFzdCBvbiB0aGUgeDg3IHN0YWNrCgkgIFBhdGNoIHRha2VuIGZyb20gdGhlIEZyZWVCU0QgcG9ydHMsIHByb3ZpZGVkIGJ5CgkgIERhbiBNY0dyZWdvciA8ZGFuLm1jZ3JlZ29yQHVzYXNrLmNhPgoKMjAxMy0wOS0yMCAxNjoxNjo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI2MTM2NjEgdG8gNmIwM2JhNwoKMjAxMy0wOS0yMCAxMDoxOToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBNYWtlIHN1cmUgdGhhdCBzdWJ0aXRsZSBidWZmZXJzIGFyZSBcMC10ZXJtaW5hdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5MzMKCjIwMTMtMDktMTcgMTI6MTc6NTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgaXNzdWVzIGNvcnJlY3RseSB3aGVuIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIFRoZSBzdHJlYW1hYmxlIHByb3BlcnR5IG9ubHkgbWFrZSBzZW5zZSBmb3IgZnJhZ21lbnRlZCBmb3JtYXRzLgoJICBGb3IgcmVndWxhciBNUDQsIHdoZW4gZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUgd2UgY2FuJ3QgcmV3cml0ZQoJICB0aGUgaGVhZGVycywgc28gcXRtdXggY2FuIG9ubHkgd29yayB3aXRoIGZhc3Qtc3RhcnQ9VFJVRSwgd2hlcmUKCSAgdGhlIGhlYWRlcnMgYXJlIHdyaXR0ZW4gZmluaXNoaW5nIHRoZSBmaWxlLgoJICBGb3IgZnJhZ21lbnRlZCBNUDQsIHdoZW4gc3RyZWFtYWJsZSBpcyBub3Qgc2Vla2FibGUgYW5kIHRoZSBzdHJlYW1hYmxlCgkgIHByb3BlcnR5IGlzIEZBTFNFLCB3ZSBtdXN0IGVuZm9yY2Ugc3RyZWFtYWJsZT1UUlVFIHdhcm5pbmcgdGhlIHVzZXIKCSAgYWJvdXQgdGhpcyBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI0MgoKMjAxMy0wOS0xNyAxMjowNjowNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1ha2UgInN0cmVhbWFibGUiIFRSVUUgYXMgZGVmYXVsdAoJICBUaGUgbW9zdCBjb21tb24gdXNlIGNhc2UgZm9yIGZyYWdtZW50ZWQgTVA0IChEYXNoIGFuZCBTbW9vdGggU3RyZWFtaW5nKQoJICBpcyBwcm9kdWNpbmcgc3RyZWFtYWJsZSBjb250ZW50IChldmVuIGZvciBWT0QpLiBzdHJlYW1hYmxlPUZBTFNFIHdvdWxkIG9ubHkKCSAgYmUgdXNlZCB0byBnZW5lcmF0ZSBmcmFnbWVudGVkIE1QNCB3aXRoIGFuZCBpbmRleCBvZiBNT09GJ3MgdGhhdCBjb3VsZAoJICBiZSByZXByb2R1Y2VkIHdpdGhvdXQgYSBwbGF5bGlzdC9tYW5pZmVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjQyCgoyMDEzLTA5LTE3IDEyOjAxOjMwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZGVwcmVjYXRlIHRoZSBzdHJlYW1hYmxlIHByb3BlcnR5IGZvciBub24tZnJhZ21lbnRlZCBNUDQKCSAgVGhlIHN0cmVhbWFibGUgcHJvcGVydHkgb25seSBtYWtlcyBzZW5zZSBmb3IgZnJhZ21lbnRlZCBNUDQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyNDIKCjIwMTMtMDktMTkgMTc6MDg6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBSZW1vdmUgY29tbWVudGVkIG91dCBsaW5lCgoyMDEzLTA5LTE5IDE4OjQzOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3NGE2ODU3IHRvIGI2MTM2NjEKCjIwMTMtMDktMTkgMTc6MzU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gNzRhNjg1NwoKMjAxMy0wOS0xOSAxNjo1MDo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogZG9uJ3QgYXNzdW1lIHBsYW5hciBmb3JtYXRzIGhhdmUganVzdCAxIGJsb2NrCgkgIERvbid0IGFzc3VtZSBwbGFuYXIgZm9ybWF0cyBoYXZlIGp1c3Qgb25lIG1lbW9yeSBibG9jayB3aXRoIHRoZSBkYXRhIGJ1dCB1c2UgdGhlCgkgIG1hY3JvcyB0byBhY2Nlc3MgdGhlIHJpZ2h0IG1lbW9yeSBibG9jayB3aGVyZSBhIGNvbXBvbmVudCBjYW4gYmUgZm91bmQuCgoyMDEzLTA5LTE5IDE0OjE0OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhZGQgcmV0cmFuc21pc3Npb24gaml0dGVyYnVmZmVyIHRlc3QKCSAgU3RvcmUgYm90aCBEVFMgYW5kIFBUUyBvbiBidWZmZXJzLgoJICBNYWtlIGEgcXVldWUgZm9yIHNyY3BhZCBldmVudHMuCgkgIEFjdGl2YXRlIHBhZHMgYWZ0ZXIgbGlua2luZyBzbyB0aGF0IHdlIGRvbid0IGdldCBSRUNPTkZJR1VSRSBldmVudHMuCgkgIEFkZCB0ZXN0IGZvciByZXRyYW5zbWlzc2lvbi4KCjIwMTMtMDktMTkgMTQ6MTI6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBrZWVwIGRlbGF5IGFzIGEgc2VwYXJhdGUgdmFyaWFibGUgaW4gdGltZXIKCSAgS2VlcCBhIHNlcGFyYXRlIGRlbGF5IGluIHRoZSB0aW1lciBzbyB0aGF0IHdlIHN0aWxsIGtub3cgdGhlIG9yaWdpbmFsIHRpbWVzdGFtcAoJICBvZiB0aGUgcGFja2V0IHRoYXQgdGhpcyB0aW1lciByZWZlcnMgdG8uIFdlIGNhbiB0aGVuIHBsYWNlIHRoZSBjb3JyZWN0CgkgIHJ1bm5pbmctdGltZSBpbiB0aGUgUmV0cmFuc21pc3Npb24gZXZlbnQuCgoyMDEzLTA5LTE5IDE0OjA4OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IHdyaXRhYmlsaXR5IG9mIHByb3BlcnRpZXMKCjIwMTMtMDktMTkgMTE6MzQ6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjkwID09PQoKMjAxMy0wOS0xOSAxMDo1MDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS45MAoKMjAxMy0wOS0xOSAxMDoyMTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA5LTE5IDA5OjQ1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9jcy5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA5LTExIDE0OjI3OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGRtYWJ1ZiBpcyBub3QgYSBzaW5nbGV0b24gYW55bW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NzkzCgoyMDEzLTA5LTE2IDEzOjUzOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZG8gbm90IGRvIGh0dHAgcmVxdWVzdHMgaW4gUkVBRFkKCSAgSEVBRCByZXF1ZXN0cyB0byBkaXNjb3ZlciBpZiB0aGUgc2VydmVyIGlzIHNlZWthYmxlIHNob3VsZG4ndCBiZSBkb25lIGluCgkgIFJFQURZIGFzIGl0IG1pZ2h0IGxvY2sgdGhlIG1haW4gdGhyZWFkIHRoYXQgaXMgZG9pbmcgdGhlIHN0YXRlIGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM3MQoKMjAxMy0wOS0xOCAxNjozMjoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZXZhbHVhdGUgdGhlIGN1cnJlbnQgdGltZXIgYWZ0ZXIgdGltZW91dAoJICBXaGVuIHdlIHRyaWdnZXIgdGhlIHRpbWVvdXQgbG9naWMgb2YgYSB0aW1lciwgcmVldmFsdWF0ZSBpdCBiZWNhdXNlIGl0IGlzCgkgIHBvc3NpYmxlIHRoYXQgaXQgc3RpbGwgaGFzIHRoZSBsb3dlc3QgdGltZW91dC4KCjIwMTMtMDktMTggMTY6MzE6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCB1cGRhdGUgdGltZSB3aGVuIHVuc2NoZWR1bGVkCgkgIERvbid0IHRyeSB0byBlc3RpbWF0ZSB0aGUgY3VycmVudCB0aW1lIHdoZW4gd2UgZ290IHVuc2NoZWR1bGVkLgoKMjAxMy0wOS0xOCAxNjoyOTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGluaXQgcGFja2V0IHNwYWNpbmcgb24gZmlyc3QgYnVmZmVyCgkgIEFscmVhZHkgaW5pdCB0aGUgcGFja2V0IHNwYWNpbmcgdmFyaWFibGVzIG9uIHRoZSBmaXJzdCBidWZmZXIgc28gdGhhdCB3ZSBjYW4KCSAgY2FsY3VsYXRlIHRoZSBzcGFjaW5nIG9uIHRoZSBzZWNvbmQgYnVmZmVyIGFscmVhZHkuCgoyMDEzLTA5LTE4IDE1OjA4OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBmaXggY29tbWVudHMKCjIwMTMtMDktMTggMTQ6NTc6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBwdXNoIHRoZSBsb3N0IGV2ZW50IGZyb20gdGhlIHRpbWVyIHRocmVhZAoJICBJbnN0ZWFkIG9mIHB1c2hpbmcgdGhlIGxvc3QgZXZlbnQgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24sIHNjaGVkdWxlIGEgdGltZW91dAoJICB0aGF0IHdpbGwgcHVzaCB0aGUgbG9zdCBldmVudCBmcm9tIHRoZSB0aW1lciB0aHJlYWQuIFRoaXMgYXZvaWQgYmxvY2tpbmcgdGhlCgkgIHVwc3RyZWFtIHRocmVhZCB3aGlsZSB3ZSBwdXNoIGFuZCBzeW5jIHRoZSBldmVudC4KCjIwMTMtMDktMTggMTQ6MjM6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgYW5vdGhlciB0ZXN0CgkgIFRoZSB0ZXN0IGlzIG1vZGlmaWVkIHNsaWdodGx5IGJlY2F1c2UgdGhlIGxhdGUgbG9zdCBwYWNrZXRzIGFyZSBvbmx5CgkgIGdlbmVyYXRlZCBub3cgd2hlbiBhIGxhcmdlIGdhcCBpcyByZWNlaXZlZC4KCjIwMTMtMDktMTggMTQ6MTI6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcm91bmQgZ2FwIGR1cmF0aW9uIHRvIG11bHRpcGxlIG9mIGR1cmF0aW9uCgkgIE1ha2Ugc3VyZSB0aGUgZ2FwIGR1cmF0aW9uIGluIHRoZSBsb3N0IGV2ZW50IGlzIGEgbXVsdGlwbGUgb2YgdGhlIHBhY2tldAoJICBkdXJhdGlvbi4KCSAgRW5hYmxlIGFub3RoZXIgdGVzdC4KCjIwMTMtMDktMTggMTI6Mjk6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2YgZHVyYXRpb24KCSAgS2VlcCB0cmFjayBvZiB0aGUgZXN0aW1hdGVkIGR1cmF0aW9uIG9mIG1pc3NpbmcgcGFja2V0cyBhbmQgdXNlIGl0IGluIHRoZSBsb3N0CgkgIGV2ZW50LgoJICBFbmFibGUgYW5vdGhlciB1bml0IHRlc3QKCjIwMTMtMDktMTggMTE6NTk6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaGFuZGxlIGxhcmdlIGdhcHMgd2l0aCBvbmUgbG9zdCBldmVudAoJICBXaGVuIHdlIGhhdmUgYSBsYXJnZSBudW1iZXIgb2YgbWlzc2luZyBwYWNrZXRzLCBnZW5lcmF0ZSBvbmUgbG9zdCBldmVudCBmb3IgYWxsCgkgIHRoZSBwYWNrZXRzIHRoYXQgaGF2ZSBubyBjaGFuY2Ugb2YgYmVpbmcgcHVzaGVkIG91dCBpbiB0aW1lLgoJICBGaXggYW5kIGFjdGl2YXRlIHVuaXQgdGVzdCBmb3IgbGFyZ2UgZ2Fwcy4KCjIwMTMtMDktMTggMTE6NTY6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWZhY3RvciBsb3N0IGV2ZW50IHNlbmRpbmcKCSAgQWxzbyBtYWtlIHN1cmUgd2Ugb25seSBpbmNyZW1lbnQgdGhlIGV4cGVjdGVkIHNlcW51bSBhbmQgbGFzdAoJICBvdXRwdXQgdGltZXN0YW1wLgoKMjAxMy0wOS0xNyAyMzoyMTowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIHRpbWVvdXQgdHJpZ2dlcnMKCjIwMTMtMDktMTcgMjM6MDM6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzaW1wbGlmeSB0aGUgdGltZW91dCBjb2RlCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgdGltZSBpbiB0aGUgdGltZW91dCBsb29wLgoJICBMb29wIG92ZXIgYWxsIHRpbWVycyBhbmQgdHJpZ2dlciBhbGwgdGhlIGV4cGlyZWQgb25lcywgd2UgY2FuIGRvIHRoaXMgaW4gdGhlCgkgIHNhbWUgbG9vcCB0aGF0IHNlbGVjdHMgdGhlIG5ldyBiZXN0IHRpbWVyLgoKMjAxMy0wOS0xNyAyMzowMToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlYXJyYW5nZSB0aW1lciB1cGRhdGUgY29kZQoJICBBbHNvIHVwZGF0ZSB0aGUgdGltZXJzIHdoZW4gcmV0cmFuc21pc3Npb24gaXMgZGlzYWJsZWQuIFdlIG5lZWQgdG8KCSAgZG8gdGhpcyBiZWNhdXNlIHdoZW4gd2UgYWRkZWQgTE9TVCB0aW1lcnMgd2hlbiB3ZSBkZXRlY3RlZCBtaXNzaW5nIHBhY2tldHMgYW5kCgkgIHdlIG5lZWQgdG8gcmVtb3ZlIHRob3NlIHRpbWVycyB3aGVuIHRoZSBwYWNrZXQgZmluYWxseSBhcnJpdmVzLgoKMjAxMy0wOS0xNyAyMjowMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICB2aWRlb21peGVyOiBsaW5rIHRvIGxpYm0gZm9yIG1hdGhzIHN0dWZmCgkgIEZpeGVzIHVuZGVmaW5lZCByZWZlcmVuY2VzIHRvIHJpbnQgYW5kIHBvdyBvbiB1YnVudHUKCSAgYnVpbGQgYm90LgoKMjAxMy0wOS0xNyAxNToxOTo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBvbiBzaHV0ZG93bgoKMjAxMy0wOS0xNyAxNToxMTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogY2hhbmdlIGZvciB2aWRlb21peGVyIHJlbmFtZWQgb3JjIGZpbGUKCjIwMTMtMDktMTQgMTY6MDM6MjAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgTUFYX1RPTEVSQVRFRF9MQVRFTkVTUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NDExCgoyMDEzLTA5LTE2IDE1OjU0OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LXJ0eC5zaDoKCSAgZXhhbXBsZXM6IHdlIGRvbid0IG5lZWQgdGhlIHF1ZXVlIGFueW1vcmUKCjIwMTMtMDktMTYgMTU6NTM6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1c2Ugc2VwYXJhdGUgdGhyZWFkIGZvciB0aW1lb3V0cwoJICBVc2UgYSBzZXBhcmF0ZSB0aHJlYWQgZm9yIHNjaGVkdWxpbmcgdGhlIHRpbWVvdXRzIGluc3RlYWQgb2YgdXNpbmcgdGhlCgkgIGRvd25zdHJlYW0gc3RyZWFtaW5nIHRocmVhZCB0aGF0IG1pZ2h0IGJsb2NrIGF0IGFueSB0aW1lLgoKMjAxMy0wOS0xNCAxNTo1NjowNCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBmaXJzdF90cyB0byBEVFMgZm9yIHN0cmVhbXMgdGhhdCBoYXZlIERUUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzQwCgoyMDEzLTA5LTE0IDE1OjU1OjIyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWFrZSBzdXJlIGR1cmF0aW9uIGlzIGEgdmFsaWQgbnVtYmVyIGZvciBsYXN0IGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzQwCgoyMDEzLTA5LTE0IDE1OjU0OjI5ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHNlZ21lbnQuc3RhcnQgb3IgbGFzdCBidWZmZXIgZW5kIHRpbWUgaW4gY2FzZSBvZiBtaXNzaW5nIERUUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzQwCgoyMDEzLTA5LTAzIDE4OjE0OjA0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBSZXZlcnQgcXRtdXg6IFVzZSBidWZmZXIgUFRTIGlmIERUUyBpcyBub3Qgc2V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGY3MmMzY2Y3MWZkZTYyMjA2N2Y0MWYzMWE1Mzk3OGJhNGM5NDQ2OWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczNDAKCjIwMTMtMDktMTYgMTE6MDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogVXBkYXRlIG9yYyBnZW5lcmF0ZWQgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODEzMQoKMjAxMy0wOS0xMyAxNjoyNTo0OSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IERlbXV4IFJUQ1AgYnVmZmVycyBmcm9tIHRoZSBSVFAgc3RyZWFtCgkgIElmIHRoZXJlIGFyZSBSVENQIGJ1ZmZlcnMgaW4gdGhlIFJUUCBzdHJlYW0sIHByb2Nlc3MgdGhlbSBhcwoJICBSVENQLiBUaGlzIHdheSwgd2Ugd2FudCByZWNlaXZlIHN0cmVhbXMgZm9sbG93aW5nIFJGQyA1NzYxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc2NTcKCjIwMTMtMDktMTMgMjM6MjY6MjEgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSAgcnRwOiBSZW1vdmUgYm9ndXMgZXh0cmEgY2FwcyBmcm9tIEwyNCB0ZW1wbGF0ZS4KCSAgVGhlIGV4dHJhIGNhcHMgZW50cnkgaW4gdGhlIHRlbXBsYXRlIHdhcyBtYWtpbmcgaXQgc29tZXRpbWVzCgkgIGdldCBwbHVnZ2VkIGZvciBhbnkgZHluYW1pY2FsbHkgYWxsb2NhdGVkIHBheWxvYWQgdHlwZS4KCjIwMTMtMDktMTMgMTI6NDA6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiB1c2UgUGFja2V0SW5mbyBmb3IgdGhlIHNlbmRlcgoJICBBdm9pZCBtYXBwaW5nIHRoZSBwYWNrZXQgbXVsdGlwbGUgdGltZXMgd2hlbiBzZW5kaW5nIFJUUC4KCjIwMTMtMDktMTMgMTI6MjI6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiBzdG9yZSBtb3JlIGluIHRoZSBQYWNrZXRJbmZvCgkgIFN0b3JlIGFsbCBpbmZvIGluIHRoZSBQYWNrZXRJbmZvIHNvIHRoYXQgd2UgY2FuIGF2b2lkIG1hcHBpbmcgdGhlIHBhY2tldAoJICBtdWx0aXBsZSB0aW1lcy4KCjIwMTMtMDktMTMgMTE6MzI6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHNlc3Npb246IHN0b3JlIG1vcmUgaW4gdGhlIFBhY2tldEluZm8gc3RydWN0dXJlCgoyMDEzLTA5LTEzIDExOjA4OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogUlRQQXJyaXZhbFN0YXRzIC0+IFJUUFBhY2tldEluZm8KCSAgUmVuYW1lIGEgc3RydWN0dXJlIGJlY2F1c2Ugd2UgYXJlIGFsc28gZ29pbmcgdG8gdXNlIHRoaXMgZm9yIHRoZSBzZW5kZXIKCSAgYml0cy4KCjIwMTMtMDktMTMgMTA6NTU6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNvdXJjZTogc21hbGwgY2xlYW51cHMKCjIwMTMtMDktMTIgMTM6MzE6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHVwZGF0ZSBzdG9wIHBvc2l0aW9uIGlmIHNlZWsgcmVxdWVzdHMgaXQKCSAgQ2hlY2sgZm9yIEdTVF9TRUVLX1RZUEVfTk9ORSBmb3Igc3RvcCBwb2lzdGlvbiBhbmQgb25seSB1cGRhdGUKCSAgdGhlIHN0b3AgdGltZSBpZiBpdCBpcyByZXF1ZXN0ZWQuIE90aGVyd2lzZSBqdXN0IG1haW50YWluIHdoYXRldmVyCgkgIHdhcyBzdG9yZWQgYXQgdGhlIHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzUzMAoKMjAxMy0wOS0xMyAwODo1MzoyNSArMDIwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBBZGQgbWlzc2luZyBoZWFkZXJzIHRwIGZpeCBtYWtlIGRpc3QKCSAgSW4gYWRkaXRpb24gdG8gYTk1NmE2Y2ViMmRlYjg3Y2MxMzYxYWVlMWQ2NjI2NDQ5ZjQ2ZGFiMgoKMjAxMy0wOS0xMiAxNTowNzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBNYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byByZWFkIGltYWdlIHRhZ3MKCSAgVGhhbmtzIHRvIGlwdXRpbmVpIGZvciByZXBvcnRpbmcgdGhpcyBvbiBJUkMuCgoyMDEzLTA5LTEyIDE1OjAxOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaGFuZGxlIHNlZ21lbnRzIHdpdGggbm9uLTAgc3RhcnQKCSAgV2Uga2VlcCB0aGUgRFRTIGFuZCBQVFMgaW4gcnVubmluZy10aW1lIGluc2lkZSB0aGUgaml0dGVyYnVmZmVyLiBNYWtlIHN1cmUgdG8KCSAgdHJhbnNmb3JtIGl0IGJhY2sgdG8gYSBidWZmZXIgdGltZXN0YW1wIGJlZm9yZSBwdXNoaW5nIG91dCB0aGUgYnVmZmVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMxCgoyMDEzLTA5LTExIDEzOjExOjU4IC0wNjAwICBTZcOhbiBkZSBCw7pyY2EgPGxlZnRtb3N0Y2F0QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggb2ZmLWJ5LW9uZSBpbiB2YWxpZGF0aW9uIG9mIFVURi04CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5MzMKCjIwMTMtMDktMTEgMTQ6MzI6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvIG5vdCBjaGVjayBpZiBjYXBzIGFyZSBlbXB0eSB3aGVuIHRoZXkgYXJlIE5VTEwKCSAgSW4gdGhlIGNhc2UgdGhlIGNhcHMgYXJlIGFjdHVhbGx5IE5VTEwsIHdlIHNob3VsZCBqdXN0IGNvbmNpZGVyIGl0IHRoZQoJICBzYW1lIHdheSBhcyBlbXB0eSBjYXBzIGluIHRoYXQgY2FzZS4KCjIwMTMtMDktMTAgMTY6NDQ6NTMgLTA2MDAgIFNlw6FuIGRlIELDunJjYSA8bGVmdG1vc3RjYXRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogZml4IGJ1aWxkIGlmIG9yYyBpcyBub3QgaW5zdGFsbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc4ODYKCjIwMTMtMDktMTAgMTc6NTc6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQcmVzZXJ2ZSBzZXFudW0gd2hlbiBwdXNoaW5nIHNlZWsgdXBzdHJlYW0KCSAgQWZ0ZXIgY29udmVydGluZyBhIHNlZWsgZnJvbSB0aW1lIHRvIGJ5dGVzLCB1c2UgdGhlIHNhbWUgc2VxbnVtCgkgIG9uIHRoZSBldmVudCB0aGF0IGdvZXMgdXBzdHJlYW0KCjIwMTMtMDktMDUgMDA6MTc6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0cmFjayBzdHJlYW1zIHRoYXQgYXJlIEVPUyBvbiBwdXNoIG1vZGUgdG8gZmluaXNoIGVhcmxpZXIKCSAgV2hlbiB0aGUgc2VnbWVudCBoYXMgYSBkZWZpbmVkIHN0b3AgcG9zaXRpb24sIHF0ZGVtdXggc2hvdWxkIGNoZWNrCgkgIHdoZW4gc3RyZWFtcyByZWFjaCB0aGlzIHBvc2l0aW9uIGFuZCBtYXJrIHRob3NlIGFzIEVPUy4gV2hlbiBhbGwKCSAgc3RyZWFtcyBhcmUgRU9TIGl0IHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VPUyB0byB1cHN0cmVhbSB0byBhbGxvdwoJICB0aGUgcGlwZWxpbmUgdG8gZmluaXNoIGluc3RlYWQgb2YgY29udGludW91c2x5IGNvbnN1bWUgYnVmZmVycwoJICBmcm9tIHVwc3RyZWFtIHRoYXQgYXJlIG5vdCB1c2VmdWwgZm9yIHRoZSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTMwCgoyMDEzLTA5LTA0IDE1OjM0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHByZXNlcnZlIHN0b3Agb2Ygc2VnbWVudCB3aGVuIGRvaW5nIHNlZWtzIGluIHB1c2ggbW9kZQoJICBXaGVuIGhhbmRsaW5nIHNlZWtzIGluIHB1c2ggbW9kZSwgcXRkZW11eCBjb252ZXJ0cyB0aGUgc2VlayB0byBieXRlcwoJICBhbmQgcHVzaGVzIHVwc3RyZWFtLiBJdCBuZWVkcyB0byBrZWVwIHRyYWNrIG9mIHRoZSBzZWVrIGFuZCB0aGUKCSAgc3Vic2VxdWVudCBzZWdtZW50IHRvIGJlIGFibGUgdG8gbWFwIHRoZW0gYmFjayB0byB0aGUgcmVxdWVzdGVkCgkgIHNlZWsgdGltZSBhbmQgcHJvcGVybHkgcHJlc2VydmUgdGhlIHNlZ21lbnQgc3RvcCBvZiB0aGUgc2Vlay4KCSAgVGhpcyBpcyBkb25lIGJ5IHVzaW5nIHRoZSBzdGFydCBvZmZzZXQgaW4gYnl0ZXMgb2YgdGhlIHNlZWssCgkgIHRoYXQgc2hvdWxkIGJlIHRoZSBzYW1lIG9mIHRoZSBzZWdtZW50IGZyb20gdXBzdHJlYW0uIEFuZCB0aGlzCgkgIGlzIGFsc28gYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCB3aGF0IHF0ZGVtdXggYWxyZWFkeSB3YXMgdXNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1MzAKCjIwMTMtMDctMjYgMTk6NDA6NTMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk1MAoKMjAxMy0wOC0wNiAxNTozODozOSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3Qgc2VuZCByZWNvbmZpZ3VyZSBldmVudCB3aGVuIGZvcm1hdHMgb3IgUEFSIGFyZSBkaWZmZXJlbnQKCSAgSXQgaXMgcmFjeSB3aXRoIG11bHRpcGxlIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTAKCjIwMTMtMDctMjUgMTM6NDk6NTcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogQnVuZGxlIHByaXZhdGUgY29waWVzIG9mIHZpZGVvY29udmVydCBjb2RlCgkgIElkZWFsbHksIHRoaXMgd291bGQgYmUgcGFydCBvZiBsaWJnc3R2aWRlby4KCSAgUHJlZml4ZXMgdmlkZW9jb252ZXJ0IHN5bWJvbHMgd2l0aCB2aWRlb21peGVyXy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk1MAoKMjAxMy0wOC0yMiAwMDowMzo0OCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogVXNlIG5ld2x5ICNkZWZpbmVkIG1ldGFkYXRhIG5hbWVzLgoKMjAxMy0wOS0wOSAxNToxMTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb25seSB3YWl0IGlmIHdlIGZsdXNoZWQKCSAgT25seSB3YWl0IGZvciB0aGUgU1RSRUFNX0xPQ0sgd2hlbiB3ZSBmbHVzaGVkIHNvbWV0aGluZyB3aGVuIHNlbmRpbmcKCSAgYSBjb21tYW5kIGZvciBQQVVTRUQgb3IgUExBWUlORy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzYxMQoKMjAxMy0wOS0wOSAxNTowOTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmV0dXJuIHdoZW4gYSBmbHVzaCB3YXMgaXNzdWVkCgkgIE1ha2UgZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCgpIHJldHVybiBUUlVFIHdoZW4gdGhlIGN1cnJlbnQKCSAgYWN0aW9uIGhhcyBiZWVuIGZsdXNoZWQKCjIwMTMtMDktMDkgMTE6MTY6NDAgKzAyMDAgIERhdmlkIEhvbHJveWQgPGRhdmVAYmFkZ2Vycy1pbi1mb2lsLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cDogYWRkIEwyNCBwYXkgYW5kIGRlcGF5bG9hZGVyCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc3MzQKCjIwMTMtMDktMDkgMTQ6NDY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBGaXggbWlzc2luZyBjb25kaXRpb24gaW4gcHJldmlvdXMgY29tbWl0CgoyMDEzLTA5LTA5IDE0OjQ0OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWxzbyBmaXggc3RyaWRlcyBmb3Igb3RoZXIgc2VtaS1wbGFuYXIgdmlkZW8gZm9ybWF0cwoKMjAxMy0wOS0wOSAxNDo0MTo0MiArMDIwMCAgQW5kcmVlYSBGdWxnZXIgPGFuZHJlZWEuZnVsZ2VyQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IHN0cmlkZSBmb3IgTlYxMi9OVjIxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc3NTgKCjIwMTMtMDktMDcgMTY6Mzc6MDMgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGxlYWtpbmcgYnVmZmVyIGFuZCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2ODgKCjIwMTMtMDktMDUgMTk6NDY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBidWlsZCBvbiB3aW4zMgoJICBnc3R1ZHBzcmMuYzo4NTU6MTU6IGVycm9yOiAjaWYgd2l0aCBubyBleHByZXNzaW9uCgoyMDEzLTA5LTA0IDE1OjUwOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaGFuZGxlIHVuc2Vla2FibGUgc3RyZWFtcwoJICBIYW5kbGUgc3RyZWFtcyB0aGF0IHdlIGNhbid0IHNlZWsgaW4gYW5kIGlnbm9yZSB0aGVtIGluIHRoZQoJICBzZWVrIGxvZ2ljLgoKMjAxMy0wOS0wNCAxNToyNTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG9ubHkgY2hlY2sgdmlkZW8gY29tcHJlc3Npb24gZm9yIHZpZGVvIHN0cmVhbXMKCSAgT3IgZWxzZSB3ZSBtaWdodCBkZXJlZiBhIHN0cmVhbSB3aXRoIGEgTlVMTCBzdHJmLnZpZHMgYW5kIHNlZ2ZhdWx0CgoyMDEzLTA2LTE4IDEzOjI3OjIwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciB0aGUgYXZjMyBzYW1wbGUgZW50cnkgZm9ybWF0IG9mIHRoZSBBVkMgZmlsZSBmb3JtYXQKCSAgQW1lbmRtZW50IDIgb2YgSVNPL0lFQyAxNDQ5Ni0xNSAoQVZDIGZpbGUgZm9ybWF0KSBpcyBkZWZpbmluZyBhIG5ldwoJICBzdHJ1Y3R1cmUgZm9yIGZyYWdtZW50ZWQgTVA0IGNhbGxlZCAiYXZjMyIuIFRoZSBwcmluY2lwYWwgZGlmZmVyZW5jZQoJICBiZXR3ZWVuIEFWQzEgYW5kIEFWQzMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBjb2RlYyBpbml0aWFsaXNhdGlvbgoJICBkYXRhIChlLmcuIFNQUywgUFBTKS4gSW4gQVZDMSB0aGlzIGRhdGEgaXMgcGxhY2VkIGluIHRoZSBpbml0aWFsCgkgIE1PT1YgYm94IChtb292LnRyYWsubWRpYS5taW5mLnN0Ymwuc3RzZC5hdmMxKSBidXQgaW4gQVZDMyB0aGlzIGRhdGEKCSAgZ29lcyBpbiB0aGUgZmlyc3Qgc2FtcGxlIG9mIGV2ZXJ5IGZyYWdtZW50IChpLmUuIHRoZSBmaXJzdCBzYW1wbGUgaW4KCSAgZWFjaCBtZGF0IGJveCkuICBUaGUgcHJpbmNpcGFsIHJlYXNvbiBmb3IgYXZjMyBpcyB0byBtYWtlIGl0IGVhc2llcgoJICBmb3IgY2xpZW50IGltcGxlbWVudGF0aW9ucywgYmVjYXVzZSBpdCByZW1vdmVzIHRoZSByZXF1aXJlbWVudCB0bwoJICBpbnNlcnQgdGhlIFNQUytQUFMgaW4gdG8gdGhlIGRlY29kZXIgcGlwZWxpbmUgZXZlcnkgdGltZSB0aGVyZSBpcyBhCgkgIHJlcHJlc2VudGF0aW9uIGNoYW5nZS4KCSAgVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IGZvciB0aGUgImF2YzMiIGF0b20sIHdoaWNoIGlzIGFsbW9zdCBpZGVudGljYWwKCSAgdG8gdGhlICJhdmMxIiBhdG9tLCBleGNlcHQgaXQgZG9lcyBub3QgY29udGFpbiBhbnkgU1BTIG9yIFBQUyBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDA0CgoyMDEzLTA5LTA0IDAwOjI3OjUwICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBzZXQgRU9TIHRvIEZBTFNFIHdoZW4gdGhlIGNvbGxlY3RwYWQgKmlzKiBFT1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIzOAoKMjAxMy0wOS0wMyAxNzozMjo0MSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogY2xlYW51cCBvbiBlcnJvciBhZnRlciBzdGF0ZSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIyOQoKMjAxMy0wOS0wMyAxMToyMzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBCaW5kIHRvIG11bHRpY2FzdCBhZGRyZXNzZXMgb24gbm9uLVdpbmRvd3Mgc3lzdGVtcwoJICBPbiBXaW5kb3dzIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGJpbmQgdG8gYSBtdWx0aWNhc3QgYWRkcmVzcwoJICBidXQgdGhlIE9TIHdpbGwgbWFrZSBzdXJlIHRvIGZpbHRlciBvdXQgYWxsIHBhY2tldHMgdGhhdAoJICBhcnJpdmUgbm90IGZvciB0aGUgbXVsdGljYXN0IGFkZHJlc3MgdGhlIHNvY2tldCBqb2luZWQuCgkgIE9uIExpbnV4IGFuZCBvdGhlcnMgaXQgaXMgbmVjZXNzYXJ5IHRvIGJpbmQgdG8gYSBtdWx0aWNhc3QKCSAgYWRkcmVzcyB0byBsZXQgdGhlIE9TIGZpbHRlciBvdXQgYWxsIHBhY2tldHMgdGhhdCBhcmUgcmVjZWl2ZWQKCSAgb24gdGhlIHNhbWUgcG9ydCBidXQgZm9yIGRpZmZlcmVudCBhZGRyZXNzZXMgdGhhbiB0aGUgbXVsdGljYXN0CgkgIGFkZHJlc3MKCSAgQW5kIGRlcHJlY2F0ZSB0aGUgbXVsdGljYXN0LWdyb3VwIHByb3BlcnR5IGFuZCByZXBsYWNlIGl0IHdpdGggdGhlCgkgIGFkZHJlc3MgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcwNDIKCjIwMTMtMDktMDMgMTA6MTA6MDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZyZWUgR3N0QmFzZVBhcnNlRnJhbWUgaWYgcHVzaGluZyBhIGhlYWRlciBmYWlsZWQKCjIwMTMtMDktMDIgMTY6MDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogUmVmYWN0b3IgYWRkcmVzcyByZXNvbHZhbCBpbnRvIGl0cyBvd24gZnVuY3Rpb24KCjIwMTMtMDktMDIgMjM6MDA6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJlcGxheWdhaW46IGZpeCB0YWdsaXN0IGxlYWsgaW4gcmdhbmFseXNpcwoJICBBbmQgYWRkIHNvbWUgRklYTUVzLgoKMjAxMy0wOS0wMiAyMjo1MDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IHJnYW5hbHlzaXM6IHJlbmFtZSBmdW5jdGlvbiBmb3IgY2xhcml0eQoKMjAxMy0wMy0xOCAxNDozMjowNyArMDEwMCAgQ2hyaXN0b3BoIFJlaXRlciA8cmVpdGVyLmNocmlzdG9waEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBmaXggc2tpcHBlZCByZ2FuYWx5c2lzIHRlc3RzCgkgIEluIDAuMTAgZWxlbWVudHMgd291bGQgcG9zdCB0YWcgbWVzc2FnZXMgb24gdGhlIGJ1cwoJICBkaXJlY3RseSwgYW5kIHJnYW5hbHlzaXMgd291bGQgb25seSBwb3N0IGEgdGFnIG1lc3NhZ2UKCSAgd2hlbiBpdCBjaGFuZ2VkIHRhZ3MuIEluIDEuMCwgb25seSBzaW5rcyBwb3N0IHRhZwoJICBtZXNzYWdlcyB3aGVuIHRoZXkgcmVjZWl2ZSB0aGUgc2VyaWFsaXNlZCB0YWcgZXZlbnQuCgkgIFRoaXMgbWVhbnMgdGhhdCB3ZSBnZXQgYW4gYWRkaXRpb25hbCB0YWcgbWVzc2FnZSBvbgoJICB0aGUgYnVzIG5vdyB3aGVyZSB3ZSBkaWRuJ3QgZXhwZWN0IG9uZSBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTUwOTAKCjIwMTMtMDktMDIgMTE6NDY6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUHJvcGVybHkgcHJvcGFnYXRlIGRvd25zdHJlYW0gZmxvdyByZXR1cm5zIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyMjkKCjIwMTMtMDktMDEgMjE6MTg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICBEb24ndCB1c2Ugc2V0bG9jYWxlIGluIHBsdWdpbnMoKQoJICBPbmx5IGFwcHMgc2hvdWxkIGNhbGwgc2V0bG9jYWxlKCksIG5vdCBsaWJyYXJpZXMuCgoyMDEzLTA4LTI5IDEzOjE1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBGaXggUlRQIGJ1ZmZlciBhbGxvY2F0aW9uIGluIHJ0cG1wdnBheQoJICBSVFAgYnVmZmVyIGFsbG9jYXRpb24gc2hvdWxkIG5vdCBiZSBkb25lIHdpdGggcGFkZGluZyBmb3IgdGhlIHNwZWNpZmljIE1QRUcyCgkgIGhlYWRlciBhcyB0aGUgcGFkZGluZyBpcyBkb25lIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciBhbmQgdGhlIGxhc3QgYnl0ZSBpcwoJICB0aGUgc2l6ZSBvZiB0aGUgcGFkZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjk3MAoKMjAxMy0wOC0yOCAxMDo1MTozMiArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICBhdXRvdmlkZW9zaW5rOiBhZGQgc3luYyBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2OTU1CgoyMDEzLTA4LTI4IDA3OjE1OjAwICswMjAwICBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkgIGF1dG9hdWRpb3Npbms6IGludHJvZHVjZSBzeW5jIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY5NTUKCjIwMTMtMDgtMjcgMTc6MzM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIGJ1ZmZlcnMgYWZ0ZXIgc2VnbWVudCBzdG9wIHVudGlsIHJlYWNoaW5nIGEga2V5ZnJhbWUKCSAgVGhpcyBzaG91bGQgbWFrZSBkZWNvZGVycyBhYmxlIHRvIHByZWNpc2VseSBwdXNoIGJ1ZmZlcnMgdW50aWwgdGhlIHN0b3AKCSAgdGltZSBpbiBjYXNlIHRoZXkgbmVlZCB0aGUgbmV4dCBrZXlmcmFtZSB0byBkbyBpdC4KCSAgQWxzbywgYWNjb3JkaW5nIHRvIGdzdF9zZWdtZW50X2NsaXAsIGl0IHNob3VsZCBvbmx5IHB1c2ggYSBidWZmZXIgdGhhdAoJICB0aGUgc3RhcnRpbmcgdHMgaXMgc3RyaWN0bHkgc21hbGxlciB0aGFuIHRoZSBzZWdtZW50IHN0b3AsIHNvIHdlIGNoYW5nZQoJICB0aGUgbWluIDwgY29tcGFyaXNvbiBmb3IgPD0KCjIwMTMtMDgtMjggMTM6MjY6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjQgPT09CgoyMDEzLTA4LTI4IDEyOjUyOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS40CgoyMDEzLTA4LTI4IDEyOjUyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDgtMjggMTI6MzI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL3B0X0JSLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOC0yNyAxNToyNToxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiByZW1vdmUgZnJhbWVyYXRlIHJlc3RyaWN0aW9uCgkgIFJlbW92ZSB0aGUgZnJhbWVyYXRlIHJlc3RyaWN0aW9uIG9uIHRoZSBjYXBzLgoKMjAxMy0wOC0yNyAwOTozODoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogb25seSB1cGRhdGUgbmV4dCBjaGVjayB0aW1lIHdoZW4gcmVjb25zaWRlcmluZwoJICBEb24ndCB1cGRhdGUgdGhlIG5leHQgUlRDUCBjaGVjayB0aW1lIGluIGFsbCBjYXNlcyBidXQgb25seSB3aGVuIHdlCgkgIHJlY29uc2lkZXJlZC4gVGhpcyBhdm9pZHMgZGVsYXlpbmcgc2VuZGluZyBhIGZ1bGwgUlRDUCBwYWNrZXQgd2hlbiB3ZQoJICBhcmUgZG9pbmcgZWFybHkgZmVlZGJhY2suCgoyMDEzLTA4LTI3IDA5OjM3OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0yNyAwOTozNDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHR5cGVzIG9mIHRoZSByZXRyYW5zbWlzc2lvbiBldmVudAoKMjAxMy0wOC0yNyAwOTozMzowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG9ubHkgdGltZW91dCBFWFBFQ1RFRCB0aW1lcnMgb24gZ2FwCgkgIE9ubHkgdGltZW91dCB0aGUgRVhQRUNURUQgdGltZXJzIHdoZW4gd2UgZGV0ZWN0IGEgbGFyZ2Ugc2VxbnVtIGdhcC4KCjIwMTMtMDgtMjYgMTM6NDc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBzZXQgQloyX0xJQlMgaWYgYnoyIGlzIG5vdCBmb3VuZAoKMjAxMy0wOC0yNiAxMTo1MDoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRzZXNzaW9uOiBmaXggbG9ja2luZwoJICBXZSBuZWVkIHRvIHRha2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGdldHRpbmcgYW5kIG1hbmlwdWxhdGluZyB0aGUKCSAgc291cmNlLgoKMjAxMy0wOC0yNiAxMTo1MDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIHNvbWUgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0yMCAyMjoxMjowMyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZG9uJ3Qgc2VuZCBmbHVzaF9zdG9wIHR3aWNlLgoJICBJZiB3ZSBnZXQgZmx1c2ggc3RhcnQgYW5kIGEgc2VlayB3ZSBuZWVkIHRvIG9ubHkgc2VuZCBmbHVzaF9zdG9wIG9uY2UuCgkgIE1vcmUgaW5mbyBhdCAjNzA2NDQxCgoyMDEzLTA4LTIzIDE1OjU2OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBwcm9wYWdhdGUgZGlzY29udAoKMjAxMy0wOC0yMyAxNTo0OTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHJlbW92ZSBkeW5hbWljIHNvdXJjcGFkcyB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZCgoyMDEzLTA4LTIzIDE1OjI5OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiB0aW1lc3RhbXAgb3V0cHV0IGJ1ZmZlcnMgYmFzZWQgb24gZmlyc3QgaW5wdXQgYnVmZmVyIHRoYXQgcHJvdmlkZWQgYnl0ZXMgbm90IGxhc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzc1NAoKMjAxMy0wOC0yMyAxNTo0NzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eHF1ZXVlOiBhZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHF1ZXVlIHNpemUKCjIwMTMtMDgtMjMgMTI6MDc6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtcnR4LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjY0LXJ0eC5zaDoKCSAgdGVzdHM6IGFkZCByZXRyYW5zbWlzc2lvbiBleGFtcGxlCgoyMDEzLTA4LTIzIDExOjU1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHByb3h5IGppdHRlcmJ1ZmZlciBkby1yZXRyYW5zbWlzc2lvbiBwcm9wZXJ0eQoKMjAxMy0wOC0yMyAxMToxNzo0NSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVubWFwIHRoZSBjb3JyZWN0IGJ1ZmZlcgoJICBUaGUgYXVkaW8gYnVmZmVyIHdhcyBtYXBwZWQgc28gdW5tYXAgaXQgYW5kIG5vdCB0aGUgdmlkZW8gYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY2NDIKCjIwMTMtMDgtMTggMjM6MzI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBBZGQgcHJvcGVydHkgdG8gZmluZCBvdXQgdGhlIGRldmljZSBjdXJyZW50bHkgaW4gdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjM6MzE6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRGUtZHVwbGljYXRlIGNvZGUgdG8gZ2V0IHRoZSBjdXJyZW50IHNpbmsgaW5wdXQgaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIyOjI3OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEltcGxlbWVudCBjaGFuZ2luZyB0aGUgZGV2aWNlIHdoaWxlIHBsYXlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMzozMjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IEFkZCBwcm9wZXJ0eSB0byBmaW5kIG91dCB0aGUgZGV2aWNlIGN1cnJlbnRseSBpbiB1c2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMzozMToxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRGUtZHVwbGljYXRlIGNvZGUgdG8gZ2V0IHRoZSBjdXJyZW50IHNvdXJjZSBvdXRwdXQgaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIyOjI3OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBJbXBsZW1lbnQgY2hhbmdpbmcgdGhlIGRldmljZSB3aGlsZSBwbGF5aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMjIgMTQ6NTU6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggYnoyIGNvbmZpZ3VyZSBjaGVjayBmb3IgV2luZG93cwoJICBEdWUgdG8gZnVuY3Rpb24gZGVjb3JhdGlvbnMgb24gV2luZG93cyBBQ19DSEVDS19MSUIgY2FuJ3QgYmUgdXNlZCB0byBjaGVjayBmb3IgYnoyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1OTI0CgoyMDEzLTAyLTIyIDIwOjU3OjAwICswOTAwICBBa2loaXJvIFRzdWthZGEgPGF0c3VrYWRhQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VzaW5rOiBBZGQgc3VwcG9ydCBmb3IgQUFDIHBhc3MtdGhyb3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0NDQ1CgoyMDEzLTA2LTI0IDE3OjI5OjM3ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogY3Jhc2hlcyBpZiBhbnkgcHJvcGVydHkgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2sgd2hlbiBsb2NhdGlvbiBwcm9wZXJ0eSBpcyBub3Qgc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI5ODgKCjIwMTMtMDgtMjEgMTQ6NTQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IFNoYXJlIHN0YXRpYyBjYXBzIGRlZmluaXRpb24gYmV0d2VlbiBzcmMgYW5kIHNpbmsKCSAgVGhlIHNyYyB3YXMgYWxzbyBtaXNzaW5nIDI0LWJpdCBzYW1wbGUgZm9ybWF0cwoKMjAxMy0wOC0yMSAxNjo1Mzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eDogdmFyaW91cyBpbXByb3ZlbWVudHMKCSAgVXNlIGxvY2tpbmcKCSAgRG9uJ3QgcHVzaCBmcm9tIHRoZSBldmVudCBoYW5kbGVyLCBjb2xsZWN0ZWQgcGFja2V0cyBpbiBhIHF1ZXVlIGFuZCBwdXNoIGZyb20KCSAgdGhlIGNoYWluIGZ1bmN0aW9uLgoJICBDbGVhciBxdWV1ZXMgb24gc2h1dGRvd24uCgoyMDEzLTA4LTIxIDE2OjUwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnZW5lcmF0ZSBldmVudHMgY29ycmVjdGx5CgkgIERvIGNvcnJlY3Qgc2hpZnRpbmcgb2YgdGhlIGJpdG1hc2sgZm9yIGxvc3QgcGFja2V0cy4KCjIwMTMtMDgtMjEgMTY6NDc6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgIHJ0cDogcmVnaXN0ZXIgcnR4IGVsZW1lbnQgYmV0dGVyCgoyMDEzLTA4LTIxIDE2OjMyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogV0FWRUZPUk1BVEVYIGlzIHVuc2lnbmVkIGZvciA4IGJpdCBpbnRlZ2VycywgYW5kIHNpZ25lZCBmb3Igb3RoZXJzCgkgIFByb2JhYmx5IGZpeGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NzcKCjIwMTMtMDgtMjEgMTM6MDM6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGRvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgZnJvbSBfZmluaXNoX2ZyYW1lKCkKCSAgZ3N0X3ZpZGVvX2VuY29kZXJfZmluaXNoX2ZyYW1lKCkgd2lsbCByZXR1cm4gRkxPV19PSyBoZXJlIGlmCgkgIHRoZXJlJ3Mgbm8gb3V0cHV0IGJ1ZmZlci4KCjIwMTMtMDgtMjEgMTI6NTY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBqcGVnZGVwYXk6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTMtMDgtMjEgMTI6MTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSAgcnRwZ3N0ZGVwYXk6IG9ubHkgcHVzaCBldmVudHMgd2hlbiB0aGV5IGNoYW5nZWQKCSAgS2VlcCB0cmFjayBvZiB0aGUgU1RSRUFNX1NUQVJUIGFuZCBUQUcgZXZlbnRzIGFuZCBvbmx5IHB1c2ggdGhlbQoJICB3aGVuIHRoZXkgY2hhbmdlZC4KCjIwMTMtMDgtMjEgMTA6NTI6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHRhZ2xpc3RzIHNob3VsZCBub3QgYmUgbWVyZ2VkIGluIDEuMAoKMjAxMy0wOC0yMSAxMDoyODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IGZsdXNoIG9uIEZMVVNIX1NUT1AgZXZlbnQKCjIwMTMtMDgtMjEgMTA6MDM6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHJlc2V0IG9uIHN0YXRlIGNoYW5nZQoJICBEbyBmdWxsIHJlc2V0IG9uIHN0YXRlIGNoYW5nZSB0byBSRUFEWQoKMjAxMy0wOC0yMSAwOTo1NToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcmVzZXQgb24gRkxVU0hfU1RPUAoJICBDbGVhciB0aGUgYWRhcHRlciBhbmQgcGVuZGluZyBidWZmZXIgbGlzdCBvbiBGTFVTSF9TVE9QLgoKMjAxMy0wOC0yMSAwOTozOTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZG9uJ3QgdXNlIGNsb2NrIGZvciBjb25maWcgaW50ZXJ2YWwKCSAgV2UgY2FuJ3QgdXNlIHRoZSBjbG9jayB0byB0aW1lIG91ciBjb25maWctaW50ZXJ2YWwgYmVjYXVzZSB3ZSBhcmUgbm90CgkgIGxpdmUgKG9yIHRoZXJlIG1pZ2h0IG5vdCBiZSBhIGNsb2NrIG9yIHRoZSBjbG9jayBtaWdodCBub3QgYmUgcnVubmluZykuCgkgIEluc3RlYWQganVzdCBzaW1wbHkgdGFrZSB0aGUgdGltZXN0YW1wIGRpZmYuCgoyMDEzLTA4LTIxIDA5OjMzOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0YXk6IGRvbid0IHVzZSAvLyBjb21tZW50cwoKMjAxMy0wOC0wOCAxMTo1NToyMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHJlc3BvbnNlIGFyZ3VtZW50IGluIGhhbmRsZS1yZXF1ZXN0IHNpZ25hbAoKMjAxMy0wOC0wOCAxMTo1NDo0MSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgc2RlcyBwcm9wZXJ0eSBhbmQgcHJveHkgaXQgdG8gcnRwYmluCgoyMDEzLTA4LTA3IDA5OjQ3OjM1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgU2VuZCBhIHN0cmVhbS1zdGFydCB3aGVuZXZlciB3ZSBzZW5kIHRhZ3MgVGhpcyBpcyB0byBtYWtlIHN1cmUgdGFncyBhcmUgY2xlYXJlZCBvbiB0aGUgY2xpZW50IGlmIHRoZSBzdHJlYW0tc3RhcnQgd2FzIHByZXZpb3VzbHkgbG9zdCwgb3RoZXJ3aXNlLCB0aGUgY2xpZW50IG1heSBlbmQgdXAgd2l0aCBhIG1lcmdlZCB0YWdsaXN0IG9mIG11bHRpcGxlIHNvbmdzCgoyMDEzLTA3LTI1IDIxOjEyOjA1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0cGF5OiBBZGQgYSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gcmVzZW5kIHRoZSBjYXBzL3RhZ3MgYXQgYSByZWd1bGFyIGludGVydmFsIFRoaXMgaXMgdXNlZnVsIGluIGNhc2UgdGhlIHBhY2tldCBjb250YWluaW5nIHRoZSBpbmxpbmVkIGNhcHMgd2FzIGxvc3Qgb3IgaWYgbmV3IGNsaWVudCBqb2lucyBhbiBhbHJlYWR5IHJ1bm5pbmcgUlRQIHN0cmVhbSBhbmQgdGhleSBtaXNzZWQgdGhlIHByZXZpb3VzIHRhZyBldmVudHMuIFRoaXMgYWxzbyBtYWtlcyB0aGUgcGF5bG9hZGVyIGtlZXAgYSBsaXN0IG9mIG1lcmdlZCB0YWdzIHNvIHRoZSByZXRyYW5zbWl0dGVkIHRhZyBldmVudCBjb250YWlucyBhbGwgcHJldmlvdXNseSByZWNlaXZlZC4gQSBTVFJFQU1fU1RBUlQgZXZlbnQgd2lsbCBmbHVzaCB0aGUgbGlzdCBvZiB0YWdzLgoKMjAxMy0wNy0yNSAyMToxMDoxMCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogUmVmYWN0b3IgdGhlIHNldGNhcHMgYW5kIHVzZSBuZXcgbWV0aG9kIHRvIHNlbmQgYXJiaXRyYXJ5IGNhcHMgYXQgYW55IHRpbWUKCjIwMTMtMDctMjUgMjE6MDM6MzQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IERvIG5vdCBmbHVzaCBldmVudHMgZm9yIHN0cmVhbS1zdGFydCBhbmQgYXZvaWQgY29uZmxpY3QgYmV0d2VlbiBldmVudCBhbmQgcGVuZGluZyBpbmxpbmUgY2FwcwoKMjAxMy0wNy0yNSAyMDo1NDo1MCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdHBheTogQWRkIGEgY3JlYXRlX2Zyb21fYWRhcHRlciBBUEkgYW5kIHVzZSBhIGxpc3Qgb2YgR3N0QnVmZmVyTGlzdCBUaGlzIGlzIG5lY2Vzc2FyeSB0byBmaXggZXZlbnQvY2FwcyBzZW5kaW5nLiBJZiB3ZSBzZW5kIGEgU1RSRUFNX1NUQVJUIHBhY2tldCwgaXQgd2lsbCBjYXVzZSBhbiBlcnJvciBiZWNhdXNlIHRoZSBzdHJlYW0gZGlkbid0IHJlY2VpdmUgaXRzIGNhcHMgYW5kIG5ldy1zZWdtZW50IGV2ZW50cywgc28gd2UgbXVzdCB3YWl0IGZvciB0aGUgZmlyc3QgYnVmZmVyIGJlZm9yZSBzZW5kaW5nIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQgYnVmZmVyLiBIb3dldmVyLCB0aGUgY2FwcyB3aWxsIGJlIHNlbnQgYXQgdGhlIHNhbWUgdGltZSBhbmQgc28gdGhlICdpbmxpbmUgY2Fwcycgd2lsbCBiZSBzZXQgZm9yIHRoZSBldmVudC4gV2UgbmVlZCB0byBiZSBhYmxlIHRvIHBheWxvYWQgaW5kaXZpZHVhbCBwYWNrZXRzIChkYXRhLCBjYXBzIG9yIGV2ZW50cykgYW5kIG9ubHkgc2VuZCB0aGVtIHdoZW4gd2UgY2FsbCBmbHVzaC4KCjIwMTMtMDctMjUgMTc6NTY6MzggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogQWRkIGV0eXBlPTQgZm9yIHBheWxvYWRpbmcgR1NUX0VWRU5UX1NUUkVBTV9TVEFSVAoKMjAxMy0wNy0yNSAxNzo1MjoxNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogRml4IHR5cG8sIEdTVF9FVkVOVF9DVVNUT01fQk9USCBoYXMgZXR5cGUgb2YgMwoKMjAxMy0wOC0yMCAxNDozNjo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSBFT1MKCSAgV2hlbiB0aGUgcXVldWUgaXMgZW1wdHksIGFuZCB3ZSByZWNlaXZlZCBFT1MsIHBhdXNlIGFuZCBwdXNoIGFuIEVPUwoJICBldmVudCBkb3duc3RyZWFtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2Mzg3CgoyMDEzLTA4LTIwIDEwOjI2OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIGRvY3MKCjIwMTMtMDgtMjAgMTA6MjU6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1cGRhdGUgYWxsIHRpbWVycwoJICBLZWVwIGxvb3Bpbmcgb3ZlciBhbGwgcmVnaXN0ZXJlZCB0aW1lcnMgc28gdGhhdCB3ZSBjYW4gbWFyayB0aGVtIGxvc3QgaW5zdGVhZCBvZgoJICBzdG9wcGluZyBhcyBzb29uIGFzIHdlIGZpbmQgdGhlIHRpbWVyIGZvciB0aGUgY3VycmVudCBzZXFudW0uCgoyMDEzLTA4LTIwIDA4OjU1OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTMtMDgtMTkgMjE6MTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW9yZ2FuaXplIHRpbWVyIGhhbmRsaW5nCgkgIFJlc3RydWN0dXJlIGhhbmRsaW5nIG9mIGluY29tbWluZyBwYWNrZXQgYW5kIHRoZSBnYXAgd2l0aCB0aGUgZXhwZWN0ZWQgc2VxbnVtCgkgIGFuZCByZWdpc3RlciBhbGwgdGltZXJzIGZyb20gdGhlIF9jaGFpbiBmdW5jdGlvbi4KCSAgQ29udmVydCBhIHRpbWVyIHRvIGEgTE9TVCBwYWNrZXQgdGltZXIgd2hlbiB0aGUgbWF4IGFtb3VudCBvZiByZXRyYW5zbWlzc2lvbgoJICByZXF1ZXN0cyBoYXMgYmVlbiByZWFjaGVkLgoKMjAxMy0wOC0xOSAyMTozNzo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIHBhY2tldCBzcGFjaW5nIGNhbGN1bGF0aW9uCgoyMDEzLTA4LTE5IDIxOjM0OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjoga2VlcCB0cmFjayBvZiBsYXN0IHNlcW51bSBhbmQgZHRzCgoyMDEzLTA4LTE5IDIxOjI5OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc21hbGwgY2xlYW51cHMKCjIwMTMtMDgtMTkgMjE6MjE6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCByZXRyYW5zbWlzc2lvbiB0aW1lcnMgaW4gYWRkL3Jlc2NoZWR1bGUKCSAgUmVzZXQgdGhlIHJldHJhbnNtaXNzaW9uIHRpbWVycyB3aGVuIGFkZGluZyBhbmQgcmVzY2hlZHVsaW5nIGEgdGltZXIuCgoyMDEzLTA4LTE5IDIxOjEyOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVuYW1lIHZhcmlhYmxlcyBmb3IgcGFja2V0IHNwYWNpbmcKCjIwMTMtMDgtMTkgMTQ6NTg6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW1vdmUgbG9zdCB0aW1lciB3aGVuIHdlIGdldCB0aGUgcGFja2V0CgkgIFdoZW4gd2UgcmVjZWl2ZSBhIHBhY2tldCwgYWxzbyByZW1vdmUgdGhlIExPU1QgdGltZXIgZm9yIGl0LgoKMjAxMy0wOC0xOSAxNDo1Njo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGV4cGVjdGVkIHNlcW51bSBtdXN0IGluY3JlYXNlCgkgIE9ubHkgdXBkYXRlIHRoZSBleHBlY3RlZCBzZXFudW0gd2hlbiBpdCBpcyBiaWdnZXIgdGhhbiB0aGUgcHJldmlvdXMgZXhwZWN0ZWQKCSAgc2VxbnVtLgoKMjAxMy0wOC0xOSAxNDo1NTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTA4LTEyIDE2OjE1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuaDoKCSAgcnR4cXVldWU6IGFkZCByZXRyYW5zbWlzc2lvbiBxdWV1ZSBlbGVtZW50CgoyMDEzLTA4LTEyIDE0OjUzOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhZGQgc29tZSBkb2NzCgoyMDEzLTA4LTA2IDE2OjI5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogaGFuZGxlIE5BQ0sgZmVlZGJhY2sgYW5kIGdlbmVyYXRlIGV2ZW50cwoJICBIYW5kbGUgYW5kIHBhcnNlIHRoZSBmZWVkYmFjayBOQUNLIHBhY2tldHMgYW5kIGdlbmVyYXRlIGEgUmV0cmFuc21pc3Npb24KCSAgZXZlbnQgZm9yIGVhY2ggTkFDS2VkIHBhY2tldAoKMjAxMy0wOC0xOSAxMzoxOTo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIGZvcndhcmQgZGVjbGFyYXRpb24gZm9yIGdzdF92NGwyX29iamVjdF9nZXRfZm9ybWF0X2xpc3QKCjIwMTItMTAtMjIgMTc6NTg6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IERlLWR1cGxpY2F0ZSBjYXBzIHByb2JpbmcgYmV0d2VlbiBzcmMgYW5kIHNpbmsKCjIwMTMtMDgtMTMgMTc6MzI6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlOiBSZW1vdmUgdW51c2VkIEdzdFB1bHNlUHJvYmUKCjIwMTMtMDgtMTkgMTI6NDY6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmM6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5jOgoJICB2NGwyOiBVc2UgR19ERUZJTkVfIG1hY3JvcyBmb3IgYWRkZWQgdGhyZWFkIHNhZmV0eQoKMjAxMy0wOC0xNyAxMToyODoxMyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogRG8gbm90IHNlbmQgZmx1c2hfc3RvcCBvdXJzZWxmIGFmdGVyIGEgZmx1c2hfc3RhcnQKCSAgV2hlbiB3ZSByZWNlaXZlIGEgZmx1c2hfc3RhcnQsIHdlIHNob3VsZCB3YWl0IGZvciB0aGUgbmV4dCBmbHVzaF9zdG9wCgkgIGFuZCBmb3dhcmQgaXQsIG5vdCBjcmVhdGUgYSBmbHVzaF9zdG9wIG91cnNlbGYuCgoyMDEzLTA4LTE2IDE3OjEwOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBpbml0IGRlYnVnIGNhdGVnb3J5IGVhcmx5CgkgIEluaXQgdGhlIGRlYnVnIHZhcmlhYmxlIHdoZW4gd2UgcmVnaXN0ZXIgdGhlIGVsZW1lbnQgYmVjYXVzZSBpdCBpcyBhbHNvIHVzZWQgYnkKCSAgdGhlIHBheWxvYWRlciBlbGVtZW50IHdoZW4gaXQgY2FsbHMgdGhlIGFkZF9zcHNfcHBzIG1ldGhvZC4KCjIwMTMtMDgtMTYgMTM6MjY6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogUHJvcGVybHkgc2V0IGhlYWRlcnMgdmlhIHRoZSBiYXNlIGNsYXNzIGluc3RlYWQgb2YganVzdCBwdXNoaW5nIHRoZW0gZG93bnN0cmVhbQoJICBQcmV2ZW50cyBidWZmZXJzIGZyb20gYmVpbmcgc2VuZCBiZWZvcmUgdGhlIGNhcHMgYW5kIHNlZ21lbnQgZXZlbnRzLgoKMjAxMy0wOC0xNSAxMDo1OToxMCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIGRlbm9taW5hdG9yIGlzbid0IHplcm8gYmVmb3JlIHNjYWxpbmcgZHVyYXRpb24uCgkgIFdoZW4gZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3N0cmVhbSBzZXRzIGZwc19kLCBjaGVjayB0aGF0IG5fc2FtcGxlcyBpcwoJICBub24temVybyBiZWZvcmUgdXNpbmcgaXQgYXMgYSBkZW5vbWluYXRvciB0byBzY2FsZSB0aGUgc3RyZWFtIGR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDc2CgoyMDEzLTA4LTE1IDE1OjA4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgZXh0OiBVc2UgbmV3IGZsdXNoIHZmdW5jIG9mIHZpZGVvIGNvZGVjIGJhc2UgY2xhc3NlcyBhbmQgcmVtb3ZlIHJlc2V0IGltcGxlbWVudGF0aW9ucwoKMjAxMy0wOC0xNCAxNjoxOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZvcndhcmQgZmx1c2ggYmVmb3JlIHN0b3BwaW5nIGRhdGFmbG93CgkgIEZpcnN0IGZvcndhcmQgdGhlIGZsdXNoIGV2ZW50IGFuZCB0aGVuIHN0b3Agb3VyIGxvb3AgZnVuY3Rpb24uCgoyMDEzLTA4LTE0IDEzOjEwOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgbGlic291cCA+PSAyLjM4CgkgIEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBmb3IgbmV3ZXIgQVBJIHVzZWQsIGxpa2UgaGVhZGVyc19nZXRfb25lKCkuCgkgIDIuMzggaXMgZnJvbSBlYXJseSAyMDEyIGFuZCBpcyBpbiBsaW5lbiB3aXRoIG91ciBHTGliIHJlcXVpcmVtZW50LgoKMjAxMy0wOC0xNCAxMTo1NDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGRvbid0IHVzZSBkZXByZWNhdGVkIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2dldCgpIEFQSQoKMjAxMy0wOC0xMyAxNzo0NDo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgZmlsZXMgZnJvbSBhdXRvbWFrZSB0ZXN0LWRyaXZlcgoKMjAxMy0wOC0xMiAxNToyODozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogVXNlIHRoZSBTUFMvUFBTIGhhbmRsaW5nIGZ1bmN0aW9uIGZyb20gdGhlIGRlcGF5bG9hZGVyCgkgIFJlbW92ZSBkdXBsaWNhdGVkIGNvcGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTUzCgoyMDEzLTA4LTEyIDE1OjI2OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBNYWtlIHRoZSBTUFMvUFBTIGRlZHVwbGljYXRpb24gZnVuY3Rpb24gZ2VuZXJpYwoJICBNYWtlIGl0IG5vdCB0b3VjaCBhbnkgaW50ZXJuYWxzIG9mIHRoZSBkZXBheWxvYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTUzCgoyMDEzLTA4LTEzIDE0OjA5OjIwICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBjb252ZXJzaW9uIGZyb20gcmF3IEFBQyB0byBBRFRTCgkgIFRoaXMgcGF0Y2ggd2lsbCBwcmVwZW5kIEFEVFMgaGVhZGVycyB0byByYXcgQUFDIGF1ZGlvIGZyYW1lcywgYWxsb3dpbmcKCSAgdXBzdHJlYW0gZWxlbWVudHMgdG8gbGluayB0byBkZWNvZGVycyB0aGF0IG9ubHkgc3VwcG9ydCBBQUMgaW4gQURUUyBmb3JtYXQuCgkgIE5vdGUgdGhhdCBubyBlcnJvciBjb3JyZWN0aW9uIGJpdHMgYXJlIGFkZGVkIHRvIEFEVFMgZnJhbWVzIGluIHRoaXMgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNTc0MAoKMjAxMy0wOC0xMyAxMjo0NDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBPbmx5IGZyZWUgR0NoZWNrU3VtIGFmdGVyIGl0cyBsYXN0IHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU3NjAKCjIwMTMtMDgtMTMgMTI6MDI6MjkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IGNyaXRpY2FsIHNldHRpbmcgYSBOVUxMIHVyaSByZWRpcmVjdGlvbgoKMjAxMy0wNy0xMyAwMTo1MDo1NiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgcmVkaXJlY3Rpb24gdG8gdGhlIFVSSSBxdWVyeQoKMjAxMy0wNy0zMSAxMDo0MjowNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlbHN0IHNob3VsZCBvZmZzZXQgc2FtcGxlcyBpbnN0ZWFkIG9mIGJ1ZmZlcnMKCSAgVGhlIGN1cnJlbnQgYXBwcm9hY2ggd2hlcmUgYnVmZmVycyBhcmUgb2Zmc2V0IGlzIG5vdCBpZGVhbCwgYXMgZHVyaW5nIHNlZWsKCSAgYW5kIGxvb3AgY3VycmVudCB0aW1lIGlzIGNvbXBhcmVkIHRvIHNhbXBsZSB0aW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI2NAoKMjAxMy0wOC0wNyAxOTozMjowNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBTZW5kIEVPUyBpZiBidWZfZW5kID49IHNlZ21lbnQuc3RvcAoJICBUaGF0IG1lYW5zIHRoZSB3aG9sZSBzZWdtZW50IGlzIGFscmVhZHkgcGxheWVkLCBhbmQgd2UgYXJlIHN1cmUgd2UKCSAgYXJlIEVPUyBhdCB0aGF0IHBvaW50LgoJICBBbHNvIGhhbmRsZSBzZWdtZW50IHNlZWtzLCBhbmQgZG8gbm90IHNlbmQgRU9TIGluIHRoYXQgY2FzZS4KCjIwMTMtMDgtMDQgMTQ6NDA6MzggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzZW5kIHByb3BlciBzdHJlYW1fc3RhcnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MDU0NDkKCjIwMTMtMDgtMDggMTE6NTE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHByaW50IHdhcm5pbmdzIGR1cmluZyBmbHVzaGluZyBhbmQgc3RvcCBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDQyCgoyMDEzLTA4LTA3IDExOjE0OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogbWFyayBrZXkgZnJhbWVzIGFuZCBkZWx0YSBmcmFtZXMgcHJvcGVybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU1MAoKMjAxMy0wOC0wNSAyMzoyMzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIE5BQ0sgZmVlZGJhY2sgaW4gUlRDUAoKMjAxMy0wOC0wNSAyMzoyMjoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc291cmNlOiBhZGQgbWV0aG9kcyB0byByZWdpc3RlciBOQUNLCgkgIEFkZCBhIG1ldGhvZCB0byByZWdpc3RlciBhIG1pc3NpbmcgcGFja2V0IGZvciBhbiBzc3JjIGFsb25nIHdpdGgKCSAgbWV0aG9kcyB0byBnZXQgdGhlIG1pc3NpbmcgcGFja2V0cyBhbmQgY2xlYXIgdGhlbS4KCjIwMTMtMDgtMDQgMjM6MDU6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBoYW5kbGUgUmV0cmFuc21pc3Npb24gZXZlbnQgYW5kIHNjaGVkdWxlIE5BQ0sKCSAgSGFuZGxlIHRoZSByZXRyYW5zbWlzc2lvbiBldmVudCBmcm9tIGRvd25zdHJlYW0gYW5kIHVzZSBpdCB0byBzY2hlZHVsZSBhIE5BQ0sKCSAgcmVxdWVzdC4KCjIwMTMtMDgtMDUgMjM6MjA6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHBhc3MgZGF0YSB0byByZW1vdmUgZnVuYwoJICBQYXNzIHRoZSBkYXRhIHRvIHRoZSByZW1vdmUgZnVuY3Rpb24gYmVjYXVzZSB3ZSBhcmUgZ29pbmcgdG8gZGVyZWYgaXQgd2hlbiB0aGVyZQoJICBpcyBwbGkgb3IgZmlyLgoKMjAxMy0wOC0wNiAxNToyODo1MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjb21waWxhdGlvbgoKMjAxMy0wOC0wNiAxNToxNzo0NCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJhdyBidWZmZXIgRFRTIHNob3VsZCBhbHdheXMgYmUgQ0xPQ0tfVElNRV9OT05FCgoyMDEzLTA4LTA2IDExOjU4OjM4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBNYWtlIHN1cmUgdG8gc2VuZCBFT1MgaWYgdGhlIGJ1ZmZlciBlbmQgdGltZSBlcXVhbHMgdGhlIHNlZ21lbnQgZW5kIHRpbWUKCSAgT3RoZXJ3aXplIEVPUyBuZXZlciBnZXRzIHNlbnQgaW4gdGhhdCBwYXJ0aWN1bGFyIGNhc2UuCgoyMDEzLTA4LTA1IDA4OjQ5OjUwICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogRW5zdXJlIHNyYyBjYXBzIGFyZSB3cml0YWJsZQoJICBJbiBzb21lIGNhc2VzIHRoZSBzcmMgY2FwcyBkZXRlcm1pbmVkIGJ5IGdvb20gd2VyZW4ndCB3cml0YWJsZSwgY2F1c2luZwoJICBhIGJ1bmNoIG9mIGFzc2VydGlvbiBmYWlsdXJlcyBhbmQgZmFpbGVkIGNhcHMuIEZpeGVkIGJ5IGFsd2F5cwoJICBleHBsaWNpdGVseSBtYWtpbmcgdGhlIGNhcHMgd3JpdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ3NQoKMjAxMy0wOC0wNCAyMzoxODoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHVzZSBjb21tb24gc2VuZF9ydGNwIG1ldGhvZAoJICBSZXVzZSB0aGUgc2VuZF9ydGNwIG1ldGhvZCB0aGF0IGFscmVhZHkgYXNrcyBmb3IgdGhlIGN1cnJlbnQgdGltZSB3aGVuCgkgIHJlcXVlc3RpbmcgYSBrZXlmcmFtZS4KCjIwMTMtMDgtMDQgMjM6MTI6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogRG9uJ3QgdXNlIENsb2NrVGltZURpZmYgZm9yIHVuc2lnbmVkIGRlbGF5cwoKMjAxMy0wOC0wNCAxNjo1MjoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgYnVmZmVyIFBUUyBpZiBEVFMgaXMgbm90IHNldAoJICBBdm9pZHMgZW5kaW5nIHVwIHdpdGggY29tcGxldGVseSBib2d1cyBzY2FsZWQgZHVyYXRpb24vcHRzIHdoZW4gbmV3CgkgIGJ1ZmZlcnMgaGF2ZSBpbnZhbGlkIERUUy4KCjIwMTMtMDgtMDQgMTQ6MzI6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc2tpcCBodHRwcyB0ZXN0IGlmIHRoZXJlJ3Mgbm8gVExTIHN1cHBvcnQgaW4gc291cC9nbGliCgoyMDEzLTA4LTA0IDExOjIwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHJ0cGRlYzogdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMy0wOC0wNCAxMDo1MjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi8uZ2l0aWdub3JlOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi1tYXJzaGFsLmxpc3Q6CgkqIHN5cy92NGwyL3R1bmVyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuaDoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5oOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGVudW10eXBlcyBhbmQgdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMy0wOC0wNCAxMDo0NzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvdWRwLy5naXRpZ25vcmU6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuaDoKCSAgdWRwOiByZW1vdmUgdW51c2VkIG1hcnNoYWwgYW5kIGVudW10eXBlcyBmaWxlcwoKMjAxMy0wOC0wNCAwOTozODoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci8uZ2l0aWdub3JlOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSAgcnRwbWFuYWdlcjogdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMy0wOC0wNCAwMDoxMzowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNlbmQgZXZlbnQgaW4gcmlnaHQgZGlyZWN0aW9uCgoyMDEzLTA4LTAyIDE3OjM4OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjcmVhdGUvcmVtb3ZlIG9yYyBkaXJlY3RvcnkgYXQgcHJvcGVyIHRpbWUKCSAgQmVmb3JlIGF1dG9tYWtlIGNyZWF0ZXMgLmRlcHMgZGlyZWN0b3JpZXMsIGFuZCBkdXJpbmcgZGlzdGNsZWFuLgoKMjAxMy0wOC0wMyAwMDoyNTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIEZJUiBhbmQgUExJIGxpa2Ugb3RoZXIgUlRDUCBwYWNrZXRzCgkgIEFkZCB0aGUgRklSIGFuZCBQTEkgcGFja2V0cyBsaWtlIHRoZSBvdGhlciBSVENQIHBhY2tldCBpbnN0ZWFkIG9mIGZyb20gdGhlCgkgIG9uLXNlbmRpbmctcnRjcCBkZWZhdWx0IHNpZ25hbCBoYW5kbGVyLgoKMjAxMy0wOC0wMiAxNzoyMjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCBwcm9wZXJ0eSByYW5nZXMKCjIwMTMtMDgtMDIgMTY6NDI6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwdXNoIHJldHJhbnNtaXNzaW9uIGV2ZW50cwoKMjAxMy0wOC0wMiAxNDoxMjoxNiArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogYWRkIHN1YmRpci1vYmplY3RzIHRvIEFNX0lOSVRfQVVUT01BS0UKCSAgRml4ZXMgd2FybmluZ3Mgd2l0aCBhdXRvbWFrZSAxLjE0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDIgMTQ6NTQ6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc3VwcG9ydCBmb3IgcmV0cmFuc21pc3Npb24gcmV0cnkKCSAgV2hlbiB3ZSBkaWRuJ3QgcmVjZWl2ZSBhIHBhY2tldCBhZnRlciByZXF1ZXN0aW5nIHJldHJhbnNtaXNzaW9uLCByZXRyeQoJICBhc2tpbmcgZm9yIHJldHJhbnNtaXNzaW9uIGZvciBhIGNlcnRhaW4gcGVyaW9kLgoKMjAxMy0wOC0wMiAxNDoxOTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBwcm9wZXJ0aWVzCgkgIEFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgcmV0cmFuc21pc3Npb24gcGFyYW1ldGVycwoKMjAxMy0wOC0wMiAxMjo0NDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVzZSBjb3JyZWN0ZWQgdGltZW91dCB3aGVuIHJlc2NoZWR1bGluZwoJICBXaGVuIHdlIHJlY2FsY3VsYXRlIHRoZSB0aW1lb3V0LCB1c2UgdGhlIGNvcnJlY3RlZCB0aW1lb3V0IHZhbHVlIGRlcGVuZGluZyBvbgoJICB0aGUgdGltZXIgdHlwZS4KCjIwMTMtMDgtMDIgMTI6NDM6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1cGRhdGUgdGltZXJzIGFmdGVyIHF1ZXVlaW5nCgkgIEVsc2Ugd2UgbWlnaHQgdXBkYXRlIHRoZSB0aW1lciBuZWVkbGVzc2x5IGZvciBkdXBsaWNhdGVzLgoKMjAxMy0wOC0wMiAxMjo0MjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vdmUgbWV0aG9kIHVwCgoyMDEzLTA4LTAyIDA2OjI4OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc21hbGwgY2xlYW51cAoKMjAxMy0wOC0wMSAyMzoyNjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVuc2NoZWR1bGUgb2xkIGV4cGVjdGVkIHBhY2tldHMKCSAgV2hlbiB3ZSByZWNlaXZlIGEgbmV3IHBhY2tldCwgdW5zY2hlZHVsZSBvbGQgb3V0c3RhbmRpbmcgcGFja2V0cyB3aGVuIHRoZWlyCgkgIHNlcW51bSBpcyB0b28gZmFyIGF3YXkuCgoyMDEzLTA4LTAxIDIzOjI5OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgdGltZXIgdXBkYXRlCgoyMDEzLTA4LTAxIDIzOjI0OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIHRpbWVycyB3aGVuIHJlbW92aW5nCgkgIFVwZGF0ZSB0aGUgdGltZXJzIHdoZW4gd2UgcmVtb3ZlIGEgdGltZXIuCgkgIEhhbmRsZSBjYW5jZWxlZCB0aW1lcnMsIG1ha2UgdGhlbSB1bnNjaGVkdWxlIHRoZSBjdXJyZW50IHRpbWVyIGFuZAoJICB0cmlnZ2VyIHRoZSB0aW1lb3V0IGNvZGUuCgoyMDEzLTA4LTAxIDIzOjIyOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHR5cG8KCjIwMTMtMDgtMDEgMTU6NDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIHRpbWVvdXQgbWFuYWdlbWVudAoJICBJZiB3ZSBjaGFuZ2UgdGhlIHNlcW51bSBvZiBhbiBleGlzdGluZyB0aW1lciBhbmQgd2Ugd2VyZSB3YWl0aW5nIGZvcgoJICB0aGF0IHRpbWVyLCB1bnNjaGVkdWxlIGl0LiBJZiB3ZSBjaGFuZ2UgdGhlIHRpbWVvdXQgb2YgYW4gZXhpc3RpbmcgdGltZXIgYW5kIHdlCgkgIHdlcmUgd2FpdGluZyBvbiBpdCwgb25seSB1bnNjaGVkdWxlIHdoZW4gdGhlIG5ldyB0aW1lIGlzIHNtYWxsZXIuCgoyMDEzLTA4LTAxIDE1OjA1OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW5zdGFsbCB0aW1lciBmb3IgZXhwZWN0ZWQgYXJyaXZhbAoJICBJbnN0YWxsIGEgdGltZXIgdGhhdCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgZXhwZWN0ZWQgYXJyaXZhbCB0aW1lIG9mIGEgcGFja2V0CgkgIGV4cGlyZWQuCgoyMDEzLTA4LTAxIDE0OjU2OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSB1bnNjaGVkdWxlIG9mIHRpbWVycwoJICBDb25mbGljdHM6CgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jCgoyMDEzLTA4LTAxIDEyOjIxOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW92ZSBjb2RlIGFyb3VuZAoKMjAxMy0wOC0wMSAxMjowNzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGVzdGltYXRlIGludGVyIHBhY2tldCBzcGFjaW5nCgkgIFdoZW4gd2Ugc2VlIHR3byBwYWNrZXRzIHdpdGggY29uc2VjdXRpdmUgc2VxbnVtcyBhbmQgYSBkaWZmZXJlbnQgUlRQIHRpbWUsIHVzZQoJICB0aGUgRFRTIGRpZmZlcmVuY2UgYXMgdGhlIGludGVyIHBhY2tldCBzcGFjaW5nIGVzdGltYXRlLgoKMjAxMy0wOC0wMSAxMjowMToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2YgY3VycmVudCB0aW1lb3V0CgoyMDEzLTA4LTAxIDExOjQ5OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogY2xlYW51cCB0aW1lciBoYW5kbGluZwoKMjAxMy0wOC0wMSAxMTo0MDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlc2V0IGlzIG9ubHkgcG9zc2libGUgd2l0aCBhIEdBUAoKMjAxMy0wOC0wMSAxMToyOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBvcGVyYXRlIG9uIERUUwoJICBNYWtlIHRoZSBqaXR0ZXJidWZmZXIgc2NoZWR1bGUgdGhlIHRpbWVvdXRzIGJhc2VkIG9uIHRoZSBEVFMgaW5zdGVhZAoJICBvZiB0aGUgUFRTLiBUaGlzIG1ha2VzIGl0IGFsbCBzbW9vdGhlciB3aXRoIHJlb3JkZXJlZCBmcmFtZXMgYW5kIGdpdmVzCgkgIHRoZSBkZWNvZGVyIHRpbWUgdG8gcmVvcmRlciB0aGUgZnJhbWVzIGluIHRpbWUuCgoyMDEzLTA4LTAxIDExOjE0OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVuYW1lIHRpbW91dCB2YXJpYWJsZQoKMjAxMy0wNy0zMSAxNzowODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNtYWxsIGNsZWFudXAKCjIwMTMtMDctMzEgMTY6NTk6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBibG9jayBvdXRwdXQgaW4gcGF1c2VkIG9yIGJ1ZmZlcmluZwoKMjAxMy0wNy0zMSAxNjo1OTowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHN0b3JlIHB0cyBpbiB0aW1lcgoJICBPbmx5IHN0b3JlIHRoZSBwdHMgaW4gdGhlIHRpbWVyIHNvIHRoYXQgd2UgY2FuIGJvdGggZG8gdGltZW91dHMgd2l0aCB0aW1pbmdzIG9uCgkgIHRoZSBpbnB1dCBhbmQgb3V0cHV0IG9mIHRoZSBqaXR0ZXJidWZmZXIuCgoyMDEzLTA3LTMwIDIzOjE0OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVmYWN0b3Igaml0dGVyYnVmZmVyCgkgIFJlZmFjdG9yIHRoZSBqaXR0ZXJidWZmZXIgY29kZS4gTWFrZSBzZXBhcmF0ZSBmdW5jdGlvbiBmb3IgcGVla2luZyBhIGJ1ZmZlciwKCSAgcHVzaGluZyB0aGUgbmV4dCBidWZmZXIsIHdhaXRpbmcgZm9yIHRpbWVvdXRzIGFuZCBoYW5kbGluZyB0aGUgdGltZW91dHMuCgkgIFRoZSBtYWluIGxvb3Agbm93IHRyaWVzIHRvIHB1c2ggYXMgbWFueSBidWZmZXJzIGFzIGl0IGNhbiB1bnRpbCBpdCBydW5zIG91dCBvZgoJICBidWZmZXJzIG9yIHdoZW4gaXQgZGV0ZWN0cyBhIHNlcW51bSBkaXNjb250LiBUaGVuIGl0IHdpbGwgd2FpdCBmb3Igc29tZSBldmVudCB0bwoJICBoYXBwZW4gYmVmb3JlIGF0dGVtcHRpbmcgdG8gcHVzaCBtb3JlIGJ1ZmZlcnMuCgkgIE1ha2UgbWV0aG9kcyB0byByZWdpc3RlciB0aW1lb3V0cyBpbiBhbiBhcnJheS4gVGhlc2UgdGltZW91dHMgYXJlIHJlZ2lzdGVyZWQKCSAgd2hlbiB3ZSBkZXRlY3QgYSBtaXNzaW5nIHBhY2tldCwgc3luYyBmb3IgdGhlIGZpcnN0IHBhY2tldCBvciB3aGVuIHdlIGZpbmQgYW4KCSAgZXN0aW1hdGlvbiBmb3IgdGhlIGVuZC1vZi1zdHJlYW0uCgkgIFRoaXMgZ3JlYXRseSBzaW1wbGlmaWVzIGFuZCBjbGFyaWZpZXMgdGhlIGNvZGUgYW5kIGFsc28gbWFrZXMgaXQgcG9zc2libGUgdG8KCSAgcmVnaXN0ZXIgbW9yZSBjb21wbGljYXRlZCB0aW1lb3V0IHNjaGVtZXMgbGF0ZXIuCgoyMDEzLTA3LTMwIDE4OjUyOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdXNlIE5VTEwgdG8gaWdub3JlIHBlcmNlbnQKCSAgSWYgd2UgcGFzcyBOVUxMIHRvIHBvcCBhbmQgcHVzaCB3ZSBpZ25vcmUgdGhlIHBlcmNlbnQgcmVzdWx0LgoKMjAxMy0wNy0zMCAwNzowMDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yCgkgIE1vdmUgZW9zIGVzdGltYXRpb24gaW50byBzZXBhcmF0ZSBmdW5jdGlvbgoKMjAxMy0wNy0zMCAxNDoyODoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGRvbid0IGxlYWsgc3RyZWFtX2lkIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTQyCgoyMDEzLTA3LTI5IDE5OjUzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zbC5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA3LTI5IDE5OjQ4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgdGVzdCBiaW5hcmllcwoKMjAxMy0wNy0yOSAxNDo0Nzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMyA9PT0KCjIwMTMtMDctMjkgMTM6NDI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMwoKMjAxMy0wNy0yOSAxMzo0MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMjkgMTI6MTI6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdzdDogRG9uJ3Qgc3dhcCBzdGFydC9zdG9wIGZvciBuZWdhdGl2ZSByYXRlcyBpbiB0aGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMToxODo0MCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBmb3IgZGF0YSBzaXplIHdoZW4gcGFyc2luZyBoMjY0IGNvZGVjIGRhdGEgZnJvbSBzdHJmIGF0b20KCjIwMTMtMDctMjkgMTA6NTM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMDo1Mzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTA6NTA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI3IDE4OjEwOjIyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogU3VwcG9ydCBIMjY0IGZvdXJjYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTk2CgoyMDEzLTA3LTI4IDE4OjA5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IEZpeCBoYW5kbGluZyBvZiBpbWFnZSB0YWdzCgkgIFRoZSBjYXBzIHNob3VsZCBiZSB1c2VkIHRvIGdldCB0aGUgbWltZXR5cGUgYW5kIHRoZXJlIGlzCgkgIG9ubHkgYW4gaW5mbyBzdHJ1Y3R1cmUgZm9yIHRoZSBHc3RTYW1wbGUgaWYgdGhlIGltYWdlLXR5cGUKCSAgaXMgbm90IE5PTkUuCgoyMDEzLTA3LTI4IDE4OjA0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IERvbid0IGNyYXNoIGlmIHRoZXJlIGlzIG5vIGltYWdlIHRhZyBpbmZvcm1hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDE4CgoyMDEzLTA3LTI4IDE3OjM4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggZHVyYXRpb24gcmVwb3J0aW5nIGluIHB1c2ggbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwOTMzCgoyMDEzLTA3LTI4IDE3OjMyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBmb3JnZXQgdW5tYXBwaW5nIGFuZCB1bnJlZmZpbmcgYnVmZmVyCgoyMDEzLTA3LTI2IDIxOjA2OjE3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdW5tYXAgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTEKCjIwMTMtMDctMjYgMjI6MzE6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGRvbid0IG1ha2UgYnVmZmVyIHdyaXRhYmxlIHByZW1hdHVyZWx5CgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBtYWtlIHRoZSBTUiBidWZmZXIgd3JpdGFibGUgYXQgdGhpcyBwb2ludC4gVGhpcyBpcyBiZXR0ZXIKCSAgZGVsYXllZCB1bnRpbCBuZWVkZWQuCgoyMDEzLTA3LTI2IDIyOjI1OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpZ25vcmUgUlRDUCBmb3IgaW5hY3RpdmUgc291cmNlcwoKMjAxMy0wNy0yNiAyMjoyNToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogc21hbGwgY2xlYW51cAoKMjAxMy0wNy0yNiAxNzoxNzozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc2Vzc2lvbjogaGFuZGxlIHBhcnRpYWwgUlRDUCByZXBvcnQgYmxvY2tzCgkgIFdoZW4gd2UgaGF2ZSBtb3JlIFNTUkNzIHRvIHJlcG9ydCB0aGFuIHdoYXQgZml0IGluIGFuIFJUQ1AgcGFja2V0LCB1c2UgYQoJICBnZW5lcmF0aW9uIGNvdW50ZXIgdG8gbWFrZSBzdXJlIGFsbCBvZiB0aGVtIGVuZCB1cCBpbiBhIHBhY2tldCBldmVudHVhbGx5LgoKMjAxMy0wNy0yNiAxNzoyMzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogY3JlYXRlIFNTUkMgYmVmb3JlIGRvaW5nIHNlc3Npb24gY2xlYW51cAoJICBNYWtlIHRoZSBpbnRlcm5hbCBzb3VyY2UgYmVmb3JlIHdlIGRvIHNlc3Npb24gY2xlYW51cAoKMjAxMy0wNy0yNiAxNzoyMTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcmVvcmdhbml6ZSB0aGUgcmVwb3J0IGJsb2NrIGNvZGUKCjIwMTMtMDctMjYgMTY6MDI6MDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGNoZWNrX3N1YnRpdGxlX2J1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTIxCgoyMDEzLTA3LTI2IDE0OjIxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZWZhY3RvciBhY3RpdmUgYW5kIHNlbmRlciBjaGVja3MKCjIwMTMtMDctMjYgMTI6MDY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlbW92ZSBpbnRlcm5hbCBzb3VyY2VzIG9uIHRpbWVvdXQKCSAgV2hlbiBhbiBpbnRlcm5hbCBzb3VyY2UgdGltZXMgb3V0IGFuZCBiZWNvbWVzIGEgcmVjZWl2ZXIsIHJlbW92ZSBpdC4KCjIwMTMtMDctMjYgMTE6NDc6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGNyZWF0ZSBhbiBpbnRlcm5hbCBzb3VyY2UgZm9yIFJUQ1AKCSAgV2hlbiB3ZSBuZWVkIHRvIGRvIFJUQ1AgYW5kIHdlIGRvbid0IGhhdmUgYW4gaW50ZXJuYWwgc291cmNlIHlldCwKCSAgbWFrZSBvbmUuCgoyMDEzLTA3LTI2IDEwOjQ3OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBzZXNzaW9uOiByZW1vdmUgb2xkIGNvZGUgdG8gY2hhbmdlIFNTUkMKCSAgUmVtb3ZlIGNvZGUgdXNlZCB0byBjaGFuZ2UgdGhlIFNTUkMgYWZ0ZXIgYSBjb2xsaXNpb24uIFdlIG5vdyBzZW5kCgkgIGEgUkVDT05GSUdVUkUgZXZlbnQgdXBzdHJlYW0gdG8gbWFrZSB0aGUgdXBzdHJlYW0gZWxlbWVudCBjaGFuZ2UgdGhlIFNTUkMuCgoyMDEzLTA3LTI2IDEwOjQyOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogZG9uJ3QgdXBkYXRlIHBhY2tldCBTU1JDCgkgIFJlbW92ZSB0aGUgY29kZSB0byB1cGRhdGUgdGhlIFNTUkMgaW4gcGFja2V0cywgaXQgY2FuIG5ldmVyIGJlIGNhbGxlZCBub3cgdGhhdAoJICB3ZSBhbHdheXMgdXNlIGEgc291cmNlIHdpdGggbWF0Y2hpbmcgcGFja2V0IFNTUkMuCgoyMDEzLTA3LTI2IDEwOjI0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGRlbGF5IGFsbG9jYXRpb24gb2YgaW50ZXJuYWwgc291cmNlCgkgIEFsbG9jYXRlIHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbiB3ZSByZWNlaXZlIGEgY2FwcyB3aXRoIHRoZSBTU1JDIG9yIHdoZW4gd2Ugc2VlCgkgIGEgYnVmZmVyIHdpdGggdGhlIFNTUkMuCgoyMDEzLTA3LTI2IDEwOjAwOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGdlbmVyYXRlIHJlY29uZmlndXJlIG9uIGNvbGxpc2lvbgoJICBXaGVuIHdlIGRldGVjdCBhIGNvbGxpc2lvbiwgY2hhbmdlIHRoZSBTU1JDIHRoYXQgd2Ugc3VnZ2VzdCB1cHN0cmVhbQoJICBhbmQgdHJpZ2dlciBSRUNPTkZJR1VSRS4gVGhpcyBzaG91bGQgbWFrZSB1cHN0cmVhbSBzZWxlY3QgYSBuZXcgU1NSQy4KCjIwMTMtMDctMjYgMDk6Mzc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogcHJvZHVjZSBSVENQIGZvciBhbGwgaW50ZXJuYWwgc291cmNlcwoJICBMb29wIG92ZXIgYWxsIHRoZSBpbnRlcm5hbCBzb3VyY2VzIGFuZCBwcm9kdWNlIFJUQ1AuIFdlIGFsc28gbmVlZAoJICB0byBxdWV1ZSB0aGUgUlRDUCBwYWNrZXRzIGFuZCBzZW5kIHRoZW0gd2hlbiB3ZSBhcmUgZmluaXNoZWQuCgoyMDEzLTA3LTI2IDAxOjQwOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGRlcHJlY2F0ZSBpbnRlcm5hbCBzb3VyY2UgYW5kIHNzcmMgcHJvcGVydGllcwoJICBEZXByZWNhdGUgdGhlIGludGVybmFsIHNvdXJjZSBhbmQgaW50ZXJuYWwgc3NyYyBwcm9wZXJ0aWVzLiBUaGVyZSBtaWdodAoJICBiZSBtb3JlIHRoYW4gb25lIGludGVybmFsIHNvdXJjZS4KCjIwMTMtMDctMjYgMDE6Mjk6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGludGVybmFsIHNvdXJjZXMgZG9uJ3QgdXNlIHByb2JhdGlvbgoKMjAxMy0wNy0yNiAwMToyNDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnaXZlIGNhcHMgdG8gc2Vzc2lvbgoJICBMZXQgdGhlIHNlc3Npb24gcGFyc2UgdGhlIGNhcHMgYW5kIHVwZGF0ZSBpdHMgU1NSQyB3aGVuIG5lZWRlZC4KCjIwMTMtMDctMjYgMDE6MTQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBtYWtlIG1ldGhvZCB0byBzdWdnZXN0IGF2YWlsYWJsZSBTU1JDCgkgIE1ha2UgYSBtZXRob2QgdG8gc3VnZ2VzdCB0aGUgYmVzdCBhdmFpbGFibGUgU1NSQy4gVGhpcyBpcyB0aGUgU1NSQyBvZiB0aGUgbGFzdAoJICBjcmVhdGVkIGludGVybmFsIHNvdXJjZSBhbmQgaXMgdXNlZCB0byBpbnN0cnVjdCB1cHN0cmVhbSB0byBwcm9kdWNlIHRoaXMKCSAgU1NSQy4KCjIwMTMtMDctMjYgMDE6MDE6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjoga2VlcCBTREVTIGFuZCBzZXQgb24gbmV3IGludGVybmFsIHNvdXJjZXMKCSAgS2VlcCB0cmFjayBvZiB0aGUgU0RFUyBvdXJzZWx2ZXMgYW5kIHNldCBpdCBvbiBhbGwgbmV3bHkgY3JlYXRlZAoJICBpbnRlcm5hbCBzb3VyY2VzLgoKMjAxMy0wNy0yNiAwMDo0ODoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogbWFrZSBtZXRob2QgdG8gbWFrZSBpbnRlcm5hbCBzb3VyY2VzCgkgIEFkZCBhIG1ldGhvZCB0byBvYnRhaW4gYW4gaW50ZXJuYWwgc291cmNlIGFuZCB1c2UgaXQgdG8gY3JlYXRlCgkgIG91ciBpbnRlcm5hbCBzb3VyY2UKCjIwMTMtMDctMjYgMDA6Mjk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHNlc3Npb246IGNvdW50IGludGVybmFsIHNvdXJjZXMgYW5kIGhvdyBtYW55IGFyZSBzZW5kZXJzCgoyMDEzLTA3LTI2IDAwOjE0OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogc2VwYXJhdGUgQllFIG1hcmtpbmcgYW5kIHNjaGVkdWxpbmcKCSAgRmlyc3QgbWFyayBzb3VyY2VzIHdpdGggQllFIGFuZCB0aGVuIHNjaGVkdWxlIHRoZSBCWUUgUlRDUCBtZXNzYWdlLgoKMjAxMy0wNy0yNSAyMzo1Njo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2V0IFNTUkMgZnJvbSBSVENQIHBhY2tldCBpdHNlbGYKCSAgR2V0IHRoZSBTU1JDIGZyb20gdGhlIFJUQ1AgcGFja2V0IGluc3RlYWQuCgoyMDEzLTA3LTI1IDIzOjUxOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBmaXggYmFuZHdpZHRoIGNhbGN1bGF0aW9uCgkgIFdlIGl0ZXJhdGUgb3ZlciBhbGwgc291cmNlcyBhbmQgdGhlIGludGVybmFsIG9uZSBpcyBhbHNvIGluIHRoZQoJICBoYXNodGFibGUgc28gYXZvaWQgYWRkaW5nIGl0IHR3aWNlLgoKMjAxMy0wNy0yNSAyMzozODowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIHNvbWUgZG9jcwoKMjAxMy0wNy0yNSAyMzoxMTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogUmVhcnJhbmdlIFJUQ1AgcmVwb3J0aW5nIGEgbGl0dGxlCgkgIE1ha2UgYSBmdW5jdGlvbiB0byBnZW5lcmF0ZSBhbiBSVENQIHBhY2tldCBmb3IgYSBzb3VyY2UsIHBhc3MgdGhlIHNvdXJjZSBhcyBhCgkgIHBhcmFtZXRlci4KCSAgTW92ZSB0aW1lb3V0IG9mIGNvbGxpc2lvbnMgdG8gc2Vzc2lvbiBjbGVhbnVwIHBoYXNlLgoKMjAxMy0wNy0yNSAyMjozOTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogbW92ZSBjaGVjayBmb3IgaXNfZWFybHkgYXJvdW5kCgkgIE1vdmUgdGhlIGNoZWNrIGZvciB0aGUgZWFybHkgUlRDUCB0byB3aGVyZSBpdCBpcyBuZWVkZWQgYW5kIHVzZWQuCgoyMDEzLTA3LTI1IDE3OjM1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBwYXJzZSBwYWNrZXQgb3V0c2lkZSBvZiB0aGUgc2Vzc2lvbiBsb2NrCgoyMDEzLTA3LTI1IDE3OjM0OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBkbyBuaWNlciBjaGVja3MgZm9yIGludGVybmFsIHNvdXJjZXMKCjIwMTMtMDctMjUgMTc6MTU6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzZXNzaW9uOiBsZXQgc291cmNlIGtlZXAgdHJhY2sgaWYgaXQgc2VudCBCWUUKCjIwMTMtMDctMjUgMTc6MDY6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgc291cmNlOiByZXNldCBtb3JlCgoyMDEzLTA3LTI1IDE2OjQ5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc291cmNlOiBhbHNvIHVzZSB0aGUgc291cmNlIGZvciBieWVfcmVhc29uCgkgIFN0b3JlIHRoZSBCWUUgcmVhc29uIGluIG91ciBpbnRlcm5hbCBzb3VyY2Ugb2JqZWN0LiBSZW5hbWUgdGhlIG1ldGhvZHMgb24gdGhlCgkgIHNvdXJjZSBvYmplY3QgYSBsaXR0bGUgYmVjYXVzZSBub3cgdGhlIEJZRSBjYW4gYmUgcmVjZWl2ZWQgaW4gUlRDUCBvcgoJICBzZXQgd2hlbiB0aGUgc2Vzc2lvbiB3YW50cyB0byBzZW5kIEJZRS4KCjIwMTMtMDctMjUgMTY6MjQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzZXNzaW9uOiBjb25maWd1cmUgc2RlcyB3aXRoIHN0cnVjdHVyZSBvbmx5CgkgIFJlbW92ZSBjb2RlIHRvIGNvbmZpZ3VyZSB0aGUgU0RFUyB3aXRoIG1ldGhvZHMgYW5kIHR5cGVzLCBvbmx5CgkgIGFsbG93IGNvbmZpZ3VyYXRpb24gd2l0aCBHc3RTdHJ1Y3R1cmUKCjIwMTMtMDctMjUgMTU6NTY6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlZmFjdG9yIGFkZCBhbmQgZmluZCBzb3VyY2UKCSAgTWFrZSBmdW5jdGlvbnMgdG8gZmluZCBhbmQgYWRkIGEgc291cmNlIHRvIHRoZSBoYXNodGFibGUuCgoyMDEzLTA3LTI1IDE1OjQzOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogcmVtb3ZlIHNvdXJjZSBmcm9tIHN5bmNfcnRjcAoJICBXZSBkb24ndCBuZWVkIHRvIGtub3cgdGhlIHNlbmRlciBzb3VyY2Ugb2YgdGhlIHNlc3Npb24gaW4gdGhlCgkgIGNhbGxiYWNrLCB0aGUgU1IgcGFja2V0IGlzIGZvciBhbGwgcGFydGljaXBhbnRzIGluIHRoZSBzZXNzaW9uLgoKMjAxMy0wNy0yNCAxNDoxODoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTMtMDctMTUgMTc6MTE6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBhbGxvdyBjb252ZXJzaW9uIGZyb20gQURUUyB0byByYXcgQUFDCgkgIFNvbWUgbXV4ZXJzIChlZywgcXRtdXgpIG9ubHkgc3VwcG9ydCByYXcgQUFDLCBzbyB0aGlzIGFsbG93cyBsaW5raW5nCgkgIGFuIGVuY29kZXIgdGhhdCBvdXRwdXRzIEFEVFMgb25seSB0byB0aG9zZSBtdXhlcnMuCgkgIFRoZSBjb252ZXJzaW9uIGlzIHNpbXBsZSAob21pdCB0aGUgZmlyc3QgNyBvciA5IGJ5dGVzIG9mIHRoZSBmcmFtZSksCgkgIGJ1dCBoYXMgdG8gYmUgZG9uZSBpbiBwcmVfcHVzaCBpbnN0ZWFkIG9mIGhhbmRsZV9mcmFtZSBhcyAxLjAgZG9lcwoJICBub3Qgc2VlbSB0byBhbGxvdyBza2lwcGluZyBieXRlcyB0aGVyZSBhcyAwLjEwIHVzZWQgdG8uCgkgIE90aGVyIGNvbnZlcnNpb25zIGFyZSBub3Qgc3VwcG9ydGVkICh5ZXQpLgoKMjAxMy0wNy0xNSAxNzoxNTo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggb2JqZWN0X3R5cGUgcGFyc2luZyBvZmYtYnktb25lIGluIEFEVFMgZnJhbWUKCSAgQWNjb3JkaW5nIHRvIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPUFEVFMsCgkgIHRoZSB2YWx1ZSBzdG9yZWQgaW4gQURUUyBoZWFkZXJzIGlzIG9uZSBsZXNzIHRoYW4gdGhlIG9iamVjdAoJICB0eXBlIG9mIHRoZSBBQUMgc3RyZWFtLgoJICBBIGxvb2sgYXQgZmZtcGVnIHNob3dzIGl0IGFsc28gYWRkcyAxIHRvIHRoZSB2YWx1ZSByZWFkIG9mZgoJICB0aGUgQURUUyBoZWFkZXIuCgkgIE5vdGUgdGhhdCB0aGlzIG1pZ2h0IGJyZWFrIG90aGVyIHRoaW5ncyB0aGF0IGhhcHBlbiB0byBoYXZlCgkgIGFuIGludmVyc2Ugb2ZmIGJ5IG9uZSB0byBtYXRjaCB0aGUgZXhpc3RpbmcgY29kZS4KCjIwMTMtMDctMjUgMTE6MTM6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBzZXFudW0gaGFuZGxpbmcgZm9yIHNlZWtzCgkgIFVzZSB0aGUgc2FtZSBzZXFudW0gYXMgdGhlIHNlZWsgZm9yIGZsdXNoZXMvc2VnbWVudHMgdGhhdCBhcmUKCSAgY2F1c2VkIGJ5IHRoZSBzZWVrLiBBbHNvIGRvIHRoZSBzYW1lIGZvciBzZWdtZW50IGV2ZW50cwoJICBGaXhlcyAjNjc2MjQyCgoyMDEzLTA3LTI1IDAxOjM5OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzZXFudW0gaGFuZGxpbmcgZm9yIHNlZWtzCgkgIFVzZSB0aGUgc2FtZSBzZXFudW0gYXMgdGhlIHNlZWsgZm9yIGZsdXNoZXMvc2VnbWVudHMgdGhhdCBhcmUKCSAgY2F1c2VkIGJ5IHRoZSBzZWVrLiBBbHNvIGRvIHRoZSBzYW1lIGZvciBzZWdtZW50IGV2ZW50cwoJICBGaXhlcyAjNjc2MjQyCgoyMDEzLTA3LTI1IDAxOjExOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29ycmVjdGx5IGhhbmRsZSBzZXFudW0gZm9yIHNlZWtzIGFuZCBzZWdtZW50cwoJICBVc2UgdGhlIHNhbWUgc2VxbnVtIG9uIG1lc3NhZ2VzIGFuZCBldmVudHMgZm9yIGRlcml2ZWQgZXZlbnRzLgoJICBGaXhlZCBmb3IgZmx1c2hlcyAvIHN0cmVhbS1zdGFydCAvIHNlZ21lbnQgYWZ0ZXIgYSBzZWVrLCBhbmQgc2VnbWVudAoJICBhZnRlciBhIHNlZ21lbnQuCgkgIEZpeGVzICM2NzYyNDIKCjIwMTMtMDctMTIgMjA6MDE6NDIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGFsd2F5cyBpZ25vcmUgSEVBRCBlcnJvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI0MQoKMjAxMy0wNy0yNSAxNDoyNjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBDbGVhbiB1cCByZXNldC9zdGFydC9zdG9wIGhhbmRsaW5nCgoyMDEzLTA3LTI1IDE0OjEzOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogVXNlIGJhc2UgY2xhc3MgZXJyb3IgaGFuZGxpbmcgZnVuY3Rpb24gaW5zdGVhZCBvZiByZXBsaWNhdGluZyBpdCBoZXJlCgoyMDEzLTA3LTI1IDE0OjEyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IENsZWFuIHVwIGhhbmRsaW5nIG9mIHJlc2V0L3N0YXJ0L3N0b3AKCjIwMTMtMDctMjUgMTA6NDE6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0xLnRhZzoKCSogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0yLnRhZzoKCSogdGVzdHMvZmlsZXMvaWQzLTQ0NzAwMC13Y29wLnRhZzoKCSAgdGVzdHM6IGZpeCB0ZXN0IElEMyB0YWdzIHVwIG5vdCB0byByZWx5IG9uIGRvZGd5IHR5cGVmaW5kaW5nIGNvZGUKCSAgQ2hhbmdlIDB4ZmYgMHhmYiAnbXAzJyBtYXJrZXIgdG8gJ2ZMYUMnIG1hcmtlciwgc28gd2UgY2FuIGZpeAoJICB0aGUgdHlwZWZpbmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTM2OAoKMjAxMy0wNy0yNSAwODoyMjo0NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogaW50ZXJzZWN0IHRoZSBwcm9iZWQgY2FwcyB3aXRoIHRoZSBmaWx0ZXIgcGFzc2VkIHRvIGdldF9jYXBzKCkKCjIwMTMtMDctMjQgMTQ6MTc6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgYmluOiBmaXggY29tcGlsYXRpb24KCjIwMTMtMDctMjQgMTI6NDI6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGZpeCBVWVZQIGZvcm1hdAoKMjAxMy0wNy0yNCAxMjo0MTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2cmF3cGF5OiBmaXggVVlWUCBmb3JtYXQKCjIwMTMtMDctMjQgMTI6NDE6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogZml4IGNhcHMKCjIwMTMtMDctMjQgMTA6NDk6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggbG9ja2luZwoJICBUYWtlIHRoZSBsb2NrIGVhcmxpZXIgc28gdGhhdCB3ZSBkbyB0aGluZ3MgdGhhdCBmb2xsb3cgd2l0aCB0aGUgcmlnaHQKCSAgbG9ja2luZy4KCjIwMTMtMDctMjMgMTc6NDA6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IHVzZSBpbnZhbGlkIHRpbWVzIGluIFJUQ1AgdGltZW91dHMKCSAgQW4gaW52YWxpZCB0aW1lb3V0IGNhbiBiZSBjYWxjdWxhdGVkIHdoZW4gd2UgZGlzYWJsZWQgUlRDUCBieSBzZXR0aW5nIHRoZQoJICBiYW5kd2lkdGggdG8gMC4gTWFrZSBzdXJlIGFsbCBjb2RlIGNhbiBoYW5kbGUgdGhpcyBjYXNlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NjI2CgoyMDEzLTA3LTIzIDE3OjM4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBsb2NrIHNlc3Npb24gd2hlbiBjaGFuZ2luZyBiYW5kd2lkdGgKCSAgVGFrZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2hhbmdpbmcgdGhlIGJhbmR3aWR0aCBwcm9wZXJ0aWVzIHNvIHRoYXQgd2UgZG9uJ3QKCSAgZW5kIHVwIHdpdGggaW5jb25zaXN0ZW50IGJlaGF2aW91ci4KCjIwMTMtMDctMjMgMTc6Mzc6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlc2V0IHNvbWUgUlRDUCB2YXJpYWJsZXMKCSAgVGhlIGVhcmx5X3NlbmQgdGltZSB3YXMgc2V0IHRvIDAgYW5kIGFsd2F5cyB0cmlnZ2VyaW5nIGFuIGVhcmx5IFJUQ1AgcGFja2V0LgoKMjAxMy0wNy0yMyAxNTowMzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIGFsbCB0aGUgbXBlZyBYRENBTSB2YXJpYW50cwoJICBUaGlzIHNob3VsZCBjb3ZlciBhbGwga25vd24gWERDQU0gdmFyaWFudHMgKHdoaWNoIGFyZSBhbGwgbXBlZzIgdmlkZW8pCgkgIEZpeGVzICM2NzIyMjcKCjIwMTMtMDctMDMgMTg6NDE6NDIgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGRlZCBjdXN0b20gZG93bnN0cmVhbSBzeW5jIGV2ZW50CgkgIHJ0cGJpbiBjYW4gbm93IHNlbmQgYSBjdXN0b20gaW4tYmFuZCBkb3duc3RyZWFtIGV2ZW50IHdoaWNoIGluZm9ybXMKCSAgZG93bnN0cmVhbSB0aGF0IHRoZSBiaW4gaGFzIHJlY2VpdmVkIGFuIFJUQ1AgU1IgcGFja2V0LiBUaGlzIGlzIHVzZWZ1bAoJICBmb3IgYXBwbGljYXRpb25zIHdoaWNoIHdhbnQgdG8gZHJvcCB0aGUgaW5pdGlhbCB1bnN5bmNocm9uaXplZCByZWNlaXZlZAoJICBSVFAgcGFja2V0cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzU2MAoJICBTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoyMDEzLTA3LTIyIDE4OjAwOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IG9uLXRoZS1mbHkgY2hhbmdpbmcgb2YgIm1vZGUiIGFuZCAiZmllbGRzIiBwcm9wZXJ0aWVzCgkgIFdlIGNhbGwgc2V0Y2FwcygpIHRvIHJlY29uZmlndXJlIG91cnNlbHZlcywgYnV0IHdlIG5lZWQgdG8gcGFzcwoJICB0aGUgY3VycmVudCAqc2luayogY2Fwcywgbm90IHRoZSBzb3VyY2UgY2FwcyB0aGVuLiBBbHNvIGZpeCBhCgkgIGNhcHMgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTU5OQoKMjAxMy0wNy0yMiAxNToyMzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMTkgMjI6NTk6MTUgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IHVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGUqX3JvdW5kLgoJICBUaGVyZSBjb3VsZCBiZSBhIGNhc2Ugd2hlcmU6CgkgIDEpIHlvdSBkbyBhIG5ldyBzZXRfY2FwcyBhZnRlciBidWZmZXJzIGhhdmUgYmVlbiBwcm9jZXNzZWQuCgkgIDIpIHRzX29mZnNldCBnZXRzIHNldCB0byBhIGRpZmZlcmVudCB2YWx1ZSwgZWcgMC4wMzMzMzMzMzMKCSAgMykgeW91ciBwYWRzIGdldCBFT1MsIGJ1dCB0aGUgY2hlY2sgZG9yIHRoYXQgZG9lc24ndCB3b3JrCgkgIGJlY2F1c2UgeW91IHVzZSB0c19vZmZzZXQgKyBhIHRydW5jYXRlZCB2YWx1ZSA8IHNlZ21lbnQuc3RvcAoJICA0KSBzbyBpbiB0aGUgbmV4dCBjb2xsZWN0ZWQsIHlvdSBlbmQgdXAgY29tcGFyaW5nIGZvciBleGFtcGxlOgoJICAwLjk5OTk5OTk5OTkgPiAxLiwgd2hpY2ggaXMgZmFsc2UgYW5kIG1lYW5zIHlvdSBkb24ndCBzZW5kIEVPUy4KCSAgQWxzbyBhZGRzIHNjYWxlX3JvdW5kIGluIHR3byBvdGhlciBwbGFjZXMgd2hlcmUgaXQgcG90ZW50aWFsbHkgY291bGQKCSAgaGF2ZSBjYXVzZWQgcHJvYmxlbXMuCgoyMDEzLTA3LTE1IDE3OjU1OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogQWRkIFdSTEUgc3VwcG9ydAoKMjAxMy0wNy0xOSAxOTozNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBtYWtlIGZpbGVzIGZyb20gVml2b3RlayBjYW1lcmEgcGxheQoJICBTa2lwIHRyYWNrcyBvZiAndml2bycgc3VidHlwZSB3aXRoIGVtcHR5IHN0c2QgaW5zdGVhZCBvZgoJICBlcnJvcmluZyBvdXQgc2F5aW5nIHRoYXQgdGhlIGZpbGUgaXMgYnJva2VuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkxCgoyMDEzLTA3LTE5IDE3OjE0OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHdoZW4gc3RyZWFtaW5nIGRvbid0IHRyeSB0byBzZWVrIHdoZW4gc3RvcHBpbmcKCSAgSXQgbWlnaHQgY2F1c2UgZXJyb3JzIGluIHNpbmtzIHRoYXQgYXJlIG5vdCBzZWVrYWJsZSBhbmQKCSAgaGF2ZSByZXBvcnRlZCB0aGlzIChsaWtlIGUuZy4gZmRzaW5rKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjI4CgoyMDEzLTA3LTE5IDE3OjI2OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IHNvbWUgaGVscGVycwoJICBTb21lIGhlbHBlciBmdW5jdGlvbnMgYXJlIG5vdCBuZWVkZWQgYW55bW9yZSBvciBjYW4gYmUgc2ltcGxpZmllZC4KCjIwMTMtMDctMTkgMTc6MTI6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZm9yIG5vbi1yYXcgdmlkZW8sIG1vdmUgcGFsZXR0ZSBpbiBjYXBzCgkgIFdlIG9ubHkgbmVlZCB0byBhcHBlbmQgdGhlIHBhbGV0dGUgdG8gcmF3IHZpZGVvIGJ1ZmZlcnMsIG5vbi1yYXcgdmlkZW8gaGFzIHRoZQoJICBwYWxldHRlIGluIHRoZSBjYXBzIHN0aWxsLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjkyCgoyMDEzLTA3LTE5IDAxOjQ5OjIwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBuaXRwaWNraW5nIGluIGVzZHMgcGFyc2luZwoKMjAxMy0wNy0xOSAwMTo0OTowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHByb3BlciBjYXBzIGZvciBtcGVnLTEgYXVkaW8KCSAgUmVtb3ZlIEFBQyBzcGVjaWZpYyBmaWVsZHMgZnJvbSBtcGVnLTEgYXVkaW8gY2FwcywgcmVtb3ZlIGFzc3VtcHRpb24KCSAgdGhhdCB0aGUgbXBlZzEgYXVkaW8gbGF5ZXIgaXMgMywgYW5kIHNldCBgcGFyc2VkJyBmaWVsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDU0OAoKMjAxMy0wNi0xNyAyMToyNzozNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJICB2cHg6IGZpeCBjb21waWxhdGlvbiB3aGVuIGVuY29kZXIgb3IgZGVjb2RlciBoZWFkZXJzIGFyZSBub3QgaW5zdGFsbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1NDcKCjIwMTMtMDctMTYgMjA6NDE6MTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEZpeCB1bml0IGZvciBHUkFZMTYgZm9ybWF0cwoKMjAxMy0wNy0xNiAyMjoxNzoxNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGNoYXB0ZXIgc3RyZWFtCgkgIFJlbW92ZSBhbGwgc3RyZWFtcyB0aGF0IGFyZSBhY3R1YWxseSB0YWJsZSBvZiBjb250ZW50cywgc2luY2Ugd2Ugd2lsbAoJICBuZXZlciBuZWVkIHRoZSBkYXRhIGFmdGVyIHBhcnNpbmcgdGhlbS4KCjIwMTMtMDctMTYgMjE6NTk6MzcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNlbmQgZ2FwIGV2ZW50IGZvciBzcGFyc2Ugc3RyZWFtcyBpbiBwdXNoIG1vZGUKCSAgVGhpcyBhbGxvd3MgdG8gcHJlLXJvbGwgYXQgbGVhc3QgaWYgdGhlIG5leHQgc3VidGl0bGUgYnVmZmVyCgkgIGlzIGZhciBhd2F5LgoKMjAxMy0wNy0xNiAyMTo1NjowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IHVzZSBpbmRleGVzIGZyb20gc3BhcnNlIHN0cmVhbSB3aGVuIHNlZWtpbmcgaW4gcHVzaCBtb2RlCgkgIFRoaXMgbWFrZXMgc2Vla2luZyBtb3JlIGFjY3VyYXRlIGluIHB1c2ggbW9kZSwgc2luY2UgdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lIG9uIGEgc3BhcnNlIHN0cmVhbSBtaWdodCBiZSBmYXIgYXdheS4KCjIwMTMtMDctMTYgMjE6MDQ6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkdmVydGlzZSBzdWJ0aXRsZSBzdHJlYW1zIGFzIHNwYXJzZQoKMjAxMy0wNy0xNyAxNzoxMTo0NCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWFzdHJva2FkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgVW5zZXQgdGhlIGRpc2NvbnQgZmxhZyBpbnN0ZWFkIG9mIHBvc3NzaWJseSBwdXNoaW5nIGEgYnVmZmVyIHdpdGgKCSAgYSBmbGFnIHRoYXQncyBzdGlsbCBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDctMTcgMTU6MTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCB0aGUgcGFsZXR0ZSBmcm9tIHN0c2QKCSAgU29tZXRpbWVzIGEgcGFsZXR0ZSBpcyBpbnNpZGUgdGhlIHN0c2QsIGV4dHJhY3QgaXQgaW5zdGVhZCBvZiBhbHdheXMgdXNpbmcKCSAgdGhlIGRlZmF1bHQgb25lCgoyMDEzLTA3LTE3IDE0OjMwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IEZpeCBldmVudCBoYW5kbGluZyBhbmQgbmVnb3RpYXRlIGFzIHNvb24gYXMgcG9zc2libGUKCjIwMTMtMDctMTcgMTQ6Mjc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogRml4IGV2ZW50IGhhbmRsaW5nIGFuZCBuZWdvdGlhdGUgYXMgc29vbiBhcyBwb3NzaWJsZQoKMjAxMy0wNy0xMSAxOTo0NToxNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiB3YXJuIGFib3V0IHRoZSBmdXR1cmUgZGVwcmVjYXRpb24gb2YgdGhlICJlbWJlZCIgcHJvcGVydHkKCjIwMTMtMDctMTcgMDk6NTY6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIFdSQVcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI5MgoKMjAxMy0wNy0xNyAwOTo1NDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYWxldHRlIGlzIGFwcGVuZGVkIHRvIGJ1ZmZlcnMsIG5vdCBpbiBjYXBzCgkgIEZpeCB0aGUgcGFsZXR0ZSBoYW5kbGluZywgaW4gMS4wIHdlIGFwcGVuZCB0aGUgcGFsZXR0ZSB0byB0aGUgYnVmZmVyIGluc3RlYWQgb2YKCSAgcGxhY2luZyBpdCBvbiB0aGUgY2Fwcy4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI5MgoKMjAxMy0wNy0xNiAxNTozNzo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cDogVXNlIGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyX2Zhc3QoKSB3aGVyZSBwb3NzaWJsZSBpbiBSVFAgcGF5bG9hZGVycwoKMjAxMy0wNy0xNSAxNjoyNDowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzZXQgc2VnbWVudCBvbiBmbHVzaCBzdG9wCgkgIGNjYTJmNTU1ZDE0IGludHJvZHVjZXMgYSByZWdyZXNzaW9uLCB3aGVyZSB0aGUgZGVtdXggc2VnbWVudCBpcyBub3QKCSAgcmVzZXQgb24gZmx1c2ggc3RvcCwgc28gdGhlIG5leHQgdXBzdHJlYW0gc2VnbWVudCBldmVudCB3aWxsIGNhbGN1bGF0ZQoJICBhbiBpbnZhbGlkIGJhc2UgdGltZSBvbiB0aGUgbmV3IHNlZ21lbnQgdG8gYmUgc2VudCBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjU1CgoyMDEzLTA3LTA2IDE3OjIwOjQ5ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBvZmZzZXQgc2FtcGxlcyBhY2NvcmRpbmcgdG8gZWRpdCBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyNjQKCjIwMTMtMDctMTQgMTI6NTA6MTMgKzEyMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BoYWxvLmdlbi5uej4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgbGV2ZWw6IEZpeCB0aGUgc3BlY3RydW0gZXhhbXBsZSBmb3IgMS4wCgkgIFRoZSAibWVzc2FnZSIgcHJvcGVydHkgaGFzIGJlZW4gcmVwbGFjZWQgYnkgInBvc3QtbWVzc2FnZXMiLgoJICBQcmUtcGF0Y2ggb3V0cHV0OgoJICAodGVzdF9zcGVjdHJ1bToyMzEwMSk6IEdMaWItR09iamVjdC1XQVJOSU5HICoqOiBnX29iamVjdF9zZXRfdmFsaXN0OgoJICBvYmplY3QgY2xhc3MgYEdzdFNwZWN0cnVtJyBoYXMgbm8gcHJvcGVydHkgbmFtZWQgYG1lc3NhZ2UnCgkgIE5ldyBzcGVjdHJ1bSBtZXNzYWdlLCBlbmR0aW1lIDA6MDA6MDAuMTAwMDAwMDAwCgkgICh0ZXN0X3NwZWN0cnVtOjIzMTAxKTogR1N0cmVhbWVyLUNSSVRJQ0FMICoqOgoJICBnc3RfdmFsdWVfbGlzdF9nZXRfdmFsdWU6IGFzc2VydGlvbiBgR1NUX1ZBTFVFX0hPTERTX0xJU1QgKHZhbHVlKScgZmFpbGVkCgkgIFsuLi5dCgkgIFBvc3QtcGF0Y2g6CgkgIE5ldyBzcGVjdHJ1bSBtZXNzYWdlLCBlbmR0aW1lIDA6MDA6MDAuMTAwMDAwMDAwCgkgIGJhbmQgMCAoZnJlcSA0MDApOiBtYWduaXR1ZGUgLTY1Ljk4ODc3NyBkQiBwaGFzZSAxLjUzMzM5NwoJICBiYW5kIDEgKGZyZXEgMTIwMCk6IG1hZ25pdHVkZSAtNjUuNTQ1NTYzIGRCIHBoYXNlIC0wLjc4MDkwMAoJICBiYW5kIDIgKGZyZXEgMjAwMCk6IG1hZ25pdHVkZSAtNjQuNzkxOTQ2IGRCIHBoYXNlIC0wLjc5OTYxMQoJICBiYW5kIDMgKGZyZXEgMjgwMCk6IG1hZ25pdHVkZSAtNjQuNTU2MTc1IGRCIHBoYXNlIC0wLjA2MzYxNQoJICBbLi4uXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MTc5CgoyMDEzLTA3LTEzIDIwOjU2OjI2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYmUgbGVzcyB2ZXJib3NlIHdoZW4gcGFyc2luZyBMT0FTIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDE2MgoKMjAxMy0wNy0xMiAxMjozMTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgc2luazogYWxhdy9tdWxhdyBjYXBzIGRvbid0IGhhdmUgYSBsYXlvdXQgcHJvcGVydHkKCjIwMTMtMDctMTIgMTI6Mjc6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiByZWxheCBtdWxhdyBhbmQgYWxhdyBmb3JtYXQgY2hlY2tzCgkgIFRoZSBhdWRpbyBsaWJyYXJ5IGNvbnNpZGVycyB0aGVtIGFzIGVuY29kZWQgZm9ybWF0cyBhbmQgZG9lcyBub3QgZmlsbCBpbiB0aGUKCSAgc2FtcGxlIHdpZHRoLiBUaGUgYXVkaW8gcmluZ2J1ZmZlcnMgaWRlbnRpZmllcyB0aGUgZm9ybWF0IGFzIGFsYXcvbXVsYXcgYW5kIHRoYXQKCSAgaXMgYWx3YXlzIDggYml0cy4KCjIwMTMtMDctMTEgMTY6MTM6MDUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IHVuc2VsZWN0IGluc3RlYWQgb2YgaWdub3JpbmcgZGlzYWJsZWQgdHJhY2ssIGRldGVjdCBjaGFwdGVyIHRyYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQwMDcKCjIwMTMtMDctMTEgMjA6NDE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBpZ25vcmUgZXJyb3JzIGZyb20gSEVBRCByZXF1ZXN0CgkgIEhFQUQgcmVxdWVzdHMgYXJlIHVzZWQgdG8gY2hlY2sgdGhlIHNlcnZlciBoZWFkZXJzIHRvIHNlZSBpZiBpdAoJICBzZWVrYWJsZS4gSWdub3JlIGVycm9ycyBmcm9tIHRob3NlIHJlcXVlc3RzIGFzIHRoZXkgc2hvdWxkbid0IGJlCgkgIGNyaXRpY2FsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDUzCgoyMDEzLTA3LTEyIDAzOjI0OjA4ICswODAwICBLeW9zdWtlIE5la29tdXJhIDxzdXBlcmNhdGV4cGVydEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBGaXggaGFuZGxpbmcgb2YgZGVsYXkgcHJvcGVydHkgaW4gUExBWUlORy9QQVVTRUQgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzkwMQoKMjAxMy0wNy0wOSAxNzo1Njo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEVuYWJsZSBwcm94eSBjYXBzIG9uIHRoZSBzcmMgcGFkcwoKMjAxMy0wNy0xMSAxNjo1NzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMiA9PT0KCjIwMTMtMDctMTEgMTU6NTg6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMgoKMjAxMy0wNy0xMSAxNTo1ODoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMDkgMTU6MzQ6MDQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBkZWZlciB0aGUgd2luZG93IGhhbmRsZSBzZXR1cCB0byB0aGUgbWFpbiB0aHJlYWQKCjIwMTMtMDctMDkgMTU6MzM6MTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmYXVsdCB0byB0aGUgbWFpbiBpbiBjYXNlIHdlIGFyZSBub3Qgc2V0dXAgeWV0CgoyMDEzLTA3LTA3IDIyOjE2OjA1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGNsb3NlIHRoZSBpbnRlcm5hbCB3aW5kb3cgY29ycmVjdGx5CgoyMDEzLTA3LTA3IDIxOjE0OjIyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogb25seSBjcmVhdGUgdGhlIE5TIGFwcCB0aHJlYWQgZm9yIENvY29hIG9uY2UKCSAgVGhlIGhlbHBlciB0aHJlYWQgZm9yIENvY29hLCBpbiBjYXNlIG5vIE5TIHJ1biBsb29wIGlzIHJ1bm5pbmcsCgkgIHNob3VsZCBiZSBzdGFydGVkIG9ubHkgb25jZSBhbmQgc2hhcmVkIGFjcm9zcyBhbGwgdGhlIGluc3RhbmNlcwoJICBydW5uaW5nCgoyMDEzLTA3LTA5IDE5OjEwOjE3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvcnJlY3QgYXJndW1lbnQgb3JkZXIgaW4gZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludF9yb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzUwCgoyMDEzLTA3LTA5IDE3OjQyOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogS2VlcCBjYXBzIG9yZGVyIGZyb20gdGhlIHBlZXIgb3IgdGhlIGZpbHRlcgoKMjAxMy0wNy0wOSAxMjo0MjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IGhhbmRsaW5nIG9mIGJ1ZmZlcnMgd2l0aG91dCBhIGR1cmF0aW9uCgkgIFdlJ2xsIGhhdmUgdG8gcG9wIGJ1ZmZlciBmcm9tIGNvbGxlY3RwYWRzIGFuZCBzdG9yZSBpdAoJICBpbnRlcm5hbGx5IG9ubHkgdG8gZ2V0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIG5leHQgYnVmZmVyLgoJICBJZiB3ZSBjb250aW51ZSB0byBrZWVwIGl0IGluIGNvbGxlY3RwYWRzLCBubyBuZXcgYnVmZmVyCgkgIHRvIGNhbGN1bGF0ZSB0aGUgZW5kIHRpbWUgd2lsbCBldmVyIGFycml2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc0MwoKMjAxMy0wNy0wOSAxMTo1MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IG5lZ290aWF0aW9uIHdpdGggMC8xIGZyYW1lcmF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc0MwoKMjAxMy0wNy0wOSAxMToxNzo1OSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVW5sb2NrIHN0cmVhbSBsb2NrIGFmdGVyIHVzZQoJICBTdHJlYW0gbG9jayBvZiBzaW5rIHBhZCB3YXMgbm90IHVubG9ja2VkIGFmdGVyIG5vbi11cGRhdGluZyBzZWVrLgoKMjAxMy0wNi0yNyAxMzoyNjozMSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydG11eDogUmUtc2V0IG5lZWRfc2VnbWVudCBmbGFnIGFmdGVyIEZMVVNIX1NUT1AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzE4MgoKMjAxMy0wNy0wNSAxMTo1MTowNCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBidWZmZXJwb29sOiBkb24ndCBmb3JnZXQgdG8gcmVsZWFzZSBidWZmZXIgb24gZXJyb3IKCSAgSWYgdGhlIHBvb2wgaXMgc3RvcHBlZCB3aGlsZSBnc3RfdjRsMl9idWZmZXJfcG9vbF9kcWJ1ZigpIHdhaXRzIGZvciBhCgkgIGJ1ZmZlciB0aGVuIHRoZSByZXR1cm4gdmFsdWUgaXMgR1NUX0ZMT1dfRkxVU0hJTkcuIEluIHRoaXMgY2FzZSB0aGUgYnVmZmVyCgkgIHRvIHF1ZXVlIG11c3QgYWxzbyBiZSByZWxlYXNlZC4gT3RoZXJ3aXNlIGlzIHdpbGwgbmV2ZXIgYmUgZGVsZXRlZCBvcgoJICByZXR1cm5lZCB0byBpdHMgcG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc2NAoKMjAxMy0wNy0wOCAxNDoxNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwOiBGYWlsIHBheWxvYWRpbmcgdW5pdCB0ZXN0IGlmIGFuIGVycm9yIG1lc3NhZ2UgaXMgcmVjZWl2ZWQKCjIwMTMtMDctMDggMTQ6MDk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IERvbid0IHBhc3MgdXBzdHJlYW0gZmlsdGVyIGNhcHMgdG8gZG93bnN0cmVhbQoJICBEb3duc3RyZWFtIHVzdWFsbHkgY2FuJ3QgYWNjZXB0IHZpZGVvL3gtaDI2MyBidXQgb25seSBhcHBsaWNhdGlvbi94LXJ0cCwKCSAgc28gd2Ugd291bGQgYWx3YXlzIGdldCBhbiBlbXB0eSBpbnRlcnNlY3Rpb24gaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjYzMgoKMjAxMy0wNy0wNSAyMjowMDozNyArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUy5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjg1CgoyMDEzLTA3LTAyIDExOjEzOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBzb21lIHN0cmR1cAoKMjAxMy0wNy0wMiAxMDozNzo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNlbGVjdC1zdHJlYW0gc2lnbmFsCgkgIEFkZCBhIHNpZ25hbCB0byBsZXQgdGhlIGFwcCBzZWxlY3Qgd2hhdCBzdHJlYW1zIHdpbGwgYmUgc2VsZWN0ZWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0NDE5CgoyMDEzLTA3LTAyIDEwOjM3OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBzdHJkdXAKCjIwMTMtMDctMDIgMTA6MTI6MTcgKzAyMDAgIEouIFJpY2sgUmFtc3RldHRlciA8cmljay5yYW1zdGV0dGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwOiBGaXggZG9jdW1lbnRhdGlvbiBhbmQgY29tbWVudHMgdG8gdXNlIHJ0cGJpbiBpbnN0ZWFkIG9mIG9sZCBnc3RydHBiaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQyNgoKMjAxMy0wNy0wMSAxNjo1NTowMSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRvbid0IGV4dHJhY3QgZGF0YSBmcm9tIGNhcHMgdHdpY2UKCSAgZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzKCkgYWx3YXlzIGV4dHJhY3Qgd2lkdGgsIGhlaWdodCwgaW50ZXJsYWNlIG1vZGUgYW5kCgkgIGZyYW1lcmF0ZSBub3cuIEl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gZG8gaXQgYWdhaW4gZm9yIGVuY29kZWQKCSAgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM5OQoKMjAxMy0wNi0yMCAwOTo0MTo0OCAtMDMwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhbHNvIGNvbnNpZGVyIHN0b3AgcG9zaXRpb25zIGluIHNlZWtzCgkgIFVzZSBzZWVrIHN0b3AgcG9zaXRpb24gYXMgcmFuZ2UgZW5kIGZvciByZXF1ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTA2LTE5IDE0OjA2OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWxsb3cgc2Vla3MgaW4gcmVhZHkKCSAgT24gaXNfc2Vla2FibGUsIGNoZWNrIGlmIHRoZSBzZXJ2ZXIncyBoZWFkZXJzIGhhdmUgYWxyZWFkeSBiZWVuCgkgIHJlY2VpdmVkLiBJZiBub3QsIGRvIGEgSEVBRCByZXF1ZXN0IHRvIGdldCB0aGVtIGJlZm9yZSByZXNwb25kaW5nCgkgIHRvIGJhc2VzcmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMDYKCjIwMTMtMDctMDEgMTc6Mjg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIHRoZSBTRFAKCSAgVGhpcyB3YXksIHRoZSBhcHAgY2FuIGxvb2sgYW5kIG1vZGlmeSB0aGUgU0RQLgoKMjAxMy0wNi0yMSAxODoxMDoyOCArMDIwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IEFsbG93IG5lZ2F0aXZlIG9mZnNldHMgdG8gc3BlY2lmeSBvZmZzZXQgZnJvbSBib3R0b20vcmlnaHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgyNgoKMjAxMy0wNi0zMCAyMTowMToyMCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb21wdXRlIGZyYW1lcmF0ZSBmcm9tIGF2ZXJhZ2Ugc2FtcGxlIGR1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNTAKCjIwMTMtMDYtMjUgMjE6MTY6MzggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQWRkIGZsdnZlcnNpb24gMSB0byB0aGUgZmxhc2gtdmlkZW8gY2FwcwoJICBUaGlzIGFsbG93cyB1c2luZyBhdmRlY19mbHYgd2hpY2ggcmVxdWlyZXMgdGhpcyBmaWVsZCB0byBiZQoJICBwcmVzZW50IGluIHRoZSBjYXBzLiBGTFYgb25seSBzdXBwb3J0cyBmbGFzaC12aWRlbyB2ZXJzaW9uIDEKCSAgcmlnaHQgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMDc2CgoyMDEzLTA3LTAxIDExOjM3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBEb24ndCBob2xkIG9iamVjdCBsb2NrIHdoaWxlIHNlbmRpbmcgZXZlbnRzIGRvd25zdHJlYW0KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzExNAoKMjAxMy0wNy0wMSAxMDo1OTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBNUEVHNCB2aWRlbyBwcm9maWxlL2xldmVsIHRvIHRoZSBjYXBzCgoyMDEzLTA3LTAxIDEwOjU2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWRkIEFBQyBwcm9maWxlL2xldmVsIHRvIHRoZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzMTIKCjIwMTMtMDYtMjggMTU6MjE6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICB2b3JiaXNwYXk6IGFkZCBzdXBwb3J0IGZvciBjb25maWctaW50ZXJ2YWwKCSAgQWxpZ24gY29kZSB3aXRoIHRoZSB0aGVvcmEgcGF5bG9hZGVyIGFuZCBhZGQgc3VwcG9ydCBmb3IgdGhlIGNvbmZpZy1pbnRlcnZhbCB0bwoJICBwZXJpb2RpY2FsbHkgc2VuZCBvdXQgdGhlIGNvbmZpZyBoZWFkZXJzLgoKMjAxMy0wNi0yOCAxNToyMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHRoZW9yYXBheTogc21hbGwgY2xlYW51cHMKCjIwMTMtMDYtMjggMTI6MDg6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IGhhbmRsZSBzdHJlYW1oZWFkZXJzIGFzIHdlbGwKCjIwMTMtMDYtMjggMTI6MDY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IGFsd2F5cyBjb2xsZWN0IGhlYWRlcnMgb24gZGF0YQoJICBXaGVuIHdlIHNlZSBhIGRhdGEgcGFja2V0LCBhbHdheXMgY2hlY2sgaWYgd2UgbmVlZCB0byBjb2xsZWN0IGFueSBwcmV2aW91cwoJICBoZWFkZXJzLgoKMjAxMy0wNi0yOCAxMTo0MzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHZvcmJpc3BheTogaGFuZGxlIHN0cmVhbWhlYWRlciBhcyB3ZWxsCgkgIFRha2UgY29uZmlnIHN0cmluZ3MgZnJvbSB0aGUgc3RyZWFtaGVhZGVyIHdoZW4gd2UgY2FuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQzMTIKCjIwMTMtMDYtMjcgMDc6NDA6MjkgKzAyMDAgIERhdmlkIFN2ZW5zc29uIEZvcnMgPGRhdmlkc2ZAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXZvaWQgZG91YmxlIGJ1ZmZlciB1bm1hcCBvbiBlcnJvcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMTcxCgoyMDEzLTA2LTI3IDE3OjAyOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldC1zeW5jIGJlZm9yZSBwbGF5CgkgIENhbGwgcmVzZXQtc3luYyBvbiB0aGUgcnRwYmluIGJlZm9yZSB3ZSBnbyB0byBwbGF5aW5nLiBUaGlzIG1ha2VzIHVzIHJlcXVpcmUgU1IKCSAgcGFja2V0cyBmb3IgYWxsIHN0cmVhbXMgYWdhaW4gYmVmb3JlIHdlIGF0dGVtcHQgdG8gc3luYyB0aGVtLiBJZiB3ZSBkb24ndCByZXNldCwKCSAgaXQgbWlnaHQgYmUgdGhhdCB3ZSBjb21iaW5lIFNSIHBhY2tldHMgZnJvbSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBQQVVTRS9QTEFZSU5HCgkgIHN0YXRlIGNoYW5nZSBhbmQgZW5kIHVwIHdpdGggaHVnZSBib2d1cyBvZmZzZXRzLgoKMjAxMy0wNi0yNyAxNjoyMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgc3luYyBvbiBmaXJzdCBwYWNrZXRzCgkgIERvbid0IHRocm93IGF3YXkgdGhlIGZpcnN0IFJUQ1AgcGFja2V0IGlmIGl0IGFycml2ZXMgYmVmb3JlIHRoZSBmaXJzdAoJICBSVFAgcGFja2V0IGJ1dCByZW1lbWJlciBhbmQgdXNlIGl0IHRvIHNpZ25hbCBzeW5jIG9uY2Ugd2UgZ2V0IHRoZQoJICBSVFAgcGFja2V0LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTQwMAoKMjAxMy0wNi0yNyAxNjoxNTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG9ubHkgc2lnbmFsIGxvb3Agd2hlbiBhY3RpdmUKCSAgT25seSBzaWduYWwgdGhlIGxvb3AgZnVuY3Rpb24gd2hlbiBpdCBpcyBhY3RpdmUuCgoyMDEzLTA2LTI3IDE2OjEzOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2lnbmFsIHRpbWVzdGFtcCBkaXNjb250CgkgIFdlIGNhbiBub3cgdXNlIHRoZSBSRVNZTkMgYnVmZmVyIGZsYWcgdG8gbWFyayBhIHRpbWVzdGFtcCBkaXNjb250IHdoZW4gd2UgdXBkYXRlCgkgIHRoZSB0cy1vZmZzZXQgcHJvcGVydHkuCgoyMDEzLTA2LTI2IDIwOjQ5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGpwZWdwYXk6IHR1cm4gc29tZSBlcnJvcnMgaW50byB3YXJuaW5ncwoJICBUdXJuIHNvbWUgZXJyb3JzIGludG8gd2FybmluZ3MsIHdlIGNhbiBjb250aW51ZSBwcm9jZXNzaW5nIHNvIHRoaXMgc2hvdWxkCgkgIG5vdCBiZSBmYXRhbC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA3OQoKMjAxMy0wNi0yNiAxNDo1ODo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhdm9pZCBzb21lIGZsdXNoZXMKCjIwMTMtMDYtMjYgMTQ6NDE6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBkYXRhIG1lc3NhZ2Ugd2hlbiB3YWl0aW5nIGZvciByZXBseQoJICBXaGVuIHdlIGFyZSB3YWl0aW5nIGZvciBhIHNlcnZlciByZXBseSwgaGFuZGxlIGRhdGEgbWVzc2FnZXMgaW5zdGVhZCBvZgoJICBpZ25vcmluZyB0aGVtLgoKMjAxMy0wNi0yNiAxNDoyNzozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIGRhdGEgbWVzc2FnZXMgaW4gc2VwYXJhdGUgbWV0aG9kCgkgIFJlZmFjdG9yIGFuZCBtYWtlIGEgbWV0aG9kIHRvIGhhbmRsZSBhIGRhdGEgbWVzc2FnZS4KCjIwMTMtMDYtMjUgMjA6MzY6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzb21lIG1vcmUgZG9jcyB0byBoYW5kbGUtcmVxdWVzdCBzaWduYWwKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MDUKCjIwMTMtMDYtMTAgMTc6MjA6MzAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFNlbmQgYSBjbG9ja19wcm92aWRlIG1lc3NhZ2Ugb24gdGhlIGJ1cyB3aGVuIHdlIGdldCBhIG5ldGNsb2NrCgoyMDEzLTA2LTEwIDE3OjIwOjE0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEV4cG9zZSB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCjIwMTMtMDYtMjQgMTc6MTE6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBiaW5kIHRvIHRoZSBnaXZlbiBpbnRlcmZhY2UKCSAgQWN0dWFsbHkgY2FsbCBCSU5EVE9ERVZJQ0UgdG8gYmluZCB0byB0aGUgaW50ZXJmYWNlIGFzIGdpdmVuIGJ5IHRoZQoJICBwcm9wZXJ0eS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgxOQoKMjAxMy0wNi0yMiAxMDo1OToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBFcnJvciBvdXQgZ3JhY2VmdWxseSBpZiB3ZSBnZXQgYW4gdW5zdXBwb3J0ZWQgY29sb3IgZm9ybWF0CgkgIEluIHRoZW9yeSB3ZSBjYW4gb25seSBnZXQgSTQyMCB0aG91Z2gsIGp1c3QgdG8gYmUgb24gdGhlIHNhZmUgc2lkZS4KCjIwMTMtMDYtMjIgMTA6NTc6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOTogQWRkIHN1cHBvcnQgZm9yIFlWMTIsIFk0MkIgYW5kIFk0NDQgY29sb3IgZm9ybWF0cwoJICBUaGUgZW5jb2RlciBkb2VzIG5vdCB3b3JrIHdpdGggWTQyQiBhbmQgWTQ0NCB5ZXQgaXQgc2VlbXMuCgoyMDEzLTA2LTIyIDEwOjI2OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IFVwZGF0ZSBkZWZhdWx0IHBvc3Rwcm9jIHNldHRpbmdzIGZyb20gdnA5X2R4X2lmYWNlLmMKCjIwMTMtMDYtMjEgMTM6MTE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thOiBBZGQgaW5pdGlhbCBWUDkgc3VwcG9ydAoKMjAxMy0wNi0yMSAxMzowNzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJKiBleHQvdnB4L3BsdWdpbi5jOgoJICB2cHg6IEFkZCBpbml0aWFsLCBleHBlcmltZW50YWwgVlA5IHN1cHBvcnQKCjIwMTMtMDYtMjEgMTA6MzI6MzAgKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aSBhdCBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGdvIGJhY2sgaW50byB0aGUgbG9vcCBhZnRlciBkb2luZyBwYXVzZQoJICBBZnRlciB3ZSBkbyBhIHBhdXNlIHJlcXVlc3QsIGdvIGJhY2sgdG8gbG9vcCBtb2RlIHNvIHRoYXQgd2UgY2FuIGxpc3RlbgoJICBmb3Igc2VydmVyIG1lc3NhZ2VzIGFnYWluLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcwNQoKMjAxMy0wNi0yMCAyMzoxNjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogV2FpdCBhZnRlciB0aGUgY2FwcyB0byBmb3J3YXJkIHRoZSBvdGhlciBldmVudHMKCSAgRmlyc3QgZm9yd2FyZCB0aGUgc3RyZWFtLXN0YXJ0LCB0aGVuIHRoZSBjYXBzLCB0aGVuIHRoZSByZXN0CgoyMDEzLTA2LTIxIDAwOjQyOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBjbGVhciBkdHMgb24gYnVmZmVyIGFjcXVpcmVkIGZyb20gcG9vbAoJICBXaGVuIHNldHRpbmcgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzLCBjbGVhciB0aGUKCSAgZHRzIGV4cGxpY2l0bHksIG90aGVyd2lzZSBpdCBtYXkgZW5kIHVwIGJlaW5nIHNldCB0byBhCgkgIGJvZ3VzIHZhbHVlIGZyb20gbGFzdCB0aW1lIGl0IHdhcyB1c2VkLiBBdm9pZHMgZXZlcnkKCSAgc2Vjb25kIG9yIHNvIGJ1ZmZlcidzIGR0cyBiZWluZyBzZXQgdG8gMC4gTm90IHRoYXQgaXQKCSAgc2hvdWxkIG1hdHRlciBmb3IgcmF3IHZpZGVvLgoKMjAxMy0wNi0yMCAxNTozNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogZG9uJ3QgcmVkZWZpbmUgdGhlIFBFUkZPUk1BTkNFIGRlYnVnIHZhcmlhYmxlCgkgIEl0IGlzIGFscmVhZHkgZGVmaW5lZCBpbiBjb3JlLgoJICBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzMyCgoyMDEzLTA2LTIwIDE0OjQzOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggcmFjZSBpbiBzdGF0ZSBjaGFuZ2UgdG8gcGF1c2VkCgkgIFdoZW4gd2UgZ28gdG8gcGF1c2VkLCB3ZSBmaXJzdCBmbHVzaCB0aGUgY29ubmVjdGlvbiBhbmQgdGhlbiBzZW5kIHRoZSBwYXVzZQoJICBjb21tYW5kLiBBcyBhIHJlc3VsdCBvZiB0aGUgZmx1c2hpbmcsIHRoZSBzY2hlZHVsZWQgcGF1c2VkIGNvbW1hbmQgY2FuIGdldAoJICBsb3N0LiBXYWl0IHVudGlsIHRoZSBjb25uZWN0aW9uIGlzIGNvbXBsZXRlbHkgZmx1c2hlZCBhbmQgdGhlIHJ0c3AgdGFzayBpcwoJICB3YWl0aW5nIGJlZm9yZSBpc3N1aW5nIHRoZSBwYXVzZWQgb3IgcGxheWluZyByZXF1ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzA1CgoyMDEzLTA2LTIwIDExOjMxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA2LTE5IDEyOjM3OjMxICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogT3B0aW1pemUgbmVnb3RpYXRpb24gYnkgcmVtb3ZpbmcgdGhlIHF1ZXJ5IGZpbHRlcgoJICBBcyBjYW1lcmFzIHRlbmQgdG8gaGF2ZSBhIHF1aXRlIHNwZWNpZmljIHNldCBvZiBjYXBhYmlsaXRpZXMgKHNwZWNpZmljCgkgIGZyYW1lcmF0ZXMgZm9yIGVhY2ggcmVzb2x1dGlvbiksIGdldHRpbmcgdGhlIHBlZXIgY2FwcyBmaWx0ZXJlZCBieSBvdXIKCSAgcHJvYmVkIGNhcHMgY2FuIGNhdXNlIGEgYmlnIGluY3JlYXNlIGluIHRoZSBjYXBzIHNpemUgd2hpY2ggc2xvd3MgZG93bgoJICB0aGluZ3MgcXVpcmUgYSBiaXQuCgkgIEFzIGZvciBuZWdvdGlhdGlvbiB2NGwyIGl0ZXJhdGVzIHRocm91Z2ggdGhlIGNhcHMgb2YgdGhlIHBlZXIgdG8gZmluZCB0aGUKCSAgZmlyc3QgaW50ZXJzZWN0aW9uIHdpdGggdGhlIHByb2JlZCBjYXBzLCBnZXR0aW5nIHRoZSBmdWxseSBleHBhbmRlZAoJICBpbnRlcnNlY3Rpb24gb2YgY2FwYWJpbGl0aWVzIGlzIG5vdCB1c2VmdWwuCgkgIFVzaW5nIHRoZSBzYW1lIHRlc3RjYXNlIGFzIGZvciBidWcgIzcwMjYzMiwgYWRkaW5nIHRoaXMgcGF0Y2ggb24gdG9wIG9mCgkgIHRoZSBwYXRjaGVzIHN1Z2dlc3RlZCB0aGVyZSBzcGVlZHMgdXAgZ2V0dGluZyB0aGUgaW5pdGFsIGZyYW1lIGZyb20KCSAgYXJvdW5kIH4xNC0xNSBzZWNvbmRzIHRvIGFyb3VuZCB+My00IHNlY29uZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MzgKCjIwMTMtMDYtMTkgMTA6MzA6NTYgKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZHVyYXRpb24gcXVlcnkgcmV0dXJucyB6ZXJvIGZvciBEViB2aWRlbyBpbiBhdmkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjYyNQoKMjAxMy0wNi0xOSAxMTowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERpc2FibGUgdXNhZ2Ugb2YgYWxsb2NhdGlvbiBxdWVyaWVzCgkgIFRoaXMgY2FuIG9ubHkgcmVsaWFibHkgd29yayBpZiBkZW11eGVycyBoYXZlIGEKCSAgc2VwYXJhdGUgc3RyZWFtaW5nIHRocmVhZCBwZXIgc3JjcGFkLiBUaGlzIHNob3VsZCBiZQoJICBkb25lIGluIGEgZGVtdXhlciBiYXNlIGNsYXNzLCB3aGljaCBpbnRlZ3JhdGVzIHBhcnRzCgkgIG9mIG11bHRpcXVldWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTg1NgoKMjAxMy0wNi0xMSAxNTowMjoyMSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIEF2b2lkIHNraXBwaW5nIG1vb3YgYXRvbXMgZm9yIGZyYWdtZW50ZWQgTVA0IGZpbGVzLgoJICBidWcgIzcwMDUwNQoJICBGb2xsb3dpbmcgYSByZXByZXNlbnRhdGlvbiBjaGFuZ2UgdGhhdCBjYXVzZXMgYSByZXNvbHV0aW9uIGNoYW5nZSwKCSAgdGhlIHZpZGVvIGRlY29kZXIgZmFpbHMgdG8gZGVjb2RlIGNvcnJlY3RseS4gRGFzaGRlbXV4IGRldGVjdHMgdGhlCgkgIHJlcHJlc2VudGF0aW9uIGNoYW5nZSBhbmQgcHVzaGVzIGEgbmV3IGNhcHMgZXZlbnQgYW5kIGFuCgkgIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgKGEgbmV3IG1vb3YgYXRvbSkgdG8gdGhlIGRvd25zdHJlYW0gcXRkZW11eCwKCSAgYnV0IGl0IGRvZXNuJ3QgaGFuZGxlIHRoaXMgbmV3IG1vb3YgeWV0LCBpdCB3aWxsIG9ubHkgcGFyc2UgdGhlCgkgIGZpcnN0IG9uZSBpdCByZWNlaXZlcy4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyBxdGRlbXV4IHRvIGFjY2VwdCBhIG5ldyBtb292IGluIGEgZGFzaCBiaXRzdHJlYW0KCSAgc3dpdGNoaW5nIHNjZW5hcmlvLgoKMjAxMy0wNi0xOSAwMDo0Mjo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IG9ubHkgb25jZSBmb3IgZWFjaCBzdHJlYW0KCSAgRG8gbm90IHNlbmQgc3RyZWFtIHN0YXJ0IGFnYWluIHdoZW4gcmVjb25maWd1cmluZyBhIHBhZCBmb3IgbmV3IGNhcHMuCgkgIFRoYXQgaXMgY29tbW9uIGZvciBhZGFwdGl2ZSBzdHJlYW1zCgoyMDEzLTA2LTA1IDE3OjAyOjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc3VwcG9ydCBpbiBWTSdzIHdpdGhvdXQgaGFyZHdhcmUgYWNjZWxlcmF0aW9uCgoyMDEzLTA2LTE1IDEyOjI5OjMxICswMjAwICBKZW5zIEdlb3JnIDxtYWlsQGplbnNnZS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICBydHBtcDJ0ZGVwYXk6IGFjY2VwdCBtaXNsYWJlbGxlZCBzdHJlYW1zIGZyb20gR1N0cmVhbWVyIDAuMTAgYXMgd2VsbAoJICBUaGUgbXAydCBwYXlsb2FkZXIgaW4gMC4xMCBtaXNsYWJlbGxlZCB0aGUgc3RyZWFtcyBhcyBNUDJULUVTCgkgIGluc3RlYWQgb2YgTVAyVCwgc28gYWNjZXB0IHRoYXQgYXMgd2VsbCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDU3CgoyMDEzLTA2LTE2IDA1OjQwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYW5hZ2UgZWxlbWVudCBzdGF0ZSBvdXJzZWx2ZXMKCSAgTG9jayB0aGUgc3RhdGUgb2YgdGhlIGFsbCBvdXIgZWxlbWVudHMgYW5kIG1hbmFnZSB0aGVpciBzdGF0ZXMKCSAgb3V0c2VsdmVzLiBCZWNhdXNlIHdlIGFyZSB3b3JraW5nIGFzeW5jLCB3ZSBjYW4ndCByZWx5IG9uIHRoZSBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb24gdG8gc2V0IHRoZSBzdGF0ZSBhdCB0aGUgcmlnaHQgdGltZSBvciB0byByZXR1cm4gdGhlCgkgIHJpZ2h0IHJldHVybiB2YWx1ZSBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwNDYKCjIwMTMtMDYtMTQgMTQ6MDk6NTAgKzAyMDAgIEJydW5vIEdvbnphbGV6IDxzdGVueWFrQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCB1bmxvY2sgc3RyZWFtIGxvY2sgd2l0aG91dCBsb2NraW5nIGl0IGZpcnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIxNjcKCjIwMTMtMDYtMTMgMTY6MDA6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogVXNlIHRoZSByaWdodCBoYXNodGFibGUgdG8gY2FsY3VsYXRlIGJhbmR3aWR0aAoJICBEb24ndCB1c2UgYW4gdW51c2VkIGhhc2h0YWJsZSB0byBpdGVyYXRlIHNvdXJjZSB0byBjYWxjdWxhdGUgYmFuZHdpZHRoLgoJICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDEzLTA2LTEyIDE2OjI3OjI0IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBwdWxzZXNpbms6IFJlcXVpcmUgUHVsc2VBdWRpbyA+PSAyLjAKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIHBhX2Zvcm1hdF9pbmZvX2dldF9wcm9wXyogZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTEzIDE0OjIzOjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIFJldmVydCAicHVsc2VzaW5rOiBNYWtlIDIuMCBkZXBlbmRlbmN5IG9wdGlvbmFsIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDAxNDU3MDI3ZTBkMzg0YWNhM2U1NTFhZTY4NGUwYWEwNzRlZTU0OTguCgkgIFdlJ2xsIGp1c3QgZGVwZW5kIG9uIFB1bHNlQXVkaW8gMi4wIG9yIGFib3ZlIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBidWcKCSAgcGFydGlhbGx5IGZpeGVkIGJhc2VkIG9uIHRoZSBpbnN0YWxsZWQgbGlicHVsc2UgdmVyc2lvbi4KCjIwMTMtMDYtMTMgMTI6NDA6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2VzaW5rOiBNYWtlIDIuMCBkZXBlbmRlbmN5IG9wdGlvbmFsCgkgIFRoZSBnZXRjYXBzIGZ1bmN0aW9uIHdlIGFkZGVkIHVzZXMgc29tZSBwYV9mb3JtYXRfaW5mb19nZXRfcHJvcC4uLgoJICBhY2Nlc3NvciBmdW5jdGlvbnMgdGhhdCB3ZXJlIG9ubHkgYWRkZWQgaW4gMi4wLCBzbyB3ZSBvbmx5IGhhdmUgb3VyCgkgIGdldGNhcHMgaW1wbGVtZW50YXRpb24gZXhpc3QgaWYgd2UncmUgY29tcGlsaW5nIGFnYWluc3QgbGlicHVsc2UgMi4wIG9yCgkgIGFib3ZlLgoJICBFdmVudHVhbGx5LCB3ZSBjb3VsZCBidW1wIHRoZSBtaW5pbXVtIHJlcXVpcmVtZW50IHRvIDIuMCBvciBhYm92ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0xMiAxODoyMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgUmV2ZXJ0ICJ2aWRlb21peGVyOiBXaGVuIGFsbCBzaW5rcGFkcyBhcmUgZW9zLCB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCBhbmQgZm9yd2FyZCBpdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyZDM5MTBmYzc5MDFiNWYyOWUxNmMwZmRkNGU5MDY3YTZkN2Y2NmZlLgoJICBJdCdzIG5vdCBzb2x2aW5nIGFueSBwcm9ibGVtIGFuZCBpbnN0ZWFkIGNhdXNlcyBjb2RlIHRvIGZhbGwgYXBhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1MTkKCjIwMTMtMDEtMDkgMDk6Mzk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFyayBzdWJ0aXRsZSBzdHJlYW1zIGFzIHNwYXJzZSBpbiBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgQW5kIGFsc28gbWFyayB0aGUgc3RyZWFtcyB0aGF0IHNob3VsZCBiZSBzZWxlY3RlZCBieSBkZWZhdWx0IGlmCgkgIG1hcmtlZCBzbyBpbiB0aGUgaGVhZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDY0OAoKMjAxMy0wNi0xMSAyMjoxMjo1OCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMtZGlzdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuaDoKCSAgYXVkaW9wYW5vcmFtYTogYWRkIHByZWJ1aWx0IGZpbGVzCgoyMDEzLTA2LTExIDIwOjI3OjUxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBjbGVhbnVwIGFuZCBleHBhbmQgdGhlIHRlc3RzCgkgIFNwbGl0IG91dCB0d28gbW9yZSB0ZXN0cy4gRXh0cmFjdCBtb3JlIGNvbW1vbiBjb2RlIGludG8gaGVscGVycy4gQWRkIGNvdmVyYWdlIGZvciBmbG9hdC4KCjIwMTMtMDYtMTAgMjE6MTU6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGNsZWFudXAgb2YgdHJhbnNmb3JtKCkKCSAgT25seSBtYXAgaW5wdXQgaWYgd2UgYXJlIHJlYWRpbmcgaXQuIENsZWFudXAgdGhlIGxvZ2dpbmcgYW5kIHRoZSBjb21tZW50cyBhIGJpdC4KCjIwMTMtMDYtMDkgMjA6MzU6MTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMub3JjOgoJICBhdWRpb3Bhbm9yYW1hOiB1c2Ugb3JjIHRvIHNwZWVkdXAgcHJvY2Vzc2luZwoJICBVc2Ugc3BlY2lhbCB2YXJpYW50cyBmb3IgdGhlIGNhc2Ugd2hlbiB3ZSBkb24ndCBjaGFuZ2UgdGhlIHBhbm9yYW1hIChwYW49MC4wKS4KCSAgU2ltcGxpZnkgdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGJ5IHBhc3NpbmcgdGhlIHBhbm9yYW1hIHZhbHVlIGRpcmVjdHkgaW5zdGVhZAoJICBvZiB0aGUgaW5zdGFuY2UuIFVzZSBvcmMgZm9yIGNsZWFyaW5nIGJ1ZmZlcnMgdG9vLgoKMjAxMy0wNi0xMSAxOToyNDo0OSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogY2hlY2sgbGFzdCBlbmRfdGltZSBhZnRlciBjb252ZXJzaW9uIHRvIHJ1bm5pbmcgc2VnbWVudAoJICBUaGUgbGFzdCBlbmRfdGltZSB3YXMgc2F2ZWQgYWZ0ZXIgY29udmVyc2lvbiwgc28gdGhlIGNvbXBhcmlzb24KCSAgaGFkIHRvIGJlIG1hZGUgYWZ0ZXIgY29udmVyc2lvbiBmb3IgaXQgdG8gbWFrZSBzZW5zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTM4NQoKMjAxMy0wNi0xMSAxOToyMjoyMCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogYWRkIG1peC0+c2VnbWVudC5zdGFydCB0byBvdXRwdXRfZW5kX3RpbWUKCSAgV2hlbiB0aGUgc2VnbWVudCBzdGFydCBpcyBub3QgMCwgdGhpcyBjcmVhdGVkIGEgc2l0dWF0aW9uIHdoZXJlCgkgIHRoZSBvdXRwdXRfZW5kX3RpbWUgaXMgaW5mZXJpb3IgdG8gb3V0cHV0X3N0YXJ0X3RpbWUsIGFuZCB0aGUgZHVyYXRpb24KCSAgb2YgdGhlIG5leHQgYnVmZmVyIGVuZGVkIHVwIHVuZGVyZmxvd2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTM4NQoKMjAxMy0wNi0xMSAxMzo1NDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFNlbmQgc3RyZWFtIGhlYWRlcnMgYWZ0ZXIgdGhlIHNlZ21lbnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc5OQoKMjAxMy0wNi0xMSAxMjoyNjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIGFsbG9jYXRpb24gcXVlcnkgYWZ0ZXIgZXhwb3NpbmcgYWxsIHBhZHMgYW5kIG5vLW1vcmUtcGFkcwoJICBBbHNvIGNvbmZpZ3VyZSB2aWRlbyBzdHJlYW1zIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoJICBSZWxhdGVkIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE4NTYKCSAgYnV0IG5vdCBmaXhpbmcgdGhhdC4KCjIwMTMtMDYtMTEgMTI6MjU6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGZvcndhcmQgQ0FQUyBldmVudHMgZnJvbSB1cHN0cmVhbQoJICBKdXN0IHVzZSB0aGUgZGVmYXVsdCBwYWQgZXZlbnQgaGFuZGxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTk3NgoKMjAxMy0wNS0yNiAwODoxODowNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQ2FjaGUgdGhlIGdldGNhcHMvYWNjZXB0Y2FwcyBwcm9iZSBzdHJlYW0KCSAgZ2V0Y2FwcyBpcyBjYWxsZWQgZnJlcXVlbnRseSBkdXJpbmcgc3RyZWFtIHNldHVwLCBhbmQgY3JlYXRpbmcgYSBuZXcKCSAgc3RyZWFtIGVhY2ggdGltZSBpcyB2ZXJ5IGluZWZmaWNpZW50LiBUaGVyZSdzIHNvbWUgbW9yZSByb29tIGZvcgoJICBvcHRpbWlzYXRpb24gYnkgY2FjaGluZyB0aGUgcXVlcmllZCBzaW5rIGZvcm1hdHMgYXMgd2VsbCwgYnV0IHRoaXMgbmVlZHMKCSAgc29tZSBtb3JlIGNoYW5nZXMgdG8gbGlzdGVuIGZvciBmb3JtYXQgY2hhbmdlcyBvbiB0aGUgc2luayAoZm9yIHdoZW4KCSAgc3VwcG9ydGVkIGZvcm1hdHMgY2hhbmdlIGJldHdlZW4gcHJvYmUgc3RyZWFtIGNyZWF0aW9uIGFuZCBzaW5rCgkgIHF1ZXJ5aW5nKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNS0yMyAyMTozOTowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlc2luazogQWRkIGEgZ2V0Y2FwcyBmdW5jdGlvbgoJICBUaGlzIGFsbG93cyB1cyB0byBoYXZlIG1vcmUgZmluZS10dW5lZCBjYXBzIGluIFJFQURZIG9yIGFib3ZlLiBIb3dldmVyLAoJICB0aGlzIGlzIF9yZWFsbHlfIGluZWZmaWNpZW50IHNpbmNlIHdlIGNyZWF0ZSBhIG5ldyBzdHJlYW0gYW5kIHF1ZXJ5IHNpbmsKCSAgZm9yIGV2ZXJ5IGdldGNhcHMgaW4gUkVBRFksIHdoaWNoIG9uIGEgc2ltcGxlIGdzdC1sYXVuY2ggbGluZSBoYXBwZW5zCgkgIGFib3V0IDM1IHRpbWVzLiBUaGUgbmV4dCBzdGVwIGlzIHRvIGNhY2hlIGdldGNhcHMgcmVzdWx0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNS0xMCAxMTozMjo0NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVGFrZSBhIGxvY2sgb24gdGhlIHJpbmdidWZmZXIgaW4gYWNjZXB0Y2FwcwoJICBUaGlzIGlzIG5lZWRlZCBhcyBhIGNvbmN1cnJlbnQgc3RhdGUgY2hhbmdlIGNvdWxkIHB1bGwgdGhlIGNvbnRleHQgb3IKCSAgc3RyZWFtIG91dCBmcm9tIHVuZGVyIG91ciBmZWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTA5IDIwOjI5OjA5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkgIGF1ZGlvcGFub3JhbWE6IG1vdmUgdGhlIGVudW0gdG8gdGhlIGhlYWRlciBhbmQgdXNlIGluc3RlYWQgb2YgZ2ludAoJICBNb3ZlIHRoZSBlbnVtIGZvciB0aGUgcHJvY2Vzc2luZyBtZXRob2QgdG8gdGhlIGhlYWRlciBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlCgkgIHR5cGUgZm9yIHRoZSBpbnN0YW5jZSBzdHJ1Y3QuCgoyMDEzLTA2LTA5IDIwOjMyOjIyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IHJld29yayB0aGUgdGVzdHMgdG8gY292ZXIgb3RoZXIgZm9ybWF0cyB0b28KCjIwMTMtMDYtMDUgMTY6MzI6MzAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogbWFrZSBzdXJlIHRoZSBlbGVtZW50IGlzIG5vdCBkZWxldGVkIGJlZm9yZSB0aGUgcG9vbAoJICBUaGUgcG9vbCBhY2Nlc3NlcyBkYXRhIGZyb20gdGhlIHY0bDJvYmplY3Qgc28gaXQgbXVzdCBleGlzdCBhdCBsZWFzdAoJICBhcyBsb25nIGFzIHRoZSBwb29sLiBSZWZjb3VudCB0aGUgZWxlbWVudCB3aGljaCBjb250cm9scyB0aGUgb2JqZWN0CgkgIGxpdmUtdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTY1MAoKMjAxMy0wNi0wNyAxNTozODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICBwbmc6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RCeXRlUmVhZGVyIGFuZCBHc3RBZGFwdGVyCgoyMDEzLTA2LTA3IDE1OjE1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkgIHdhdmVuYzogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEJ5dGVXcml0ZXIKCjIwMTMtMDYtMDcgMTM6MjY6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBQdXNoIHN0cmVhbS1zdGFydCBldmVudCBpbiBwdWxsIG1vZGUgYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTMtMDUtMTAgMTI6MDk6MTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogR2V0IHJpZCBvZiBhY2NlcHRjYXBzIHNpZGUtZWZmZWN0cwoJICBUaGUgc2luayBpbmZvIGNhbGxiYWNrIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMgb24gdGhlIEdzdFB1bHNlU2luawoJICBvYmplY3Qgc2luY2Ugd2UgYXJlIHNvbWV0aW1lcyB1c2luZyB3aXRoIGEgZHVtbXkgc3RyZWFtIGluIGFjY2VwdGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDYtMDUgMTg6MzY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMSA9PT0KCjIwMTMtMDYtMDUgMTc6NTg6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4xCgoyMDEzLTA2LTA1IDE2OjM1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA2LTA1IDE1OjUwOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogRml4IHRhZ2xpc3QgcmVmIGhhbmRsaW5nIHRoYXQgbWFkZSB0aGUgdW5pdCB0ZXN0IGZhaWwKCjIwMTMtMDYtMDUgMTU6MTQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDk4YzBkNyB0byAwMWE3YTQ2CgoyMDEzLTA2LTAzIDA5OjE3OjQzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogaXRlcmF0ZSBjb250cm9scyB3aXRoIFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCBpZiBwb3NzaWJsZQoJICBJbiB2Mi42LjE4IGNvbnRyb2wgY2xhc3NlcyB3aGVyZSBhZGRlZCB0byB0aGUgdjRsMiBBUEkuCgkgIEl0ZXJhdGluZyBvdmVyIENJRHMgc3RhcnRpbmcgd2l0aCBWNEwyX0NJRF9CQVNFIHdpbGwgb25seSBmaW5kIGNvbnRyb2xzIGZvcgoJICB0aGUgZmlyc3QgY29udHJvbCBjbGFzcy4KCSAgQnkgaXRlcmF0aW5nIHdpdGggVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMIGFsbCBjb250cm9scyBhcmUgZm91bmQuCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIG1ha2UgY29udHJvbHMgZnJvbSBvdGhlciBjb250cm9sIGNsYXNzZXMgYXZhaWxhYmxlIGluCgkgIHRoZSBleHRyYS1jb250cm9scyBwcm9wZXJ0eS4KCSAgSWYgVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMIGlzIG5vdCBkZWZpbmVkIGF0IGNvbXBpbGUgdGltZSBvciBub3Qgc3VwcG9ydGVkCgkgIGF0IHJ1bnRpbWUgdGhlbiB0aGUgb2xkIG1lY2hhbmlzbSBmb3IgaXRlcmF0aW5nIGlzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1NDAKCjIwMTMtMDYtMDUgMTI6MTI6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgdWRwc2luazogYXZvaWQgbGVha2luZyB0aGUgaG9zdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTg2CgoyMDEzLTA2LTA0IDA4OjI2OjMzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBpbXByb3ZlIHBpeGVsIGFzcGVjdCByYXRpbyBoYW5kbGluZwoJICBJbnN0ZWFkIG9mIGp1c3QgYXNzdW1pbmcgYSBhc3BlY3QgcmF0aW8gb2YgMS8xIHVzZSBWSURJT0NfQ1JPUENBUCB0byBhc2sKCSAgdGhlIGRldmljZS4KCSAgVGhpcyBhbHNvIGFkZCBhIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBvdmVyd3JpdGUgdGhlIHZhbHVlIGZyb20gdGhlCgkgIGRyaXZlciBhbmQgYSBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gaWdub3JlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjg1CgoyMDEzLTA2LTA0IDE3OjA0OjExICswMjAwICBTdGlybGluZyBXZXN0cnVwIDxzd2VzdHJ1cEBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIGtlcm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTU5NQoKMjAxMy0wNi0wMyAxNzowNzoxMCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBjYWxsIFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSAwIGluIHBvb2xfZmluYWxpemUKCSAgV2l0aG91dCB0aGlzIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2UgZmFpbHM6CgkgIC0gc2V0X2NhcHMoKQoJICAtIG9iamVjdF9zdG9wKCkgKGRvZXMgbm90aGluZykKCSAgLSBzZXRfZm9ybWF0KCkgLT4gVklESU9DX1NfRk1UCgkgIC0gc2V0X2NvbmZpZygpIC0+IFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSBOCgkgIC0gc2V0X2NhcHMoKQoJICAtIG9iamVjdF9zdG9wKCkKCSAgLSBwb29sX2ZpbmFsaXplKCkKCSAgLSBzZXRfZm9ybWF0KCkgLT4gVklESU9DX1NfRk1UID0+IEVCVVNZCgkgIFVzdWFsbHkgdGhlIHBvb2wgaXMgc3RhcnRlZCBhZnRlciBzZXRfY29uZmlnKCksIGluIHdoaWNoIGNhc2Ugb2JqZWN0X3N0b3AoKQoJICB3aWxsIHJlc3VsdCBpbiBhIHBvb2xfc3RvcCBhbmQgdGhlcmVmb3JlIFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSAwIGJ1dAoJICB0aGF0IGlzIG5vdCBndWFyYW50ZWVkLgoJICBBbHNvIGNhbGxpbmcgVklESU9DX1JFUUJVRlMgd2l0aCBjb3VudCA9IDAgaW4gcG9vbF9maW5hbGl6ZSgpIGlmIG5lY2Vzc2FyeQoJICBmaXhlcyB0aGlzIHByb2JsZW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1NDMKCjIwMTMtMDUtMjggMTk6MTQ6MTUgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogcmV3b3JrIHNpbmsgYnVmZmVyIHJlZmNvdW50aW5nCgkgIFRoaXMgaXMgYSBmb2xsb3d1cCBwYXRjaCBmb3IgIzcwMDc4MSwgd2hpY2ggaXMgbm90IHF1aXRlIGNvcnJlY3QuCgkgIFRoZSBidWZmZXIgaGFuZGxpbmcgaXMgcXVpdGUgY29tcGxpY2F0ZWQgaGVyZS4KCSAgVGhlIG9yaWdpbmFsIGNvZGUgaW50ZW5kZWQgdG8gdGhlIHRoZSBmb2xsb3dpbmc6CgkgIC0gZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcHJvY2VzcygpIGNhbGxzIFFCVUYgYW5kIGFkZHMgdGhlIGJ1ZmZlciB0byB0aGUKCSAgbG9jYWwgbGlzdC4KCSAgLSBUaGUgc2luayBjYWxscyBnc3RfYnVmZmVyX3VucmVmKCkgd2hpY2ggcmV0dXJucyB0aGUgYnVmZmVyIHRvIHRoZSBwb29sCgkgIGJ1dCBub3QgdGhlICdmcmVlIGxpc3QnLgoJICAtIFNvbWUgdGltZSBsYXRlciBEUUJVRiByZXR1cm5zIHRoZSBidWZmZXIgYW5kCgkgIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgcHV0cyBpbiBvbiB0aGUgJ2ZyZWUgbGlzdCcuCgkgIElmIHRoZSBidWZmZXIgbXVzdCBiZSBjb3BpZWQgdGhlbiAocGFyZW50X2NsYXNzKS0+YWNxdWlyZV9idWZmZXIoKSBpcwoJICBjYWxsZWQgZGlyZWN0bHkgdG8ga2VlcCB0aGUgYnVmZmVyIGluIHRoZSBwb29sLgoJICBUaGlzIGhhcyB0d28gcHJvYmxlbXM6CgkgIDEuIElmIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgaXMgY2FsbGVkIGJlZm9yZSB0aGUgYnVmZmVyIGlzCgkgIHJldHVybmVkIHRvIHRoZSBwb29sLCB0aGVuIHRoZSBidWZmZXIgaXMgcHV0IG9uIHRoZSAnZnJlZSBsaXN0JyB0d2ljZS4KCSAgVGhpcyBjYW4gaGFwcGVuIGlmIGEgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgaXMga2VwdCBvdXRzaWRlIHRoZSBzaW5rLAoJICBvZiBpZiBEUUJVRiByZXR1cm5zIHRoZSBidWZmZXIsIHRoYXQgd2FzIGp1c3QgcXVldWVkIHdpdGggUUJVRi4KCSAgMi4gSWYgYnVmZmVycyBhcmUgY29waWVkLCB0aGVuIGFsbCBidWZmZXJzIGFyZSBpbiB0aGUgcG9vbCBhdCBhbGwgdGltZXMuIEFzCgkgIGEgcmVzdWx0IGdzdF92NGwyX2J1ZmZlcl9wb29sX3N0b3AoKSBhbmQgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZHFidWYoKQoJICBjYW4gYWNjZXNzIHBvb2wtPmJ1ZmZlcnMgYXQgdGhlIHNhbWUgdGltZSwgd2hpY2ggY2FuIGxlYWQgdG8gbWVtb3J5CgkgIGNvcnJ1cHRpb24uCgkgIFRoZSBwYXRjaCBmb3IgIzcwMDc4MSBmaXhlcyB0aG9zZSBwcm9ibGVtcywgYnV0IHdpdGggdGhlIHNpZGUgZWZmZWN0IHRoYXQKCSAgdGhlcmUgYXJlIGFsd2F5cyBidWZmZXJzIG91dHNpZGUgdGhlIHBvb2wgKGJlY2F1c2UgdGhleSBhcmUgcXVldWVkKSBhbmQKCSAgdGhlIHBvb2wgaXMgbmV2ZXIgc3RvcHBlZC4KCSAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGJ5IHJlbGVhc2luZyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIKCSAgaGFuZGxpbmcgaXQgKHRvIGF2b2lkIHByb2JsZW0gMi4pIHNvIGl0IGNhbiBiZSByZXR1cm5lZCB0byB0aGUgcG9vbC4KCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcmVsZWFzZV9idWZmZXIoKSBpcyBvbmx5IGNhbGxlZCBpZiB0aGUgYnVmZmVyIGlzCgkgIGFscmVhZHkgaW4gdGhlIHBvb2wgKHRvIGF2b2lkIHByb2JsZW0gMS4pLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMzc1CgoyMDEzLTA2LTAyIDE1OjI0OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFrZSBzdXJlIHRhZ2xpc3QgaXMgd3JpdGFibGUgYmVmb3JlIGFkZGluZyB0YWdzCgkgIEF2b2lkcyBhc3NlcnRpb25zCgoyMDEzLTA1LTMwIDE5OjI0OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWZmZWN0aXZlbHkgc2tpcCB0cmFja3MgdGhhdCB3ZXJlbid0IGxpc3RlZCBvbiB0aGUgMXN0IG1vb3YKCSAgV2l0aG91dCB0aGlzLCBzdHJlYW0gaXMgTlVMTCBhbmQgdGhlIGNvZGUgd2lsbCB0cnkgdG8gYWNjZXNzIGl0LCBsZWFkaW5nCgkgIHRvIHNlZ2ZhdWx0cy4KCjIwMTMtMDUtMzAgMTk6MjM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBza2lwIHJlZHVuZGFudCBjaGVjawoJICAhZ290X21vb3YgaXMgYWxyZWFkeSBjaGVja2VkIHRoZSBsaW5lIGFib3ZlCgoyMDEzLTA2LTAyIDEzOjAzOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IGNsZWFudXAgbGV2ZWwgdGVzdHMKCSAgU3BsaXQgb3V0IGEgZmV3IG1vcmUgdGVzdHMgdG8gYXZvaWQgY2hlY2tpbmcgdGhlIHNhbWUgc3R1ZmYgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMTMtMDYtMDEgMjE6MzM6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgbGV2ZWw6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGluIGluc3RhbmNlIHN0cnVjdAoKMjAxMy0wNS0zMSAxODoxMzowMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBhZGQgYSB0ZXN0IGZvciBjb250aW5vdXMgdGltZXN0YW1wcwoJICBBIHRlc3QgdGhhdCBjaGVja3MgdGhhdCBtc2dbbl0udHMgKyBtc2dbbl0uZHVyID09IG1zZ1tuKzFdLnRzLgoKMjAxMy0wNC0xMiAxNjowMjo0NCArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBhZGQgdGFncyAmIHRvYyBzdXBwb3J0CgkgIFdyaXRlIHRhZ3MgYXMgTElTVCBJTkZPIGNodW5rLiBGb3JtYXQgdGhlIHRvYyBhcyBjdWUgKyBMSVNUIGFkdGwgY2h1bmsuIFJlbW92ZQoJICBvbGQgI2lmZGVmJ2VkIGNvZGUuCgoyMDEzLTA1LTMxIDE1OjEyOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIFJldmVydCAicnRwaDI2NHBheTogUmVzdHJ1Y3R1cmluZyB0byBhbGxvdyBmb3IgYWRkaW5nIG9wdGlvbmFsIGNhcHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjE2NjY4OThjZmU4OWExYjIxZDNlNjg1MGFiNDRmNWIxNjMzZWQ3OS4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyB3aGF0IHRoZSBzZXRfc3BzX3BwcygpIGZ1bmN0aW9uIGRvZXMsIG5vdCBpdCBkb2Vzbid0CgkgIHNldCBjYXBzIGFueW1vcmUgKGFuZCBzaG91bGQgaGF2ZSBiZWVuIHJlbmFtZWQpLiBUaGUgbWFpbiBwcm9ibGVtIGlzIHRoYXQKCSAgbm90IGFsbCBjYWxsIHNpdGVzIGFyZSB1cGRhdGVkIGFuZCB0aHVzIGxlYWsgdGhlIHN0cmluZy4KCjIwMTMtMDUtMzEgMTU6MTE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgUmV2ZXJ0ICJydHBoMjY0cGF5L2RlcGF5OiBBZGQgZnJhbWUgZGltZW5zaW9ucyBhIHBheWxvYWRlZCBjYXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNkY2E3NTZhNWRiYTU1MjY2MjU2ZjIzOWUzZTEyYTNkMDU4ZTE4NWEuCgkgIFRoZSBIMjY0IFJUUCBzcGVjIGhhcyBubyBhdHRyaWJ1dGVzIGZvciB3aWR0aCBhbmQgaGVpZ2h0LgoKMjAxMy0wNS0zMSAxNTowOTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBSZXZlcnQgInJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBvcHRpb25hbCBmcmFtZXJhdGUgY2FwcyBmb3IgdXNlIGluIFNEUCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkODgyNWUyYTVjMGJmYjg4M2ZmODhlMmM5ZGE0OTljODAwZWJjYTBhLgoJICBUaGVyZSBpcyBubyBmcmFtZXJhdGUgYXR0cmlidXRlIGluIHRoZSBoMjY0IFJUUCBzcGVjLgoKMjAxMy0wNS0zMSAxNTowODoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBSZXZlcnQgInJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVzaXplIGNhcHMgd2l0aCB3aWR0aC9oZWlnaHQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDA3NWQxMTFiNDc1Y2EyNzg5NWVlOTQ3NjE1NDI2MGI2OTAyOTQwYi4KCSAgRXh0cmEgYXBwbGljYXRpb24veC1ydHAgYXJlIFNEUCBmaWVsZHMsIHdoaWNoIGFyZSBzdHJpbmdzLgoKMjAxMy0wNS0zMSAxNTowNTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBSZXZlcnQgInJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVyYXRlIGNhcHMgZmllbGQgd2l0aCBmcmFjdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZmQyNWE4MTBiODU5ZTBlYzIwNTE3NjU3ODczNTEwMGQ4M2RlNGFmLgoJICBXZSBkZWFsIHdpdGggc2RwIGF0dHJpYnV0ZXMgaW4gYXBwbGljYXRpb24vc2RwLCB3aGljaCBhcmUgYWx3YXlzIHN0cmluZ3MuCgoyMDEzLTA1LTMxIDEyOjMzOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgZXh0cmEgVExTIHVybCBwcm90b2NvbHMKCSAgV2UgYWxzbyBzdXBwb3J0IFRMUyBwcm90b2NvbHMgbm93LgoKMjAxMy0wNS0zMCAxNDo0ODo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQWRkIEZJWE1FIGNvbW1lbnQgYWJvdXQgdGhlIERVUkFUSU9OIHF1ZXJ5IGZyb20gYWRkZXIKCSAgQ3VycmVudGx5IHRoZSBjb2RlIGp1c3QgdGFrZXMgd2l0aCBtYXhpbXVtIHVwc3RyZWFtIGR1cmF0aW9uLCB3aGljaAoJICBpcyB3cm9uZy4gSXQgc2hvdWxkIGJlIHRoZSBtYXhpbXVtIHVwc3RyZWFtIGR1cmF0aW9uIGluIHJ1bm5pbmcgdGltZS4KCjIwMTMtMDUtMzAgMjE6MjA6NTkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFNldCBhIHJlZmVyZW5jZSB0byBtaXgtPmN1cnJlbnRfY2FwcyBhcyB0aGUgUVVFUllfQ0FQUyByZXN1bHQuCgoyMDEzLTA1LTMwIDE3OjM3OjEzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBtaXNjIGNsZWFudXBzCgkgIEZpeCBzb21lIG91ZGF0ZWQgY29tbWVudHMuIFNvcnQgb3V0IHNvbWUgY29uZnVzaW9uIG9mIGludGVydmFsX2ZyYW1lcyBhbmQgbnVtX2ZyYW1lcy4KCjIwMTMtMDUtMjkgMjA6MzU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBPbmx5IGNvbmRpdGlvbmFsbHkgdXNlIFY0TDJfQ1RSTF9UWVBFX0lOVEVHRVJfTUVOVSwgaXQncyBub3QgYXZhaWxhYmxlIGluIG9sZGVyIHZlcnNpb25zCgoyMDEzLTA1LTIwIDE2OjQ1OjM3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogYWRkIGEgcHJvcGVydHkgZm9yIGFyYml0cmFyeSB2NGwyIGNvbnRyb2xzCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc2V0IGFueSBjb250cm9scyB0aGF0IGNhbiBiZSBzZXQgd2l0aAoJICBWSURJT0NfU19DVFJMLgoJICBUaGUgY29udHJvbHMgYXJlIHNldCB3aGVuIHRoZSBwcm9wZXJ0eSBpcyBzZXQgKGlmIHRoZSBkZXZpY2UgaXMgb3BlbikKCSAgYW5kIHdoZW4gdGhlIGRldmljZSBpcyBvcGVuZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MzcKCjIwMTMtMDUtMjggMTg6MzE6MDcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCBkaXNjb250aW51aXRpZXMgaW4gdGltZXN0YW1wcwoKMjAxMy0wNS0yOCAxNTo0Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5oOgoJICBnZGtwaXhidWZkZWM6IEtlZXAgc2VyaWFsaXplZCBldmVudHMgaW4gb3JkZXIsIGFuZCBkb24ndCBzZW5kIFNFR01FTlQgYmVmb3JlIENBUFMKCjIwMTMtMDUtMjggMTU6NDU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNyZWF0ZSBhbmQgcHVzaCBzdHJlYW0tc3RhcnQgaW4gVENQIG1vZGUKCjIwMTMtMDUtMjggMTU6MTA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSBzb21lIG9ic29sZXRlIGNvZGUKCSAgSXQgaXMgbm90IG5lZWRlZCB0byBkbyBhIHN0YXRlIGNoYW5nZSBmcm9tIHRoZSBfcGxheSgpIGZ1bmN0aW9uIG9uCgkgIG91cnNlbHZlcy4gVGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbHJlYWR5IGRpZCB0aGF0IGFuZCB3ZSBkb24ndCB3YW50IHRvCgkgIGludGVyZmVyZSB3aXRoIHRoYXQgKG9yIHVzZSBoYWNrcyB0byBhdm9pZCBpbnRlcmZlcmVuY2UpLgoKMjAxMy0wNS0yOCAxMjoyNDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFJUQ1AgY2FwcyBvbiB0aGUgUlRDUCBwYWRzCgoyMDEzLTA1LTI4IDEyOjIzOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBzZW5kIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudHMKCSAgQWxzbyBzZW5kIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudCBvbiB0aGUgUlRDUCBwYWQuCgkgIFdlIGRvbid0IG5lZWQgdG8gc2VuZCBhbnl0aGluZyBvbiB0aGUgc3luY19zcmMgcGFkIGJlY2F1c2Ugd2UKCSAgYWxyZWFkeSBmb3J3YXJkZWQgYWxsIGluY29tbWluZyBldmVudHMuCgoyMDEzLTA0LTI1IDE1OjI1OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc2lnbmFsIHRvIGhhbmRsZSBzZXJ2ZXIgcmVxdWVzdHMKCSAgQWRkIGEgc2lnbmFsIHRvIGJlIG5vdGlmaWVkIG9mIGEgc2VydmVyIHJlcXVlc3QuIFRoZSBzaWduYWwgaGFuZGxlciBjYW4gdGhlbgoJICBjb25zdHJ1Y3QgdGhlIHJlc3BvbnNlIG1lc3NhZ2UgZm9yIHRoZSBzZXJ2ZXIuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMjA3CgoyMDEzLTA1LTI3IDIyOjQzOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IE1haW50YWluIHotb3JkZXIgd2hlbiBuZXcgcGFkIGFyZSBhZGRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMTA5CgoyMDEzLTAzLTA2IDEzOjE3OjU0ICswMDAwICBUb20gR3JlZW53b29kIDx0Y2RncmVlbndvb2RAaG90bWFpbC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBwcm9wZXJ0eSB0byBtYW51YWxseSBzcGVjaWZ5IHRoZSB0aW1lYmFzZSBvZiB0aGUgZW5jb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NzA5CgoyMDEzLTA1LTI1IDEyOjE3OjQwIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBBbHdheXMgaGFuZGxlIGZsdXNoX3N0b3BfcGVuZGluZyBhdG9taWNhbGx5CgkgIEl0IGlzIG5vdCBwcm90ZWN0ZWQgd2l0aCB0aGUgQ09MTEVDVF9QQURTX1NUUkVBTV9MT0NLIGFueW1vcmUKCjIwMTMtMDUtMjMgMTg6MTQ6MTcgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb21peGVyLmM6CgkgIHRlc3RzOiB2aWRlb21peGVyOiBBZGQgYSB0ZXN0c3VpdGUgZm9yIHZpZGVvbWl4ZXIKCSAgVGhpcyBpcyBtb3N0bHkgY29weSBwYXN0ZWQgZnJvbSAtYmFzZS90ZXN0cy9jaGVjay9lbGVtZW50cy9hZGRlci5jCgoyMDEzLTA1LTI1IDEwOjU3OjAyIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEbyBub3QgdGFrZSBDT0xMRUNUX1BBRFNfU1RSRUFNX0xPQ0sgd2hlbiB1bm5lY2Vzc2FyeQoJICBDb2xsZWN0cGFkIHRha2VzIHRoZSBsb2NrIGl0c2VsZiB3aGVuIHJlY2VpdmluZyBzZXJpYWxpemVkIGV2ZW50cwoJICBhbmQgd2Ugc2hvdWxkIG5vdCB0YWtlIGl0IGZvciBub3Qgc2VyaWFsaXplZCBvbmVzCgoyMDEzLTA1LTI0IDE5OjM0OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IFByb3Blcmx5IHNraXAgbm9uLWZyYW1lIGNodW5rcwoKMjAxMy0wNS0yNCAxOTozMToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBGbHVzaCBkYXRhIGZyb20gYWRhcHRlciBhZnRlciByZWFkaW5nIGl0CgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyBpbiBhbiBpbmZpbml0ZSBsb29wLCByZWFkaW5nIHRoZSBzYW1lIGRhdGEKCSAgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMTMtMDQtMjQgMTU6Mzk6NTQgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgZ29vbTJrMTogZml4IG1vcmUgZHVwbGljYXRlZCBzeW1ib2xzCgoyMDEzLTA1LTIyIDAyOjQwOjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lcmF0ZSBjYXBzIGZpZWxkIHdpdGggZnJhY3Rpb24KCSAgVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIGhhZCB0aGUgZm9ybWF0dGluZyBvZiBTRFAgYXR0cmlidXRlcyBoYXBwZW4KCSAgaW4gZWFjaCBSVFAgcGF5bG9hZGVyLCBub3cgaW5zdGVhZCB0aGUgY29uc3RpdHVlbnQgdmFsdWVzIGFyZSBwcm9wYWdhdGVkCgkgIGFzIGNhcHMgZmllbGRzLiBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGRvIFNEUCBvZmZlci9hbnN3ZXIKCSAgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMiAwMTo1ODo1NyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheS9kZXBheTogUmVwbGFjZSBmcmFtZXNpemUgY2FwcyB3aXRoIHdpZHRoL2hlaWdodAoJICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gaGFkIHRoZSBmb3JtYXR0aW5nIG9mIFNEUCBhdHRyaWJ1dGVzIGhhcHBlbgoJICBpbiBlYWNoIFJUUCBwYXlsb2FkZXIsIG5vdyBpbnN0ZWFkIHRoZSBjb25zdGl0dWVudCB2YWx1ZXMgYXJlIHByb3BhZ2F0ZWQKCSAgYXMgY2FwcyBmaWVsZHMuIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZG8gU0RQIG9mZmVyL2Fuc3dlcgoJICBiYXNlZCBvbiBjYXBzIG5lZ290aWF0aW9uLgoJICBLZWVwIHBhcnNpbmcgYS1mcmFtZXJhdGUsIHgtZnJhbWVyYXRlIGFuZCB4LWRpbWVuc2lvbnMgaW4gcnRwanBlZ2RlcGF5CgkgIHRvIGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggcHJldmlvdXMgcGF5bG9hZGVycy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMiAwMzoxODowNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheS9kZXBheTogQWRkIG9wdGlvbmFsIGZyYW1lcmF0ZSBjYXBzIGZvciB1c2UgaW4gU0RQCgkgIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZm9ybWF0IFNEUCBhdHRyaWJ1dGVzIGFuZCBzdGlsbCBkbyBTRFAKCSAgb2ZmZXIvYW5zd2VyIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDkKCjIwMTMtMDUtMjIgMDM6MDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBmcmFtZSBkaW1lbnNpb25zIGEgcGF5bG9hZGVkIGNhcHMKCSAgVGhpcyBhbGxvd3MgZm9yIGFwcGxpY2F0aW9ucyB0byBmb3JtYXQgU0RQIGF0dHJpYnV0ZXMgYW5kIHN0aWxsIGRvIFNEUAoJICBvZmZlci9hbnN3ZXIgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OQoKMjAxMy0wNS0yMCAyMjoxNDo0NCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogUmVzdHJ1Y3R1cmluZyB0byBhbGxvdyBmb3IgYWRkaW5nIG9wdGlvbmFsIGNhcHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OQoKMjAxMy0wNS0yMyAxODo0MjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAoZHlufG11bHRpKXVkcHNpbms6IEFkZCBwcm9wZXJ0aWVzIHRvIHNwZWNpZnkgdGhlIGJpbmQgYWRkcmVzcyBhbmQgcG9ydAoJICBCeSBkZWZhdWx0IHdlIHVzZSB0aGUgYW55IGFkZHJlc3NlcyBhbmQgYSByYW5kb20gcG9ydCBmb3IgYmluZGluZyB0aGUgc29ja2V0LgoKMjAxMy0wNS0yMyAxODowNTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIChkeW58bXVsdGkpdWRwc2luazogQmluZCBzb2NrZXQgYmVmb3JlIHVzaW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4NzgKCjIwMTMtMDUtMjMgMTc6MjU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIChtdWx0aSl1ZHBzaW5rOiBBZGQgbWlzc2luZyBnZXR0ZXJzIGZvciBzb2NrZXQtdjYgYW5kIHVzZWQtc29ja2V0LXY2IHByb3BlcnRpZXMKCjIwMTMtMDUtMjIgMjE6MDE6NDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgaG9sZCBzdHJlYW0tbG9jayB3aGlsZSBwdXNoaW5nIG5vbi1zZXJpYWxpemVkIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODY4CgoyMDEzLTA1LTIyIDIxOjAwOjQ1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGhvbGQgb2JqZWN0IGxvY2sgd2hpbGUgc2VuZGluZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg2OAoKMjAxMy0wNS0yMiAxNzozMjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBUaGUgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfc2V0X2NhcHMoKSBpcyBub3QgcmVsZXZhbnQgYW55bW9yZQoJICBDYXBzIGNhbiBmYWlsIHRvIGJlIHNldCBiZWNhdXNlIHRoZSBwYWQgaXMgbm90IGxpbmtlZCB5ZXQgZm9yIGV4YW1wbGUuCgoyMDEzLTA1LTE1IDE2OjM5OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgZXJyb3IgaWYgZmlsZSBoYXMgcGxheXJlYWR5IGRybQoKMjAxMy0wNS0xOCAxNTowNjo0OSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogU2VuZCBhIHJlY29uZmlndXJlIGV2ZW50IHVwc3RyZWFtIGlmIHNpbmtwYWQgY2FwcyBhcmUgbm90IHVzYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTIxIDEyOjAyOjUxICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGtlZXAgYSByZWZlcmVuY2UgdG8gYWxsIHF1ZXVlZCBidWZmZXJzCgkgIFdpdGhvdXQgdGhpcywgYSBxdWV1ZWQgYnVmZmVyIG1heSBiZSByZXF1aXJlZCwgZmlsbGVkIGFuZCBxdWV1ZWQgYmVmb3JlIGl0CgkgIGlzIGRlcXVldWVkLgoJICBDYWxsaW5nIGdzdF9idWZmZXJfcG9vbF9hY3F1aXJlX2J1ZmZlcigpIGVuc3VyZXMgdGhhdCB0aGUgYnVmZmVyIGlzIHNldCB1cAoJICBjb3JyZWN0bHkgYW5kIGdzdF9idWZmZXJfdW5yZWYoKSBjYWxscyBidWZmZXJfcmVsZWFzZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzgxCgoyMDEzLTA1LTIxIDEzOjMzOjU5ICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBtdWxhd2RlYzogSGFuZGxlIE5VTEwgYnVmZmVycyBpbiBoYW5kbGVfZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODg5NAoKMjAxMy0wNS0yMCAyMTo0NDoxMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheS9kZXBheTogQWRkIGZyYW1lc2l6ZSBjYXBzIGZvciB1c2UgaW4gU0RQCgkgIFRoZSBmb3JtYXQgb2YgdGhlIHZhbHVlIGFkaGVyZXMgdG8gUkZDNjA2NCBhbmQgaXQgaXMgbWVhbnQgdG8gYmUgcGFyc2VkCgkgIGFuZCBpbmNsdWRlZCBpbiB0aGUgU0RQIHNlbnQgYnkgZ3N0LXJ0c3Atc2VydmVyIHRvIGl0cyBjbGllbnRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ4CgoyMDEzLTA1LTIwIDIxOjM0OjEzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBZGQgb3B0aW9uYWwgZnJhbWVyYXRlIGNhcHMgZm9yIHVzZSBpbiBTRFAKCSAgVGhlIGZvcm1hdCBvZiB0aGUgdmFsdWUgYWRoZXJlcyB0byBSRkM0NTY2IGFuZCBpdCBpcyBtZWFudCB0byBiZSBwYXJzZWQKCSAgYW5kIGluY2x1ZGVkIGluIHRoZSBTRFAgc2VudCBieSBnc3QtcnRzcC1zZXJ2ZXIgdG8gaXRzIGNsaWVudHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjAgMTk6NTk6MTMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFdoZW4gYWxsIHNpbmtwYWRzIGFyZSBlb3MsIHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIGFuZCBmb3J3YXJkIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3OTMKCjIwMTMtMDUtMjAgMTk6NTE6MDcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHJlc2V0IHRoZSBvdXRwdXQgc2VnbWVudCBvbiBmbHVzaCBzdG9wCgkgIE9ubHkgaW5pdCBpdCB3aGVuIGdldHRpbmcgZnJvbSBSRUFEWSB0byBQQVVTRUQsIGFuZCBjaGFuZ2UgaXQgb24gc2VlayBldmVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3OTMKCjIwMTMtMDUtMTcgMTA6MTY6NDggKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogRG9uJ3Qgc3RvcCBzdHJlYW1pbmcgd2hlbiBzZXRfY2FwcyBpcyBjYWxsZWQgd2l0aCB1bmNoYW5nZWQgY2FwcwoJICBUaGlzIGNhbiBoYXBwZW4gaWYgb3RoZXIgcGFydHMgb2YgdGhlIHBpcGVsaW5lIGFyZSByZWNvbmZpZ3VyZWQuCgkgIFN0b3Agc3RyZWFtaW5nIGV2ZW4gZm9yIGEgc2hvcnQgYW1vdW50IG9mIHRpbWUgY2FuIGJlIHF1aXRlIHZpc2libGUsIHNvIGl0CgkgIHNob3VsZCBiZSBhdm9pZGVkIGlmIHBvc3NpYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNTAzCgoyMDEzLTA1LTE4IDE1OjM5OjM2IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogUmUtZW5hYmxlIHZpZGVvbWl4ZXIgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTE4IDE0OjM2OjM5IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBTZW5kIGNhcHMgZXZlbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBUaGlzIHdheSB3ZSBhdm9pZCByYWNlcyBpbiBjYXBzIG5lZ290aWF0aW9uIGFuZCB3ZSBtYWtlIHN1cmUKCSAgdGhhdCB0aGUgY2FwcyBhcmUgc2VudCBhZnRlciBzdHJlYW0tc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMDUgMjA6MjU6MjAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvIG5vdCBzZW5kIGZsdXNoX3N0b3Agd2hlbiByZWNlaXZpbmcgYSBzZWVrCgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBzZW5kIGEgZmx1c2gtc3RvcCB3aGVuIHJlY2VpdmluZyBhIHNlZWsgZXZlbnQuCgkgIEluIHRoZSBjYXNlIG9mIGEgZmx1c2hpbmcgc2Vlaywgd2UgY291bGQgZXZlbnR1YWxseSB3YW50IHRvLCBidXQgaW4KCSAgdGhlIGNvZGUgcGF0aCB3ZXJlIHdlIGNoZWNrIGlmIHRoZSBzZWVrIGlzICJmbHVzaGluZyIsIHdlIGhhdmUgdGhlCgkgIGZvbGxvd2luZyBjb21tZW50IHRoYXQgbWFrZXMgc2Vuc2U6CgkgICJ3ZSBjYW4ndCBzZW5kIEZMVVNIX1NUT1AgaGVyZSBzaW5jZSB1cHN0cmVhbSBjb3VsZCBzdGFydCBwdXNoaW5nIGRhdGEKCSAgYWZ0ZXIgd2UgdW5sb2NrIG1peC0+Y29sbGVjdC4KCSAgV2Ugc2V0IGZsdXNoX3N0b3BfcGVuZGluZyB0byBUUlVFIGluc3RlYWQgYW5kIHNlbmQgRkxVU0hfU1RPUCBhZnRlcgoJICBmb3J3YXJkaW5nIHRoZSBzZWVrIHVwc3RyZWFtIG9yIGZyb20gZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkLAoJICB3aGljaGV2ZXIgaGFwcGVucyBmaXJzdC4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMDUgMjA6MjQ6NDkgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBQcm90ZWN0IGZsdXNoX3N0b3BfcGVuZGluZyB3aXRoIHRoZSBjb2xsZWN0cGFkIHN0cmVhbSBsb2NrCgkgIEFuZCBtYWtlIHN1cmUgdG8gZXhwZWN0IGEgZmx1c2gtc3RvcCBhZnRlciBhIGZsdXNoLXN0YXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMTcgMTI6Mzc6NTkgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXk6IGNsZWFyIGNvbmZpZyBidWZmZXIgYmVmb3JlIHVzaW5nIGl0CgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgcGFydHMgb2YgdGhlIG1lbW9yeSBhcmUgb25seSBtb2RpZmllZCB3aXRoICJ8PSIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDUxNAoKMjAxMy0wNS0xNCAxNzozMDowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIG5vdCBleHBlY3QgRU9TIGFmdGVyIGEgc2VnbWVudCBldmVudCBpZiB1cHN0cmVhbSBpcyBtc3MKCSAgSW4gY2FzZSBxdGRlbXV4IGlzIGhhbmRsaW5nIGEgbXNzIHN0cmVhbSwgZG8gbm90IG1hcmsgdGhlIHN0cmVhbSB0byB3YWl0CgkgIGZvciBFT1MgYWZ0ZXIgYSBzZWdtZW50LiBFdmVuIGlmIGl0IHNlZW1zIHRvIGJlIHRoZSBsYXN0IG9uZSBhY2NvcmRpbmcgdG8KCSAgdGhlIGN1cnJlbnQgc3RyZWFtcyBpbmZvcm1hdGlvbi4KCSAgTVNTIGhhbmRsaW5nIGlzIGRpZmZlcmVudCBoZXJlIGJlY2F1c2UgdGhlcmUgaXMgYW5vdGhlciBkZW11eGVyIGRyaXZpbmcKCSAgdGhlIHBpcGVsaW5lCgoyMDEzLTA1LTE0IDE2OjMyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSBzZXQgY2hhbm5lbHMgYW5kIHJhdGUgaWYgcXRkZW11eCBrbm93cyBpdAoJICBTZXR0aW5nIGJvdGggb2YgdGhvc2UgdG8gMCBpcyBwb2ludGxlc3MgYW5kIG1lYW5zIHRoYXQgcXRkZW11eAoJICBkb2Vzbid0IGtub3cgdGhlIHJlYWwgdmFsdWUuIEF2b2lkIHNldHRpbmcgaXQgaW4gdGhpcyBjYXNlLgoKMjAxMy0wNS0xNCAxNToyMzowOCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IGFsYWMgY2FwcyB1c2luZyBpbmZvIGZyb20gY29kZWMgYnVmZmVyCgkgIFRoZSBzYW1wbGVyYXRlIGZpZWxkIGluIHRoZSBTVFNEIGF0b20gaXMgbm90IHJpZ2h0IGZvciBzb21lIEFMQUMgZmlsZXMKCSAgKHVzdWFsbHkgd2hlbiBhdWRpbyBpcyA5NmtIei8yNGJpdHMpLCBzbyB0aGUgYXVkaW8gY2FwcyBtdXN0IGJlCgkgIGV4dHJhY3RlZCBmcm9tIHRoZSBjb2RlYyBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzgyCgoyMDEzLTA1LTE1IDExOjEzOjEyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDUtMTUgMTA6NTE6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZWRjZDg1IHRvIDA5OGMwZDcKCjIwMTMtMDUtMTQgMTA6Mjg6MTAgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEFkZCBzdXBwb3J0IGZvciBHUkFZMTZfTEUvR1JBWTE2X0JFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAzMzEKCjIwMTMtMDUtMTQgMTc6Mjk6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IFNlbmQgYWxsIGV2ZW50cyB0aHJvdWdoIHRoZSBwcm94eXBhZHMgaW5zdGVhZCBvZiBqdXN0IHNlbmRpbmcgdG8gdGhlIHRhcmdldAoJICBPdGhlcndpc2UgdGhlIHN0aWNreSBldmVudHMgYXJlIG1pc3Npbmcgb24gdGhlIHByb3h5cGFkcy4KCjIwMTMtMDUtMTQgMTc6Mjk6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDE2OjM0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICByZ2xpbWl0ZXI6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3RzCgoyMDEzLTA1LTE0IDE2OjMxOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxNjowODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxNjowMDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDEzOjU4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIG11bGF3OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDEzOjUyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBNYWtlIHN1cmUgdG8gc2VuZCBhIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGRhdGFmbG93CgoyMDEzLTA1LTE0IDEwOjUyOjE5ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogb25seSBhZGQgaW50ZXJsYWNlLW1vZGUgdG8gdGhlIGNhcHMgZm9yIHJhdyBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyODAKCjIwMTMtMDUtMTQgMTI6MDM6MDMgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBjb3B5IGFuZCBzZXQgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSBjb250ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyODIKCjIwMTMtMDUtMTQgMTA6MjU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDA5OjQ1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBoYW5kbGluZyBvZiBtaW4vbWF4IGJ1ZmZlciBudW1iZXJzIG9mIHRoZSBidWZmZXIgcG9vbAoKMjAxMy0wNS0xNCAwMzo0Mjo1OSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc2V0IGNhcHMgZm9yIGJ1ZmZlciBwb29sIGNvbmZpZwoKMjAxMy0wNS0xMyAxMzozMDozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBMZXQgdGhlIGJhc2UgY2xhc3MgZG8gZ2V0X3RpbWVzCgkgIFRoaXMgd2lsbCBtYWtlIHN5bmM9VFJVRSB3b3JrLCB0aGUgZGVmYXVsdCBpcyBzdGlsbCBzeW5jPUZBTFNFCgoyMDEzLTA1LTExIDIzOjA4OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMgZXZlbnQKCjIwMTMtMDUtMTEgMjM6MjQ6MzYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBiZWZvcmUgY2FwcwoKMjAxMy0wNS0xMSAyMzoyODoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyLXRlc3Q6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzIGZvbGxvd2VkIGJ5IHNlZ21lbnQKCjIwMTMtMDUtMTEgMjM6MzQ6MzYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbi10ZXN0OiBTZW5kIG1pc3Npbmcgc3RyZWFtLXN0YXJ0IGFuZCBzZWdtZW50IGV2ZW50cwoKMjAxMy0wNS0xMyAxNTozNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB0ZXN0czogRml4IHNvbWUgbW9yZSBldmVudCBoYW5kbGluZyBpbiB0ZXN0cwoKMjAxMy0wNS0xMyAxNToxOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICBpY3lkZW11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xMyAxNToxOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEZpeCBzdGlja3kgZXZlbnQgaGFuZGxpbmcKCjIwMTMtMDUtMTMgMTU6MDY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBQdXNoIHN0aWNreSBldmVudHMgaW4gdGhlIHJpZ2h0IG9yZGVyCgoyMDEzLTA1LTEzIDE0OjU1OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB0ZXN0CgoyMDEzLTA1LTEzIDE0OjA3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IEZpeCBzdGlja3kgZXZlbnQgaGFuZGxpbmcKCjIwMTMtMDUtMTMgMTM6NTU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogQ29kZSBzdHlsZSBmaXhlcwoKMjAxMy0wNS0xMyAxMDo0MzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEZpcnN0IGxldCBiYXNlY2xhc3MgaGFuZGxlIGV2ZW50cywgdGhlbiBwdXQgdGhlbSBpbnRvIHRoZSBzdHJlYW0KCSAgRml4ZXMgaGFuZGxpbmcgb2Ygc3RpY2t5IGV2ZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDIxMwoKMjAxMy0wNS0wOSAyMjowNToyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjMyOjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bS10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxODoyNToxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXItdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MjM6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2UtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MjE6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICB5NG1lbmMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMTAgMTQ6MDA6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZml4IGV4YW1wbGUgcGlwZWxpbmUKCSAgTmVlZCBqcGVncGFyc2UuCgoyMDEzLTA1LTEwIDEzOjM0OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgdGVzdHM6IEZpeCBzb21lIG1vcmUgdW5pdCB0ZXN0cwoKMjAxMy0wNS0xMCAxMzoxMDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IEZpeCBwYXJzZXIgdGVzdHMKCjIwMTMtMDUtMDkgMjI6MjA6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBDYW4ndCBtYXAgdHdpY2UgdGhlIHNhbWUgYnVmZmVyIGZvciB3cml0aW5nCgkgIEkgdG9vayB0aGUgb3Bwb3J0dW5pdHkgdG8gc2ltcGxpZnkgdGhhdCBjb2RlIGEgYml0LiBXZSBub3cgdXNlCgkgIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSgpIHRvIG1ha2UgdGhlIGJ1ZmZlciB3cml0YWJsZSBhbmQgbWFwIHR3aWNlIHRoZQoJICBzYW1lIGJ1ZmZlciwgd2l0aCBmaXJzdCBtYXAgYmVpbmcgcmVhZC93cml0ZSwgYW5kIHNlY29uZCByZWFkIG9ubHkuIFRoaXMKCSAgZ2V0IHJpZCBvZiB0aGUgY3JpdGljYWw6CgkgIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3N0cnVjdHVyZV9zZXRfbmFtZTogYXNzZXJ0aW9uIGBJU19NVVRBQkxFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNDQKCjIwMTMtMDUtMDkgMjI6MTU6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBFbnN1cmUgY2FwcyBhcmUgd3JpdGFibGUKCSAgVGhlIGV4aXN0IG9uZSBjYXNlIHdoZXJlIHRoYXQgd2UgZW5kdXAgd2l0aCBvcmlnaW5hbCBjYXBzIGluIHJldCwgaW4gd2hpY2gKCSAgY2FzZSB3ZSBhcmUgbm90IGd1YXJhdGllZCB0byBoYXZlIHdyaXRhYmxlIGNhcHMuIFNpbXBseSBlbnN1cmUgdGhpcyBpcyB0aGUKCSAgY2FwcyBhcmUgd3JpdGFibGUgYmVmb3JlIGVudGVyaW5nIHRoZSBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDQ0CgoyMDEzLTA1LTA5IDIyOjEzOjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IHNhbXBsZSBwaXBlbGluZSBpbiBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNDQKCjIwMTMtMDUtMDkgMTg6MDU6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAganBlZ2VuYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNzo0OTowMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNzoyMDoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIHZwOGRlYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNzoxOTo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjLXRlc3Q6IFNlbmQgaW5pdGlhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNjoyNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBSZXZlcnQgInZpZGVvbWl4ZXIyOiBUYWtlIGludG8gYWNjb3VudCBuZXcgc2VnbWVudHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODRhZTY3MGFiNDBiMjU4YTEwZTFlMjE0NzFlNmRjOWQ3ODZiZjA4Ni4KCSAgQWN0dWFsbHkgdGhpcyBpcyBub3QgaG93IGl0IGlzIHN1cHBvc2VkIHRvIHdvcmsuIHZpZGVvbWl4ZXIKCSAgY3JlYXRlcyBhIFswLC0xXSBzZWdtZW50IGFuZCB0aGVuIHB1dHMgZnJhbWVzIG9mIHRoZSBkaWZmZXJlbnQKCSAgc3RyZWFtcyB0aGVyZSBiYXNlZCBvbiB0aGVpciBydW5uaW5nIHRpbWVzIGluIHRoZWlyIG93biBzZWdtZW50cy4KCjIwMTMtMDUtMDYgMjM6NDM6MDMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBUYWtlIGludG8gYWNjb3VudCBuZXcgc2VnbWVudHMKCSAgQWxzbyBmb3J3YXJkIHRoZSBldmVudCBkb3duc3RyZWFtIG9uIHRoZSBuZXh0IG9wcG9ydHVuaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkzCgoyMDEzLTA1LTA5IDA5OjA3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBSZXZlcnQgImdzdHJ0c3BzcmM6IHNldCBidWZmZXItc2l6ZSBmb3IgbXVsdGljYXN0IGJ1ZmZlcnMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjQ4MWU5NWQwMzhiNDIyOTdhMDE2ZjFkMmRjMWFmMjZkMjE3NWI0Mi4KCSAgVGhpcyBpcyBhbHJlYWR5IGRvbmUgZml2ZSBsaW5lcyBhYm92ZSwgaXQgd2FzIGFkZGVkIGEgeWVhcgoJICBhZ28gaW4gY29tbWl0IDU2MWIxMzFlLgoKMjAxMy0wNS0wOCAxOTo1NDoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZpbHRlcjogVW5pdCB0ZXN0IHNlbmQgU0VHTUVOVCBiZWZvcmUgQ0FQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE5OjIyOjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICBhdmltdXg6IFVuaXQgdGVzdCBzZW5kcyBTRUdNRU5UIGJlZm9yZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5NjYKCjIwMTMtMDUtMDggMTk6MDg6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IFRlc3Qgc2hvdWxkIHNlbmQgc2VnbWVudCBhZnRlciBDQVBTCgkgIFRoaXMgbWFrZXMgdGhlIHVuaXQgdGVzdCBwYXNzIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE5OjAwOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IFRlc3Qgc2hvdWxkIHNlbmQgc2VnbWVudCBhZnRlciBDQVBTCgkgIFRoaXMgbWFrZXMgdGhlIHVuaXQgdGVzdCBwYXNzIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE4OjQ0OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IEZyZXF1ZW5jZSBwcm9wZXJ0eSByZW5hbWVkIGN1dG9mZgoJICBVcGRhdGluZyB0aGUgZG9jdW1lbnRhdGlvbiB0byByZWZsZWN0IHRoaXMgY2hhbmdlLgoJICBTZWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5NjQKCjIwMTMtMDUtMDggMTU6MjU6NTggLTAzMDAgIEFoYSBVbnN3b3J0aCA8YWhhLnVuc3dvcnRoQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZ3N0cnRzcHNyYzogc2V0IGJ1ZmZlci1zaXplIGZvciBtdWx0aWNhc3QgYnVmZmVycwoJICBGb3IgcmVjZWl2aW5nIHZpZGVvIGRhdGEgdmlhIFJUU1Agd2hlbiB0aGUgdmlkZW8gaXMgc2VudCB2aWEKCSAgbXVsdGljYXN0IHRoZXJlIGlzIG5vIHdheSB0byBzcGVjaWZ5IHRoZSB1ZHBzcmMgYnVmZmVyLXNpemUuCgkgIE9uIHdpbmRvd3MgdGhlIG5hdGl2ZSBuZXR3b3JrIGJ1ZmZlciBpcyBub3QgbGFyZ2UgYW5kIHdpdGggdmlkZW8KCSAgaS1mcmFtZXMgYmVpbmcgaHVnZSB0aGUgYnVmZmVyIGlzIHRvIHNtYWxsIGFuZCB5b3UgZ2V0IGktZnJhbWUgY29ycnVwdGlvbiwKCSAgaXQgbG9va3MgdGVycmlibGUsIGFuZCB0aGVyZSBpcyBubyAoZWFzeSkgd2F5IHRvIHNldCB0aGUgdWRwc3JjIGJ1ZmZlci1zaXplLgoJICBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD01MjI2NAoKMjAxMy0wNS0wOCAxNjowMjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTg5NQoKMjAxMy0wNS0wNyAxOToxNTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggY29tcGlsZXIgd2FybmluZyBvbiB0eXBlIGNoZWNrCgoyMDEzLTA0LTE4IDA3OjQ5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBuZXcgY2FwcyBldmVudHMgd2hlbiBjYXBzIGNoYW5nZQoJICBXaGVuZXZlciB0aGUgZGVtdXhlciBoYXMgYSBuZXcgY2FwcyBvbiBhIHN0cmVhbSwgaXQgc2hvdWxkIHNldCB0aGUKCSAgbmV3X2NhcHMgdmFyaWFibGUgdG8gdHJ1ZSBhbmQgYSBuZXcgY2FwcyBldmVudCB3aWxsIGJlIHB1c2hlZCBiZWZvcmUKCSAgdGhlIG5leHQgYnVmZmVyCgoyMDEzLTA0LTE3IDE2OjU0OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgcXRkZW11eCB0YWtlcyBpdHMgYnVmZmVycyBmcm9tIGEgR3N0QWRhcHRlci4gVGhvc2UgYnVmZmVycyBhcmUgY3JlYXRlZAoJICBmcm9tIHRoZSBsYXJnZXIgYnVmZmVyIHRoYXQgaXQgb2J0YWluZWQgZnJvbSB1cHN0cmVhbSBhbmQgdGhleSBjYXJyeQoJICB0aGUgc2FtZSBmbGFncywgaW5jbHVkaW5nIERJU0NPTlQgaWYgaXQgaXMgc2V0LiBJbiB0aGVzZSBjYXNlcywgYWxsCgkgIGJ1ZmZlcnMgdGhhdCBxdGRlbXV4IGlzIGdvaW5nIHRvIHB1c2ggd291bGQgYmUgbWFya2VkIGFzIERJU0NPTlQuCgkgIFRoaXMgc2NlbmFyaW8gY2FuIG1ha2UgcGFyc2Vycy9kZWNvZGVycyBmbHVzaCBvbiBldmVyeSBidWZmZXIgbGVhZGluZwoJICB0byBubyBkZWNvZGluZyBhdCBhbGwgaGFwZW5uaW5nLiBUaGlzIHBhdGNoIHByZXZlbnRzIHRoaXMgYnkgdW5zZXR0aW5nCgkgIHRoZSBmbGFnIGlmIGl0IHNob3VsZG4ndCBiZSBzZXQuCgoyMDEzLTA0LTEyIDA5OjA4OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHNvbWUgY29kZSBjbGVhbnVwIGZvciBtc3MgaGFuZGxpbmcgY29kZQoJICAqIEV4cGxpY2l0bHkgaW5pdCB2YXJpYWJsZXMgZm9yIGZyYWdtZW50ZWQgZm9ybWF0cyBhdCBpbml0CgkgICogRG8gbm90IHVzZSBHc3RDbG9ja1RpbWUgdHlwZSBpZiB0aGUgdmFyaWFibGUgaXNuJ3QgYSB0aW1lc3RhbXAKCSAgKiBGaXggYSBzdHlsZS9yZWFkYWJpbGl0eSBpc3N1ZSBhdCBhbiBpZiBibG9jawoJICAqIEdyb3VwIDIgbXNzIG1vZGUgY29uZGl0aW9uYWwgYmxvY2tzIHRvZ2V0aGVyIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wNC0xMiAxMDoyMToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIHN0b3Jpbmcgbm9uLXRpbWUgbmV3c2VnbWVudHMgdG8gcHVzaCBsYXRlcgoJICBUaGlzIGNhbiBjb25mdXNlIGRvd25zdHJlYW0gd2hlbiB0aGV5IGdldCBhIGJ5dGUgc2VnbWVudCBhZnRlciByZWNlaXZpbmcKCSAgdGhlIG5hdHVyYWwgdGltZSBzZWdtZW50IGZyb20gcXRkZW11eCB0aGF0IGl0IHNlbmRzIHdoZW4gc3RhcnRpbmcgdG8KCSAgcHVzaCBidWZmZXJzLiBUaGlzIGlzIHNwZWNpYWxseSB0aGUgY2FzZSB3aXRoIHBhcnNlcnMgdGhhdCB0cnkgdG8KCSAgY29udmVydCB0aGUgcG9zaXRpb24gZnJvbSBieXRlIHRvIHRpbWUgZm9ybWF0IGFuZCBtaWdodCBtaXNzIHRoZQoJICBjb3JyZWN0IHBvc2l0aW9uIGZvciBwbGF5YmFjayB0byBzdGFydC4KCjIwMTMtMDQtMTAgMTg6MDI6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBzZXR0aW5nIGZpZWxkcyB0byBub24td3JpdGFibGUgY2FwcwoKMjAxMy0wMy0xMCAwNDoxNTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBzZW5kIHNvIG1hbnkgc2VnbWVudCBldmVudHMKCSAgT25seSBzZW5kIG9uZSBzZWdtZW50IGV2ZW50IGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbSwgbm90CgkgIGFmdGVyIGVhY2ggbW9vdiBhbmQgbW9vZiBhdG9tLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTAzLTA4IDE2OjAyOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBsYWNlIGluY29tbWluZyB0aW1lc3RhbXBzIG9uIG91dHB1dAoJICBQbGFjZSB0aGUgaW5jb21taW5nIHRpbWVzdGFtcCAoaWYgYW55KSBkaXJlY3RseSBvbnRvIHRoZSBvdXRnb2luZyBidWZmZXJzCgkgIGFuZCBpbnRlcnBvbGxhdGUgb3RoZXIgdGltZXN0YW1wcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wNS0wNyAxMDoxNjoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgcmVzZXQgb2YgaW50ZXJuYWwgc3RhdHVzCgkgIFJlc2V0IGRpZmZlcmVudCB2YXJpYWJsZXMgb24gc3RhdGUgY2hhbmdlcyB0byByZWFkeSBhbmQgd2hlbgoJICBoYW5kbGluZyBhIGZsdXNoLXN0b3AuIEZvciBoYW5kbGluZyBmbHVzaCBzdG9wcyB3ZSBzaG91bGQgY2hlY2sKCSAgaWYgdGhlcmUgaXMgYW4gdXBzdHJlYW0gYWRhcHRpdmUgZGVtdXhlciBkcml2aW5nIHRoZSBwaXBlbGluZSBhcyB0aGlzCgkgIG1lYW5zIHRoYXQgcXRkZW11eCB3aWxsIGdldCBhIG5ldyBtb292IGF0b20uIEZvciAnc3RhbmRhcmQnIGlzb21lZGlhCgkgIHN0cmVhbXMgdGhpcyBpc24ndCB0cnVlIGFuZCBxdGRlbXV4IHNob3VsZCBrZWVwIHRoZSBwcmV2aW91cyBtb292CgkgIGluZm9ybWF0aW9uIGFyb3VuZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMi0wOCAwMDoyOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZXBhcmUgcXRkZW11eCB0byBhY2NlcHQgbXVsdGlwbGUgZGFzaCBtb292cyBpbiBhIHJvdwoJICBXaGVuZXZlciBkYXNoZGVtdXggc3dpdGNoZXMgYml0cmF0ZXMgaXQgc2VuZHMgYSBuZXcgbW9vdiB3aXRoIHRoZQoJICBuZXcgc3RyZWFtIGNvbmZpZ3VyYXRpb24uIHF0ZGVtdXggc2hvdWxkIG5vdyBoYW5kbGUgdGhpcyBieSBzcGxpdHRpbmcKCSAgdGhlIGV4cG9zaW5nIGFuZCBjb25maWd1cmF0aW9uIG9mIHN0cmVhbXMgaW50byBzZXBhcmF0ZSBmdW5jdGlvbnMuIFdoZW4KCSAgdGhlIHN0cmVhbSBpcyBuZXcgaXQgaXMgY29uZmlndXJlZCBhbmQgZXhwb3NlZCwgd2hlbiBpdCBpcyBhIG5ldyBiaXRyYXRlCgkgIG9mIGFuIGV4aXN0aW5nIHN0cmVhbSBpdCBpcyBvbmx5IHJlY29uZmlndXJlZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMi0wNyAxNDoxMjo1MyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3ZlIEZMVVNIX1NUT1AvUEFVU0VEX1RPX1JFQURZIGhhbmRsaW5nIHRvIGEgcmVzZXQgbWV0aG9kLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTAxLTIzIDEwOjU1OjMzIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogUmVtb3ZlIG9sZCBwYWRzIHdoZW4gZXhwb3Npbmcgc3RyZWFtcyBhbmQgb3RoZXIgZ2VuZXJhbCBmaXhlcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wNC0xNiAxMDo0MTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBoYW5kbGUgbXNzIHN0cmVhbXMKCSAgc21vb3Roc3RyZWFtaW5nIHN0cmVhbXMgc2hvdWxkIGJlIGhhbmRsZWQgYXMgYSBzcGVjaWFsIGtpbmQgb2YKCSAgZnJhZ21lbnRlZCBpc29tZWRpYS4gSW4gTVNTIHRoZSBmcmFnbWVudHMgd2lsbCBub3QgY29udGFpbiBhCgkgICdtb292JyBhdG9tIHdpdGggdGhlIG1lZGlhIGRlc2NyaXB0aW9ucywgdGhpcyBoYXMgdG8gYmUgZXh0cmFjdGVkCgkgIGZyb20gdGhlIGNhcHMuCgkgIEFkZGl0aW9uYWxseSwgdGhlcmUgc2hvdWxkIGJlIGFub3RoZXIgZGVtdXhlciB1cHN0cmVhbSB0aGF0IGlzIGxpa2VseQoJICBnb2luZyB0byBiZSB0aGUgb25lIHRvIGFuc3dlci9hY3Qgb24gcXVlcmllcyBhbmQgZXZlbnRzLCBzbyBxdGRlbXV4IGhhcwoJICB0byBmb3J3YXJkIHRob3NlIHVwc3RyZWFtLgoKMjAxMy0wNS0wNiAxNjo1NDowMiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiByZXF1ZXN0IDAgYnVmZmVycyB3aGVuIHN0b3BwaW5nCgkgIFdpdGhvdXQgdGhpcyBzdG9wcGluZyB0aGUgcG9vbCBpbiAqX3NldF9jYXBzKCkgaXMgdXNlbGVzcy4KCSAgU19GTVQgd2lsbCBzdGlsbCBmYWlsIHdpdGggRUJVU1kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4MzUKCjIwMTMtMDUtMDcgMTY6MzI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBCeSBkZWZhdWx0IGFzc3VtZSB0aGF0IHdlJ3JlIHdvcmtpbmcgb24gbm9uLXBhY2tldGl6ZWQgaW5wdXQKCSAgT25seSBkZXRlY3RpbmcgdGhpcyBpbiBzZXRfZm9ybWF0KCkgZG9lcyBub3Qgd29yayBiZWNhdXNlIHdlIG1pZ2h0CgkgIG5vdCBnZXQgYW55IGNhcHMgYXQgYWxsLCBlLmcuIGZyb20gZmlsZXNyYy4KCjIwMTMtMDUtMDcgMTY6MzA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBJbXBsZW1lbnQgcGFyc2luZyBmdW5jdGlvbmFsaXR5CgkgIFRoaXMgYWxsb3dzIHRvIHBsdWcgcG5nZGVjIGRpcmVjdGx5IHdpdGhvdXQgYSBwYXJzZXIgaWYgdGhhdAoJICBpcyBkZXNpcmVkLgoJICBQYXJzaW5nIGNvZGUgaXMgYmFzZWQgb24gcG5ncGFyc2UuCgoyMDEzLTA1LTA3IDE1OjU0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgIGNhY2FzaW5rOiBGaXggc3VwcG9ydCBmb3IgUkdCIGZvcm1hdHMgYW5kIGFkZCBzdXBwb3J0IGZvciBtb3JlIG9mIHRoZW0KCjIwMTMtMDUtMDQgMTM6MTk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGNvbnNpZGVyIHRoZSBjb250ZW50IHNpemUgZnJvbSB0aGUgSFRUUCBoZWFkZXJzIGFzIGFic29sdXRlbHkgY29ycmVjdAoJICBUaGUgSFRUUCBzZXJ2ZXIgY291bGQgZ2l2ZSB3cm9uZyBpbmZvcm1hdGlvbiwgZS5nLiBpZiB0aGUgSFRUUCBzdHJlYW0gaXMKCSAgY2h1bmstZW5jb2RlZCBvciBjb21wcmVzc2VkLCBvciBpZiB0aGUgc2VydmVyIGRvZXMgbm90IGtub3cgdGhlIGNvbXBsZXRlIHNpemUKCSAgYXQgdGhlIHRpbWUgd2hlbiB0aGUgZmlsZSBpcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KCSAgQWxzbyBzZWUKCSAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTM1NAoKMjAxMi0wOC0yMCAwOTo1MjozMiArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpbGwgb3V0IHY0bDJfYnVmZmVyLmJ5dGVzdXNlZCBmaWVsZCBmb3IgdjRsMnNpbmsKCSAgV2hlbiBxdWV1aW5nIGEgYnVmZmVyIGZvciBhIHNpbmssIGJ5dGVzdXNlZCBtdXN0IGNvbnRhaW4gdGhlIGFjdHVhbAoJICBhbW91bnQgb2YgZGF0YS4KCSAgRm9yIGEgc291cmNlLCB0aGUgZHJpdmVyIG11c3Qgb3ZlcndyaXRlIHRoaXMsIHNvIGl0IGRvZXNuJ3QgbWF0dGVyCgkgIHdoYXQgaXMgc2V0IGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk1OTgKCjIwMTMtMDUtMDMgMjM6NDM6MjYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gZXZlbnQgaGFuZGxlcgoJICBGaXJzdCBwcm9jZXNzIGV2ZW50IGluIHBheWxvYWRlciwgdGhlbiBoYW5kIGl0IHRvIHRoZQoJICBiYXNlIGNsYXNzIHdoaWNoIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk2MzcKCjIwMTMtMDUtMDQgMDk6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgYWMzcGFyc2UsIGRjYXBhcnNlOiBjaGVjayBidWZmZXIgc2l6ZSBiZWZvcmUgdHJpbW1pbmcKCSAgYW5kIHVucmVmIG9sZCBidWZmZXIgYXMgc29vbiBhcyBwb3NzaWJsZS4KCjIwMTMtMDUtMDIgMTU6MDA6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IGFkZCBzdXBwb3J0IGZvciAiYXVkaW8veC1wcml2YXRlMS1kdHMiCgoyMDEzLTA1LTAyIDE0OjU2OjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtYWMzIgoKMjAxMy0wNS0wMyAxMjo0NjozNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFsd2F5cyBnZW5lcmF0ZSB2aWRlbyBpbmZvIGZyb20gY2FwcwoJICBJbiB0aGUgcGFzdCBnc3RfdmlkZW9faW5mb19mcm9tX2NhcHMoKSBvbmx5IHZpZGVvL3gtcmF3LiBOb3cgaXQgYWxzbwoJICBzdXBwb3J0cyBvdGhlciB2aWRlby8qIGFuZCBpbWFnZS8qIGZvcm1hdHMuCgkgIFdpdGggdGhpcyBwYXRjaCB0aGUgZm9ybWF0IHdvbid0IGJlIEdTVF9WSURFT19GT1JNQVRfVU5LT1dOIGFuZAoJICBnc3RfdjRsMl9idWZmZXJfcG9vbF9zZXRfY29uZmlnKCkgaGFuZGxlcyBzdHJpZGVzIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTU3MAoKMjAxMy0wNS0wMiAwOTo0MTowMSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiB0cnkgdG8gYWxsb2NhdGUgbmV3IGJ1ZmZlcnMgd2l0aCBWSURJT0NfQ1JFQVRFX0JVRlMgaWYgbmVlZGVkCgkgIElmIG1heF9idWZmZXJzIGlzIDAgdGhlbiBhbiBhcmJpdHJhcnkgbnVtYmVyIG9mIGJ1ZmZlcnMgKGN1cnJlbnRseSA0KSBpcwoJICBhbGxvY2F0ZWQuIElmIHRoaXMgaXMgbm90IGVub3VnaCB2NGwyc3JjIHN0YXJ0cyBjb3B5aW5nIGJ1ZmZlcnMuCgkgIFdpdGggdGhpcyBwYXRjaCBWSURJT0NfQ1JFQVRFX0JVRlMgaXMgdXNlZCB0byBhbGxvY2F0ZSBhIG5ldyBidWZmZXIuIElmCgkgIHRoaXMgZmFpbHMgdjRsMnNyYyBmYWxscyBiYWNrIHRvIGNvcHlpbmcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTQ0NwoKMjAxMy0wNC0xNSAxNzozNzowMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYWZ0ZXIgdHJhbnNpdGlvbgoJICBUaGUgZGVzdHJveWVkIGZsYWcgd2FzIG5vdCByZXNldCBwcm9wZXJseSBhbmQgaXQncyBhbHNvIG5vdCBuZWVkZWQKCSAgYXMgd2UgY2FuIGNoZWNrIG9zeHdpbmRvdyAhPSBOVUxMCgoyMDEzLTA1LTAyIDEzOjQ1OjU1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIHdpdGggbGlidnB4CgoyMDEzLTA0LTI5IDEwOjU4OjA4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgIGdvb20yazE6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbHMgd2l0aCBnb29tCgoyMDEzLTA1LTAxIDE1OjQ5OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBJZiB0aGUgYWRhcHRlciBpcyBlbXB0eSBvbiBFT1MgZG9uJ3QgdHJ5IHRvIG1hcCBpdHMgY29udGVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzE0CgoyMDEzLTA0LTMwIDE0OjM2OjM4ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBzdHJlYW0tZm9ybWF0PXJhdyB0byBhYWMgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzAzCgoyMDEzLTA0LTMwIDEzOjA3OjM3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCBhbmQgY2xlYW51cCBWSURJT0NfRVhQQlVGIGhhbmRsaW5nCgkgIGNsZWFyIHRoZSBzdHJ1Y3QsIGFuZCBwcm92aWRlIGEgY29ycmVjdCBlcnJvciBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzMzcKCjIwMTItMDctMDUgMTg6MDI6MjcgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGhhbmRsZSByZXR1cm4gdmFsdWUgLUVOT1RUWSBmb3IgdW5pbXBsZW1lbnRlZCBWSURJT0NfR19QQVJNCgkgIE5ld2VyIGtlcm5lbHMgcmV0dXJuIC1FTk9UVFksIG9sZGVyIGtlcm5lbHMgcmV0dXJuIC1FSU5WQUwgaWYgdGhlIGlvY3RsCgkgIGlzIG5vdCBpbXBsZW1lbnRlZC4gV2l0aCB0aGlzIHBhdGNoLCBHU3RyZWFtZXIgaGFuZGxlcyBib3RoIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODI1CgoyMDEzLTA0LTMwIDA5OjE2OjA3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGJyb2tlbiBib29sZWFuIGV4cHJlc3Npb24gdG8gZGV0ZWN0IG5vbi1mcmFtZSBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkyOTQKCjIwMTMtMDQtMjkgMTE6MDc6NTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gc2VydmVyIHZlcnNpb24gaXMgdG9vIG9sZAoJICBXZSBjaGVjayBmb3IgdGhlIGxpYnJhcnkgdmVyc2lvbiBhdCBjb25maWd1cmUgdGltZSwgYnV0IHRoZSBzZXJ2ZXIKCSAgdmVyc2lvbiBjYW4gb25seSByZWFsbHkgYmUgY2hlY2tlZCBhdCBydW4tdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODc2OAoKMjAxMy0wNC0yNyAxMToyNDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkgIHVkcDogbG9nIFdBUk5JTkcgZGVidWcgbWVzc2FnZSBpZiBVRFAgbXVsdGljYXN0IGlzIGxpa2VseSB0byBiZSBicm9rZW4KCjIwMTMtMDQtMjcgMTE6MTY6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGFkZCBpbmNsdWRlcyB0byBnZXQgc29ja2xlbl90IGRlZmluZWQgb24gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDAwCgoyMDEzLTA0LTI3IDA5OjM5OjQ1ICswMTAwICBZdXJ5IERlbGVuZGlrIDxhc3luYy5wcm9jZXNzaW5nanNAeWFob28uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBWUDZGIFZQNiBmbGFzaCBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MDEwCgoyMDEyLTA5LTA1IDE2OjM5OjMxICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYWxzbyBwb2xsIGZvciBvdXRwdXQgZGV2aWNlcwoJICBOb3RlIHRoYXQgdGhlIFY0TDIgQVBJIGRlZmluZXMgdGhhdCBmb3Igb3V0cHV0IGRldmljZXMgUE9MTE9VVAoJICBpbmRpY2F0ZXMgdGhhdCBhIGJ1ZmZlciBpcyByZWFkeSB0byBiZSBkZXF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODk5MgoKMjAxMi0wOC0yMCAwOTo1MjozNCArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGNvcHlpbmcgb2YgZW5jb2RlZCBidWZmZXJzCgkgIFRoZSBleGlzdGVuY2Ugb2YgYSBHc3RWaWRlb0Zvcm1hdEluZm8gZG9lcyBub3QgZ3VhcmFudGVlLCB0aGF0CgkgIHRoZSBidWZmZXIgY29udGFpbnMgdmlkZW8gZnJhbWVzLCBzbyB0aGUgZm9ybWF0IG11c3QgYmUgY2hlY2tlZC4KCSAgQWxzbywgZm9yIGVuY29kZWQgYnVmZmVycyB0aGUgbGVuZ3RoIGlzIHZhcmlhYmxlIGFuZCBtdXN0IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODk0OQoKMjAxMi0wNy0xMCAxNToyOTo0MCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFkZCBzdXBwb3J0IGZvciBtcGVnNCBhbmQgSC4yNjMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyNgoKMjAxMy0wNC0yNiAxMjoxNjo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTMtMDQtMjUgMjE6NTA6MzMgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPG1lcm9zQG1lcm9zLWRlc2t0b3AuKG5vbmUpPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZGVjLmM6CgkgIG11bGF3ZGVjOiBjaGFuZ2UgYmFzZSBjbGFzcyB0byBHc3RBdWRpb0RlY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODg5NAoKMjAxMy0wNC0yNSAyMDo1OTo1MiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQuCgoyMDEyLTEwLTE4IDEwOjM3OjM1ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBoYW5kbGUgRU5PREFUQSByZXR1cm4gdmFsdWUgZm9yIFZJRElPQ19FTlVNU1RECgkgIEluIGtlcm5lbCB2My43LXJjMSwgVklESU9DX0VOVU1TVEQgcmV0dXJucyBFTk9EQVRBIGlmIHRoZSBjdXJyZW50IGlucHV0CgkgIGRvZXMgbm90IHN1cHBvcnQgdGhlIFNURCBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjcKCjIwMTMtMDQtMjUgMTM6MTk6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkgIGRvY3M6IGFkZCBzb21lIHBheS9kZXBheWxvYWRlcnMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTE2MzEKCjIwMTMtMDQtMjUgMTI6NDQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdlbmMuYzoKCSAgbXVsYXc6IFNvbWUgbWlub3IgbWVtbGVhayBmaXhlcyBhbmQgY2xlYW51cAoKMjAxMy0wNC0yNCAxMzo1Njo1NiArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIG11bGF3ZW5jOiBjaGFuZ2UgdG8gZ3N0YXVkaW9lbmNvZGVyIGJhc2UsIGFkZGVkIGJpdHJhdGUgdGFncwoKMjAxMi0wNS0wMyAxNjowNzoyNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBidWZmZXJwb29sOiByZXNldCBidWZmZXIgc2l6ZSBpbiByZWxlYXNlX2J1ZmZlcgoJICBUaGUgYnVmZmVyIG1pZ2h0IHN0aWxsIGJlIGluIHVzZSBlbHNld2hlcmUgd2hlbiBkZXF1ZXVpbmcgYnVmZmVycyBmb3IKCSAgb3V0cHV0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyMgoKMjAxMi0wNC0yMCAwOTo1MzozNSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBidWZmZXJwb29sOiByZW1vdmUgdW51c2VkIGluY2x1ZGVzCgkgIFRoZSBoYWNrcyB0aGF0IG5lZWRlZCB0aGVzZSBhcmUgbG9uZyBnb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODIxCgoyMDEzLTA0LTI1IDEyOjEyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIChtdWx0aSl1ZHBzaW5rOiBVc2Ugc2VwYXJhdGUgc29ja2V0cyBmb3IgSVB2NCBhbmQgSVB2NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM0MjQzCgoyMDEzLTA0LTI1IDEwOjQ0OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgZHludWRwc2luazogVXNlIHNlcGFyYXRlIHNvY2tldHMgZm9yIElQdjQgYW5kIElQdjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTUzNDI0MwoKMjAxMy0wNC0yNSAxMDo0Mzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICB1ZHA6IERvbid0IGluY2x1ZGUgcmVtb3ZlZCBnc3R1ZHAuaCBpbiBub2luc3RfSEVBREVSUwoKMjAxMy0wNC0xNyAxNjo0NzozMSAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvOiBVc2UgZ3N0X2F1ZGlvX2NoYW5uZWxfcG9zaXRpb25zX3RvX21hc2soKSB0byBjcmVhdGUgbWFzawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODA3CgoyMDEzLTA0LTE3IDE2OjEyOjI2IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW86IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMy0wNC0yNSAwOToxNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHAuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcDogUmVtb3ZlIHVudXNlZCBlbnVtIHR5cGUKCjIwMTMtMDQtMjUgMDk6MTM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLW1hcnNoYWwubGlzdDoKCSAgdWRwOiBVc2UgdGhlIGdlbmVyaWMgbWFyc2hhbGxlciBpbnN0ZWFkIG9mIGdlbmVyYXRpbmcgbWFyc2hhbGxlcnMKCjIwMTMtMDQtMjUgMDk6MDc6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBSZW5hbWUgaW5zdGFuY2UgdmFyaWFibGUgZnJvbSBob3N0IHRvIG11bHRpX2dyb3VwCgkgIFRoaXMgaXMgbW9yZSBjb25zaXN0ZW50IGFzIGl0J3MgdXNlZCBmb3IgdGhlIG11bHRpY2FzdC1ncm91cCBwcm9wZXJ0eS4KCjIwMTMtMDQtMjUgMDk6MDM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBBZGQgYmluZC1hZGRyZXNzIHByb3BlcnR5CgkgIFRoaXMgaXMgZXF1aXZhbGVudCB0byBtdWx0aWNhc3QtZ3JvdXAgY3VycmVudGx5IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KCSAgSW4gMi4wIHRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgc2VwYXJhdGVseSwgdGhlIGZvcm1lciBvbmx5IGJlaW5nIHRoZSBtdWx0aWNhc3QKCSAgZ3JvdXAgYW5kIHRoZSBsYXR0ZXIgYWx3YXlzIGJlaW5nIHRoZSBhZGRyZXNzIHRoZSBzb2NrZXQgaXMgYm91bmQgdG8sIGV2ZW4gaWYKCSAgYSBtdWx0aWNhc3QgZ3JvdXAgaXMgZ2l2ZW4uCgoyMDEzLTA0LTI0IDE2OjI0OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiByZXR1cm4gb3V0cHV0IGJ1ZmZlciBmcm9tIHByb2Nlc3MKCSAgUmV0dXJuIHRoZSBvdXRwdXQgYnVmZmVyIGZyb20gdGhlIHByb2Nlc3MgZnVuY3Rpb24gaW5zdGVhZCBvZiBwdXNoaW5nCgkgIGl0IG91cnNlbHZlcy4gVGhpcyB3YXksIHRoZSBzdWJjbGFzcyBjYW4gYWN0dWFsbHkgZGVhbCB3aXRoIHRoZSByZXR1cm4KCSAgdmFsdWUgb2YgdGhlIHB1c2guCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM3MjcKCjIwMTItMTAtMDEgMDk6Mjk6MjEgLTAzMDAgIERpb2dvIENhcmJvbmVyYSBMdXZpem9uIDxkaW9nby5sdXZpem9uQGVuc2l0ZWMuY29tLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzYXZlIHRoZSBmb3JtYXQgY29ycmVjdGx5CgkgIElmIFRSWV9GTVQgaXMgbm90IGltcGxlbWVudGVkLCAgZ3N0X3Y0bDJfb2JqZWN0X2dldF9uZWFyZXN0X3NpemUgd2lsbAoJICB1c2UgU19GTVQgYW5kIHdpbGwgY2hhbmdlIHRoZSBkZXZpY2UncyBvcGVyYXRpb24gbW9kZS4gVG8gc2F2ZSB0aGUKCSAgb2xkIGRldmljZSBtb2RlIHdlIG5lZWQgdG8gc2V0IHRoZSB0eXBlIGZpZWxkIG9yIGVsc2UgaXQgd2lsbCBmYWlsCgkgIHRvIHNhdmUgdGhlIHByZXZpb3VzIGZvcm1hdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIwOQoKMjAxMy0wNC0yNCAxNTozODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgIHJ0cDogYSBtYXJrZXIgYml0IHNob3VsZCB0cmFuc2xhdGUgdG8gUkVTWU5DCgkgIEEgbWFya2VyIGJpdCBvbiBhbiBhdWRpbyBwYWNrZXQgZG9lcyBub3QgbWVhbiBhIERJU0NPTlQgKGluIHRoZSBHU3RyZWFtZXIgc2Vuc2UKCSAgb2YgbWlzc2luZyBkYXRhKSBidXQgaXQgbWVhbnMgdGhhdCB0aGUgcGFja2V0IGlzIHRoZSBlbmQgb2YgYSB0YWxrc3B1cnQgYW5kIHRodXMKCSAgYSBnb29kIG9wcG9ydHVuaXR5IHRvIHJlc3luYyB0byB0aGUgY2xvY2suIFVzZSB0aGUgUkVTWU5DIGJ1ZmZlciBmbGFnIHRvIG5vdGUKCSAgdGhpcy4KCSAgUmVhbCBkaXNjb250aW51aXRpZXMgYXJlIG1hcmtlZCB3aXRoIERJU0NPTlQgc3RpbGwgd2hlbiB0aGUgc2VxbnVtIGhhcyBhIEdBUCBvcgoJICB3aGVuIHRoZSBpbnB1dCBidWZmZXIgaGFzIHRoZSBESVNDT05UIGZsYWcgc2V0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3MjA0CgoyMDEzLTA0LTIyIDIzOjUxOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTUFJTlRBSU5FUlM6CgkqIFJFQURNRToKCSogUkVBRE1FLnN0YXRpYy1saW5raW5nOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjYjNkM2MgdG8gNWVkY2Q4NQoKMjAxMy0wNC0yMiAxMDoxOToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IERyb3AgZnJhbWUgaWYgaXQncyBsZXNzIHRoYW4gMiBieXRlcyBsYXJnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NTYwCgoyMDEzLTA0LTE4IDEyOjIwOjA4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiB1c2UgX3BsdWdpbl9mZWF0dXJlX3JhbmtfY29tcGFyZSBBUEkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aGUgY29kZS4KCjIwMTMtMDQtMTggMDk6Mzc6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpbzogSW5jbHVkZSBnc3RhdWRpb3JpbmdidWZmZXIuaCB0byBmaXggY29tcGlsYXRpb24gaW4gMS4wCgoyMDEzLTA0LTE3IDIxOjA1OjE0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IGNoYW5uZWwtbWFzayBjb25maWd1cmF0aW9uIGZpeGVzCgkgIFNldCBjaGFubmVsLW1hc2sgYWNjb3JkaW5nIHRvIHNpbmsncyBsYXlvdXQgaW4gY2FzZSBvZiBzdGVyZW8gbGF5b3V0LgoJICBBbHNvIGluaXRpYWxpemUgYW5kIHJlc2V0IHRoZSBtYXNrIHdoZW4gYW4gdW5yZWNvZ25pemVkIGNoYW5uZWwgaXMgZGV0ZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgyMjQKCjIwMTMtMDQtMTUgMTk6NTM6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IERpc2FibGUgcmVuZWdvdGlhdGlvbiBpbiB0aGUgbmVnb3RpYXRlIG1ldGhvZAoJICBUaGlzIHdheSwgd2UgZG9uJ3QgYmxvY2sgdGhlIGluaXRpYWwgbmVnb3RpYXRpb24uCgkgIFRoYW5rcyB0byBKZXJlbXkgV2hpdGluZyBmb3IgZG9pbmcgYWxsIHRoZSB0ZXN0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1OTgxCgoyMDEzLTA0LTE1IDE5OjQ2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBSZXZlcnQgInY0bDI6IGRpc2FibGUgcmVuZWdvdGlhdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMWIyNmUxZDU5NGFiMmI2MzMyNGU0M2EzNjMzMDQ3NWU5OGNkZjE4LgoJICBUaGlzIGNhdXNlcyB0aGUgaW5pdGlhbCBuZWdvdGlhdGlvbiB0byBuZXZlciBoYXBwZW4gaWYgYSByZWNvbmZpZ3VyZQoJICBldmVudCBpcyByZWNlaXZlZCBhZnRlciBnc3RfYmFzZV9zcmNfc3RhcnRfY29tcGxldGUoKSBidXQgYmVmb3JlIHRoZSBsb29wCgkgIHN0YXJ0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTk4MQoKMjAxMy0wNC0xNyAyMToxMjo1NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhY3RhZzogZm9yd2FyZCBjYXBzIGV2ZW50CgkgIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBkb3duc3RyZWFtIGVsZW1lbnQgd2lsbCBnZXQgdGhlIGV2ZW50IGFuZCBuZWdvdGlhdGVzLiBBZGQKCSAgYSBGSVhNRSBmb3IgdXBkYXRpbmcgdGhlIHN0cmVhbWhlYWRlciBmaWVsZCBvbiB0aCBjYXBzLgoKMjAxMy0wNC0xNyAwNzo1MDoyNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjOiBhZGQgbW9yZSBsb2dnaW5nCgoyMDEzLTA0LTE3IDIwOjI0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSAgb3N4YXVkaW86IEZpeCBtZXJnZSBjb25mbGljdHMKCjIwMTMtMDQtMTcgMTA6MTA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3hhdWRpbzogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igb3N4YXVkaW8gcGx1Z2luCgoyMDEzLTA0LTE3IDA5OjUwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9yaW5nYnVmZmVyOiBGaXJzdCBjaGVjayB0aGUgdHlwZSwgdGhlbiBjYXN0CgoyMDEzLTA0LTE2IDIyOjQ2OjAwICswOTAwICBUYWthc2hpIE5ha2FqaW1hIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIG9zeGF1ZGlvOiB1c2UgR1NUX0lTX09TWF9BVURJT19TSU5LIGluIHJpbmcgYnVmZmVyLgoKMjAxMy0wNC0xMCAyMTowNjoxNiArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIG9zeGF1ZGlvOiBjYWxsIHNldF9jaGFubmVsX3Bvc2l0aW9ucygpIGluIG9zeGF1ZGlvcmluZ2J1ZmZlciBhY3F1aXJlKCkKCjIwMTMtMDQtMTIgMTI6MTg6MDQgLTA3MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogdXNlIEdTVF9BVURJT19JTkZPXyogYWNjZXNzb3JzCgkgIENoYW5nZXMgaW5jbHVkZSB0aGUgZm9sbG93aW5nOgoJICAqIFVwZGF0ZSBjbGFzc25hbWUgcmVmZXJlbmNlcwoJICAqIFJlcGxhY2UgR1NUX0JPSUxFUlBMQVRFX0ZVTEwgd2l0aCBHX0RFRklORV9UWVBFCgkgICogVXNlIG5ldyBHc3RBdWRpb0luZm8gc3RydWN0IGFuZCBtZXRob2RzCgkgICogVXNlIG5ldyBidWZmZXIgbWVtb3J5IGFsbG9jYXRpb24gc2NoZW1lCgkgIENvbmZsaWN0czoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jCgoyMDEzLTA0LTEyIDExOjUxOjQ2IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogYWRqdXN0IGZvciBjaGFuZ2VzIHRvIGdsaWIgbXV0ZXggYXBpLgoKMjAxMy0wNC0xMCAwMToyMTo0OSArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiB0cnkgdG8gZml4IHVwIGFjY29yZGluZyB0byBTZWJhc3RpYW4ncyBjb21tZW50cwoKMjAxMy0wNC0wNSAxMDowMjozOCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBidWlsZCBmaXhlcwoJICBFbmFibGUgdGhlIG9zeGF1ZGlvIHBsdWdpbiBidWlsZCBpbiBjb25maWd1cmUuYWMgYW5kIGZpeCBzb21lCgkgIGluY2x1ZGUgZGlyZWN0aXZlIG9yZGVyIGlzc3Vlcy4KCjIwMTMtMDQtMDIgMjI6Mjg6MDkgKzA5MDAgIHRlZC1uIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBmaXggbGF5b3V0IGZvciBvc3hhdWRpb3NyYwoKMjAxMy0wMy0zMCAyMjo0OTozNCArMDkwMCAgdGVkLW4gPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpbzogcG9ydCB0byB2LjEuMAoKMjAxMy0wNC0xNiAxOToyOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHVucmVmIHF1ZXJ5LCB3ZSBkb24ndCBvd24gaXQKCSAgRml4ZXMgZG91YmxlLXVucmVmIGJ1Zy4gQnVnIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpCgoyMDEzLTA0LTE2IDIwOjQxOjEwICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBTQ0hFRFVMSU5HIHF1ZXJ5IHN1cHBvcnQKCSAgQ2hhaW4gdGhlIHF1ZXJ5IHVwIHRvIHBhcmVudCBiZWZvcmUgYWRkaW5nIF9CQU5EV0lEVEhfTElNSVRFRCBmbGFnLAoJICBzbyB0aGF0IGFsbCB0aGUgb3RoZXIgZmxhZ3MgZ2V0IHNldCwgYW5kIHB1c2ggbW9kZSBnZXRzIGFkZGVkIGFzCgkgIHN1cHBvcnRlZCBhY3RpdmF0aW9uIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM0ODQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODE1NgoKMjAxMy0wMy0zMSAxMjowNTo0OSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBiYXNpYyBzY2hlZHVsaW5nIHF1ZXJ5IHN1cHBvcnQKCSAgQW5zd2VyIHRvIHNjaGVkdWxpbmcgcXVlcmllcyB3aXRoIGRlZmF1bHQgcGFyYW1ldGVycyBhbmQgdGhlIG5ldwoJICBfQkFORFdJRFRIX0xJTUlURURfRkxBRyBzbyB0aGF0IGRvd25zdHJlYW0gaXMgYWR2aXNlZCB0byBtaW5pbWl6ZSBzZWVrCgkgIG9wZXJhdGlvbnMgYW5kIHBlcmZvcm0gb24tZGlzayBidWZmZXJpbmcgaWYgcG9zc2libGUuCgkgIEJ1ZyA2OTM0ODQKCjIwMTMtMDQtMTUgMTQ6MzI6NDYgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHNlZ2ZhdWx0IGFjY2Vzc2luZyBvc3h3aW5kb3cgd2hlbiBub3Qgc2V0IHlldAoKMjAxMi0xMC0yNCAxMjoxNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBnc3Q6IEFkZCBiZXR0ZXIgc3VwcG9ydCBmb3Igc3RhdGljIHBsdWdpbnMKCjIwMTMtMDQtMTIgMTk6MjY6MTEgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgZ29vbTJrMTogZml4IGR1cGxpY2F0ZWQgc3ltYm9sIHdpdGggZ29vbQoKMjAxMy0wMy0xMCAxNzoxNzoxNyArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkgIG9zeGF1ZGlvOiBGaXhlcyBlcnJvcjogIkdTVF9MRVZFTF9ERUZBVUxUIiByZWRlZmluZWQKCjIwMTMtMDMtMTAgMTc6Mjc6MzAgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGZpeGVzIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdnZXRwaWQnCgoyMDEzLTA0LTE0IDE3OjU1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhZWQ4N2FlIHRvIDNjYjNkM2MKCjIwMTMtMDQtMTQgMTI6MzI6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWRkIGJhY2sgImlyYWRpby1tb2RlIiBwcm9wZXJ0eSB0byBkaXNhYmxlIHNlbmRpbmcgb2YgaWNlY2FzdCByZXF1ZXN0IGhlYWRlcnMKCSAgSW4gMS4wIHdlIG5vdyBhbHdheXMgc2VuZCB0aGUgaWNlY2FzdCByZXF1ZXN0IGhlYWRlcnMgYnkgZGVmYXVsdCwgd2hpY2gKCSAgbWFrZXMgdGhlIHNlcnZlciBzZW5kIGljZWNhc3RzIG1ldGFkYXRhIGluc2VydGVkIGludG8gdGhlIHN0cmVhbSBpZiBpdAoJICBzdXBwb3J0cyB0aGF0LiBIb3dldmVyLCB0aGVyZSBhcmUgc29tZSB1c2UgY2FzZXMgd2hlcmUgdGhpcyBpcyBub3QKCSAgZGVzaXJhYmxlLCBsaWtlIHdoZW4ganVzdCBzYXZpbmcgYSByYWRpbyBzdHJlYW0gdG8gZGlzaywgc28gYWRkIGJhY2sKCSAgdGhlICJpcmFkaW8tbW9kZSIgcHJvcGVydHkgdG8gYWxsb3cgcGVvcGxlIHRvIGRpc2FibGUgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzk4NAoKMjAxMy0wNC0xMiAxNjoxNjo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkgIHJ0cDogcmVnaXN0ZXIgdGFnIGltYWdlIHR5cGVzCgkgIFRoZSBydHBnc3RkZXBheSBuZWVkcyB0aGUgdHlwZSB0byBiZSBhdmFpbGFibGUgaW4gb3JkZXIgdG8gZGVzZXJpYWxpemUgdGhlCgkgIGV2ZW50LgoKMjAxMy0wNC0xMiAxNjowODo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IGhhbmRsZSBldmVudCBwYXJzZSBmYWlsdXJlcyBiZXR0ZXIKCjIwMTMtMDQtMTEgMjI6MjU6MDUgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogYWRkIFRPQyBzZXR0ZXIgc3VwcG9ydAoKMjAxMy0wNC0xMiAxMjozMTozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogc21hbGwgY2xlYW51cHMgZm9yIHRvYyBoYW5kbGluZwoJICBEb24ndCBhZGQgZW1wdHkgbGFibC9ub3RlIGNodW5rcy4gQWx3YXlzIHBhc3MgaW5zdGFuY2UgYXMgdGhlIGZpcnN0IHBhcmFtLiBBZGQgbW9yZSBsb2dnaW5nLgoKMjAxMy0wNC0xMiAxMjo1ODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUHJveHkgdGhlIG50cC1zeW5jIHByb3BlcnR5IG9mIHJ0cGJpbgoKMjAxMy0wNC0xMiAxMjo1MTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEdpdmUgdGhlIG1hbmFnZXIgYWx3YXlzIHRoZSBuYW1lICJtYW5hZ2VyIgoJICBUaGlzIGFsbG93cyB0byB1c2UgdGhlIEdzdENoaWxkUHJveHkgaW50ZXJmYWNlIHRvIGFkanVzdAoJICBwcm9wZXJ0aWVzIG9uIGl0LgoKMjAxMy0wNC0xMSAyMjo1MzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluIGRlYnVnIG1lc3NhZ2VzCgoyMDEzLTA0LTExIDE5OjI3OjE1ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IGFkZCAnbm90ZScgY2h1bmsgc3VwcG9ydAoKMjAxMy0wNC0xMSAyMDo0NjoyNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgYSBsaXR0bGUgbW9yZSBkb2NzIHRvIHRoZSBhdWRpb2Nsb2NrCgoyMDEzLTA0LTExIDE1OjAwOjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgc3VwcG9ydCBmb3IgTmV0Q2xpZW50Q2xvY2sKCSAgV2hlbiB0aGUgc2VydmVyIHN1Z2dlc3RzIGEgR3N0TmV0VGltZVByb3ZpZGVyIGluIHRoZSBTRFAsIHNldCB1cCBhCgkgIEdzdE5ldENsaWVudENsb2NrIHRoYXQgc2xhdmVzIHRvIHRoZSByZW1vdGUgY2xvY2sgYW5kIHN1Z2dlc3QgdGhpcyBjbG9jayBpbgoJICBwcm92aWRlX2Nsb2NrLgoKMjAxMy0wNC0xMSAxNDo1NzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIHVkcHNpbms6IGF2b2lkIGFsbG9jIGFuZCBmcmVlIGluIHJlbmRlciBmdW5jdGlvbgoJICBBdm9pZCBkb2luZyBhbGxvYyBhbmQgZnJlZSBpbiB0aGUgcmVuZGVyIGZ1bmN0aW9uIGZvciBlYWNoIGJ1ZmZlci4gSW5zdGVhZCwKCSAgYWxsb2NhdGUgdGhlIG5lZWRlZCBhcnJheXMgaW4gX2luaXQgYW5kIHVzZSB0aG9zZS4KCjIwMTMtMDQtMTAgMDg6MzY6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2ZXBhcnNlOiByZW1vdmUgc3VwZXJmbHVvdXMgZ19saXN0X2ZpcnN0KCkgY2FsbHMKCSAgVGhlIHZhcmlhYmxlcyBhbHJlYWR5IHBvaW50IHRvIHRoZSBzdGFydCBvZiB0aGUgbGlzdC4KCjIwMTMtMDQtMDkgMjM6MTM6MTggKzAxMDAgIEFuZHJlYXMgRmVua2FydCA8YW5kcmVhcy5mZW5rYXJ0QHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cHNiY2RlcGF5OiBmaXggc2JjIGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbiBmb3IgbW9ubyBhbmQgc3RlcmVvIG1vZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc0NjMKCjIwMTMtMDMtMjUgMTQ6MzU6MDIgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IGFkZCAnbm90ZScgY2h1bmsgc3VwcG9ydAoJICBBZGQgJ25vdGUnIGNodW5rIHN1cHBvcnQgaW4gVE9DIGFzIEdTVF9UQUdfQ09NTUVOVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NTQ5CgoyMDEzLTA0LTA4IDE3OjUzOjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayB2YWx1ZSBpbnNpZGUgZW5kYSB0byBzZXQgZW5kaWFubmVzcwoKMjAxMy0wNC0wOSAyMTowMDoxMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDRjN2ExZSB0byBhZWQ4N2FlCgoyMDEzLTA0LTA5IDE3OjM0OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBhdm9pZCBjb3B5IHdoZW4gd2UgY2FuCgoyMDEzLTA0LTA5IDE2OjUyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiB1c2UgYnVmZmVybGlzdCB0byBhdm9pZCBtZW1jcHkKCjIwMTMtMDQtMDkgMTY6NTA6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA0LTA5IDAwOjI4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFyc2UuYzoKCSAgdGVzdHM6IHJlZmFjdG9yIG5ldyB3YXZwYXJzZSB0ZXN0IGEgbGl0dGxlCgkgIFVzZSBmYWtlc3JjIGluc3RlYWQgb2YgZmlsZXNyYyB3aXRoIC9kZXYvbnVsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY4NAoKMjAxMy0wNC0wOCAxMTozODozMyArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZXJyb3Igb3V0IGlmIHdlIHJlY2VpdmUgZW9zIGJlZm9yZSBhbnkgdmFsaWQgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2Njg0CgoyMDEzLTA0LTA3IDAxOjQ3OjU2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmb3JjZSBkZWludGVybGFjaW5nIGluICJpbnRlcmxhY2VkIiBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc0NjcKCjIwMTMtMDQtMDYgMTI6NDU6MjggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogQWRkIHRpbWVzdGFtcC9ydW5uaW5nLXRpbWUvc3RyZWFtLXRpbWUgdG8gdGhlIGVtaXRlZCBtZXNzYWdlCgoyMDEzLTA0LTA1IDE0OjM4OjQzICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwc2JjZGVwYXk6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTczNDMKCjIwMTMtMDQtMDUgMDk6MzQ6MjMgKzAxMDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlbzogaW5jbHVkZSBwdGhyZWFkLmggdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzMwMwoKMjAxMy0wNC0wNCAyMjo0ODo0NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgbGV2ZWw6IHJlc3luYyBvbiBkaXNjb250CgkgIERyb3AgcGVuZGluZyBkYXRhIG9uIGRpc2NvbnQgYW5kIHN0YXJ0IGEgbmV3IGN5Y2xlIHdpdGggYSBuZXcgYmFzZSB0aW1lc3RhbXAuCgkgIENsZWFudXAgc29tZSB2YXJpYWJsZXMuCgoyMDEzLTA0LTAzIDIzOjUyOjQ3ICswMTAwICBUb20gR3JlZW53b29kIDx0Z3JlZW53b29kQFRvbXMtTWFjQm9vay1Qcm8ubG9jYWw+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEltcHJvdmUgbG9nZ2luZyB3aGVuIHZweF9jb2RlY19wZWVrX3N0cmVhbV9pbmZvIGZhaWxzCgkgIERlY29kZSBmYWlsdXJlcyBhbmQgbWlzc2luZyBrZXlmcmFtZXMgc2hvdWxkIGdldCBkaWZmZXJlbnQgZGVidWcKCSAgb3V0cHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjMyCgoyMDEzLTA0LTAzIDE4OjI0OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHBzYmNkZXBheTogUmFuayBhcyBzZWNvbmRhcnkKCSAgVGhpcyB3YXksIGl0IHdpbGwgYmUgc2VsZWN0ZWQgYnkgZGVjb2RlYmluCgkgIEJ1ZyByZXBvcnRlZCBieSBhbmRyZWFzLmZlbmthcnRAc3RyZWFtdW5saW1pdGVkLmNvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjI3CgoyMDEzLTA0LTAzIDE5OjA1OjM4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBzdWJkaXZpZGUgYnVmZmVycyBmb3Igc2FtcGxlIGFjY3VyYXRlIGludGVydmFsIGhhbmRsaW5nCgkgIFByZXZpb3VzbHkgd2Ugd291bGQgc2tpcCBsZXZlbCBtZXNzYWdlIHdoZW4gcHJvY2Vzc2luZyBidWZmZXJzID4gdGhlIHJlcXVlc3RlZAoJICBpbnRlcnZhbC4gQWxzbyB0aGUgbWVzc2FnZSBmcmVxdWVuY3kgd291bGQgY29udGFpbiBxdWl0ZSBzb21lIGppdHRlciBkdWUgdG8gb25seQoJICBjb25zaWRlcmluZyB0aGVtIGF0IHRoZSBlbmQgb2YgYnVmZmVycy4KCSAgQ2xlYW51cCB0aGUgdGVzdHMgd2hpbGUgd2UncmUgYXQgaXQuCgoyMDEzLTAzLTE5IDA4OjIzOjI1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgb2xkIHNpbmNlIGNvbW1lbnRzIGFuZCB1cGRhdGUgbG9nZ2luZwoJICBEb24ndCBwcmV0ZW5kIHRoYXQgd2UgaGF2ZSBhIHRpbWVzdGFtcCBvbiBhIGJ1ZmZlciB3aGVuIHdlIG5ldmVyIHNldCBvbmUuCgoyMDEzLTAzLTE4IDIwOjU5OjIzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiByZW1vdmUgb2xkIHNpbmNlIGNvbW1lbnQKCjIwMTMtMDQtMDMgMTc6NTM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFByb3h5IHRoZSBtdWx0aWNhc3QtaWZhY2UgcHJvcGVydHkgb2YgdWRwc3JjCgoyMDEzLTA0LTAzIDExOjA5OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZnJlZSBhbGwgcXVldWVkIGJ1ZmZlcnMKCSAgRG9uJ3QganVzdCBsb29wIG92ZXIgdGhlIGZpcnN0IG51bV9xdWV1ZWQgYnVmZmVycyBidXQgbG9vcCBvdmVyCgkgIGFsbCB0aGUgYnVmZmVycyBhbmQgY2hlY2sgaWYgdGhleSBuZWVkIHRvIGJlIGZyZWVkLiBJdCBpcyBwb3NzaWJsZSB0aGF0CgkgIG5vdCBhbGwgYnVmZmVycyBhcmUgcXVldWVkIGFuZCB0aGVuIHRoZSBlbnRyeSBpbiBvdXIgYXJyYXkgd2lsbCBiZSBOVUxMLgoJICBUaG9zZSBidWZmZXJzIHRoYXQgYXJlIG5vdCBxdWV1ZWQgd2VyZSBmcmVlZCBpbiBzdG9wKCkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY2NTEKCjIwMTMtMDQtMDMgMTE6MDk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA0LTAyIDIzOjQyOjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogT25seSBmb3J3YXJkIHN0aWNrIGV2ZW50cyB3aGlsZSBob2xkaW5nIHRoZSBzaW5rcGFkIHN0cmVhbSBsb2NrCgkgIE90aGVyd2lzZSB3ZSBnZXQgYSByYWNlIHdoZXJlIGlmIHRoZSBSVENQIHBhY2tldCBjb21lcyBpbiBmaXJzdCBhbmQgd2hpbGUKCSAgaXQgaXMgYWRkZWQgdGhlIHBhZHMsIHRoZSBzZWdtZW50IGV2ZW50IGFycml2ZXMgb24gdGhlIFJUUCBzdHJlYW0sIHRoZSBldmVudAoJICBtYXkgYmUgbG9zdCBjb21wbGV0ZWx5IGFuZCBuZXZlciBmb3J3YXJkZWQuCgoyMDEzLTA0LTAyIDIzOjM1OjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogTm8gbmVlZCB0byBleHBsaWNpdGVseSBmb3J3YXJkIHRoZSBjYXBzCgkgIFRoZXkgYXJlIGZvcndhcmRlZCB3aXRoIHRoZSBvdGhlciBldmVudHMKCjIwMTMtMDQtMDIgMjI6Mjk6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHJ0cHNzcmNkZW11eDogUmVtb3ZlIHVudXNlZCBHc3RTZWdtZW50CgoyMDEzLTA0LTAyIDIyOjI2OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogU2ltcGxpZnkgZXZlbnQgZm9yd2FyZGluZwoJICBVc2UgdGhlIGdzdF9wYWRfZm9yd2FyZCgpIG1lY2hhbmljLCB0aGlzIHdheSB3ZSB3b24ndCBtaXNzIHBhZHMgdGhhdCBhcmUKCSAgYWRkZWQgd2hpbGUgd2UgYXJlIHB1c2hpbmcKCjIwMTMtMDQtMDIgMjE6NTM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBEb24ndCBjcm9zcyB0aGUgaW50ZXJuYWwgbGlua3MKCSAgV2UgaGFkIHRoZSB3cm9uZyBjb25kaXRpb24gdG8gY2hlY2sgZm9yIHRoZSBpbnRlcm5hbCBsaW5rcywgc28gUlRQIGFuZCBSVENQCgkgIHBhZHMgZ290IGNyb3NzZWQhCgoyMDEzLTAzLTMxIDE3OjU0OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzb21lIGRlYnVnIG1lc3NhZ2VzCgoyMDEzLTA0LTAyIDIzOjM2OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5nIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTItMDgtMjkgMTc6MjQ6MDAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogaGFuZGxlIFRydWVIRCBhdWRpbyBjb2RlYyBpZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MTEzCgoyMDEzLTAzLTMxIDE5OjE0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICB0aGVvcmFwYXk6IGFkZCBkZWx0YS11bml0IHRvIG91dHB1dCBmcmFtZXMKCjIwMTMtMDMtMjMgMDU6MjI6MjMgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgdGltZXN0YW1wIGRlbHRhIGFzIGR1cmF0aW9uIGlmIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY0MzcKCjIwMTMtMDMtMzAgMDk6NDQ6NDEgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwOiBmaXhlcyBkZWJ1ZyBtZXNzYWdlIHByaW50ZiByZWxhdGVkIGNvbXBpbGVyIHdhcm5pbmdzIGluIFNCQyBkZXBheWxvYWRlcgoKMjAxMy0wMy0yOCAxNjo0NjozNiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuaDoKCSAgcnRwOiBBZGQgYW4gcnRwc2JjZGVwYXkgZWxlbWVudAoJICBQcmV0dHkgc3RyYWlnaHRmb3J3YXJkIC0gdGFrZXMgU0JDIGVuY2Fwc3VsYXRlZCBpbiBSVFAsIGRlcGF5bG9hZHMsIGFuZAoJICBwdXNoZXMgb3V0IFNCQyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI3IDIyOjE4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwOiBmaXggU0JDIHBheWxvYWRlcgoJICBJbml0IFJUUCBidWZmZXIgb24gc3RhY2sgY29ycmVjdGx5LCBzbyBtYXBwaW5nIGl0IHdvcmtzCgkgIHdpdGhvdXQgY3JpdGljYWxzIGFuZCB0aGUgcGF5bG9hZGVyIGFjdHVhbGx5IHdvcmtzLgoKMjAxMy0wMy0yNiAxNDo0NDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogQ2hlY2sgZm9yIGEgc3Vic2V0IGluc3RlYWQgb2Ygbm9uLWVtcHR5IGludGVyc2VjdGlvbiBpbiBhY2NlcHQtY2FwcwoKMjAxMy0wMy0yNiAxNDozOTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogUHJvcGVybHkgaGFuZGxlIHRoZSBmaWx0ZXIgY2FwcyBpbiBnZXRfY2FwcygpCgoyMDEzLTAzLTI2IDE0OjM1OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBEb24ndCB1bm5lY2Vzc2FyaWx5IGdldCB0aGUgcGFyZW50IGNsYXNzIGluIGNsYXNzX2luaXQKCSAgVGhlIHRyYW1wb2xpbmUgZ2VuZXJhdGVkIGJ5IEdfREVGSU5FX1RZUEUgZG9lcyB0aGF0IGFscmVhZHkuCgoyMDEzLTAzLTI1IDE4OjAyOjEwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBVc2UgJTAzdSBmb3IgZm9ybWF0IGluIGdzdF9wYWRfY3JlYXRlX3N0cmVhbV9pZF9wcmludGYoKQoKMjAxMy0wMy0yNSAxMDoxMjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IFByZXZlbnQgdW5uZWVkZWQgY2FwcyBjb3B5aW5nIGFuZCBhbGxvY2F0aW9uCgoyMDEzLTAyLTAxIDE0OjMzOjQxICswMTAwICBEaXJrIFZhbiBIYWVyZW5ib3JnaCA8dmhkaXJrQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogUGFzcyBhbnkgb3IgZmlsdGVyIGNhcHMgdXBzdHJlYW0KCSAgY2Fwc2V0dGVyIGFjY2VwdHMgYW55dGhpbmcgYW5kIGp1c3QgZm9yd2FyZHMgZGlmZmVyZW50IGNhcHMsCgkgIGFzIHN1Y2ggaXQgc2hvdWxkIHJldHVybiBBTlkgY2FwcyBvbiB0aGUgc2lua3BhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzAwNQoKMjAxMy0wMy0wNiAxMzoxNzo1NCArMDAwMCAgVG9tIEdyZWVud29vZCA8dGdyZWVud29vZEBUb21zLU1hY0Jvb2stUHJvLmxvY2FsPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggZm9yIGRpdmlkZSBieSB6ZXJvIHdoZW4gdXNpbmcgMC8xIGZyYW1lcmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NzA5CgoyMDEzLTAzLTI0IDE3OjU1OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBleHBvc2UgQ1VFIHNoZWV0IGl0ZW1zIGFzIHRyYWNrcyBub3QgY2hhcHRlciBlbnRyaWVzIGluIFRPQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MzA2CgoyMDEzLTAzLTIzIDEzOjExOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhZGQgbW9yZSBleGFtcGxlIHBpcGVsaW5lcwoKMjAxMy0wMy0yMyAxMjo1OToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogYWRkIHNvbWUgZXhhbXBsZSBwaXBlbGluZXMKCjIwMTMtMDMtMjAgMjE6Mzg6NDAgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogYWRkIFRPQyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA5OTgKCjIwMTMtMDMtMjMgMDQ6NTY6MzYgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFrZSBlbXB0eSBzdWJ0aXRsZSBidWZmZXIgcmVjb2duaXRpb24gbW9yZSByb2J1c3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI0NAoKMjAxMy0wMy0wNCAxNTo0OTowNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IHVubWFwIHNvdXJjZSBmcmFtZSB3aGVuIGRvbmUKCjIwMTMtMDMtMjIgMTU6MTQ6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHRlc3QgcmVncmVzc2lvbiB3aXRoIG9uZSBidWZmZXIgc3RyZWFtcwoKMjAxMy0wMy0wNSAxNzowMDoxNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3BsaXQgbGFyZ2UgcmF3IGF1ZGlvIHNhbXBsZXMKCSAgSW4gb3JkZXIgdG8gZGVhbCB3aXRoIGEgZmlsZSB0aGF0IGhhcyBzYW1wbGVzIHRoYXQgYXJlIDI0IHNlY29uZHMKCSAgbG9uZy4gIFNlZWtpbmcgc3RpbGwgZG9lc24ndCB3b3JrIHdpdGggc3VjaCBmaWxlcy4KCjIwMTMtMDMtMjIgMTE6NTQ6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogUmVtb3ZlIGRvY3VtZW50YXRpb24gZm9yIGR0cy1tZXRob2QKCjIwMTMtMDMtMjIgMTM6MjQ6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBkZXByZWNhdGUgZHRzLW1ldGhvZCBwcm9wZXJ0eQoKMjAxMy0wMy0xMyAxNzowODowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggcHJvYmxlbXMgY2F1c2luZyBiYWQgZHVyYXRpb25zIGluIGZpbGUKCSAgLSBGaXggdXAgb3V0LW9mLW9yZGVyIGluY29taW5nIERUUyB2YWx1ZXMuCgkgIC0gRml4IGR1cmF0aW9uIG9mIGluaXRpYWwgc2FtcGxlLgoKMjAxMy0wMy0xMiAxOTowODoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggYWxsIHRpbWVzdGFtcHMgb25jZSBmaXJzdF90cyBpcyBkZXRlcm1pbmVkCgoyMDEzLTAyLTE0IDE2OjM0OjM0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogVXNlIFBUUy9EVFMgZnJvbSBpbmNvbWluZyBidWZmZXJzCgkgIFJlbW92ZSBvbGQgRFRTIGd1ZXNzaW5nIGNvZGUuCgoyMDEzLTAzLTE4IDEyOjMwOjUwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGV4cG9zZSBtdWxhdyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYwNTIKCjIwMTMtMDMtMjIgMTA6NTA6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIE9yYyA+PSAwLjQuMTcKCSAgT3JjIDAuNC4xNyBmaXhlcyBhIGJ1bmNoIGNyYXNoZXMgb24gaTM4NiBhbmQgUlBpIHdoZW4gb3JjCgkgIGZ1bmN0aW9ucyBjYW4ndCBiZSBjb21waWxlZCBhbmQgdGhlIGZhbGxiYWNrIGZ1bmN0aW9uIGlzCgkgIHN1cHBvc2VkIHRvIGJlIHVzZWQuIEFsc28gZml4ZXMgc29tZSBpc3N1ZXMgb24gUG93ZXJQQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDM5OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzODYyCgoyMDEzLTAzLTIyIDA4OjQ3OjE3ICswMDAwICBSb2RvbGZvIFNjaHVseiBkZSBMaW1hIDxyb2RvbGZvQHJvZHNvZnQub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzYW1wbGUgbGVhayB3aGVuIHByb2Nlc3NpbmcgcHJpdmF0ZSBxdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNTUKCjIwMTMtMDMtMjIgMDI6MjQ6MDEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgc3RyZWFtIGxhbmd1YWdlIGNvZGUgZnJvbSB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM1OAoKMjAxMy0wMy0yMSAwMjo1NTowNiArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZW5kIEdBUCBldmVudHMgZm9yIHN1YnRpdGxlIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI0NAoKMjAxMy0wMy0yMSAwMjo1MzoyNCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpZ25vcmUgZW1wdHkgc3VidGl0bGUgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjQ0CgoyMDEzLTAzLTIxIDAyOjUyOjA3ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcmVjb2duaXplIFNCVEwgc3VidHlwZSBmb3Igc3VidGl0bGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMTcgMTY6Mjc6MDMgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYWRkIHN1cHBvcnQgZm9yIHRoZSB0b2Mtc2VsZWN0IGV2ZW50CgkgIFNlbGVjdCB0cmFja3MgZnJvbSB0aGUgQ1VFIHNoZWV0IGJ5IHNlbmRpbmcgYSB0b2Mtc2VsZWN0CgkgIGV2ZW50IGJhc2VkIG9uIHRoZSB1aWQgaW4gdGhlIFRPQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDg5MQoKMjAxMy0wMy0xOSAxODowOTozMSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBtcDRtdXg6IGluIGZhc3RzdGFydCBtb2RlLCBkb24ndCBvdXRwdXQgdXAgdG8gNCBrQiBvZiBnYXJiYWdlIGF0IHRoZSBlbmQuCgoyMDEzLTAzLTIwIDAwOjM1OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBzYmNwYXJzZTogcGFjayBtdWx0aXBsZSBmcmFtZXMgaW50byBvbmUgb3V0cHV0IGJ1ZmZlcgoJICBEb24ndCBvdXRwdXQgYSBzaW5nbGUgYnVmZmVyIGZvciBldmVyeSB0aW55IFNCQyBmcmFtZQoKMjAxMy0wMy0xOCAxNDo1OTozNSArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggY29tcGlsYXRpb24gYWdhaW5zdCBuZXdlciBrZXJuZWwgaGVhZGVycyBhcyBvbiBGQzE5CgoyMDEzLTAzLTE0IDE0OjEyOjA1ICswMTAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGluZmluaXRlIGxvb3Agb24gRU9TIHdpdGggbm9uLWRlZmF1bHQgbWV0aG9kcyBvciBmaWVsZHMKCSAgRml4ZXMgcHJvYmxlbSBvZiBpbmZpbml0ZSBsb29wIGluIGdzdF9kZWludGVybGFjZV9yZXNldF9oaXN0b3J5LgoJICBMYXN0IGZpZWxkIGluIHRoZSBoaXN0b3J5IHdhcyBuZXZlciBkZWludGVybGFjZWQgYmVjYXVzZSBpZHggYmVjb21lcyBuZWdhdGl2ZS4KCSAgSGFwcGVucyBlLmcuIHdpdGggbWV0aG9kPXNjYWxlcmJvYiBmaWVsZHM9Ym90dG9tIG9yCgkgIG1ldGhvZD1ncmVlZHlsIGZpZWxkcz10b3AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTY0NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMTczCgoyMDEzLTAzLTEyIDA5OjQ4OjMxICswMDAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IGRvbid0IHJldHVybiBGQUxTRSB3aGVuIGRyb3BwaW5nIHNpbmsgZXZlbnRzCgkgIEZpeGVzIHByb2JsZW0gaW4gY29uanVuY3Rpb24gd2l0aCBhdmlkZW11eC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTY0MwoKMjAxMy0wMy0xMiAwMDoxNjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogY2hhbmdlIHJhdyB2aWRlbyBjYXBzIG9yZGVyIHNvIHRoYXQgR1JBWTggaXMgbGFzdAoJICBQZW9wbGUgbGlrZSBjb2xvdXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NTQzCgoyMDEzLTAzLTExIDE0OjUwOjQxICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IERvbid0IHVzZSB1cHN0cmVhbSBjYXBzIHdpdGggcGVlcl9xdWVyeV9jYXBzICgpCgkgIENhbGxpbmcgZ3N0X3BhZF9wZWVyX3F1ZXJ5X2NhcHMgKCkgb24gdGhlIHNyYyBwYWQgd2l0aCB0aGUgY2FwcwoJICB1cHN0cmVhbSBjYW4gcHJvZHVjZSBhcyBhIGZpbHRlciBmcm9tIGdzdF9ydHBfaDI2NF9wYXlfZ2V0Y2FwcyAoKQoJICBpcyB3cm9uZyBhbmQgbWFrZXMgY2FwcyBuZWdvdGlhdGlvbiBmYWlsIGlmIHVwc3RyZWFtIGNhcHMgYXJlIG5vdAoJICBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NjI5CgoyMDEzLTAzLTEwIDA5OjEwOjE4ICswMTAwICBEaXJrIFZhbiBIYWVyZW5ib3JnaCA8dmhkaXJrQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc3VwcG9ydCByYXcgQkdSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU1NDMKCjIwMTMtMDMtMTAgMDk6MjU6MzQgKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3VwcG9ydCByYXcgdmlkZW8gd2l0aCBuZWdhdGl2ZSBoZWlnaHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTU0MQoKMjAxMy0wMy0wNSAxNDo0MDo1NiArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3QgY2hlY2t0ZXN0OiBEbyBub3QgZmFpbCB3aXRob3V0IHZpZGVvc2luawoJICBJZiB0aGVyZSBpcyBubyB2aWRlb3NpbmsgYXZhaWxhYmxlIGF1dG92aWRlb3Npbmsgd2lsbCBjb250YWluIGEKCSAgZmFrZXNpbmsgaW5zdGVhZCB3aGljaCBuZWVkcyBzcGVjaWFsIHRyZWF0bWVudCBpbiB0aGUgdW5pdCB0ZXN0LgoKMjAxMy0wMy0wOSAwMToxODozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBkdG1mOiBtb3ZlIGR0bWYgcGx1Z2luIGZyb20gLWJhZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDE2CgoyMDEzLTAzLTA5IDAwOjMwOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWVyZ2UgYnJhbmNoICdkdG1mLW1vdmVkLWZyb20tYmFkJwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDE2CgoyMDEzLTAzLTA1IDIxOjIyOjE4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogYWRkIHN1cHBvcnQgZm9yIGlPUyB1c2luZyB0aGUgUmVtb3RlSU8gQXVkaW9Vbml0CgoyMDEzLTAzLTA1IDIxOjE3OjUyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW86IGFkZCBhIGZhw6dhZGUgZm9yIHRoZSBDb3JlQXVkaW8gQVBJCgoyMDEzLTAzLTA3IDAwOjAwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyZGUyMjFjIHRvIDA0YzdhMWUKCjIwMTMtMDMtMDMgMTE6NTk6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2x6by5jOgoJICBtYXRyb3NrYTogSW5jbHVkZSBjb25maWcuaCwgaXQncyBuZWVkZWQgZm9yIF9zdGRpbnQuaAoKMjAxMy0wMy0wMyAxMTo1MzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCAod3JvbmcpIHVzZSBvZiB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTMtMDMtMDIgMTM6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHZhcmlhbnQgZmllbGQgdG8gSC4yNjMgY2FwcwoJICBhdmRlY19oMjYzIHdvbid0IGdldCBwbHVnZ2VkIG90aGVyd2lzZS4KCjIwMTMtMDItMjIgMTk6MDY6NTIgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNraXAgZGlzYWJsZWQgdHJhY2tzCgkgIElTTy9JRUMgMTQ0OTYtMTIgc3BlY2lmaWVzIGRpc2FibGVkIHRyYWNrcyBzaG91bGQgYmUgY29tcGxldGVseQoJICBpZ25vcmVkLCBzbyBqdXN0IGRvIGl0LgoJICBBdm9pZHMgZGVhZGxvY2sgZHVyaW5nIHByZXJvbGxpbmcgZm9yIHNvbWUgZmlsZXMuCgkgIEFsc28gcHJldmVudHMgJ2NoYXB0ZXInIHN1YnRpdGxlIHRyYWNrcyBmcm9tIHNob3dpbmcgdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5OTMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyODc5MAoKMjAxMy0wMi0yNSAwOTo1ODoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiByZS1hZGQgc3VwcHJlc3Npb24gZm9yIEdWYWx1ZUFycmF5IHdhcm5pbmdzIHRvIHVuaXQgdGVzdCBhcyB3ZWxsCgoyMDEzLTAyLTI4IDEzOjI1OjA2ICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IHVzZSByZWxhdGl2ZSBpbmNsdWRlIGZvciBvdXQtb2YtdHJlZSBidWlsZHMgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI4IDA4OjQ2OjU5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiByZW1vdmUgdGhlIHNpbmNlIGRvYy1jb21tZW50IGZyb20gMC4xMAoKMjAxMy0wMi0yOCAwODo0NDoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBsZXZlbDogYWRkIGEgInBvc3QtbWVzc2FnZXMiIHByb3BlcnR5IGFuZCBkZXByZWNhdGUgIm1lc3NhZ2UiCgkgIEluIHNwZWN0cnVtIHRoaXMgd2FzIGNoYW5nZWQgZnJvbSAwLjEwIHRvIDEuMCwgbGV0cyBkbyB0aGlzIGhlcmUgdG9vLgoKMjAxMy0wMi0yNyAxODo1Njo1MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0cyBmb3IgZHRtZnNyYwoKMjAxMy0wMi0yNyAxNjoxNToyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEZpeCByZWYgbGVhayBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjYgMTQ6MTg6MjAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IHN0cmVhbXR5cGUgaXMgbm90IHB1dCBieSBhbGwgUlRTUCBzZXJ2ZXIsIG5vdCBtYWtlIGl0IG9wdGlvbmFsCgkgIFNwZWNpZmljIGNhc2UgaGVyZSBpcyBXb3d6YSAzLjUuMAoKMjAxMy0wMi0yNSAwMDozNTo1OCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcHV0IGJhY2sgZGVwcmVjYXRpb24gd2FybmluZ3MKCjIwMTMtMDItMjQgMTc6MDA6MTQgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IHNlbmQgbGFzdCBtZXNzYWdlIG9uIEVPUwoKMjAxMy0wMi0yMyAxNDozNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOiBoYW5kbGUgc29tZSBtb3JlIDAtc2l6ZSBidWZmZXIgY2FzZXMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk0NAoKMjAxMy0wMi0yMyAxODo1MDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCB1cCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MKCjIwMTItMTEtMjAgMTI6MTQ6MDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFVwZGF0ZSBzZWdkb25lIHBlcmlvZGljYWxseQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSB1cGRhdGUgc2VnZG9uZSBiYXNlZCBvbiB0aGUgcmVhZCBpbmRleCByZWNlaXZlZAoJICBkdXJpbmcgbGF0ZW5jeSB1cGRhdGVzLiBBcyB0aGUgY29tbWVudCBub3Rlcywgd2UgbWFrZSBzb21lIGNvbXByb21pc2VzCgkgIHRvIGRlYWwgd2l0aCB0aGUgZmFjdCB0aGF0IHNlZ2RvbmUgaXMgYSBzZWdtZW50IG11bHRpcGxlLCB3aGlsZSB0aGUgcmVhZAoJICBpbmRleCBvZmZlcnMgZmluZXIgZ3JhbnVsYXJpdHkuIFRoZSB1cGRhdGVzIGFyZSBhbHNvIG5vdCB2ZXJ5IG9mdGVuCgkgICgxMDBtcyBzaW5jZSB0aGF0IGlzIGhvdyBvZnRlbiBhdXRvbWF0aWMgdGltaW5nIHVwZGF0ZXMgYXJlIHByb3ZpZGVkKS4KCSAgQWxsIHRoaXMgaXMgcmVxdWlyZWQgZm9yIHRoZSBiYXNlYXVkaW9zaW5rIHNhbXBsZSBhbGlnbm1lbnQgY29kZSB0byB3b3JrCgkgIGF0IGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDI1NwoKMjAxMy0wMi0xMyAxMDo0Njo1NCArMDEwMCAgUGF1bCBIRU5SWVMgPHZpc2VjaGVsbGVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggd3JvbmcgY29kZSBvcmdhbmlzYXRpb24gaW4gY2FzZSBvZiBjb2xsaXNpb24KCSAgY2hhbmdlX3NzcmMgZmllbGQgb2YgUlRQU2Vzc2lvbiBzaG91bGQgYmUgc2V0IGJlZm9yZSBjYWxsaW5nCgkgIHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZV9sb2NrZWQgKCkgYXMgdGhpcyBmdW5jdGlvbiB3aWxsIGNhbGwgcmVjb25zaWRlciBmdW5jdGlvbgoJICB0aGF0IHdpbGwgd2FrZSB1cCBydGNwX3RocmVhZCB3aGljaCB3aWxsIGNhbGwgcnRwX3Nlc3Npb25fb25fdGltZW91dCAoKSB0aGF0IHdpbGwKCSAgY2hlY2sgY2hhbmdlX3NzcmMgdG8gY2hhbmdlIHRoZSBzc3JjLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MTg0CgoyMDEzLTAyLTIxIDExOjE1OjIzIC0wNTAwICBKZWFuLUZyYW7Dp29pcyBGb3J0aW4gVGFtIDxuZWtvaGF5b0BnbWFpbC5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGltcHJvdmUgZGVzY3JpcHRpb25zIG9mIGNocm9tYSBrZXlpbmctcmVsYXRlZCBwcm9wZXJ0aWVzIGFuZCBlbnVtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0Mzc0CgoyMDEzLTAyLTIxIDE1OjAxOjE1IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBEbyBub3Qgb3ZlcnJpZGUgdGhlIG1ldGhvZCB3aXRoIGN1c3RvbSByL2cvYiB2YWx1ZXMKCSAgRGVwZW5kaW5nIG9uIHRoZSBvcmRlciBnX29iamVjdF9zZXQoKSBjYWxscyBhYXJlIG1hZGUsIHRoZQoJICB0YXJnZXQgci9nL2Igc2V0dGluZ3Mgd2lsbCBvdmVycmlkZSB0aGUgbWV0aG9kIGlmIHNldCB0bwoJICBncmVlbi9ibHVlLiBDaGFuZ2UgdGhhdCBzbyB3ZSBkbyBub3QgdXNlIHRoZSB0YXJnZXQtci9nL2IgdmFsdWVzCgkgIHVubGVzcyB0aGUgbWV0aG9kIGlzIHNldCB0byBjdXN0b20uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQzNzQKCjIwMTMtMDItMjAgMTU6NDY6NDMgKzAxMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IGRvIG5vdCBsZWFrIHNyY19jYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQyNzUKCjIwMTMtMDItMjAgMjE6MDM6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG9ubHkgZGVsYXkgUlRDUCB3aGVuIHdlIGFyZSBhIHNlbmRlcgoJICBPbmx5IGRlbGF5IHRoZSBSVENQIHRocmVhZCB3aGVuIHdlIGFyZSBhIHNlbmRlciwgd2hpY2ggd2UgY2FuIGtub3cgYmVjYXVzZSB3ZQoJICBoYXZlIGEgc2VuZF9ydHBfc3JjIHBhZC4gT3RoZXJ3aXNlIHdlIG1pZ2h0IGRlbGF5IHRoZSBSVENQIHRocmVhZCBpZiB3ZQoJICBhcmUgb25seSBhIHJlY2VpdmVyIGFuZCB0aGVuIHRoZXJlIGlzIG5vIGNvZGUgcGF0aCB0aGF0IHdha2VzIHVwIHRoZQoJICBSVENQIHRocmVhZCBhbmQgd2UgZW5kIHVwIHdpdGhvdXQgUlRDUCBwYWNrZXRzLgoKMjAxMy0wMi0xOSAxMTo0NzoyMCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBBZGQgc3VwcG9ydCBvZiBkbWFidWYKCSAgdjRsIGhhcyBhZGQgYSBuZXcgSU9DVEwgdG8gZXhwb3J0IGEgYnVmZmVyIGJ5IHVzaW5nIGRtYWJ1Zi4KCSAgVGhpcyBwYXRjaCBhbGxvdyB0byB1c2UgdGhpcyBuZXcgSU9UQ0wgaWYgaXQgaGFzIGJlZW4gZGVmaW5lZCBpbiB2aWRlb2RldjIuaAoJICBJIGludHJvZHVjZSBhIG5ldyBJTyBtb2RlIChHU1RfVjRMMl9JT19ETUFCVUYpIHRvIGVuYWJsZSB0aGlzIHdheSBvZiB3b3JraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzODI2CgoyMDEzLTAyLTE4IDIwOjA0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdXAgZG9kZ3kgY29kZSB0aGF0IHRyaWVzIHRvIGZpeCB1cCBhIGJyb2tlbiBtb292IGF0b20KCSAgQWZ0ZXIgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgZ3N0X2J1ZmZlcl9jb3B5X2ludG8oKSB3aWxsIGxpa2VseQoJICBhcHBlbmQgdG8gdGhlIGFscmVhZHktZXhpc3RpbmcgbWVtb3J5IGluc3RlYWQgb2YgZmlsbGluZyBpdC4KCjIwMTMtMDItMTggMTY6MzI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggb24gc2hvcnQgTU9PViBhdG9tCgkgIERvbid0IHVubWFwIHNob3J0IE1PT1YgYXRvbSBidWZmZXIgdHdpY2UsIHdoaWNoIGhhcHBlbmVkCgkgIGluIHRoZSBjYXNlIHdoZXJlIHdlIGRvbid0IGZpeCB1cCB0aGUgTU9PViBhdG9tLgoJICBGaXhlcyBjcmFzaGVzIHdoZW4gdGh1bWJuYWlsaW5nIHBhcnRpYWwgbXA0IGZpbGUgd2hlcmUKCSAgdGhlIE1PT1YgYXRvbSBpcyBzdGlsbCBpbmNvbXBsZXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MDEwCgoyMDEzLTAyLTE2IDE2OjQ5OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgIHNvdXBodHRwc3JjOiBzZXQgU09VUF9WRVJTSU9OX3tNSU5fUkVRVUlSRUQsTUFYX0FMTE9XRUR9IHRvIHN1cHByZXNzIGRlcHJlY2F0aW9ucyB3aXRoIG5ld2VyIHZlcnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5MTEKCjIwMTMtMDItMTYgMTU6NDc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IHVzZSBkZWZhdWx0IHByb3h5IHJlc29sdmVyIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBHTk9NRSBwcm94eSByZXNvbHZlcgoJICBBcHBhcmVudGx5IHRoZXJlJ3Mgbm8gcmVhc29uIHRvIHVzZSBpdCBhbnkgbG9uZ2VyLiBEcm9wIGxpYnNvdXAtZ25vbWUKCSAgZGVwZW5kZW5jeSB3aGlsZSBhdCBpdCwgbm93IHRoYXQgd2UgZG9uJ3QgbmVlZCBhbnl0aGluZyBmcm9tIGl0IGFueQoJICBtb3JlIChpdCBvbmx5IGNvbnNpc3RzIGVudGlyZWx5IG9mIGRlcHJlY2F0ZWQgQVBJIG5vdyBhbnl3YXlzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMQoKMjAxMy0wMi0xNSAxNTo0Mzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBmaXggc29tZSBoMjY0IGNhcHMKCSAgRG9lc24ndCBmaXggYW55dGhpbmcgaW4gcGFydGljdWxhciwgYnV0IGlzCgkgIHN0aWxsIG5lZWRlZCBoZXJlIGZvciBjb3JyZWN0bmVzcy4KCjIwMTMtMDItMTUgMDg6MTk6MjQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IHJlbW92ZSBjaGFubmVsLW1hc2sgZnJvbSBjYXBzCgkgIFRoZSBjaGFubmVsLW1hc2sgaXMgb25seSBuZWVkZWQgZm9yIGNoYW5uZWxzPjIgd2hpY2ggd2UgZG9uJ3QgZG8uCgoyMDEzLTAyLTE1IDE2OjIxOjIxICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBkb24ndCBjaGVjayBzdHJpZGUgZm9yIGVuY29kZWQgZm9ybWF0cwoJICBEb24ndCB0cnkgdG8gY2hlY2sgdGhlIHN0cmlkZSBmb3IgZW5jb2RlZCBmb3JtYXRzLiBTb21lIGRyaXZlcnMgb3V0cHV0CgkgIHNvbWV0aGluZyAhPSAwIGFuZCB0aGVuIHdlIGRvbid0IHdhbnQgdG8gZmFpbCBvbiB0aGF0LgoKMjAxMy0wMi0xNSAxNDoxMTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHVzZSBnX3NvY2tldF9zZXRfb3B0aW9uKCkgdG8gc2V0IGJ1ZmZlciBzaXplIHdpdGggbmV3ZXIgR0xpYiB2ZXJzaW9ucwoJICBTbyB3ZSBoYXZlIHRvIHdvcnJ5IGxlc3MgYWJvdXQgcG9ydGFiaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0MDAKCjIwMTMtMDItMTQgMTQ6MTM6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZW1vdmUgc29mLW1hcmtlciBmcm9tIHRlbXBsYXRlIGNhcHMgZm9yIG5vdwoJICBOb3cgdGhhdCB0aGUgc3Vic2V0IGNoZWNrIGFjdHVhbGx5IHdvcmtzLCB0aGlzIGJyZWFrcwoJICB0aGluZ3Mgd2l0aCBkZW11eGVycyB0aGF0IGRvbid0IHB1dCBhICJzb2YtbWFya2VyIgoJICBpbiB0aGVpciBqcGVnIGNhcHMsIGFuZCB3ZSBkb24ndCBoYXZlIGEgZ29vZCBwYXJzZXIKCSAgdG8gcGx1ZyBlaXRoZXIgeWV0LgoKMjAxMy0wMi0xMyAxMjozMjoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogUHV0IHRoZSBTT0YgbWFya2VyIGludG8gdGhlIGNhcHMKCjIwMTMtMDItMTMgMTI6MDI6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHAtcGF5bG9hZGluZzogRml4IHVuaXQgdGVzdCBjYXBzIGFuZCBBTVIgZGVwYXlsb2FkZXIgc2luayB0ZW1wbGF0ZSBjYXBzCgkgIEZpZWxkcyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgYWN0dWFsIGNhcHMsIG9yIHRvbyBtYW55IGZpZWxkcwoJICBleGlzdGVkIGluIHRoZSB0ZW1wbGF0ZSBjYXBzLgoKMjAxMy0wMi0xMyAxMTo1MzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGNhcHMgdXNlZCBpbiB0aGUgdW5pdCB0ZXN0CgkgIFRoZSBBQUMgY2FwcyBwYXNzZWQgd2VyZSBpbmNvbXBsZXRlLgoKMjAxMy0wMi0xMyAxMTo0OTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrOiBGaXggdW5pdCB0ZXN0cywgd2lkdGggaXMgbm93IGNhbGxlZCBkZXB0aCBpbiB0aGUgY2FwcyBpbiAxLjAKCjIwMTMtMDItMTIgMjM6MzE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogbWFrZSBzb3VwaHR0cHNyYyB1bml0IHRlc3Qgd29yayBldmVuIGlmIGh0dHBfcHJveHkgaXMgc2V0CgkgIFdlJ3JlIHRlc3Rpbmcgd2l0aCBhbiBodHRwIHNlcnZlciBvbiBsb2NhbGhvc3QsIGJ1dCBkb24ndCBzdXBwb3J0CgkgIGFuIGV4Y2VwdGlvbiBsaXN0IGZvciB0aGUgaHR0cF9wcm94eSwgc28ganVzdCB1bnNldCB0aGUgZW52aXJvbm1lbnQKCSAgdmFyaWFibGUgdG8gbWFrZSBzdXJlIHdlIGNhbiBydW4gdGhpcyB0ZXN0IHByb3Blcmx5IGV2ZW4gaWYgdGhlCgkgIGVudmlyb25tZW50IGhhcyBodHRwX3Byb3h5IHNldC4KCSAgQWxzbywgZG9uJ3Qgc2tpcCBhbGwgdGVzdHMgaWYgdGhlcmUgaXMgYW4gaXNzdWUgd2l0aCB0aGUgU1NMIHNlcnZlciwKCSAganVzdCBydW4gdGhlIG5vbi1TU0wgdGVzdHMgdGhlbi4KCSAgaHR0cHM6Ly9qZW5raW5zLnFhLnVidW50dS5jb20vdmlldy9SYXJpbmcvdmlldy9KSEJ1aWxkJTIwR25vbWUvam9iL2poYnVpbGQtYW1kNjQtZ3N0LXBsdWdpbnMtZ29vZC8KCjIwMTMtMDItMTIgMTI6NTM6NTIgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBleHRyYWN0IGNvZGVjX2RhdGEgZm9yIFByb1JlcwoKMjAxMy0wMi0wOCAwMTowMjoxMCArMTEwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8bWl0aHJvQG1pdGhpcy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEZpeGluZyBidWZmZXIgbGVhayBpbiBnc3RfYXZpX211eF9kb19idWZmZXIKCSAgZ3N0X2F2aV9tdXhfZG9fYnVmZmVyIHdhcyBsZWFraW5nIGRhdGEgZnJvbSBnc3RfY29sbGVjdF9wYWRzX3BvcC4KCjIwMTMtMDItMTAgMTU6MTA6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNvcnJlY3QgZHVyYXRpb24gZm9yIGF1ZGlvIFZCUiBidWZmZXJzIGluIHB1bGwgbW9kZQoKMjAxMy0wMi0wOCAyMToyODowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHJvcGVyIHBvc2l0aW9uIHJlcG9ydGluZyBhbmQgcHVzaCBtb2RlIHRpbWVzdGFtcGluZwoJICAuLi4gYW5kIGFsaWduIGN1cnJlbnRfdG90YWwgc2VtYW50aWNzIGluIHB1c2ggYW5kIHB1bGwgbW9kZSwKCSAgd2hpY2ggdHJhY2tzIGJ5dGVzIGZvciBDQlIgYW5kIGJsb2NrcyBmb3IgVkJSLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNDgxCgoyMDEzLTAyLTA4IDE3OjA1OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkZWxheSBSVENQIHVudGlsIGZpcnN0IFJUUCBwYWNrZXQKCSAgRGVsYXkgc2VuZGluZyB0aGUgZmlyc3QgUlRDUCBwYWNrZXQgdW50aWwgd2UgaGF2ZSBzZW50IHRoZSBmaXJzdCBSVFAgcGFja2V0LgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBzZW5kIG91dCBhIFJlY2VpdmVyIFJlcG9ydCBpbnN0ZWFkIG9mIGEgc2VuZGVyIHJlcG9ydC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE0MDAKCjIwMTMtMDItMDcgMTU6MDY6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSBkZWFkIGNvZGUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODM1NQoKMjAxMy0wMS0yOSAxMDo0ODoxNyArMDEwMCAgUGF1bCBIRU5SWVMgPHZpc2VjaGVsbGVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBmb3J3YXJkIHN0aWNreSBldmVudHMgYW5kIHRoZW4gc2V0IGNhcHMKCSAgV2hlbiBhIG5ldyBzcmMgcGFkIGlzIGFkZGVkLCBmaXJzdCBmb3J3YXJkIHRoZSBzdGlja3kgZXZlbnRzIGFuZCB0aGVuCgkgIHNldCB0aGUgY2FwcyBvbiB0aGUgc3JjIHBhZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNzg2CgoyMDEzLTAyLTA3IDE0OjMyOjI2ICswMTAwICBNYXJrb3Z0c2V2IFZhZGltIDx2Lm1hcmtvdnRzZXYgYXQgc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGRlYnVnIG91dHB1dAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4OTM1CgoyMDExLTA5LTI2IDE0OjQyOjUxIC0wNzAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmV3b3JrIGNsZWFudXAgb2Ygc3RyZWFtcwoJICBNb3ZlIHRoZSB3b3JrIG9mIGNsZWFuaW5nIHVwIHRoZSBjbGllbnQgc3RyZWFtcyBpbiB0aGUgZnJlZV9zdHJlYW0KCSAgZnVuY3Rpb24uIFRoaXMgYWxsb3dzIHVzIHRvIHByb3Blcmx5IGNsZWFuIHVwIHRoZSBjbGllbnQgc3RyZWFtcyB3aGVuIHdlCgkgIHJlbW92ZSBhbiBSVFAgc3RyZWFtIGFzIHdlbGwuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IFN1amF5IDxzZGF0YXJAY2lzY28uY29tPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMTU2CgoyMDEzLTAyLTA3IDExOjQwOjM1ICswMTAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxnbm9tZSBhdCBtaXRoaXMuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IGF2b2lkIGNhcHMgbGVhawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzA3CgoyMDEzLTAyLTA2IDE3OjE1OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZG8gc2tldyBlc3RpbWF0aW9uIG9ubHkgZm9yIG5ldyB0aW1lc3RhbXBzCgkgIE9ubHkgcnVuIHRoZSBza2V3IGVzdGltYXRpb24gY29kZSB3aGVuIHdlIGhhdmUgYSBuZXcgUlRQIHRpbWVzdGFtcC4gSWYgd2UgaGF2ZQoJICB0aGUgc2FtZSBSVFAgdGltZXN0YW1wLCB3ZSBzaW1wbHkgdXNlIHRoZSBwcmV2aW91cyBlc3RpbWF0aW9uLiBUaGlzIHdvcmtzCgkgIGJlY2F1c2UgdGhlIG5ldyBvYnNlcnZhdGlvbiB3aXRoIHRoZSBzYW1lIFJUUCB0aW1lc3RhbXAgaGFzIHRvIGhhdmUgYSBiaWdnZXIKCSAgcmVjZWl2ZXIgdGltZSBhbmQgaXMgdGh1cyBub3QgZ29pbmcgdG8gaW5mbHVlbmNlIHRoZSBlc3RpbWF0aW9uIGV4Y2VwdCBmb3IKCSAgY2F1c2luZyBtb3JlIGppdHRlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDAyMwoKMjAxMy0wMi0wNiAxMzo1MjoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb25seSBFT1Mgd2hlbiBvdXIgc291cmNlIHNlbmRzIEJZRQoJICBPbmx5IEVPUyB3aGVuIHdlIHJlY2VpdmUgYSBCWUUgZXZlbnQgZnJvbSB0aGUgU1NSQyBvZiBvdXIgc3RyZWFtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDUzCgoyMDEzLTAyLTA2IDEzOjQ3OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzYXZlIHRoZSBzdHJlYW0gU1NSQwoJICBDb25mbGljdHM6CgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYwoKMjAxMy0wMi0wNiAxMzoxODoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZmx1c2ggY29ubmVjdGlvbiB3aGVuIHN0b3BwaW5nCgkgIFdoZW4gd2Ugc3RvcCwgd2UgY2FuIGZsdXNoIGFsbCBwZW5kaW5nIGNvbW1hbmRzIHNvIHRoYXQgd2UgY2FuIHN0b3AgYW5kCgkgIGpvaW4gdGhlIHRhc2suCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5MjQKCjIwMTMtMDItMDUgMjI6MDI6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vUkVBRE1FOgoJICBzcGVjdHJ1bTogcmVtb3ZlIG91dGRhdGVzIHJlYWRtZQoJICBMZXRzIHJlbW92ZSB0aGUgcmVhZG1lIGZyb20gcHJlLTAuMS4wIHRoYXQgaXMgY29tcGxldGVseSBpcnJlbGV2YW50IG5vdy4KCjIwMTMtMDItMDUgMDc6MzI6MjkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGFkZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMTMtMDItMDUgMDg6MjY6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIGxldmVsLWV4YW1wbGUuIGF2b2lkIHRha2luZyB0aGUgYXJyYXlzIGFnYWluIGZvciBlYWNoIGNoYW5uZWwgZm9yIGNsYXJpdHkKCSAgQWxzbyBpbnRyb2R1Y2Ugc29tZSBibGFuayBsaW5lcyBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5IGFuZCB1cGRhdGUgdGhlIGNvbW1lbnRzLgoKMjAxMy0wMi0wNCAxODozODo0MSArMDAwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgYXVkaW9wYXJzZXJzOiBmaXggdHlwbyBpbiBub2luc3RfaGVhZGVycwoKMjAxMy0wMi0wNCAxMTowODoyMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZnVydGhlciBwb3J0IHRvIDEuMAoJICBUcmFuc2Zvcm1jYXBzIGlzIG5vdCBjYWxsZWQgd2l0aCBjYXBzIGNvbnRhaW5pbmcgc2luZ2xlIHN0cnVjdHVyZXMgYW55bW9yZS4gQWxzbyBhZGQgbWlzc2luZyBmaWx0ZXIgaGFuZGxpbmcuIFN0aWxsIGRvZXMgbm90IG5lZ290aWF0ZSB0aG91Z2guCgoyMDEzLTAyLTAzIDIyOjQ1OjUyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmaXggY2FwcwoJICBXZSBkb24ndCB0dXJuIGZsb2F0IGludG8gMzJiaXQgcGNtLiBMb29rcyBsaWtlIGEgdHlwbyBmcm9tIHVwZGF0aW5nIHRoZSBjYXBzLgoKMjAxMy0wMi0wMyAxMzoxNDo1MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogQWRkIG1pc3NpbmcgY29tYSBiZXR3ZWVuIGZvcm1hdHMKCjIwMTMtMDEtMzEgMjI6NTU6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZml4IGVvcyB0aW1lc3RhbXAgY2hlY2sKCSAgZml4ZXMgaGFuZyBpbiB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAgISB2aWRlb21peGVyICEgZmFrZXNpbmsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzNQoKMjAxMy0wMS0zMSAxMTozNTowOSArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZCBzdXBwb3J0IGZvciByYXcgbW9ub2Nocm9tZSA4LWJpdCB2aWRlbwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTMyCgoyMDEzLTAxLTE4IDIxOjA4OjEyICswNDAwICBBbGV4ZXkgQ2hlcm5vdiA8YWNoZXJub3ZAbmVvc3BoZXJlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBNYWtlIEdzdE5hdmlnYXRpb24ga2V5IGlucHV0IGV2ZW50cyBpbiBvc3h2aWRlb3NpbmsgY29tcGF0aWJsZSB3aXRoIHgodilpbWFnZXNpbmsgb25lcwoKMjAxMy0wMS0yOSAxMDozMDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgJy4uLmlzIHVzZWQgdW5pbml0aWFsaXplZCcKCjIwMTMtMDEtMDkgMTM6MjQ6NDkgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IGludGVybGVhdmVkIGxheW91dCBjb3JyZWN0bHkgZm9yIExQQ00gYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAyMDo0NToyMSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgTFBDTSBmb3VyY2MgKHVuY29tcHJlc3NlZCBhdWRpbyBpbiBRdWlja3RpbWU3KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDIwOjQyOjM1IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByaW50IGFsbCBkZWJ1ZyBmb3Igc291bmQgc2FtcGxlIGRlc2NyaXB0aW9uIHYyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMjA6MTQ6MTcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc291bmQgc2FtcGxlIGRlc2NyaXB0aW9uIHYyIGRvZXNuJ3Qgb3ZlcnJpZGUgc2FtcGxlc19wZXJfcGFja2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMTk6NTc6NTAgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFzcyBzdHNkIGRhdGEgdG8gcXRkZW11eF9hdWRpb19jYXBzKCkKCSAgV2Ugd2lsbCBuZWVkIHRoYXQgbGF0ZXIgZm9yIExQQ00gZm9ybWF0IHN1cHBvcnQuIERpc2FibGUKCSAgUURNMiBwYXJzaW5nIG9mIHN0c2QgZGF0YSB3aGljaCBkZWFkIGNvZGUgYmVmb3JlIGFzIHdlbGwKCSAgYmVjYXVzZSBkYXRhIHdhcyBhbHdheXMgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAxOTo1Njo0NiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgbGVuIGNoZWNrIGZvciBzb3VuZCBzYW1wbGUgZGVzY3JpcHRpb25zIHYxIGFuZCB2MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTI4IDIyOjQyOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cG1hbmFnZXI6IHVzZSBDODktc3R5bGUgY29tbWVudHMKCjIwMTMtMDEtMjggMTg6MDY6MTUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IEZpeCBkb3VibGUtZGVjbGFyZWQgdmFyaWFibGUKCjIwMTMtMDEtMjggMTc6NTg6MjAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHA6IEZpeCBjb21waWxhdGlvbiBlcnJvcnMgaW4gcHJldmlvdXMgcGF0Y2hlcwoKMjAxMS0wNC0yOCAyMjo1OToyOCArMDIwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEVuc3VyZSBNVCBzYWZlIGV2ZW50IGhhbmRsaW5nIGFuZCBwbHVnIGV2ZW50IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MjYKCjIwMTEtMTAtMTcgMjM6NDU6MzcgKzAyMDAgIElkYXIgVG9sbGVmc2VuIDxpdG9sbGVmc0BjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG10LXNhZmUgZXZlbnQtcHVzaAoJICBCeSB0YWtpbmcgYSByZWYgb2YgdGhlIHNpbmstcGFkIHVuZGVyIGxvY2ssIGl0IHdvbid0IGRpc3NhcHBlYXIKCSAgd2hpbGUgdGhlIHB1c2ggaXMgdGFraW5nIHBsYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MTYKCjIwMTItMDEtMDQgMTA6Mjk6NDUgKzAxMDAgIFBhc2NhbCBCdWhsZXIgPHBhYnVobGVyQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFNhZmVseSBwdXNoIG9uIHBhZHMgdGhhdCBtaWdodCBiZSByZW1vdmVkIGR1ZSB0byBhIFJUQ1AgQllFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MTUKCjIwMTMtMDEtMjggMjA6NDI6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE5NDIyOTMgdG8gMmRlMjIxYwoKMjAxMy0wMS0yOCAxMTo1NDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIHNiY3BhcnNlOiBpbml0IHNvbWUgdmFyaWFibGVzIHRvIGF2b2lkIGJvZ3VzIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAxLTI4IDEyOjQxOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cGRlcGF5OiByZW1vdmUgcGF5bG9hZCB0eXBlIHJlc3RyaWN0aW9ucwoJICBSZW1vdmUgdGhlIHB0IHJlc3RyaWN0aW9ucyBmb3IgYWxsIHRoZSBkZXBheWxvYWRlcnMgdGhhdCBoYXZlIGFuCgkgIGVuY29kaW5nLW5hbWUuIFdlIGNhbiB1c2UgdGhpcyB0byBhdXRvcGx1ZyBkZWNvZGVycy4KCSAgUmVtb3ZlIHRoZSBlbmNvZGluZy1uYW1lIGZvciBhbGwgdGhlIHBheWxvYWRlcnMgd2l0aCBhIGZpeGVkIHBheWxvYWQKCSAgdHlwZS4KCSAgV2Ugbm93IGVpdGhlciBoYXZlIGFuIGVuY29kaW5nLW5hbWUgb3IgYSBwdCBpbiB0aGUgc2lua3BhZCBjYXBzIG9mCgkgIGEgZGVwYXlsb2FkZXIuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MjkyCgoyMDEzLTAxLTI4IDEyOjIzOjQxICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIHJ0cDogcmVtb3ZlIHBheWxvYWQgcmVxdWlyZW1lbnRzIGZyb20gc2VsZWN0ZWQgZGVwYXlsb2FkZXJzCgkgIGVuY29kaW5nIG5hbWUgaXMgcmVxdWlyZWQgaW4gdGhlIGNhcHMgYW5kIGlzIGEgYmV0dGVyIGZpdCBmb3IgYXV0b3BsdWdnaW5nIHRoYW4KCSAgdGhlIHB0IHZhbHVlLiBIYXJkd2FyZSBtYW51ZmFjdHVyZXJzIGhhdmUgYSBiYWQgaGFiaXQgb2Ygc2tpbW1pbmcgdGhyb3VnaCBSRkNzCgkgIGFuZCBpbiB0aGlzIGNhc2U7IHVzZSB1bmFzc2lnbmVkIG51bWJlcnMgZm9yIGVuY29kZXJzIGluc3RlYWQgb2YgZHluYW1pYwoJICBudW1iZXJzLgoJICBJbiBlc3NlbmNlLCB0aGlzIHBhdGNoIHdpbGwgYWRkIHN1cHBvcnQgZm9yIGEgbG90IG9mIEJvc2NoIGhhcmR3YXJlIGVuY29kZXJzCgkgIHdpdGhvdXQgYnJlYWtpbmcgYXV0b3BsdWdnaW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MjkyCgoyMDEzLTAxLTI3IDEwOjE3OjU5ICswNTMwICBCLlByYXRoaWJoYSA8Ym9zc2xpbnV4QGNkYWMuaW4+CgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHRlc3RzOiB1c2UgZ190aW1lb3V0X2FkZF9zZWNvbmRzIGluc3RlYWQgb2YgZ190aW1lb3V0X2FkZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNjE1CgoyMDEzLTAxLTI3IDEyOjU0OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBtb2RlOiBvbmx5IHBhcnNlIG1vb3YgMSBvbmNlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE1NzAKCjIwMTMtMDEtMjYgMjI6NTg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHJ0cGR0bWZzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9kdG1mX3NyY19wcmVwYXJlX21lc3NhZ2UuaXNyYS4xJzoKCSAgZ3N0cnRwZHRtZnNyYy5jOjY2OTozOiBlcnJvcjogJ3MnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMy0wMS0yNSAyMTowNjowNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IEZpeCBtaXNzaW5nIHdvcmsgaW4gZG9jCgoyMDEzLTAxLTI0IDIxOjAwOjA4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZkZXBheSBhbmQgcnRwZHRtZnNyYwoKMjAxMy0wMS0yNSAyMDozOTozMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUG9zdCB0aGUgbWVzc2FnZXMgYWZ0ZXIgdGhlIGNsb2NrIHdhaXQKCSAgVGhpcyB3YXksIHRoZSBtZXNzYWdlcyB3aWxsIGJlIGNsb3NlciBpbiB0aW1lIHRvIHdoZW4gdGhlIHBhY2tldHMgYXJlIHNlbnQgb3V0CgoyMDEzLTAxLTI1IDIwOjM3OjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBPbmx5IHNldCB0aGUgZHVyYXRpb24gd2hlbiBzdGFydGluZyB0byBzZW5kCgkgIFRoZSBkdXJhdGlvbiBkZXBlbmRzIG9uIHRoZSBjbG9jayByYXRlLCB3aGljaCBjb3VsZCBjaGFuZ2UgZHVlIHRvIHJlbmVnb3RpYXRpb24KCjIwMTMtMDEtMjUgMjA6Mzc6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IHJlbW92ZSAic3NyYyIgZnJvbSBjYXBzCgkgIHNzcmMgaXMgdWludCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIHVpbnQgcmFuZ2UgdHlwZQoKMjAxMy0wMS0yNCAyMTowODo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSAgcXRtdXg6IHNldCBsYW5ndWFnZSB0byAndW5kZWZpbmVkJyBpbnN0ZWFkIG9mIEVuZ2xpc2ggYnkgZGVmYXVsdAoKMjAxMy0wMS0yMyAyMTozNToyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgeGltYWdlc3JjOiBTZXQgdGhlIHBpeGVsIGFzcGVjdCByYXRpbyBjb3JyZWN0bHkgaW4gdGhlIGNhcHMKCjIwMTMtMDEtMDggMDg6NTY6NDUgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogUmUtZW5hYmxlIHByZXBhcmUtZm9ybWF0IGVtaXNzaW9uCgkgIFdpdGggdGhlIHBvcnQgdG8gZ3N0cmVhbWVyIDEuMCB0aGUgcHJlcGFyZS1mb3JtYXQgc2lnbmFsIHN0b3BwZWQgYmVpbmcKCSAgZW1pdHRlZC4gU3RhcnQgZW1pdHRpbmcgdGhpcyBhZ2FpbiBmb3IgdXNlIGluIHV2Y2gyNjRzcmMuICBXaGlsZSB0aGVyZQoJICBjaGFuZ2UgdGhlIGVtaXNzaW9uIHRvIGluY2x1ZGUgdGhlIGNhcHMgZm9yIGV4dHJhIGZsZXhpYmlsaXR5IGluc3RlYWQgb2YKCSAgZm91cmNlLCB3aWR0aCwgaGVpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDQyCgoyMDEzLTAxLTIyIDE4OjEyOjEwICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3QuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYWxsb3cgY2FsbGluZyBmcm9tIG91dC1vZi10cmVlCgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIzMDkKCjIwMTMtMDEtMjIgMTk6MjY6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBzYmM6IGZpeCBib2d1cyBjb21waWxlciB3YXJuaW5nCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3NiY19wYXJzZV9oYW5kbGVfZnJhbWUnOgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoyMTA6MzI6IGVycm9yOiAnY2hfbW9kZScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpCgoyMDEzLTAxLTE5IDEzOjI3OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IGVycm9yIG91dCBpZiBwYV9zdHJlYW1fcHJvcGxpc3RfdXBkYXRlKCkgd2l0aCBuZXcgdGFncyBmYWlscwoJICBTaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiB0aGVzZSBkYXlzLCBidXQgaWYgaXQgZG9lcywgaXQncyBub3QgcmVhbGx5CgkgIGEgcHJvYmxlbSBlaXRoZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTYwNjgKCjIwMTMtMDEtMTYgMTg6MDE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNraXAgc291cGh0dHBzcmMgdGVzdHMgaWYgdGhlcmUgaXMgbm8gbG9jYWwgaHR0cCBzZXJ2ZXIgdG8gdXNlCgkgIFNraXAgdGVzdHMgaWYgdGhlIHNlcnZlciBjb3VsZG4ndCBiZSBzdGFydGVkIG9yIHdlIGNhbid0IGNvbm5lY3QKCSAgdG8gaXQgZm9yIHNvbWUgcmVhc29uIChlLmcuIGRyYWNvbmljIGJ1aWxkIGJvdCBlbnZpcm9ubWVudHMpLgoKMjAxMy0wMS0xNiAxNDozMjo1NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgYXV0b3BhcnNlcnM6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMy0wMS0xNSAxNTowNTo0MyArMDEwMCAgTWFydGluIFBpdHQgPG1hcnRpbnBpdHRAZ25vbWUub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB1c2UgXzFfMCB2YXJpYW50cyBmb3IgdGhlIHZhcmlvdXMgcmVnaXN0cnkgdmFyaWFibGVzCgkgIFRoZXNlIG92ZXJyaWRlIHRoZSB2YXJpYW50cyB3aXRob3V0IHZlcnNpb24gc3VmZml4LiBNYWtlcyAnbWFrZSBjaGVjaycgd29yawoJICBwcm9wZXJseSBpbiBlbnZpcm9ubWVudHMgdGhhdCBzZXQgdGhlIHN1ZmZpeGVkIHZhcmlhbnQgZm9yIDEuMCwgc3VjaCBhcwoJICBqaGJ1aWxkLgoKMjAxMy0wMS0xMSAxOToyNDo0MyArMDQwMCAgQWxleGV5IENoZXJub3YgPGFjaGVybm92QG5lb3NwaGVyZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IEZpeCBjcmFzaCBpbiBvc3h2aWRlb3Npbmsgd2l0aCBleHRlcm5hbCB3aW5kb3cgb3V0cHV0CgoyMDEzLTAxLTE2IDEyOjA0OjU5ICswNDAwICBBbGV4ZXkgQ2hlcm5vdiA8YWNoZXJub3ZAbmVvc3BoZXJlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlb3Npbms6IE1ha2UgR3N0R0xWaWV3IHByb3BhZ2F0ZSBpbnB1dCBldmVudHMgdG8gaXRzIHBhcmVudCB2aWV3CgkgIEZpeGVzIGJ1ZyAjNjkxODMyCgoyMDEzLTAxLTE2IDEwOjE5OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogdXBkYXRlIHNvbWUgZmllbGRzIGluIHRoZSBjYXBzIHRvIHRoZWlyIG5ldyBuYW1lCgkgIGFuZCB0byBtYXRjaCB0aGUgcGFyc2VyLiAibW9kZSIgZ290IHJlbmFtZWQgdG8gImNoYW5uZWwtbW9kZSIKCSAgYW5kICJhbGxvY2F0aW9uIiB0byAiYWxsb2NhdGlvbi1tZXRob2QiLgoKMjAxMy0wMS0xNSAxNzo0NDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogYWRkIHNiY3BhcnNlIGFuZCBydHBzYmNwYXkgdG8gcGx1Z2luIGRvY3MKCjIwMTMtMDEtMTUgMTc6Mzg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIFNCQyBhdWRpbyBwYXJzZXIKCSAgRnJvbS1zY3JhdGNoIHJld3JpdGUsIHRoZSBibHVleiBvbmUgd2FzIHVzZWxlc3MgYW5kIGJyb2tlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0xNSAxNTowNTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE3MmZhZWEgdG8gYTk0MjI5MwoKMjAxMy0wMS0xMCAxMjozODoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHA6IGltcG9ydCBydHBzYmNwYXkgZnJvbSBibHVleiBhbmQgcG9ydCB0byAxLjAKCSAgQ29tcGlsZXMsIGJ1dCBub3QgdGVzdGVkIHlldCAoc2JjIGVsZW1lbnRzIHN0aWxsIG5lZWQgdG8gYmUgcG9ydGVkKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0wOSAxOTo1OToxNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mL3NwYW5kc3A6IE1vdmUgZHRtZmRldGVjdCB0byB1c2UgbGlic3BhbmRzcAoJICBSZW1vdmUgb3VyIGNvcHkgb2YgdGhlIHRvbmVfZGV0ZWN0LmMgZmlsZSBhbmQgdXNlIHRoZSBvcmlnaW5hbAoJICBmcm9tIGxpYnNwYW5kc3AuIEFsc28gbW92ZSB0aGUgZWxlbWVudCB0byB0aGUgc3BhbmRzcCBwbHVnaW4uCgoyMDExLTAyLTEzIDE3OjUxOjQ1IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wNS0xOSAxNjo1OTozMCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBBZGQgcHJhZ21hIGJhc2VkIHdvcmthcm91bmQgZm9yIEdTdHJlYW1lciB3YXJuaW5ncwoKMjAxMC0wMS0wMSAxNzowODoxNyAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTAxLTMwIDAwOjMxOjE1ICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeCBzaWduZWQvdW5zaWduZWQgY29tcGFyaXNvbiBpc3N1ZSB3aXRoaW4gR1N0cmVhbWVyIHBsdWdpbgoKMjAwOS0wMS0wMSAxOTozMzoyMCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTEyLTIzIDA1OjI1OjUwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IEZpcnN0IGF0dGVtcHQgaW4gZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIChzdGlsbCBuZWVkcyBjbGVhbnVwKQoKMjAwOC0xMi0yMCAyMTo0Mjo0OSArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IE1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTAyLTI5IDE5OjM3OjE1ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IFJlbW92ZSBwb3NzaWJsZSBleHRyYSBtZW1jcHkgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAyLTI4IDE5OjM4OjUzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeCBidWcgc2VuZGluZyBlbXB0eSBwYWNrYWdlcyBhbmQgcmVtb3ZlIGEgYnVmZmVyIGNvcHkuCgoyMDA4LTAyLTIwIDEzOjM3OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeCBydW50aW1lIHdhcm5pbmdzIG9mIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAyLTE5IDE5OjQ5OjI0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IFVwZGF0ZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBuZXcgc2JjIEFQSS4KCjIwMDgtMDItMDIgMDM6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0wMS0zMCAxNDoyMTo0MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXhlcyBnc3RyZWFtZXIgY2FwcyBhbmQgY29kZSBjbGVhbnVwLgoKMjAwOC0wMS0yNCAxNDoyNToyOSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggZ3RyZWFtZXIgcGF5bG9hZGVyIHNlbmRpbmcgZnJhZ21lbnRlZCBmcmFtZXMuCgoyMDA4LTAxLTIzIDE5OjE3OjMzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IEZpeCB1c2Ugb2YgZ3N0cmVhbWVyIHBsdWdpbiB3aXRoIHJoeXRobWJveCBhbmQgYmFuc2hlZSBhbmQgcnRwIHRpbWVzdGFtcHMuCgoyMDA4LTAxLTIzIDEzOjE0OjAyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IE1ha2UgYTJkcHNpbmsgdG8gYWN0IGxpa2UgYSBiaW4gYW5kIHNwbGl0IHRoZSBwYXlsb2FkZXIuCgoyMDEzLTAxLTA4IDE2OjI3OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHA6IHNtYWxsIGltcHJvdmVtZW50cwoKMjAxMy0wMS0wNyAxNTo1MDozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIGhhbmRsZSBzeW5jIGNvZGUKCSAgTW92ZSB0aGUgY29kZSB0aGF0IGNvbWJpbmVzIHRoZSBsYXN0IFNSIHBhY2tldCBhbmQgdGhlIGN1cnJlbnQgaml0dGVyYnVmZmVyIHN5bmMKCSAgdmFsdWVzIGludG8gYSBzeW5jIHN0cnVjdHVyZSwgaW50byBpdHMgb3duIGZ1bmN0aW9uLiBXZSB3YW50IHRvIHJldXNlIHRoaXMgYml0CgkgIGxhdGVyLgoKMjAxMy0wMS0wNyAxNTo0NToxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBpbmNsdWRlIGRvd25zdHJlYW0gbGF0ZW5jeSBpbiBTUiBjYWxjdWxhdGlvbnMKCSAgV2hlbiB3ZSBtYWtlIGEgbWFwcGluZyBiZXR3ZWVuIGFuIFJUUCB0aW1lc3RhbXAgYW5kIGFuIE5UUCB0aW1lc3RhbXAsIGluY2x1ZGUKCSAgdGhlIGRvd25zdHJlYW0gbGF0ZW5jeSBhcHBsaWVkIHRvIHRoZSBzaW5rcy4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYXZlCgkgIGJvdGggc2lua3MgcnVuIHdpdGggZGlmZmVyZW50IGxhdGVuY2llcyBhbmQgc3RpbGwgaGF2ZSBjb3JyZWN0IHN5bmMgb24gdGhlCgkgIGNsaWVudC4gSXQgYWxzbyBpcyBtb3JlIGNvcnJlY3QgYmVjYXVzZSB0aGUgUlRQIHRpbWVzdGFtcCBpbiB0aGUgU1IgcmVwb3J0IHdpbGwKCSAgYWN0dWFsbHkgY29ycmVzcG9uZCBtb3JlIGNsb3NlbHkgdG8gdGhlIE5UUCB0aW1lIGl0IHdhcyBzZW50IG9uIHRoZSBzZXJ2ZXIuCgkgIEZvciBwaXBlbGluZXMgd2l0aCBoaWdoIGxhdGVuY3kgb24gdGhlIHNlbmRlciBzaWRlLCB0aGlzIGFjdHVhbGx5IGFsbG93cyBhCgkgIEdTdHJlYW1lciByZWNlaXZlciB0byBwZXJmb3JtIHN5bmNocm9uaXNhdGlvbiBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZSBSVENQCgkgIHBhY2tldHMuCgoyMDEzLTAxLTA3IDE0OjI1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCBjYXN0IGV2ZW50IGZ1bmN0aW9ucwoJICBUaGVyZSBpcyBubyBuZWVkIHRvIGNhc3QgdGhlIGV2ZW50IGZ1bmN0aW9ucyBhbmQgb25seSBjYXVzZXMgcHJvYmxlbXMgbGF0ZXIgd2hlbgoJICB3ZSBjaGFuZ2UgdGhlIHNpZ25hdHVyZSBsYXRlciBhbmQgdGhpbmdzIHNpbGVudGx5IGNvbXBpbGVzIHdyb25nIGNvZGUuCgoyMDEzLTAxLTA3IDE0OjIzOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHA6IG1vcmUgZGVidWcKCjIwMTMtMDEtMDcgMTQ6MjI6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGltcHJvdmUgZGVidWcKCjIwMTMtMDEtMDIgMDA6MDM6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHNhbml0eSBjaGVjayBzaXplIG9mIGF2YWlsYWJsZSBwYWNrZXQgZGF0YSBmb3IgcmVhZGluZyB0byBhdm9pZCBtZW1vcnkgd2FzdGUKCSAgT24gV2luZG93cyBhbmQgT1MvWCwgX2dldF9hdmFpbGFibGVfYnl0ZXMoKSBtYXkgbm90IHJldHVybiB0aGUgc2l6ZQoJICBvZiB0aGUgbmV4dCBwZW5kaW5nIHBhY2tldCwgYnV0IHRoZSBzaXplIG9mIGFsbCBwZW5kaW5nIHBhY2tldHMgaW4KCSAgdGhlIGtlcm5lbC1zaWRlIGJ1ZmZlciwgd2hpY2ggbWlnaHQgYmUgcmF0aGVyIGxhcmdlIGRlcGVuZGluZyBvbgoJICBjb25maWd1cmF0aW9uLiBTYW5pdHktY2hlY2sgdGhlIHNpemUgcmV0dXJuZWQgYnkgX2dldF9hdmFpbGFibGVfYnl0ZXMoKQoJICB0byBtYWtlIHN1cmUgd2UgbmV2ZXIgYWxsb2NhdGUgbW9yZSBtZW1vcnkgdGhhbiB0aGUgbWF4LiBzaXplIGZvcgoJICBhIHBhY2tldCwgaWYgaXQncyBhbiBJUHY0IHNvY2tldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDM2NAoKMjAxMy0wMS0wNCAxMDowMzozMiArMDEwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogQWxzbyBoYW5kbGUgdGhlIG5ldyBFTk9FTlQgcmV0dXJuIHZhbHVlIG9mIFZJRElPQ19RVUVSWUNUUkwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTA5OAoKMjAxMy0wMS0wMSAxOToxNDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3Igc291cGh0dHBzcmMgZXJyb3IgaGFuZGxpbmcgd2l0aCBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MjkKCjIwMTItMDYtMjIgMjE6NTY6NTIgKzAwMDAgIE5vcmJlcnQgV2FzY2hidWVzY2ggPG53YXNjaGJ1QG9wZW50di5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZXJyb3Igb3V0IHByb3Blcmx5IHdoZW4gcmVjZWl2aW5nIGRhdGEgYWxvbmcgd2l0aCBhbiBlcnJvciBzdGF0dXMKCSAgV2hlbiByZWNlaXZpbmcgYW4gZXJyb3IgY29kZSBmcm9tIHRoZSBodHRwIHNlcnZlciwgc3VjaCBhcyA0MDQsCgkgIGRhdGEgbWlnaHQgYmUgc2VudCBhbG9uZyB3aXRoIGl0LCBsaWtlIGEgd2ViIHBhZ2UuIFdlIGRvbid0IHdhbnQKCSAgdG8gb3V0cHV0IHRoYXQgZGF0YSBpbiB0aGlzIGNhc2UsIGFuZCB3ZSBhbHNvIHdhbnQgdG8gcGFzcyB0aGUKCSAgRkxPV19FUlJPUiByZXR1cm4gYmFjayB0byB0aGUgYmFzZSBjbGFzcywgc28gaXQgY2FuIHN0b3AgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MjkKCjIwMTMtMDEtMDEgMTI6MjA6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgbmV3IHJ0c3BzcmMgcHJveHktaWQgYW5kIHByb3h5LXB3IHByb3BlcnRpZXMKCjIwMTMtMDEtMDEgMTI6MTk6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgIGRvY3M6IGZpeCBkb2NzIGJ1aWxkIGFuZCB1cGRhdGUgYWZ0ZXIgcmVtb3ZhbCBvZiBvbGQgY2Fpcm8gZWxlbWVudHMKCjIwMTMtMDEtMDEgMTI6MTI6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICBjYWlybzogcmVtb3ZlIG9sZCBjYWlyby1iYXNlZCB0ZXh0IHJlbmRlcmVyaW5nIGVsZW1lbnQKCSAgVGhleSBoYXZlbid0IHdvcmtlZCB3ZWxsIG9yIGF0IGFsbCBpbiBhIHZlcnkgbG9uZyB0aW1lCgkgIGFuZCB3ZXJlIHJhdGhlciBiaXQtcm90dGVuLCBhbmQgdGhlcmUncyBubyBuZWVkIGZvciB0aGVtCgkgIGFueSBtb3JlLgoKMjAxMy0wMS0wMSAxMTo1MjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NhaXJvLy5naXRpZ25vcmU6CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLW1hcnNoYWwubGlzdDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm86IHBvcnQgY2Fpcm9vdmVybGF5IHRvIDAuMTEKCSAgVGhlIG90aGVyIGVsZW1lbnRzIGFyZSBub3QgdGhhdCBpbnRlcmVzdGluZyBub3cgdGhhdCB3ZSdyZQoJICB1c2luZyBwYW5nb2NhaXJvIGluIHRoZSBwYW5nbyBwbHVnaW4sIGFuZCBzaG91bGQgcHJvYmFibHkKCSAganVzdCBiZSByZW1vdmVkLgoKMjAxMi0xMi0zMSAxODo1OToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSAgZXhhbXBsZXM6IGNoZWNrIGZvciB1cmkgYXJndW1lbnQgaW4gZGVjb2RlYmluLWgyNjRwLWFtciBzZXJ2ZXIgZXhhbXBsZQoJICBPdGhlcndpc2UgcGVvcGxlIGdldCBhIHJhdGhlciBjb25mdXNpbmcgZXJyb3IgbWVzc2FnZS4KCjIwMTItMTItMzEgMDA6MjI6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkICJwcm94eS1pZCIgYW5kICJwcm94eS1wdyIgcHJvcGVydGllcwoJICB0byBtYXRjaCBzb3VwaHR0cHNyYy4gdXNlci9wYXNzd29yZCBwYXNzZWQgdmlhIHRoZSBVUkkKCSAgd2lsbCBzdGlsbCB0YWtlIHByZWNlZGVuY2UgdGhvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk1NDI3CgoyMDEyLTEyLTI1IDE2OjQ4OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgIG9zczRzaW5rOiBub3RpZnkgInZvbHVtZSIgcHJvcGVydHkgb24gb3BlbiB0byBtYWtlIGFwcHMgcXVlcnkgaW5pdGlhbCB2b2x1bWUKCSAgVGhlIGluaXRpYWwgdm9sdW1lIG1pZ2h0IG5vdCBiZSB0aGUgcHJvcGVydHkgZGVmYXVsdCwgc28KCSAgZW1pdCBhIG5vdGlmeSBvbiB0aGUgdm9sdW1lIHByb3BlcnR5IHRvIG1ha2UgYXBwcyBnZXQKCSAgYW4gdXAtdG8tZGF0ZSByZWFkaW5nIG9mIHRoZSBjdXJyZW50IHZvbHVtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTA1MwoKMjAxMi0xMi0yMCAxNzoxMjozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGNtZCBjb21wYXJpc29uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA0NzYKCjIwMTItMTItMjAgMTc6MTI6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTItMTItMjAgMTY6NDQ6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgMTM5NGNsb2NrOiBtYXJrIG91ciBjbG9jayB0eXBlIGFzIE9USEVSCgoyMDEyLTEyLTIwIDE2OjE1OjEzICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBhZGQganBlZ3BheSB1bml0IHRlc3QKCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk1NQoKMjAxMi0xMi0yMCAxNTo1NTowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBwYXNzIGZsb3dyZXR1cm4gdXBzdHJlYW0KCjIwMTItMDktMjcgMTU6NDI6NTYgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGhhbmRsZSB3aWR0aCBhbmQgaGVpZ2h0ID4gMjA0MAoJICBJZiB3aWR0aCBvciBoZWlnaHQgaXMgZ3JlYXRlciB0aGFuIDIwNDAgc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gemVybyBpbgoJICB0aGUgcnRwIGhlYWRlciBhbmQgYWRkIHgtZGltZW5zaW9ucyB0byBvdXRjYXBzLgoJICBTb2x2ZXMgIzY4NDk1NQoKMjAxMi0xMi0yMCAxMzowMzo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNsZWFudXAgaW4gZmxhZyBkZWZpbmUKCjIwMTItMTItMjAgMTM6MDI6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbXByb3ZlIGRlYnVnCgoyMDEyLTEyLTE4IDE1OjU2OjU5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NTU6NDMgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICB0YWdsaWI6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo1NDowOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJICBnZGtwaXhidWY6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo1MTo0NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NDY6NTYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xNyAxNjozNTo1NiArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBzZXQgc3JjIHBhZCBjYXBzIHVwb24gbGFzdCBzaW5rIHBhZCBDQVBTIGV2ZW50CgkgIEdhdGhlciBjYXBzIG9uIGFsbCBzaW5rIHBhZHMgYmVmb3JlIHNldHRpbmcgdGhlIHNyYyBwYWQgY2Fwcy4gVGhpcyBpcwoJICBzcGVjaWFsbHkgbmVlZGVkIHdoZW4gdGhlIGF1ZGlvIGNoYW5uZWwgbWFwcGluZyBpcyBzZXQgb24gdGhlIHNpbmsKCSAgcGFkcyBhbmQgdGhlIGVsZW1lbnQgbmVlZHMgdG8gcHJlc2VydmUgaXQgb24gaXRzIHNyYyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAyNjcKCjIwMTItMTItMTcgMjI6NTU6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogc2tpcCBlbXB0eSB0YWdzCgkgIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGFkZCB0YWdzIHdpdGggZW1wdHkgc3RyaW5ncywgd2hpY2gKCSAgY2F1c2VzIGNyaXRpY2FscyBhdCBydW50aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMzU4CgoyMDEyLTEyLTE3IDE1OjE3OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IE1ha2Ugc3VyZSB0aGUgY2FwcyBhcmUgYWN0dWFsbHkgd3JpdGFibGUgYmVmb3JlIGNoYW5naW5nIHRoZW0KCjIwMTItMTItMTcgMTU6MDE6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogVXNlIHRoZSBwZWVyIGNhcHMgZm9yIHJlc3RyaWN0aW9ucyBpbnN0ZWFkIG9mIHRoZSBzcmNwYWQgYWxsb3dlZCBjYXBzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGludGVyc2VjdCB3aXRoIHRoZSBzcmNwYWQgdGVtcGxhdGUgY2FwcyBhbmQgYWRkIGFsbCB0aGUgY2FwcyBmaWVsZHMKCSAgdGhhdCB0aGUgcGFyc2VyIHdpbGwgZXZlciBzZXQsIG5vIG1hdHRlciBpZiBkb3duc3RyZWFtIHJlc3RyaWN0cyB0aGlzIGZpZWxkIG9yIG5vdC4KCSAgVGhpcyByZXF1aXJlcyB1cHN0cmVhbSB0byBzZXQgdGhpcyBmaWVsZCBvbiB0aGUgY2FwcyB0byBzdWNjZXNzZnVsbHkgbmVnb3RpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTg0CgoyMDEyLTEyLTE0IDIyOjI1OjA4ICswMDAwICBLb29wIE1hc3QgPGt3bUByYWluYm93LXJ1bm5lci5ubD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBUZWFjaCB3aGVyZSB0aGUgdmlkZW9kZXYyLmggaGVhZGVyIGxpdmVzIG9uIGZyZWVic2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAyMzMKCjIwMTItMTItMTYgMjM6Mjc6NDEgKzAwMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNldCBhcHByb3ByaWF0ZSBibG9jayBoZWFkZXIgZmxhZyBmb3IgVlA4IGludmlzaWJsZSBmcmFtZXMKCSAgVXNlZnVsIGZvciBkZWJ1Z2dpbmcgbW9zdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0MjU5CgoyMDEyLTEyLTE2IDE1OjI1OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBkb2NzOiBhZGQgcnRwbXV4IGFuZCBydHBkdG1mbXV4IHRvIHBsdWdpbiBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjkxMTcKCjIwMTItMTItMTYgMTU6MTM6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgcnRwbWFuYWdlcjogbW92ZSBydHBtdXggYW5kIHJ0cGR0bWZtdXggZWxlbWVudHMgZnJvbSAtYmFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjkxMTcKCjIwMTItMTEtMDMgMjA6Mzg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA5LTEwIDIwOjM4OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IE1pc2MgZml4IGZvciAwLjExCgkgIENvbnZlcnQgdGhlIGluY29taW5nIGNhcHMgYmVmb3JlIHByb3h5aW5nIHRoZW0KCSAgQ2xlYXIgdGhlIGxhc3RfcGFkIHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgdGVzdHM6IEltcGxlbWVudCBhY2NlcHRfY2FwcywgZG9uJ3QgbGVhayBldmVudAoKMjAxMi0wNy0xNyAxNjozOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJICBydHBtdXg6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wMiAxMTowNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBjb21waWxhdGlvbgoKMjAxMi0wMy0xMSAxOTowNjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMS0yNiAwNjo1ODo0NiAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMS0yOSAxODowMTowNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVucmVmIG5vbi1mb3J3YXJkZWQgZXZlbnRzCgkgIEFsc28sIGRvbid0IHVucmVmIGZvcndhcmRlZCBvbmVzCgoyMDEyLTAxLTI4IDE2OjU3OjAzICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVzeW5jIGl0ZXJhdG9yIG9uIHJlc3luYwoKMjAxMi0wMS0yNyAxMjowODo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZS1wdXNoIHN0aWNreSBldmVudHMgb24gaW5wdXQgcGFkIGNoYW5nZQoKMjAxMi0wMS0yNSAxNTo0MzowMSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgZ3ZhbHVlIGZyb20gaXRlcmF0b3IKCjIwMTItMDEtMjUgMTY6NDY6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBtb3JlIHBvcnRpbmcKCjIwMTItMDEtMjQgMTQ6MjA6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogcG9ydCB0byAwLjExCgoyMDExLTExLTA0IDEyOjIyOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBtYWtlIHJlcXVlc3QgcGFkcyB0YWtlIF8ldQoKMjAxMS0wNC0xNCAxNDozNDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IEFkZCBsYXN0LXN0b3AgdG8gZHRtZi1ldmVudCB1cHN0cmVhbSBldmVudHMKCSAgQWRkIHRoZSBydW5uaW5nIHRpbWUgb2YgdGhlIGxhc3Qgb3V0cHV0dGVkIGJ1ZmZlciB0byB0aGUKCSAgdXBzdHJlYW0gImR0bWYtZXZlbnQiIGV2ZW50cyBzbyB0aGF0IHRoZSBkdG1mIHNvdXJjZSBkb2VzIG5vdAoJICBsZWF2ZSBhIGdhcC4KCjIwMTAtMTEtMjUgMTk6MjE6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0wOS0zMCAxNjowNzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBJbXByb3ZlIGRvY3VtZW50YXRpb24KCSAgQWRkIGFuIGV4YW1wbGUgcGlwZWxpbmUsIGFuZCB0cnkgdG8gZXhwbGFpbiBhIGJpdCBtb3JlIHdoYXQgaXQgZG9lcy4KCjIwMTAtMDktMjQgMTM6Mjk6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMC0wOS0yNCAxMzoyNToyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHNpZ25hbCBib2lsZXJwbGF0ZQoKMjAxMC0wOS0yNCAxMzoyNDo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbm8gbmVlZCB0byByZWYgcGFkIGluIF9jaGFpbigpCgoyMDEwLTA4LTI1IDIyOjU2OjAzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5sb2NrIHRoZSByaWdodCBtdXRleAoJICBUaGUgbXV0ZXggbG9ja2VkIGlzIGZvciB0aGUgJ211eCcgb2JqZWN0LCBidXQgd2UgdW5sb2NrIHRoZQoJICBwYWQsIHdoaWNoIG1lYW5zIHRoYXQgaWYgdGhlIHJ0cG11eCBnZXRzIGEgZmx1c2gsIHRoZW4gdGhlCgkgIG9iamVjdCBsb2NrIHdpbGwgc3RheSBsb2NrZWQgZm9yZXZlciwgY2F1c2luZyBpdCB0byBmcmVlemUKCSAgdGhlIG5leHQgdGltZSBpdCB0cmllcyB0byB0YWtlIGl0LgoJICBGaXhlcyBidWcgIzYyNzk5MQoKMjAxMC0wNy0wMSAxNToxOToxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogQWRkIHN1cHBvcnQgZm9yIEdzdEJ1ZmZlckxpc3QKCSAgRmFjdG9yIG91dCBtb3N0IG9mIHRoZSBidWZmZXIgaGFuZGxpbmcgYW5kIGltcGxlbWVudCBhIGNoYWluX2xpc3QKCSAgZnVuY3Rpb24uIEFsc28sIHRoZSBEVE1GIG11eGVyIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGp1c3QgaGF2ZSBhCgkgIGZ1bmN0aW9uIHRvIGFjY2VwdCBvciByZWplY3QgYSBidWZmZXIgaW5zdGVhZCBvZiBoYXZpbmcgdG8gc3ViY2xhc3MKCSAgYm90aCBjaGFpbiBhbmQgY2hhaW5fbGlzdC4KCjIwMTAtMDctMDEgMTU6MTU6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgaW52YWxpZCBidWZmZXJzCgoyMDEwLTA2LTAzIDEwOjQzOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBsb2cgbWVzc2FnZSBhcmd1bWVudAoKMjAxMC0wNS0xMCAxODozNzo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBBZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMC0wNS0wNyAxODo1Njo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogUmVtb3ZlIHN0cmVhbS1sb2NrIGV2ZW50IGhhbmRsaW5nCgoyMDEwLTA1LTA3IDE4OjU0OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFVwZGF0ZSBkb2MgZm9yIHNpbXBsaWZpY2F0aW9uCgoyMDEwLTA1LTA3IDE4OjQwOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IENoYW5nZSB0ZXN0cyB0byBub3QgdXNlIHRoZSBwcmlvcml0eSBwYWRzIGluc3RlYWQgb2YgdGhlIGV2ZW50cwoKMjAxMC0wNS0wNiAxOTo1MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IERyb3AgYnVmZmVycyBvbiBub24tcHJpb3JpdHkgc2lua3Mgd2hlbiBzb21ldGhpbmcgaXMgaW5jb21pbmcgb24gdGhlIHByaW9yaXR5IHNpbmsKCjIwMTAtMDUtMDYgMTg6MTE6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgcHJpb3JpdHkgc2luayBwYWRzCgoyMDEwLTA1LTA3IDE3OjE1OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IENsZWFudXAgZXZlbnQgZnVuY3Rpb24KCjIwMTAtMDUtMDcgMTY6NDI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogQWdncmVnYXRlIGluY29taW5nIHNlZ21lbnRzCgoyMDEwLTA1LTA2IDE5OjA5OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA1LTA2IDE4OjEwOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogU2ltcGxpZnkgcmVxdWVzdCBwYWQgY3JlYXRpb24KCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDA5LTExLTE4IDE2OjM4OjMzICswMTAwICB1bmtub3duIDxoYXZhcmQuZ3JhZmZALmV1LnRhbmRiZXJnLmludD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHVwZGF0ZSB0aGUgY3VycmVudF9zc3JjIGZyb20gdGhlIGNhcHMKCSAgRml4ZXMgIzYwNDEwMQoKMjAwOS0xMi0wOSAxNDo0MjoyMSArMDEwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlbGVhc2UgcGFkcyB3aGVuIGRpc3Bvc2luZwoJICBCZWNhdXNlIG9mIGFuIGFsbG9jYXRlZCBwcml2IChHc3RSVFBNdXhQYWRQcml2YXRlKSwgdGhlIGVsZW1lbnQgd2lsbAoJICBsZWFrIG1lbW9yeSBpZiBub3QgZ3N0X3J0cF9tdXhfcmVsZWFzZV9wYWQoKSBpcyBjYWxsZWQuIFRoaXMgd291bGQKCSAgcHJldmlvdXNseSBvbmx5IGhhcHBlbiBpZiByZWxlYXNlX3JlcXVlc3RfcGFkKCkgd2FzIGNhbGxlZCBleHBsaWNpdGx5LAoJICBzb210aGluZyB0aGF0IHNob3VsZCBub3QgYmUgbmVjY2VzYXJ5LgoJICBGaXhlcyAjNjA0MDk5CgoyMDA5LTEyLTA5IDEzOjQwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBkdG1mbXV4OiBtZXRob2QgbmFtZSBjbGVhbnVwcwoKMjAwOS0xMC0wOCAxOTowNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZm11eCBsb2NraW5nCgoyMDA5LTA5LTI4IDE5OjU0OjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB1bml0IHRlc3QgZm9yIHJ0cG11eAoKMjAwOS0wOS0yOCAxMzozNjo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgaWdub3JlIHJlcXVlc3RlZCBwYWQgbmFtZQoKMjAwOS0wNy0yOSAxNzoyMzozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGVtcHR5IGZpbmFsaXplCgoyMDA5LTA3LTIxIDE1OjMxOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlCgkgIEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UgaW5zdGVhZCBvZiB1c2luZyBhIHdlYWsgcmVmLAoJICB3aGljaCBpcyBub3QgdGhyZWFkIHNhZmUuIEFsc28sIGxvY2sgdGhlIGNvbnRlbnQgb2YgdGhlIHBhZCBwcml2YXRlIHVzaW5nIHRoZSBlbGVtZW50J3MKCSAgb2JqZWN0IGxvY2suCgoyMDA5LTA0LTI4IDE2OjEwOjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWplY3Qgd3JvbmcgY2FwcwoKMjAwOS0wNC0yOCAxNjowMzoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsgRml4ZWQgYSBsZWFrIGRpc2NvdmVyZWQgYnkgTGF1cmVudCBHbGF5YWwgPHNwZWdsZUB5YWhvby5mcj4KCjIwMDktMDQtMjggMTU6NTg6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrCgkgIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTIyIDE4OjAxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggd2FybmluZwoKMjAwOS0wNC0yMCAyMDowMDoxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IGRpZmZlcmVudCBjYXBzIGRlcGVuZGluZyBvbiB0aGUgaW5wdXQKCjIwMDktMDQtMjIgMTY6MjU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE9ubHkgZnJlZSBwYWQgcHJpdmF0ZSB3aGVuIHBhZCBpcyBkaXNwb3NlZAoKMjAwOS0wNC0yMCAxODo0MTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIHVzZWxlc3MgY2FwcyBtYW5nbGluZwoKMjAwOS0wNC0yMCAxODozNjo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVuYW1lIHZhcmlhYmxlIGZvciBtb3JlIGNsYXJpdHkKCjIwMDktMDQtMjAgMTc6NDM6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXNlIEdTVF9CT0lMRVJQTEFURQoKMjAwOS0wNC0yMCAxNzo0Mjo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvIHRoZSBpbmNsdWRlcyBsb2NhbGx5CgoyMDA5LTA0LTE1IDEzOjIzOjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEFkZCBHU1RfREVCVUdfRlVOQ1BUUnMKCjIwMDktMDQtMTUgMTM6MTU6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogUmVsZWFzZSBsb2NrZWQgcGFkIG9uIHJlbGVhc2VfcGFkCgkgIFJlbGVhc2UgdGhlIHNwZWNpYWwgcGFkIGlmIHRoZSBwYWQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBtdXhlci4KCjIwMDktMDQtMTUgMTM6MDk6MjcgLTA0MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogUmVsZWFzZSBzcGVjaWFsIG9uIHBhZCBkaXNwb3NlCgkgIEZpeGVzICM1Nzc2OTAKCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIGRvY3M6IHZhcmlvdXMgZG9jIGZpeGVzCgkgIE5vIHNob3J0LWRlc2MgYXMgd2UgaGF2ZSB0aGVtIGluIHRoZSBlbGVtZW50IGRldGFpbHMuCgkgIEFsc28ga2VlcCB0aGluZ3MgKE1ha2VmaWxlLmFtIGFuZCBzZWN0aW9ucy50eHQpIHNvcnRlZC4KCSAgUmV3b3JkIGFtYmlnb3VzIHJldHVybnMuIE5vIHRleHQgYWZ0ZXIgc2luY2UgcGxlYXNlLgoKMjAwOS0wMi0xMCAxNzowMjoyNCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJICBydHBtdXg6IE1vdmUgcnRwbXV4IGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0yMCAxNzo0NTo1MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTEwIDE5OjExOjE1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb2N1bWVudCBydHAgbXV4ZXIgYSBiaXQKCjIwMDktMDItMjAgMTM6MzA6NDkgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBtdXg6IEFkZCBzaWduYWxzIGJlZm9yZSBzdHJlYW0gbG9jayBhbmQgYWZ0ZXIgdW5sb2NraW5nCgoyMDA5LTAyLTE4IDIwOjE4OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBMZXQgc3NyYyB0aHJvdWdoIGdldGNhcHMKCjIwMDktMDItMTggMTk6NTg6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbmFtZSBoYXZlX2Jhc2UgdG8gaGF2ZV90c19iYXNlCgoyMDA5LTAyLTE4IDE4OjE0OjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUHJvdGVjdCB0aGUgc2VxbnVtIHdpdGggb2JqZWN0IGxvY2sgaW4gcnRwbXV4CgoyMDA5LTAyLTE4IDE4OjA3OjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZW1vdmUgdW51c2VkIHNpbmtfdHNfYmFzZQoKMjAwOS0wMi0xOCAxNToyMDo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSGF2ZSBnZXRjYXBzIHRvIGZvcmNlIHRoZSBzYW1lIGNsb2NrcmF0ZSBvbiBhbGwgcGFkcwoKMjAwOS0wMi0xOCAxNzowNToxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVmFsaWRhdGUgUlRQIGRhdGEgaW4gUlRQIE11eAoKMjAwOS0wMi0xOCAxNDoxNjowMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlbW92ZSB1bnVzZWQgY2xvY2stcmF0ZSBwcm9wZXJ0eQoKMjAwOS0wMi0xOCAxMzo1NjozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBtdXg6IENsYXJpZnkgbG9ja2luZyBpbiBydHBkdG1mbXV4CgoyMDA5LTAyLTE4IDEzOjMyOjU2IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBNaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIKCjIwMDgtMTItMDEgMTc6NTU6MjIgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVcGRhdGUgc2VxbnVtIGJhc2UgaW4gcnRwIG11eGVyCgkgIFdpdGggaGVscCBmcm9tIFdpbQoKMjAwOC0xMi0wMSAxNzo1NDo1OCAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IHNvbWUgbW9yZSBsZWFrcwoKMjAwOC0xMi0wMSAxNzo0ODoyOSAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhawoKMjAwOC0wOS0yOSAxNTowMzowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgdW5yZWYgY2FwcyB3ZSBkb24ndCBrbm93ICh0aGFua3MgV2ltKQoKMjAwOC0wOC0xMiAxMjo0ODowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUHV0IHBlci1idWZmZXIgZGVidWcgYXQgbGV2ZWwgTE9HCgoyMDA4LTA4LTEyIDEyOjQ3OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBNYWtlIGRlYnVnIHByaW50IGFjY3VyYXRlCgoyMDA4LTA4LTEyIDEyOjQ2OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgb3VyIGNhcHMgb24gdGhlIGJ1ZmZlcnMKCjIwMDgtMDgtMTIgMTI6NDY6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFRha2UgdGhlIGNsb2NrLWJhc2Ugc3RvcmVkIGZyb20gdGhlIGxhc3Qgc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjo0MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU3RvcmUgdGhlIGNsb2NrLWJhc2Ugb24gc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjozMDo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogQWRkIHBhZHByaXZhdGUgdG8gdGhlIHJlcXVlc3QgcGFkcwoKMjAwOC0wOC0xMSAyMToyMDowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWFrZSBpbmRlbnRhdGlvbiBtb3JlIGNvcnJlY3QKCjIwMDgtMDgtMTEgMjE6MDU6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCB0eXBvCgoyMDA4LTA4LTExIDIxOjAzOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgc2VxbnVtLWJhc2UgYW5kIGNsb2NrLWJhc2UgaW4gY2FwcyBmcm9tIHJ0cG11eGVyCgoyMDA3LTA4LTE1IDEzOjUwOjM4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogbW9yZSBkZWJ1ZwoJICAyMDA3MDgxNTEzNTAzOC1mM2YxZS05YzdhNTQ5MGE1MjVjNmU4NzUzY2IxYjhjMDMzNTRkZjk5MTMyYjVjLmd6CgoyMDA3LTA4LTIwIDE4OjUwOjMyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbWlzc2luZyBjb21tZW50CgkgIDIwMDcwODIwMTg1MDMyLTRmMGY2LTBhYjY3YjZhYzQwZGQ0ZTM1YThmZTUzZjNjYjZkYWZmNjVjZTQzYjkuZ3oKCjIwMDctMDctMTIgMTk6NTM6MzYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWFrZSBidWZmZXIgd3JpdGFibGUgYmVmb3JlIHdyaXRpbmcgaW50byBpdAoJICAyMDA3MDcxMjE5NTMzNi0zZTJkYy05MWE1ZmI3OTdjZmE0OTE5ZDRlMmY5YTcyOGM2ZDZmYmQzYjgzZDkzLmd6CgoyMDA3LTA3LTA2IDIwOjI0OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBwYWRzIGFjdGl2ZSB3aGVuIGFkZGluZyB0aGVtIHRvIGEgcG90ZW50aWFsbHkgcnVubmluZyBlbGVtZW50CgkgIDIwMDcwNzA2MjAyNDU5LTNlMmRjLWEzNzMxZjg4NTcyNTU5NGRlZjBhN2JlOTk3ZmM3YjNhNzM5ZWU5NjcuZ3oKCjIwMDctMDYtMDcgMTI6MDE6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IG11bHRpcGxlIHJlZiBsZWFrcyAocGF0Y2hlcyBieSBTUCBHTEUpCgkgIDIwMDcwNjA3MTIwMTIxLTNlMmRjLTA2MWU5ZWY3YTQ3YjFiODRmYThmODA5MmY0YjhiY2MwZTZkYjhjOGMuZ3oKCjIwMDctMDUtMjggMTU6MjU6MDUgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHNlbmQgZXZlbnQgdG8gYWxsIHNyYyBwYWRzCgkgIDIwMDcwNTI4MTUyNTA1LWYzZjFlLTAzOTIxNmM3M2RjOTNmNjRjNDk5NjJjNzdhMDI1M2NiOWNmZWM0ZDMuZ3oKCjIwMDctMDUtMjggMTI6Mzc6NDkgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHByaW50IGEgd2FybmluZyBpZiByZWNlaXZlIGFuIGVycm9yIGl0ZXJhdGluZyBzaW5rcGFkcwoJICAyMDA3MDUyODEyMzc0OS1mM2YxZS00YzFlYjNmNTExYjU2MTAxNDM2MTBhNjVhOTRkMTE3ZjJjM2QyNTgwLmd6CgoyMDA3LTA1LTI4IDEyOjI4OjA4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBkZWFsIHdpdGggYWxsIHRoZSBnc3RfaXRlcmF0b3JfbmV4dCgpIHJldHVybiB2YWx1ZXMKCSAgMjAwNzA1MjgxMjI4MDgtZjNmMWUtZDMwMTY0NGMzYmU3NjMzZWM2ZGM1ZTI4NTk2ZTkzNDZkMmRhNmE1MC5negoKMjAwNy0wNS0yNSAxMjozMToxNiArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmV0dXJuIGNvcnJlY3QgdmFsdWUgZnJvbSB0aGUgZXZlbnQgaGFuZGxlcgoJICAyMDA3MDUyNTEyMzExNi1mM2YxZS0xMzFiMzdiNWY0NTIxNjE4ZmUyZjEzMjA0MDlhNDdlNjViMzVhZDJkLmd6CgoyMDA3LTA1LTI1IDEwOjI3OjA5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBWaWxsZSdzIG9yaWdpbmFsIHBhdGNoIHRvIGZpeCB0aGUgdHJhdmVyc2FsIG9mIGR0bWYgZXZlbnQKCSAgMjAwNzA1MjUxMDI3MDktZjNmMWUtNmM0MWQxZWY5MzQwNjhhNGY0ZTgxMGU3ZTk4MWI0MjAwNzViMGM5OC5negoKMjAwNy0wMy0yOSAxMzo1Mjo1MCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgdGhlIGNvcnJlY3QgdHMtb2Zmc2V0IG9uIHRoZSBnZXRfcHJvcCB2YWx1ZQoJICAyMDA3MDMyOTEzNTI1MC02NTAzNS1hNDNlMjIyZDkxZDU3YzBhNjFjYjMyODc1ODZhYWEyOWFiZjc4Njc0Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjIzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlZmFjdG9yaXplIHN0YXRlX2NoYW5nZQoJICAyMDA3MDMyOTEzNTIyMy02NTAzNS0yM2EwMTA3YjJlMzk3NzEwZjAzNWM2ZTg4Y2MwZTQ5YjY1YmI0ZDVkLmd6CgoyMDA3LTAzLTI5IDEzOjM2OjIyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBzZXQgU1NSQyBvbiB0aGUgcGFja2V0cwoJICAyMDA3MDMyOTEzMzYyMi02NTAzNS0xYmU2ZTBhYTg1YTcxMzg5ZjdkMjU3YjljZDNlMTNhNzNkNmI3NDViLmd6CgoyMDA3LTAzLTI5IDEzOjE5OjM2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IENvZGUgY2xlYW4tdXAgYW5kIG1vcmUgZGVidWcgb3V0cHV0CgkgIDIwMDcwMzI5MTMxOTM2LTY1MDM1LTlkNDk5ZTIwOWUwZDdhNDA5YzNhYTBkMTA0MDc3OGJhYmYwNzYxNzkuZ3oKCjIwMDctMDMtMjggMTE6MjI6MTkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFVzZSBvd24gY2xvY2stYmFzZQoJICAyMDA3MDMyODExMjIxOS02NTAzNS0xYmE1ZmVmYmM2NTA1OWU5YjBjODYwNTI4YTMxMDYyY2ViNmE3MzMxLmd6CgoyMDA3LTAzLTIzIDE2OjMxOjM5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBPbmx5IGFjY2VwdCBSVFAgc3RyZWFtcyB0aGF0IGhhdmUgdGhlIHNhbWUgY2xvY2stcmF0ZQoJICAyMDA3MDMyMzE2MzEzOS02NTAzNS1mYzBiMTdiMGI4YTdhMDQxZjQ4OTk0YzRmMjZlOTY1NjgxNjhiZjk1Lmd6CgoyMDA3LTAzLTIyIDE2OjE1OjUyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBTb21lIG1vcmUgY29kZS1jbGVhbnVwcwoJICAyMDA3MDMyMjE2MTU1Mi02NTAzNS1iZGE5NjE2NWUxNDZiNGYxZDVmZWExY2M5NTc2YTdhYjNhYmViYzllLmd6CgoyMDA3LTAzLTIyIDE1OjQyOjUxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJldHVybiBuZXdwYWQgaW5zdGVhZCBvZiBOVUxMIGFuZCB3YXJuIGlmIGZhaWxlZCB0byBjcmVhdGUgYSBwYWQKCSAgMjAwNzAzMjIxNTQyNTEtNjUwMzUtY2RiNjY1MWU2MWMyZWIwMjA1Y2M4YzI0NjkzYjQzZjk4YTJkYTcxOC5negoKMjAwNy0wMy0yMiAxMjo0MTozMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWZhY3Rvcml6ZSB0aGUgUlRQTXV4IGNvZGUKCSAgMjAwNzAzMjIxMjQxMzItNjUwMzUtMGEzMjc4MTQ3NTQ2ZTMzZjY4NzA5N2E0M2I3NzViM2Y2YWE5OWY5My5negoKMjAwNy0wMy0yMiAxMjoxNDo1MyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogU29tZSBtb3JlIGRvYyBmaXhpbmcKCSAgMjAwNzAzMjIxMjE0NTMtNjUwMzUtMTJkNjAyMjcyMjE3YjUxYmQ5N2RmNGU1NzkwMDI0YzM5OTYyMmRkMy5negoKMjAwNy0wMy0yMiAxMTozMjoyOCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogTW9yZSBSZWZhY3RvcmluZwoJICAyMDA3MDMyMjExMzIyOC02NTAzNS1iYWUzNGE3OTU5OWU3ZGU1MjkzZWQ3N2IwMjIzNjFjY2ZmODIyYmI5Lmd6CgoyMDA3LTAzLTIyIDExOjMxOjU0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBNb3JlIGRvY3VtZW50YXRpb24KCSAgMjAwNzAzMjIxMTMxNTQtNjUwMzUtNjI0ODUwNTQxYTViNWZjM2RmMjMxMjA0YmU1YTgzZDA3MjM5ZGIyOC5negoKMjAwNy0wMy0yMSAxNjozMzoxMSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogUmVmYWN0b3IgdGhlIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24KCSAgMjAwNzAzMjExNjMzMTEtNjUwMzUtOTg3ZTdmMjVkMWFiNTMzNWI3OWY0NGIyNzdhYmYxNWU0ZTM3ZDMxNy5negoKMjAwNy0wMy0yMSAxNDo1Mjo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJICBydHBtdXg6IEFkZCBSVFBEVE1GTXV4IGVsZW1lbnQKCSAgMjAwNzAzMjExNDUyNDQtNjUwMzUtOWEwMTM5MGIwZGVlMzM5OGU1MzE5OWExZmExZDkzNTIwMDRmMzM4ZS5negoKMjAwNy0wMy0yMSAxMjozMTo0OSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmVtb3ZlIERUTUYtc3BlY2lmaWMgY29kZSBmcm9tIFJUUCBtdXhlciBhbmQgbWFrZSBpdCBleHRlbmRhYmxlCgkgIDIwMDcwMzIxMTIzMTQ5LTY1MDM1LWI4YThmNTVmZjc4ZWVkOGNiYjAwNDJlODI3ODg1ZWRmYzU0MzgyNDIuZ3oKCjIwMDctMDMtMjAgMTI6MDU6MjQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUHV0IG1vcmUgaGVscGZ1bCBkZXNjcmlwdGlvbgoJICAyMDA3MDMyMDEyMDUyNC02NTAzNS1kYjI3YTdjZjYzMDdiNTExYWViM2Q5OTZkMjZlNzkwZTM2N2E3YmFkLmd6CgoyMDA3LTAzLTE2IDE1OjE2OjQxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlbW92ZSB0aGUgKGNvbW1lbnRlZC1vdXQpIGNvZGUgZm9yIGJsb2NraW5nIHRoZSBwYWRzCgkgIDIwMDcwMzE2MTUxNjQxLTY1MDM1LTAxMjNhZjM4Nzk1MWY4ODU5NDc5N2M3MjJlODgyY2ZlNzAyNDBhZmYuZ3oKCjIwMDctMDMtMTYgMTM6MTQ6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRHJvcCBidWZmZXJzIGluc3RlYWQgb2YgYmxvY2tpbmcgdGhlIHNpbmtwYWRzCgkgIDIwMDcwMzE2MTMxNDQ0LTY1MDM1LTljMTM0NWFkOTYxMDg4ODFmNDU1ZDRiNTVhN2Y2MjNjZDMwMmQwZWQuZ3oKCjIwMDctMDMtMTQgMTc6MTY6MTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSW1wbGVtZW50IHN0cmVhbSBsb2NraW5nLCBuZWVkZWQgZm9yIERUTUYKCSAgMjAwNzAzMTQxNzE2MTgtNjUwMzUtZTRkMjRiMTYwNmNlMGEzZTJlNzM5ZjAxODMzZjYxZTRkNzU1NWVhYy5negoKMjAwNy0wMy0xNCAxMDoyMDo1OCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1c2UgR1NUXypfT0JKRUNUIGluc3RlYWQgb2YgZ18qCgkgIDIwMDcwMzE0MTAyMDU4LTY1MDM1LWUyNDQyODg4ZjJlM2U1YTNhNzY1OWFkNzk1NGE0ZmJhMzQ3NDljZTIuZ3oKCjIwMDctMDMtMTQgMTA6MTg6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTm8gbmVlZCB0byBtYW5hZ2UgcGFkcywgcGFyZW50IGRvZXMgdGhhdCBmb3IgdXMKCSAgMjAwNzAzMTQxMDE4NTQtNjUwMzUtZWY1ZjRhYmRlMjI3MTAyYTExMjg4MzVhYjMyNTkwNWVhZTRjMzcyNi5negoKMjAwNy0wMy0xNCAwOTowMzo1OCArMDAwMCAgemVlbml4QGdtYWlsLmNvbSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBjb3B5cmlnaHQgaGVhZGVyCgkgIDIwMDcwMzE0MDkwMzU4LWQwMTRhLTNhNmQzZWVlYWFmNWNiOGNhM2JjYTZhMzNlOTlhNTUxZjU5OGJkNDguZ3oKCjIwMDctMDMtMDcgMDg6NTM6MDcgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVGhlIGZpcnN0IGltcGxlbWVudGF0aW9uIG9mIFJUUCBtdXhlcgoJICAyMDA3MDMwNzA4NTMwNy02NTAzNS04MzM0MDI0MTNmOTljYjNmOGJlNDg4M2U5MmJhZDRjODcyMjUxMGM5Lmd6CgoyMDEyLTEyLTE1IDIxOjI3OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IG5vIG5lZWQgZm9yIGEgcHJpdmF0ZSBzdHJ1Y3QKCjIwMTItMTItMTQgMTU6MTM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDEyLTEyLTE0IDE1OjEzOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgZG9jczogYWRkIHNjYWxldGVtcG8gdG8gZG9jcwoKMjAxMi0xMS0wNiAxMzozNjozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICBhdWRpb2Z4OiBtb3ZlIHNjYWxldGVtcG8gZWxlbWVudCBmcm9tIC1iYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MgoKMjAxMi0xMC0yMyAxNDozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCBldmVudCBsZWFrCgoyMDEyLTEwLTIzIDE0OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRml4IHRpbWVzdGFtcCB0cmFja2luZwoKMjAxMi0xMC0yMyAxNDowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5CgoyMDEyLTEwLTIzIDEzOjM5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBTdG9yZSBpbnN0YW5jZSBwcml2YXRlIGRhdGEgaW4gdGhlIGluc3RhbmNlIHN0cnVjdAoJICBHZXR0aW5nIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4gdmlhIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgpCgkgIGlzIHJlYWxseSBzbG93LgoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTY6NDU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGZmbXBlZ2NvbG9yc3BhY2UgaXMgbm8gbW9yZQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkgIHNjYWxldGVtcG86IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wMy0xOCAxODozMjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNyAxMDo1Mjo1MCAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBpbXByb3ZlIHRoZSBkb2NzCgkgIEZpeCB0aGUgc3ludGF4LCBhZGQgbW9yZSBleHBsYW5hdGlvbiBhbmQgeHJlZiB0aGUgcHJvcGVydGllcy4KCjIwMTEtMDMtMjIgMTM6NDY6NDIgKzAxMDAgIENocmlzIEUgSm9uZXMgPGNocmlzQGNocmlzZWpvbmVzLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogQ29ycmVjdGx5IGhhbmRsZSBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHN0b3A9PS0xCgkgIEZpeGVzIGJ1ZyAjNjQ1NDIwLgoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMS0wNSAxMzo0MDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHByb3Blcmx5IHVwZGF0ZSBuZXcgc2VnbWVudHMKCSAgU2NhbGV0ZW1wbyB3YXMgbWlzc2luZyBhbiB1cGRhdGUgb2YgJ3N0b3AnIGluCgkgIG5ldyBzZWdtZW50IHBhcmFtZXRlcnMgd2hlbiBwdXNoaW5nIGl0IGRvd25zdHJlYW0sCgkgIHdoaWNoIGNhdXNlZCBmaWxlcyB0byBlbmQgZWFybGllciB3aGVuIHJhdGUgPCAxLgoJICBGaXhlcyAjNTk5OTAzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBCYXN0aWFuIEhlY2h0IDxoZWNodGJAZ21haWwuY29tPgoKMjAwOS0wNi0xNCAyMDowMDo1MSArMDIwMCAgTWF4aW1pbGlhbiBIw7ZnbmVyIDxwYm1heGlAaG9lZ25lcnMuZGU+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEV4cGxpY2l0ZWx5IGNhc3QgdG8gc2lnbmVkIGludGVnZXJzIHRvIGZpeCBhIHNlZ2ZhdWx0CgkgIEZpeGVzIGJ1ZyAjNTg1NjYwLgoKMjAwOS0wMi0xMyAxMjoxODo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IERvIG5vdCB1c2Ugdm9pZCBwb2ludGVyIGFyaXRobWV0aWMuCgoyMDA4LTEwLTMwIDEyOjEzOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzY2FsZXRlbXBvOiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgoyMDA4LTA4LTMxIDEyOjIwOjMzICswMDAwICBSb3YgSnV2YW5vIDxyb3ZqdXZhbm9AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm92IEp1dmFubyA8cm92anV2YW5vIGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzogKHBvcF9zdGF0dXNfYmFyKSwKCSAgKHN0YXR1c19iYXJfcHJpbnRmKSwgKGRlbW9fZ3VpX3NlZWtfYmFyX2Zvcm1hdCksICh1cGRhdGVfcG9zaXRpb24pLAoJICAoZGVtb19ndWlfc2Vla19iYXJfY2hhbmdlKSwgKGRlbW9fZ3VpX2RvX2NoYW5nZV9yYXRlKSwKCSAgKGRlbW9fZ3VpX2RvX3NldF9yYXRlKSwgKGRlbW9fZ3VpX2RvX3JhdGVfZW50ZXJlZCksCgkgIChkZW1vX2d1aV9kb190b2dnbGVfYWR2YW5jZWQpLCAoZGVtb19ndWlfZG9fdG9nZ2xlX2Rpc2FibGVkKSwKCSAgKGRlbW9fZ3VpX2RvX3NlZWspLCAoZGVtb19ndWlfZG9fcGxheSksIChkZW1vX2d1aV9kb19wYXVzZSksCgkgIChkZW1vX2d1aV9kb19wbGF5X3BhdXNlKSwgKGRlbW9fZ3VpX2RvX29wZW5fZmlsZSksCgkgIChkZW1vX2d1aV9kb19wbGF5bGlzdF9wcmV2KSwgKGRlbW9fZ3VpX2RvX3BsYXlsaXN0X25leHQpLAoJICAoZGVtb19ndWlfZG9fYWJvdXRfZGlhbG9nKSwgKGRlbW9fZ3VpX2RvX3F1aXQpLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc3RyaWRlKSwgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X292ZXJsYXApLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc2VhcmNoKSwgKGRlbW9fZ3VpX3JhdGVfY2hhbmdlZCksCgkgIChkZW1vX2d1aV9wbGF5aW5nX3N0YXJ0ZWQpLCAoZGVtb19ndWlfcGxheWluZ19wYXVzZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19lbmRlZCksIChkZW1vX2d1aV9wbGF5ZXJfZXJyb3JlZCksCgkgIChkZW1vX2d1aV9zdHJpZGVfY2hhbmdlZCksIChkZW1vX2d1aV9vdmVybGFwX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfc2VhcmNoX2NoYW5nZWQpLCAoZGVtb19ndWlfc2V0X3BsYXllcl9mdW5jKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdF9mdW5jKSwgKGJ1aWxkX2d2YWx1ZV9hcnJheSksCgkgIChjcmVhdGVfYWN0aW9uKSwgKGRlbW9fZ3VpX3Nob3dfZnVuYyksIChkZW1vX2d1aV9zZXRfcGxheWVyKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdCksIChkZW1vX2d1aV9zaG93KSwgKGRlbW9fZ3VpX2dldF9wcm9wZXJ0eSksCgkgIChkZW1vX2d1aV9zZXRfcHJvcGVydHkpLCAoZGVtb19ndWlfaW5pdCksIChkZW1vX2d1aV9jbGFzc19pbml0KSwKCSAgKGRlbW9fZ3VpX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzogKGhhbmRsZV9lcnJvcl9tZXNzYWdlKSwKCSAgKGhhbmRsZV9xdWl0KSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzogKG5vX3BpcGVsaW5lKSwKCSAgKGRlbW9fcGxheWVyX2V2ZW50X2xpc3RlbmVyKSwgKGRlbW9fcGxheWVyX3N0YXRlX2NoYW5nZWRfY2IpLAoJICAoZGVtb19wbGF5ZXJfZW9zX2NiKSwgKGRlbW9fcGxheWVyX2J1aWxkX3BpcGVsaW5lKSwgKF9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlX2Z1bmMpLCAoZGVtb19wbGF5ZXJfc2V0X3JhdGVfZnVuYyksCgkgIChfc2V0X3N0YXRlX2FuZF93YWl0KSwgKGRlbW9fcGxheWVyX2xvYWRfdXJpX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfcGxheV9mdW5jKSwgKGRlbW9fcGxheWVyX3BhdXNlX2Z1bmMpLCAoX3NlZWtfdG8pLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieV9mdW5jKSwgKGRlbW9fcGxheWVyX3NlZWtfdG9fZnVuYyksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb25fZnVuYyksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb25fZnVuYyksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlKSwKCSAgKGRlbW9fcGxheWVyX2xvYWRfdXJpKSwgKGRlbW9fcGxheWVyX3BsYXkpLCAoZGVtb19wbGF5ZXJfcGF1c2UpLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieSksIChkZW1vX3BsYXllcl9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wb3NpdGlvbiksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb24pLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Byb3BlcnR5KSwgKGRlbW9fcGxheWVyX3NldF9wcm9wZXJ0eSksCgkgIChkZW1vX3BsYXllcl9pbml0KSwgKGRlbW9fcGxheWVyX2NsYXNzX2luaXQpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3R5cGUpOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6IChiZXN0X292ZXJsYXBfb2Zmc2V0X2Zsb2F0KSwKCSAgKGJlc3Rfb3ZlcmxhcF9vZmZzZXRfczE2KSwgKG91dHB1dF9vdmVybGFwX2Zsb2F0KSwKCSAgKG91dHB1dF9vdmVybGFwX3MxNiksIChmaWxsX3F1ZXVlKSwgKHJlaW5pdF9idWZmZXJzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX3RyYW5zZm9ybSksIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc2NhbGV0ZW1wb19zaW5rX2V2ZW50KSwgKGdzdF9zY2FsZXRlbXBvX3NldF9jYXBzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX2dldF9wcm9wZXJ0eSksIChnc3Rfc2NhbGV0ZW1wb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NjYWxldGVtcG9fYmFzZV9pbml0KSwgKGdzdF9zY2FsZXRlbXBvX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NjYWxldGVtcG9faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5oOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQKCSAgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByYXRlIT0xLjAuCgkgIEludGVncmF0ZSBpdCBpbnRvIHRoZSBkb2NzIGFuZCBhZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIGl0LgoJICBGaXhlcyBidWcgIzUzNzcwMC4KCjIwMTItMTItMTMgMTI6MzY6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgY2hlY2s6IGFkZCAoYnV0IGRpc2FibGUpIG1vcmUgcnRwIGppdHRlcmJ1ZmZlciB0ZXN0cwoJICBUZXN0cyBuZWVkIHRvIGJlIHBvcnRlZCB0byAxLjAgYmVmb3JlIHRoZXkgY2FuIGJlIGVuYWJsZWQgYnV0IGFkZGVkIGhlcmUgc28gdGhleQoJICBkb24ndCBnZXQgZm9yZ290dGVuLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgzOAoKMjAxMi0wMS0xMyAwMToxMTozMSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYnVuZGxlIHRvZ2V0aGVyIGxhdGUgbG9zdC1ldmVudHMKCSAgVGhlIHNjZW5hcmlvIHdoZXJlIHlvdSBoYXZlIGEgZ2FwIGluIGEgc3RlYWR5IGZsb3cgb2YgcGFja2V0cyBvZgoJICBzYXkgMTAgc2Vjb25kcyAoNTAwIHBhY2tldHMgb2Ygd2l0aCBkdXJhdGlvbiBvZiAyMG1zKSwgdGhlIGppdHRlcmJ1ZmZlcgoJICB3aWxsIGlkbGUgdXAgdW50aWwgaXQgcmVjZWl2ZXMgdGhlIGZpcnN0IGJ1ZmZlciBhZnRlciB0aGUgZ2FwLCBidXQgd2lsbAoJICB0aGVuIGdvIG9uIHRvIHByb2R1Y2UgNDk5IGxvc3QtZXZlbnRzLCB0byAiY292ZXIgdXAiIHRoZSBnYXAuCgkgIE5vdyB0aGlzIGlzIG9idmlvdXNseSB3cm9uZywgc2luY2UgdGhlIGxhc3QgcG9zc2libGUgdGltZSBmb3IgdGhlIGVhcmxpZXN0CgkgIGxvc3QtZXZlbnRzIHRvIGJlIHBsYXllZCBvdXQgaGFzIG9idmlvdXNseSBleHBpcmVkLCBidXQgdGhlIGZhY3QgdGhhdAoJICB0aGUgaml0dGVyYnVmZmVyIGhhcyBhICJsZW5ndGgiLCByZXByZXNlbnRlZCB3aXRoIGl0cyBvd24gbGF0ZW5jeSBjb21iaW5lZAoJICB3aXRoIHRoZSB0b3RhbCBsYXRlbmN5IGRvd25zdHJlYW0sIGFsbG93cyBmb3IgY292ZXJpbmcgdXAgYXQgbGVhc3Qgc29tZQoJICBvZiB0aGlzIGdhcC4KCSAgU28gaW4gdGhlIGNhc2Ugb2YgdGhlICJsZW5ndGgiIGJlaW5nIDIwMG1zLCB3aGlsZSBoYXZpbmcgcmVjZWl2ZWQgcGFja2V0CgkgIDUwMCwgdGhlIGppdHRlcmJ1ZmZlciBzaG91bGQgc3RpbGwgY3JlYXRlIGEgdGltZW91dCBmb3IgcGFja2V0IDQ5MSwgd2hpY2gKCSAgd2lsbCBoYXZlIGl0cyB0aW1lIGV4cGlyZSBhdCAxMCwwMiBzZWNvbmRzLCBzcGVjaWFsbHkgc2luY2UgaXQgbWlnaHQKCSAgYWN0dWFsbHkgYXJyaXZlIGluIHRpbWUhIEJ1dCBvYnZpb3VzbHksIHdhaXRpbmcgZm9yIHBhY2tldCAxMDAsIHRoYXQgaGFkCgkgIGl0cyB0aW1lIGV4cGlyZSBhdCAyIHNlY29uZHMsIChyZW1lbWJlcmluZyB0aGF0IHRoZSBjdXJyZW50IHRpbWUgaXMgMTApCgkgIGlzIHVzZWxlc3MuLi4KCSAgVGhlIHBhdGNoIHdpbGwgY3JlYXRlIG9uZSAiYmlnIiBsb3N0LWV2ZW50IGZvciB0aGUgZmlyc3QgNDkwIHBhY2tldHMsCgkgIGFuZCB0aGVuIGdvIG9uIHRvIGNyZWF0ZSBzaW5nbGUgb25lcyBpZiB0aGV5IGNhbiByZWFjaCB0aGVpcgoJICBwbGF5b3V0IGRlYWRsaW5lLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgzOAoKMjAxMi0xMi0xMyAwOToyNzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IFRDUCByZWNvbm5lY3QKCSAgSWdub3JlIG90aGVyIGNvbW1hbmRzIHdoZW4gcmVjb25uZWN0aW5nLCBvdGhlcndpc2UgdGhlIGxvb3AgZnVuY3Rpb24gd291bGQgcGF1c2UKCSAgYW5kIHRoZSByZWNvbm5lY3Rpb24gd291bGQgbm90IGhhcHBlbi4gQ29udGludWUgbG9vcGluZyBhZnRlciBkb2luZyBhIHJlY29ubmVjdAoJICBzbyB0aGF0IHdlIGhhdmUgYSBjaGFuY2UgdG8gYWN0dWFsbHkgcmVhZCB0aGUgbmV3IGRhdGEuCgoyMDEyLTEyLTEzIDAxOjAyOjM0ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgIGRpcmVjdHNvdW5kLCB3YXZlZm9ybTogZml4IGNvbXBpbGF0aW9uIGVycm9ycyBjYXVzZWQgYnkgY2lyY3VsYXIgaW5jbHVkZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDEyNAoKMjAxMi0xMi0xMiAxNzozNTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIHN5cy9vc3MvY29tbW9uLmg6CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICBleHQvc3lzOiBGaXggc29tZSBjb21waWxhdGlvbiBlcnJvcnMgY2F1c2VkIGJ5IGNpcmN1bGFyIGluY2x1ZGVzCgoyMDEyLTEyLTEyIDEyOjA3OjM0ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogcHJvcGVybHkgc2V0IHNyY3BhZCBjaGFubmVsIHBvc2l0aW9uCgkgIFRoZSBzcmMgcGFkIGNhcHMgYWx3YXlzIGRlc2NyaWJlIGEgc2luZ2xlIGF1ZGlvIGNoYW5uZWwgc28gb25seSB0aGUKCSAgZmlyc3QgcG9zaXRpb24gbWF0dGVycyBpZiBkZWludGVybGVhdmUgaXMgY29uZmlndXJlZCB0byBrZWVwIGNoYW5uZWwKCSAgcG9zaXRpb25zIGluIGl0cyBzcmMgcGFkcy4KCjIwMTItMTItMTIgMTE6MDk6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHRpbWVvdXQgb24gdWRwc3JjIGlzIGluIG5hbm9zZWNvbmRzCgoyMDEyLTEyLTEyIDExOjA4OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBpbXByb3ZlIHRpbWVvdXRzCgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2V0IHRoZSB0aW1lb3V0IGFmdGVyIHdlIHdlbnQgdG8gdGhlIFJFQURZIHN0YXRlIGJ5IHVzaW5nCgkgIHRoZSB0aW1lb3V0IHdoZW4gY2hlY2tpbmcgdGhlIGNvbmRpdGlvbi4gVGhpcyBhbHNvIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHNldCB0aGUKCSAgdGltZW91dCB3aXRoIGEgaGlnaGVyIGdyYW51bGFyaXR5IHRoYW4gc2Vjb25kcy4KCjIwMTItMTItMTEgMTM6MDA6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGFkZCBzdXBwb3J0IGZvciBzdHJpZGVzCgkgIEltcGxlbWVudCBzdHJpZGUgc3VwcG9ydCBjb3JyZWN0bHkgYnkgdGFraW5nIGl0IGZyb20gdGhlIEdzdFZpZGVvRnJhbWUuCgkgIFByb3Bvc2UgYSBidWZmZXJwb29sIHVwc3RyZWFtIHdoZW4gbm90IG9wZXJhdGluZyBpbiBwYXNzdGhyb3VnaC4KCjIwMTItMDktMjcgMTI6MTc6NTggLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJICBydHNwc3JjOiBkbyBub3QgY2hhbmdlIHN0YXRlIHRvIFBMQVlJTkcgaWYgY3VycmVudGx5IGNoYW5pbmcgc3RhdGUKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmMgKGdzdF9ydHNwc3JjX3BsYXkpOiBzdGF0ZSBjaGFuZ2UgbWlnaHQgYmUKCSAgaGFwcGVuaW5nIGluIHRoZSBhcHBsaWNhdGlvbiB0aHJlYWQsIHNvIHdlIGRvbid0IGNoYW5nZSB0aGUgc3RhdGUgdG8KCSAgUExBWUlORyBpbiB0aGUgZ3N0cnRzcHNyYyB0aHJlYWQgdW5sZXNzIGl0IGlzIHNhZmUuCgkgIEEgc3BlY2lmaWMgY2FzZSBpcyB3aGVuIGNoYW5pbmcgdGhlIHN0YXRlIHRvIE5VTEwgZnJvbSB0aGUgYXBwbGljYXRpb24KCSAgdGhyZWFkLiBUaGlzIHdpbGwgc3luY2hyb25vdXNseSB0cnkgdG8gc3RvcCB0aGUgdGFzayAod2l0aCB0aGUgZWxlbWVudAoJICBzdGF0ZSBsb2NrIGFjcXVpcmVkKSwgYnV0IHdlIHdpbGwgdHJ5IGEgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlIGZyb20KCSAgZ3N0cnRzcHNyYyB0aHJlYWQgd2hpY2ggd2lsbCBibG9jayBvbiB0aGUgZWxlbWVudCBzdGF0ZSBsb2NrIGNhdXNpbmcgYQoJICBkZWFkbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDMxMgoKMjAxMi0xMi0xMCAxMTo0NDoyNiArMDAwMCAgQWxleGV5IENoZXJub3YgPDRlcm5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogRml4IHJlc2l6aW5nIHRoZSBDb2NvYSB3aW5kb3cgb24gcmVjZWl2aW5nIG5ldyBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjg5NzMyLgoKMjAxMi0xMS0zMCAyMDozNzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyc3JjOiBsaW5rIGFnYWluc3QgLWxydCBmb3IgY2xvY2tfZ2V0dGltZSgpCgkgIE5lZWQgdG8gZXhwbGljaXRseSBsaW5rIGFnYWluc3QgLWxydCBmb3IgY2xvY2tfZ2V0dGltZSgpLCB3aGljaAoJICB3ZSBkb24ndCBnZXQgaW4gdGhlIGxpYnMgYW55IG1vcmUsIGJlY2F1c2UgY29yZSBtb3ZlZCB0aGUKCSAgZ21vZHVsZS1uby1leHBvcnQtMi4wIGJpdCBpbnRvIFJlcXVpcmVzLlByaXZhdGUuCgkgIE5vdCByZXF1aXJlZCBmb3IgbmV3ZXIgZ2xpYmMsIGJ1dCBmb3Igb2xkZXIgb25lcywgc28gY2hlY2sgZm9yIHRoYXQuCgoyMDEyLTExLTMwIDE3OjIyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGFjY2VwdCBhdWRpby93ZWJtIGFzIHdlbGwgYXMgdmlkZW8vd2VibQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MzM2CgoyMDEyLTExLTMwIDE3OjIwOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgd2VibXV4OiBmaXggbGlua2luZyB3aXRoIHNob3V0MnNlbmQgZWxlbWVudAoJICBTaG91dDJzZW5kIG9ubHkgYWNjZXB0cyB3ZWJtIGZvcm1hdCwgbm90IG1hdHJvc2thLCBidXQgZHVlCgkgIHRvIGEgYnVnIGluIG1hdHJvc2thbXV4LCB3ZWJtbXV4J3Mgc291cmNlIHBhZCBpcyBhbHNvIGNyZWF0ZWQKCSAgd2l0aCB0aGUgbWF0cm9za2Egc291cmNlIHBhZCB0ZW1wbGF0ZSBhcyBwYWQgdGVtcGxhdGUsIHdoaWNoCgkgIG1ha2VzIHRoZSBsaW5rIGZ1bmN0aW9uIHRoaW5rIGl0IGNhbid0IGxpbmsgd2VibW11eCB0byBzaG91dDJzZW5kLgoJICBBbHNvIGFkZCB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkzMzYKCjIwMTItMTEtMjcgMTE6MTM6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBuZXcgb3B0aW9uIHBhcnNlciBmdW5jdGlvbgoKMjAxMi0xMS0yNiAxNToxNzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICBsYXc6IGZpeCBhY2NpZGVudGFsIGZpbGUgcGVybWlzc2lvbnMgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0NjkKCjIwMTItMTEtMjUgMTY6MDU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgZGVmaW5lCgoyMDEyLTExLTI1IDE0OjE2OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGNyaXRpY2FscyBpZiB1bmtub3duIGZvdXJjYyBoYXMgc3BhY2UgYXQgYmVnaW5uaW5nIG9yIGVuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyOTM2CgoyMDEyLTExLTI0IDE5OjMyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBmaXggYm9yZGVyIGZpbGxpbmcgZm9yIHBsYW5hciBZVVYgZm9ybWF0cwoJICBXZSB3b3VsZCBnZXQgYSBncmVlbiBib3JkZXIgaW5zdGVhZCBvZiBhIGJsYWNrIG9uZSwgZm9yCgkgIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5OTEKCjIwMTItMTEtMjQgMTQ6Mjc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgbXVsYXc6IGNvbnN0LWlmeSBzb21lIGFycmF5cwoKMjAxMi0xMS0wMiAxMjozODo0NCAtMDQwMCAgUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICBtdWxhd2RlYzogZml4IGludGVnZXIgb3ZlcnJ1bgoJICBUaGVyZSBtaWdodCBiZSBtb3JlIHRoYW4gNjU1MzUgc2FtcGxlcyBpbiBhIGNodW5rIG9mIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0NjkKCjIwMTItMTEtMjIgMTE6MzQ6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBhdXNlIHRoZSB0YXNrIGluc3RlYWQgb2Ygc3Bpbm5pbmcKCSAgQWN0dWFsbHkgcGF1c2UgdGhlIGxvb3AgdGFzayBpbnN0ZWFkIG9mIHNwaW5uaW5nIGZvcmV2ZXIuCgoyMDEyLTExLTE5IDAzOjMxOjM3IC0wNTAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBncmF5IDgvMTYgc3VwcG9ydAoKMjAxMi0xMS0xOSAxMToyNToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjQ5N2M0ZiB0byBhNzJmYWVhCgoyMDEyLTExLTE2IDE1OjM4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgc2VnbWVudCBldmVudAoJICBNYWtlIGEgc2VnbWVudCBldmVudCB3aGVuIHdlIHNlbmQgYSBuZXcgcmFuZ2UgaGVhZGVyIHRvIGEgY2xpZW50IChmaXJzdCBQTEFZCgkgIHJlcXVlc3Qgb3IgYWZ0ZXIgYSBzZWVrKS4gU2VuZCB0aGUgc2VnbWVudCBldmVudCBpbiBpbnRlcmxlYXZlZCBtb2RlLgoJICBDbGVhbiB0aGUgc2VnbWVudCBldmVudCBvbiBjbGVhbnVwCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODgzODIKCjIwMTItMTEtMTYgMTU6MTg6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBjaGVjayBmb3IgYWN0aXZlIHN0cmVhbXMKCSAgQSBzdHJlYW0gY2FuIGJlIGFjdGl2ZSB3aXRob3V0IGEgc3JjcGFkIHlldCBhbmQgd2Ugd2FudCB0byBzZW5kCgkgIGV2ZW50cyBvbiB0aG9zZSBzdHJlYW1zIGFzIHdlbGwuCgoyMDEyLTExLTE2IDEzOjMxOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjcmVhdGUgYW5kIGFkZCBwYWRzIG91dHNpZGUgb2YgbG9jawoJICBDcmVhdGUgYW5kIGFkZCB0aGUgZ2hvc3RwYWQgZm9yIHRoZSBuZXcgc3RyZWFtIG91dHNpZGUgb2YgdGhlIGxvY2sgYmVjYXVzZSBpdAoJICBpcyBub3QgbmVlZGVkIGFuZCBjYXVzZXMgZGVhZGxvY2tzLgoKMjAxMi0wOS0xMiAyMjoxMToyMCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkgIHJ0c3BzcmM6IGFsbG93IGNsaWVudCB0byBkaXNhYmxlIHJlY29ubmVjdGlvbgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuW2NoXTogYWRkZWQgbmV3ICJ1ZHAtcmVjb25uZWN0IiBwcm9wZXJ0eS4gQmVmb3JlLAoJICBydHNwc3JjIGFsd2F5cyB0cmllZCB0byByZWNvbm5lY3QgdG8gdGhlIHNlcnZlciB3aGVuIHRoZSBSVFNQCgkgIGNvbm5lY3Rpb24gd2FzIGNsb3NlZCBieSB0aGUgc2VydmVyLiBUaGlzIHByb3BlcnR5IGxldHMgdGhlIHVzZXIKCSAgZGVjaWRlIHdoZXRoZXIgaXQgd2FudHMgcnRzcHNyYyB0byByZWNvbm5lY3Qgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzOTEyCgoyMDEyLTExLTE2IDEyOjE2OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjbGVhciB2YXJpYWJsZXMgYmVmb3JlIHJldHJ5aW5nCgkgIEVsc2Ugd2UgbWlnaHQgdW5yZWYgYW4gb2xkIHVkcHNyYyB0d2ljZSBpbiBjbGVhbnVwLgoKMjAxMi0xMS0xNiAxMjowMDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHJvcG9zZSBwb3J0cyBpbiBtdWx0aWNhc3QKCSAgV2hlbiB0aGUgdXNlciBjb25maWd1cmVkIGEgcG9ydC1yYW5nZSwgcHJvcG9zZSBwb3J0cyBmcm9tIHRoaXMgcmFuZ2UKCSAgYXMgdGhlIG11bHRpY2FzdCBwb3J0cy4gVGhlIHNlcnZlciBpcyBmcmVlIHRvIGlnbm9yZSB0aGlzIHJlcXVlc3QgYnV0IGlmIGl0CgkgIGhvbm91cnMgaXQsIGluY3JlbWVudCBvdXIgcG9ydHMgc28gdGhhdCB3ZSBzdWdnZXN0IHRoZSBuZXh0IHBvcnQgcGFpciBmb3IgdGhlCgkgIG5leHQgc3RyZWFtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NDIwCgoyMDEyLTExLTE2IDExOjU4OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMi0xMS0xNiAwOTowOTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IG1lc3NhZ2VzIGluIG1heC1zaXplIG1vZGUgYXMgd2VsbAoJICBObyByZWFzb24gbm90IHRvIHJlYWxseS4KCjIwMTItMTEtMTUgMTQ6Mzc6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHBvc3QgZXJyb3IgYmVmb3JlIHN0b3BwaW5nCgoyMDEyLTExLTE0IDAwOjEzOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgZ3N0X2FkYXB0ZXJfcHJldl90aW1lc3RhbXAgLT4gZ3N0X2FkYXB0ZXJfcHJldl9wdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTU5OAoKMjAxMi0xMS0xMiAxOToyMzo0MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBOVjEyL05WMjEgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4MjI1CgoyMDEyLTExLTEyIDEzOjAxOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3QgbGVhayBHc3RWaWRlb0NvZGVjRnJhbWVzIHRoYXQgY2F1c2UgdGhlIGNyZWF0aW9uIG9mIGludmlzaWJsZSBmcmFtZXMKCSAgRml4ZXMgYnVnICM2ODI3MTQuCgoyMDEyLTExLTEyIDExOjQ3OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IFVzZSBuZXcgR1R5cGUgZm9yIEdUaHJlYWQgaW5zdGVhZCBvZiBqdXN0IEdfVFlQRV9QT0lOVEVSCgoyMDEyLTExLTEyIDExOjE0OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogcHJvdGVjdCBhZ2FpbnN0IGludmFsaWQgUlRQIHBhY2tldHMKCjIwMTItMTEtMTIgMTA6NDQ6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBBY3R1YWxseSB1c2UgdGhlIHN0b3AoKSB2ZnVuYyBpbXBsZW1lbnRhdGlvbgoKMjAxMi0xMS0xMiAxMDozMTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBsYXN0IGNvbW1pdAoKMjAxMi0xMS0xMiAxMDoxMDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEtlZXAgdGhlIGlucHV0IHN0YXRlIGluIHJlc2V0KCkKCSAgSXQncyBzdGlsbCB2YWxpZCBhZnRlciBhIGZsdXNoIGFuZCB3ZSBtaWdodCBub3QgZ2V0IGEgbmV3IG9uZS4KCjIwMTItMTEtMTIgMTA6MDg6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBBbHNvIGRlc3Ryb3kgZGVjb2RlciBpbiBzZXRfZm9ybWF0KCkgaWYgaXQgd2FzIGNyZWF0ZWQgYWxyZWFkeQoJICBGaXhlcyBhIG1lbW9yeSBsZWFrLgoKMjAxMi0xMS0xMiAwOTo0ODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IERvbid0IGNsZWFyIGlucHV0IHN0YXRlIGluIHJlc2V0KCkKCSAgVGhlIGlucHV0IHN0YXRlIGlzIHN0aWxsIHZhbGlkIGFmdGVyIGZsdXNoaW5nIHVudGlsCgkgIG5ldyBjYXBzIGFycml2ZS4KCSAgRml4ZXMgYnVnICM2ODgwOTIuCgoyMDEyLTExLTEwIDE4OjIxOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBhZGQgc3VwcG9ydCBmb3IgWVYxMgoJICBXZSBjYW4gZG8gSTQyMCwgc28gd2UgY2FuIGRvIFlWMTIgYXMgd2VsbC4KCjIwMTItMTEtMTAgMTI6Mzk6MDggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvbid0IHdyaXRlIHN0cmVhbSBoZWFkZXJzIHdpdGgga2V5LXVuaXQtZXZlbnQKCSAgRG9uJ3Qgd3JpdGUgc3RyZWFtIGhlYWRlcnMsIGxldCB1cHN0cmVhbSBlbGVtZW50cyBpbnNlcnQgdGhlbSBpbiB0aGUgc3RyZWFtIGlmCgkgIGFsbF9oZWFkZXJzPXRydWUgaXMgc2V0IGluIGtleSB1bml0IGV2ZW50cy4KCjIwMTItMTEtMDkgMTM6Mjc6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIHZpZGVvY3JvcDogQWRkIE5WMTIvTlYyMSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc5NjQKCjIwMTItMTEtMDkgMTY6MzE6MDUgKzAxMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRG9uJ3QgZ2l2ZSB1cCBzbyBlYXNpbHkgaWYgZmFpbGVkIHRvIGRlY29kZSBhIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0MzYKCjIwMTItMTEtMDkgMTE6MjI6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBBbHNvIGNsZWFyIEdFcnJvcgoKMjAxMi0xMS0wOSAxMToyMDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IERvbid0IGVycm9yIG91dCBpZiB3ZSBnZXQgYW4gSUNNUCBkZXN0aW5hdGlvbi11bnJlYWNoYWJsZSBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIHJlYWQgcGFja2V0cwoJICBTZWUgYnVnICM1Mjk0NTQgYW5kICM2ODc3ODIgYW5kIGNvbW1pdAoJICA3NTFmMmJiMzY0NmYyYmVmZjM2OThjOWYwOTkwMGRiZDBlYTA4YWJiCgoyMDEyLTExLTA3IDIwOjM1OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHVwZGF0ZSBjb3VydGVzeSBvZiBhdXRvdXBkYXRlCgoyMDEyLTExLTA3IDE4OjQ4OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGxldCBBR19HU1RfUExVR0lOX0RPQ1MgY2hlY2sgZm9yIHB5dGhvbgoJICBBbmQgdXBkYXRlIGNvbW1vbiBmb3IgbW92ZSBmcm9tIEFTX1BBVEhfUFlUSE9OIHRvIEFNX1BBVEhfUFlUSE9OLAoJICB3aGljaCBhcyBhIHNpZGUtZWZmZWN0IHNob3VsZCBwaWNrIHVwIG5ld2VyIHB5dGhvbiB2ZXJzaW9ucyBhcwoJICB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzOTAzCgoyMDEyLTExLTA3IDEzOjM2OjMzICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBGaXggdnA4cnRwIGhlYWRlciBuYW1lcyBpbiBNYWtlZmlsZQoKMjAxMi0xMS0wNiAxNTowMzo1NSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogQWRkIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBjcm9wcGluZwoJICBUaGlzIGNoYW5nZSBlbmFibGUgYXV0b21hdGljIGNyb3BwaW5nIHVzaW5nIC0xIHNldCB0byBsZWZ0LCB0b3AsIHJpZ2h0IG9yCgkgIGJvdHRvbSBwcm9wZXJ0eS4gSW4gdGhlIGNhc2UgYm90aCBzaWRlIGFyZSBzZXQgdG8gYXV0b21hdGljIGNyb3BwaW5nLCB0aGUKCSAgY3JvcGluZyB3aWxsIGJlIGRvbmUgZXF1YWxseSBvbiBib3RoIHNpZGUgKGluIHRoZSBvZGQgY2FzZSwgcmlnaHQgYW5kCgkgIGJvdHRvbSBjcm9wcGluZyB3aWxsIGJlIDEgcGl4ZWwgbW9yZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc3NjEKCjIwMTItMTEtMDIgMTY6Mzk6MjggKzAxMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogRG9uJ3QgdW5tYXAgb3IgZmluaXNoX2ZyYW1lIGFuIGludmFsaWQgR3N0QnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0NjQKCjIwMTItMTEtMDYgMTM6MjI6NTggKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHRoZSBSVENQIHBvcnQgbnVtYmVyIGlzIGluY2x1c2l2ZQoJICBUaGUgY29uZmlndXJlZCBwb3J0IG51bWJlciBwYWlyIGhhcyBpdHMgdXBwZXIgYm91bmQgc2V0IHRvIHRoZSBtYXhpbXVtCgkgIGFsbG93ZWQgUlRDUCBwb3J0LCBpbmNsdXNpdmUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NDIwCgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMS0wNCAwMDowNzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSogZXh0L2R2L2dzdGR2LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuYzoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmg6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5oOgoJKiBleHQvanBlZy9zbW9rZWZvcm1hdC5oOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJKiBleHQvbGlicG5nL2dzdHBuZy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJKiBleHQvbWlrbW9kL1JFQURNRToKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuaDoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuYzoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuaDoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuaDoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuaDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlicGx1Z2luLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5oOgoJKiBleHQvdnB4L3BsdWdpbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSogZ3N0L2F1ZGlvZngvbWF0aF9jb21wYXQuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmg6CgkqIGdzdC9hdmkvYXZpLWlkcy5oOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9wbHVnaW5zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJKiBnc3QvZmx2L2FtZmRlZnMuaDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2Zsdi9nc3RpbmRleC5oOgoJKiBnc3QvZmx2L2dzdG1lbWluZGV4LmM6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmM6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmg6CgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSogZ3N0L2dvb20vZHJhd21ldGhvZHMuYzoKCSogZ3N0L2dvb20vZHJhd21ldGhvZHMuaDoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9maWx0ZXJzX21teC5zOgoJKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSogZ3N0L2dvb20vZ29vbS5oOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSogZ3N0L2dvb20vZ29vbV9maWx0ZXJzLmg6CgkqIGdzdC9nb29tL2dvb21fZnguaDoKCSogZ3N0L2dvb20vZ29vbV9ncmFwaGljLmg6CgkqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSogZ3N0L2dvb20vZ29vbV90b29scy5jOgoJKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkqIGdzdC9nb29tL2dvb21fdHlwZWRlZnMuaDoKCSogZ3N0L2dvb20vZ29vbV92aXN1YWxfZnguaDoKCSogZ3N0L2dvb20vZ3JhcGhpYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSogZ3N0L2dvb20vbGluZXMuYzoKCSogZ3N0L2dvb20vbGluZXMuaDoKCSogZ3N0L2dvb20vbWF0aHRvb2xzLmM6CgkqIGdzdC9nb29tL21hdGh0b29scy5oOgoJKiBnc3QvZ29vbS9tb3RpZl9nb29tMS5oOgoJKiBnc3QvZ29vbS9tb3RpZl9nb29tMi5oOgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJKiBnc3QvZ29vbS9wcGNfZHJhd2luZ3MuaDoKCSogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLnM6CgkqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLmg6CgkqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLnM6CgkqIGdzdC9nb29tL3NvdW5kX3Rlc3Rlci5jOgoJKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuaDoKCSogZ3N0L2dvb20vc3VyZjNkLmM6CgkqIGdzdC9nb29tL3N1cmYzZC5oOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuaDoKCSogZ3N0L2dvb20vdjNkLmM6CgkqIGdzdC9nb29tL3YzZC5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9mdHlwY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5oOgoJKiBnc3QvaXNvbXA0L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvaXNvbXA0L3F0cGFsZXR0ZS5oOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4Lmg6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5oOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmg6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuYzoKCSogZ3N0L211bHRpZmlsZS9wYXR0ZXJuc3BlYy5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSogZ3N0L3J0cC9mbnYxaGFzaC5jOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmg6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5oOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkqIGdzdC9zbXB0ZS9wYWludC5jOgoJKiBnc3Qvc21wdGUvcGFpbnQuaDoKCSogZ3N0L3NtcHRlL3BsdWdpbi5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvb3NzL2NvbW1vbi5oOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmg6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5jOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuaDoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmM6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1bmF1ZGlvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9ib3gtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDIgMTg6NDc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGRvbid0IGFjY2VzcyBydHAgYnVmZmVyIGFmdGVyIHVubWFwCgkgIFJlYWQgdGhlIG1hcmtlciBiaXQgYmVmb3JlIHdlIHVubWFwIHRoZSBydHAgcGFja2V0LgoKMjAxMi0xMS0wMiAwOTozNDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEltbWVkaWF0ZWx5IHJldHVybiBpZiBvcGVuaW5nIHRoZSBkZWNvZGVyIGZhaWxlZAoJICBJbnN0ZWFkIG9mIGlnbm9yaW5nIGFueSBlcnJvcnMuCgoyMDEyLTExLTAxIDIyOjAyOjM5ICswMTAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFNob3J0IGNpcmN1aXQgZ3N0X3ZwOF9kZWNfaGFuZGxlX2ZyYW1lIGlmIGtleWZyYW1lIGlzIG1pc3NpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzM3NgoKMjAxMi0xMS0wMiAxMDo1Mzo1NyArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvY29udmVydDogQ29tcGFyZSB5IG9mZnNldCB3aXRoIGhlaWdodCwgbm90IHdpZHRoLCB3aGVuIHRlc3RpbmcgZm9yIG92ZXJsYXAKCSAgVGhpcyBjb3VsZCBoYXZlIHByZXZlbnRlZCBpbWFnZXMgc2hvd2luZyB0aGF0IHNob3VsZCBoYXZlIHdoZW4gdGhlCgkgIHNvdXJjZSBoZWlnaHQgaXMgZ3JlYXRlciB0aGFuIGl0cyB3aWR0aC4KCSAgV2hlbiB3aWR0aCBleGNlZWRzIGhlaWdodCwgYXMgaXMgY29tbW9uLCBpdCBwcm9iYWJseSBvbmx5IGNhdXNlZCBhCgkgIG1pbmlzY3VsZSBhbW91bnQgb2YgdW5uZWNlc3Nhcnkgd29yay4gIEkgaGF2ZW4ndCB0ZXN0ZWQuCgoyMDEyLTExLTAxIDIxOjA5OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogaW5jbHVkZSBjb25maWcuaCBhbmQgbWlub3Igc3R5bGUgZml4ZXMKCjIwMTItMTEtMDEgMjA6MTM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IGZpeCB0YWJzL3NwYWNlIG1lc3MgaW4gTWFrZWZpbGUuYW0KCjIwMTItMTEtMDEgMjA6MDU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOC5jOgoJICBydHA6IG1vdmUgVlA4IHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIgZnJvbSAtYmFkCgkgIFNwZWMgaXMgc3RpbGwgaW4gZHJhZnQgc3RhdGUsIGJ1dCBzaG91bGQgaG9wZWZ1bGx5IG5vdAoJICBjaGFuZ2UgbXVjaCBub3cuIEJlc2lkZXMsIHdlIGFubm91bmNlIHRoaW5ncyBhcyBWUDgtRFJBRlQtSUVURi0wMQoJICBpbiBvdXIgY2Fwcywgc28gZXZlbiBpZiB0aGluZ3MgY2hhbmdlIGluIGluY29tcGF0aWJsZSB3YXlzIGl0CgkgIHNob3VsZCBub3QgYnJlYWsgYW55dGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjMKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDguYzoKCSAgcnRwdnA4OiB1cGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDMtMjggMTI6NDk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMDEgMTQ6NTk6NTUgLTAzMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OyBmaXggY29tcGF0aWJpbGl0eSB3aXRoIHRoZSB0aGlyZCBkcmFmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMDczCgoyMDEyLTAxLTI1IDE2OjIwOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTA6NDU6NTEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDMgMTI6MDY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBGaXggdHlwbwoKMjAxMS0wOS0yMyAyMjo1ODozMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBVcGRhdGUgdGhlIHBheS9kZXBheSB0byB0aGUgaWV0Zi1kcmFmdC0wMSBzcGVjCgoyMDExLTA5LTEwIDExOjMxOjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHAvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogZml4IGJpdHN0cmVhbSBwYXJzaW5nIHVzaW5nIHRoZSB3cm9uZyBraW5kIG9mIGJpdHJlYWRlcgoJICBWUDggdXNlcyBhIHByb2JhYmlsaXN0aWMgYm9vbCBjb2Rlciwgbm90IGEgc3RyYWlnaHQgYml0IGNvZGVyLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgd2hlbiBlcnJvci1yZXNpbGllbnQgaXMgc2V0LgoJICBUaGlzIGNvbW1pdCBpbmNsdWRlcyBhIGNvcHkgb2YgbGlidnB4J3MgYm9vbCBjb2RlciwgQlNEIGxpY2Vuc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyNjk0CgoyMDExLTA3LTEyIDE4OjAzOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBSZWplY3QgdW5rbm93biBiaXRzdHJlYW0gdmVyc2lvbnMKCjIwMTEtMDMtMDQgMTE6NTk6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCSAgTWFrZXMgbWFjb3N4IGNvbXBpbGVyIGhhcHB5LgoKMjAxMS0wMS0yMyAxNzowMjozOCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogQWNjZXB0IHBhY2tldHMgd2l0aCBvbmx5IG9uZSBieXRlIG9mIGRhdGEKCSAgV2hlbiBmcmFnbWVudGluZyBwYXJ0aW9ucyBpdCBjYW4gaGFwcGVuIHRoYXQgYW4gUlRQIHBhY2tldCBvbmx5IGNhcmllcyAxCgkgIGJ5dGUgb2YgUlRQIGRhdGEuCgoyMDExLTAxLTIzIDE2OjQyOjE3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDhwYXk6IFRyZWF0IHRoZSBmcmFtZSBoZWFkZXIganVzdCBsaWtlIGFueSBvdGhlciBwYXJ0aXRpb24KCSAgV2hlbiBzZXR0aW5nIHVwIHRoZSBpbml0aWFsIG1hcHBpbmcganVzdCBhY3QgYXMgaWYgdGhlIGdsb2JhbCBmcmFtZQoJICBpbmZvcm1hdGlvbiBpcyBhbm90aGVyIHBhcnRpdGlvbi4gVGhpcyBzYXZlcyBzcGVjaWFsLWNhc2luZyBpdCBsYXRlciBpbgoJICB0aGUgYWN0dWFsIHBhY2tldGl6aW5nIGNvZGUuCgoyMDEwLTA1LTE2IDE3OjIzOjE3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwL2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBBZGQgc2ltcGxlIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycyBmb3IgVlA4CgkgIE1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9ydHAvLAoJICB2ZXJzaW9uIDAuMy4yCgoyMDEyLTExLTAxIDE4OjQyOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBmaXggZm9yIDEuMCBldmVudHMKCSAgQ2FwcyBldmVudHMgYXJlIHNvbWV0aW1lcyBub3QgZm9sbG93ZWQgYnkgYSBidWZmZXIgYnV0IGJ5IGFuIGV2ZW50LiBGbHVzaCBhbnkKCSAgcGVuZGluZyBjYXBzIGJlZm9yZSB3ZSBtYWtlIGEgcGFja2V0IHdpdGggdGhlIGV2ZW50LgoJICBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGV2ZW50IGhhbmRsZXIgYmVmb3JlIHdlIGF0dGVtcHQgdG8gcHVzaCBSVFAgcGFja2V0cywgaXQKCSAgbWlnaHQgYmUgYSBzZWdtZW50IGV2ZW50LgoKMjAxMi0xMS0wMSAxODo0MjoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IGZpeCBzbWFsbCBsZWFrCgoyMDEyLTExLTAxIDE3OjQ0OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogYWRkIHN1cHBvcnQgZm9yIGV2ZW50cwoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYwoKMjAxMi0xMS0wMSAxNzo0MDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdHBheTogYWRkIHN1cHBvcnQgZm9yIHNlbmRpbmcgZXZlbnRzCgkgIFdlIGN1cnJlbnRseSBvbmx5IHNlbmQgdGFncyBhbmQgY3VzdG9tIGV2ZW50cy4gVGhlIG90aGVyIGV2ZW50cwoJICBtaWdodCBpbnRlcmZlcmUgd2l0aCB0aGUgcmVjZWl2ZXIgdGltaW5ncyBvciBhcmUgb3RoZXJ3aXNlIGhhbmRsZWQKCSAgYnkgUlRQLgoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCjIwMTItMTEtMDEgMTU6NTQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBnc3RwYXk6IHJld3JpdGUgcGF5bG9hZGVyCgkgIFVzZSBhZGFwdGVyIHRvIGFzc2VtYmxlIHRoZSBwYXlsb2FkIGFuZCBtYWtlIGEgZmx1c2ggZnVuY3Rpb24gdG8KCSAgdHVybiB0aGlzIHBheWxvYWQgaW50byAoZnJhZ21lbnRlZCkgcGFja2V0cy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmgKCjIwMTItMTEtMDEgMTM6MDM6NDQgKzAwMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBnZXQgaGVpZ2h0IHZpYSBHU1RfVklERU9fRlJBTUVfSEVJR0hULCBub3QgX1dJRFRICgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczMzAKCjIwMTItMTEtMDEgMTM6MDI6MTYgKzAwMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZWJveDogZml4IGJvcmRlciBmaWxsaW5nIGZvciBncmF5IGZvcm1hdHMKCSAgR2V0IHRoZSBoZWlnaHQgdmlhIEdTVF9WSURFT19GUkFNRV9IRUlHSFQsIG5vdCBfV0lEVEguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczMzAKCjIwMTItMTEtMDEgMTE6NTg6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBjaGVjayBmb3IgY29ycmVjdCBmcmFnbWVudCBvZmZzZXQKCSAgTWFrZSBzdXJlIHdlIG9ubHkgaW5zZXJ0IHRoZSBydHAgcGFja2V0IGluIHRoZSBhZGFwdGVyIHdoZW4gdGhlCgkgIGZyYWdfb2Zmc2V0IG1hdGNoZXMuIFdoZW4gdGhlIGZpcnN0IHBhY2tldCBvZiBhIGZyYWdtZW50IGlzIGRyb3BwZWQsCgkgIGl0IGF2b2lkcyBwdXR0aW5nIHRoZSByZW1haW5pbmcgcGFja2V0cyBpbiB0aGUgYWRhcHRlciBhbmQgcHJvY2Vzc2luZwoJICB0aGUgcGFydGlhbCBmcmFnbWVudC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmMKCjIwMTItMTEtMDEgMTE6NTQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IHNldCBDIGZsYWcgb24gYWxsIGJ1ZmZlcnMgb2YgdGhlIGZyYWdtZW50CgkgIFNldCB0aGUgQyBmbGFncyBvbiBhbGwgdGhlIGZyYWdtZW50cyBpbnN0ZWFkIG9mIG9ubHkgdGhvc2Ugd2l0aAoJICBjYXBzIGluIHRoZW0uIFRoaXMgbWFrZXMgaXQgZWFzaWVyIGluIHRoZSByZWNlaXZlciB0byBjaGVjayBpZiB0aGVyZQoJICBpcyBhIGNhcHMgaW4gdGhlIGFzc2VtYmxlZCBmcmFnbWVudHMganVzdCBieSBsb29raW5nIGF0IHRoZSBsYXN0IFJUUAoJICBwYWNrZXQgZmxhZ3MuCgoyMDEyLTExLTAxIDEwOjU1OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogdXNlIHRoZSBjYXBzdmVyc2lvbgoJICBUYWtlIHRoZSBjYXBzIGZyb20gdGhlIGlucHV0IGNhcHMgYW5kIHN0b3JlIGl0IGluIHRoZSBzbG90IGdpdmVuCgkgIGJ5IGNhcHN2ZXJzaW9uLgoKMjAxMi0xMS0wMSAxMDo1MjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIGdzdHBheTogc2VuZCBjYXBzIGlubGluZQoJICBQbGFjZSB0aGUgY2Fwc3ZlcnNpb24gb24gdGhlIG91dGdvaW5nIGNhcHMgc28gdGhhdCB0aGV5IGVuZCB1cCBpbgoJICBhbiBTRFAgYXMgd2VsbC4gUmVjZWl2ZXJzIG5lZWQgdG8ga25vdyB3aGF0IGNhcHN2ZXJzaW9uIGEgcGFydGljdWxhcgoJICBjYXBzIGlzIGZvciB0byBiZSBhYmxlIHRvIG1hdGNoIHRoZSBjYXBzIHRvIHRoZSBDViBpbiB0aGUgUlRQIHBhY2tldHMuCgkgIFBsYWNlIHRoZSBjYXBzIGluc2lkZSB0aGUgUlRQIHBhY2tldCB3aGVuZXZlciB0aGUgY2FwcyBjaGFuZ2UuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEFuZHJ6ZWogQmllbmllayA8YW5kcnplai5iaWVuaWVrQHB1cmUuY29tPgoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuaAoKMjAxMi0xMC0zMSAxNjoxNzo0OCArMDAwMCAgQW5kcnplaiBCaWVuaWVrIDxhbmRyemVqLmJpZW5pZWtAcHVyZS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IGFkZCBkZWJ1ZwoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCjIwMTItMTAtMzEgMTY6MDk6MjYgKzAwMDAgIEFuZHJ6ZWogQmllbmllayA8YW5kcnplai5iaWVuaWVrQHB1cmUuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBkZXBheTogY29ycmVjdGx5IHNraXAgY2FwcyBoZWFkZXIgc2l6ZQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYwoKMjAxMi0wOS0yOCAwMDo0MzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogcHV0IHN0cmVhbWhlYWRlcnMgb24gdm9yYmlzL3NwZWV4L2ZsYWMvdGhlb3JhIGNhcHMgdG8gbWFrZSByZW11eGluZyB3b3JrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDA1ODkKCjIwMTItMTAtMjggMDA6MDc6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGRvbid0IGFzc2VydCBpbiBnZXRfdGltZSgpIHdoZW4gY2FsbGVkIGFmdGVyIHNodXRkb3duCgkgIFdoaWNoIG1pZ2h0IGhhcHBlbiBpZiB0aGUgc291cmNlIGdldHMgc2V0IHRvIE5VTEwgc3RhdGUgYmVmb3JlCgkgIHRoZSByZXN0IG9mIHRoZSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njk4NQoKMjAxMi0xMC0zMCAxMToxMDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgdGVzdHM6IGZpeCBsZXZlbCBleGFtcGxlCgkgIFVzZSB0aGUgR1ZhbHVlQXJyYXkgaW4gdGhlIG1lc3NhZ2UuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxNTQKCjIwMTItMTAtMjcgMjM6MjI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBnc3Q6IGZpeCB2YXJpYWJsZSBvcmRlciBpbiBzb21lIE1ha2VmaWxlLmFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcwMTMKCjIwMTItMTAtMjcgMTc6Mjc6MTYgLTA0MDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBhZGQgdmFyaW91cyBtaXNzaW5nIEdTVF9QTFVHSU5TX0JBU0VfTElCUyBpbiBNYWtlZmlsZS5hbQoJICBUaG9zZSBwbHVnaW5zIGRlcGVuZCBvbiBlaXRoZXIgbGliZ3N0YXVkaW8gb3IgbGliZ3N0dmlkZW8sCgkgIHdoaWNoIGFyZSBpbiBnc3QtcGx1Z2lucy1iYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MDEzCgoyMDEyLTEwLTI3IDEzOjI0OjI0ICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFyayBpbnZpc2libGUgVlA4IGZyYW1lcyB3aXRoIHRoZSBERUNPREVfT05MWSBmbGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNTkKCjIwMTItMTAtMjYgMTA6NTU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IGFkZCBtdWx0aWZpbGVzcmMgdGVzdCBmb3IgZml4IGluIHByZXZpb3VzIGNvbW1pdAoJICBNYWtlIHN1cmUgdGhlIHN0b3AtaW5kZXggc2V0IGlzIGhvbm91cmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUzCgoyMDEyLTEwLTI2IDEwOjMzOjAzICswMTAwICBTdGFzIFNlcmdlZXYgPHN0c3BAYWtuZXQucnU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCBzdG9wIGluZGV4IGhhbmRsaW5nCgkgIE1ha2Ugc3VyZSB0aGUgc3RvcCBpbmRleCBpcyBhbHdheXMgaG9ub3VyZWQuIEF2b2lkcwoJICBlbmRsZXNzIGxvb3AgaWYgb25lIHdhbnRzIHRvIHJlYWQgYW5kIG91dHB1dCB0aGUgc2FtZQoJICBmaWxlIE4gdGltZXMsIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUzCgoyMDEyLTA4LTI1IDAyOjI2OjI5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBTdXBwb3J0IHJlY3Vyc2l2ZSBTaW1wbGVUYWdzCgkgIEZpeGVzICM2ODI2NDQKCSAgRGVwZW5kcyBvbiAjNjgyNjE1CgoyMDEyLTA4LTI0IDEzOjU1OjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IEV4cGFuZCB0aGUgdGFnIG1hcHBpbmcuCgkgICogQWxzbyBleHBvc2UgdW5rbm93biB0YWdzIGFzIGtleT12YWx1ZSBwYWlycy4KCSAgKiBBcnJhbmdlIHRhZyBtYXAgaW4gdGhlIHNhbWUgb3JkZXIgdGFncyBhcmUgbGlzdGVkIGluIE1hdHJvc2thIHNwZWMsIGxlYXZpbmcKCSAgdW5tYXBwZWQgdGFncyBhcyBjb21tZW50cy4KCSAgKiBNb3JlIHNwZWNpZmljIFRPRE9zLgoJICAqIFJlbW92ZSBkdXBsaWNhdGUgREFURSBkZWZpbmUuCgkgIEZpeGVzICM2ODI2MTUKCSAgRGVwZW5kcyBvbiAjNjgyNTI0CgoyMDEyLTEwLTI2IDEwOjA5OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTA4LTIzIDE1OjA3OjIyICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IE1hdHJvc2thIHRhZyBUYXJnZXRUeXBlIHN1cHBvcnQKCSAgKiBSZWFkcyBUYXJnZXRUeXBlIGFuZCBUYXJnZXRUeXBlVmFsdWUgZnJvbSBhIFRhZy4KCSAgKiBBZnRlciBUYWcgaXMgY29tcGxldGVseSByZWFkLCBwcm9jZXNzZXMgdGFnbGlzdCwgc3Vic3RpdHV0aW5nIHNvbWUgb2YgdGhlCgkgIHRhZ3MgZGVwZW5kaW5nIG9uIHRhcmdldCB0eXBlIHZhbHVlIGFuZCB0aGUgcHJlc2VuY2Ugb2YgdmlkZW8vc3VidGl0bGUgc3RyZWFtcy4KCSAgKiBTdXBwb3J0cyByZWFkaW5nIHR3byBuZXcgc2ltcGxldGFncyAtIFBBUlRfTlVNQkVSIGFuZCBUT1RBTF9QQVJUUwoJICBEZXBlbmRzIG9uICM2ODI0NDgKCSAgRml4ZXMgIzY4MjUyNAoKMjAxMi0wOC0yMiAxNTozMjo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogUGVyLXRyYWNrIHRhZ3MgZm9yIE1hdHJvc2thCgkgIFJlcXVpcmVzIE1hdHJvc2thIGZpbGUgdG8gaGF2ZSBzYW5lIGxheW91dCAodHJhY2sgaW5mbyBiZWZvcmUgdGFnIGluZm8pLgoJICBVc2VzIHJlcGxhY2UtbWVyZ2UuCgkgIE1ha2VzIHRyYWNrIFVJRHMgNjQtYml0LgoJICBGaXhlcyAjNjgyNDQ4CgoyMDEyLTEwLTI1IDIwOjE4OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMi0xMC0yNSAxMjoxODowMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcmVhZCB2aWRlbyBmb3JtYXQgaGVhZGVyIGZ1bGx5IChzbyB3ZSBjYW4gZmluZCAncGFzcCcgYXRvbXMpIGZvciBtb3JlIGZvdXJjY3MuIEZpeGVzIGFzcGVjdCByYXRpbyBvZiBwcm9yZXMgZmlsZXMuCgoyMDEyLTEwLTI1IDAwOjQ0OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHRoZSBuZXcgZ2V0X2NhcHMgYWxyZWFkeSBkb2VzIHRoZSBmaWx0ZXIgaW50ZXJzZWN0aW9uCgkgIEl0IHNob3VsZCBiZSBmYXN0ZXIgdG8gcGFzcyB0aGUgY2FwcyB0byBpbnRlcnNlY3QgYXMgdGhlIGZpbHRlciBjYXBzLAoJICByYXRoZXIgdGhhbiB1c2luZyBOVUxMIGFuZCBpbnRlcnNlY3RpbmcgJ21hbnVhbGx5JyBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjgzNwoKMjAxMi0xMC0yNSAwMDo0Mzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBhdm9pZCBhc3NlcnRpb24gd2hlbiB1c2luZyBhY2NlcHQgY2FwcyBxdWVyeQoJICBUaGlzIHF1ZXJ5IG11c3QgcmVjZWl2ZSBhIGZpeGVkIGNhcHMsIHNvIGltYWdlZnJlZXplIHNob3VsZAoJICBmaXhhdGUgaXRzIGZyYW1lcmF0ZSBiZWZvcmUgc2VuZGluZyB0aGUgcXVlcnkgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjgzNwoKMjAxMi0xMC0yNSAxMjozMzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBmZWF0dXJlIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjAuMiA9PT0KCjIwMTItMTAtMjUgMDE6MDE6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4yCgoyMDEyLTEwLTI0IDEzOjUwOjAwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgY29ycmVjdCB0eXBlIGZvciBjaGFubmVsLW1hc2sgYml0bWFzawoJICBGaXhlcyBjcmFzaCBvbiAzMi1iaXQgc3lzdGVtcy4KCjIwMTItMTAtMjQgMTE6MTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZsdXNoIHRoZSByaW5nYnVmZmVyIG9uIEdBUCBldmVudHMgd2l0aG91dCBkdXJhdGlvbgoJICBUaGlzIGlzIHJlcXVpcmVkIHRvIHByb3Blcmx5IHN0YXJ0IHRoZSByaW5nYnVmZmVyIGFuZCBjbG9jay4KCjIwMTItMTAtMDIgMjA6NTE6MjkgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHNldCBERUNPREVfT05MWSBmbGFnIG9uIGludmlzaWJsZSBBbHRSZWYgZnJhbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyMTYKCjIwMTItMTAtMjMgMTY6MDI6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggY292ZXJhcnQgZXh0cmFjdGlvbiBpZiB2b3JiaXMgY29tbWVudHMgY29tZSBhZnRlciBwaWN0dXJlIGhlYWRlcgoJICBTZWUgc2FtcGxlIGZpbGUgZm9yIGJ1ZyAjNjg0NzAxLgoKMjAxMi0xMC0yMyAxMzo0NToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGlnbm9yZSBiYWQgaGVhZGVycyBpZiB3ZSBoYXZlIGEgdmFsaWQgU1RSRUFNSU5GTyBoZWFkZXIKCSAgSWYgd2UgcnVuIGludG8gYW55IGhlYWRlciBwYXJzaW5nIGlzc3VlcyBhbmQgd2UgaGF2ZSBhIHZhbGlkCgkgIFNUUkVBTUlORk8gaGVhZGVyIGFscmVhZHksIGRvbid0IGVycm9yIG91dCwgYnV0IGp1c3Qgc3RvcAoJICBoZWFkZXIgcGFyc2luZyBhbmQgdHJ5IHRvIGZpbmQgc29tZSBhdWRpbyBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3MDEKCjIwMTItMTAtMjMgMTM6NDM6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwb3N0IHByb3BlciBlcnJvciBtZXNzYWdlIGFuZCBmaXggYnVmZmVyIGxlYWsgb24gaGVhZGVyIHBhcnNpbmcgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDcwMQoKMjAxMi0xMC0yMiAyMjozMjo0OSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHdpdGggcmF3IGF1ZGlvLCBzZXQgYSBkZWZhdWx0IGNoYW5uZWwtbWFzayBmb3IgbXVsdGljaGFubmVsIGF1ZGlvLiBUaGlzIGRvZXNuJ3QgYWN0dWFsbHkgcGFyc2UgJ2NoYW4nIGJlY2F1c2UgaXQncyBhYnN1cmRseSBjb21wbGV4LgoKMjAxMi0xMC0yMiAxNTo1NDoxNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRzcmM6IGZpeCB0eXBvIGNhdXNpbmcgY29tcGlsYXRpb24gZXJyb3IKCSAgZ3N0dWRwc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfdWRwc3JjX2NyZWF0ZSc6CgkgIGdzdHVkcHNyYy5jOjM2NTogZXJyb3I6ICdyZXQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NjQyCgoyMDEyLTEwLTIyIDExOjU1OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlfIGZpeCBpbnZlcnQgZnVuY3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU1MAoKMjAxMi0xMC0yMiAxMTo1NToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggZGVidWcKCjIwMTItMTAtMjIgMTE6Mzk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgJ2dlbmVyaWMnIHNhbXBsZXMKCSAgQWRkIHN1cHBvcnQgZm9yIHN0dWZmaW5nIGEgY29tcGxldGUgc3RyZWFtIGludG8gMSBzYW1wbGUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTUwCgoyMDEyLTEwLTIwIDEzOjAxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHJlbW92ZSBzdXBlcmZsdW91cyBnX3R5cGVfaW5pdCgpIGNhbGwKCSAgSXQncyBkZXByZWNhdGVkIGluIG5ld2VyIEdMaWIgYW5kIG5vdCBuZWVkZWQgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1NgoKMjAxMi0xMC0yMCAxMTozMjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY2FwcyBsZWFrIGluIGFjY2VwdGNhcHMgZnVuY3Rpb24KCjIwMTItMTAtMTkgMTk6MjQ6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGxlYWsgZ3N0X3JpZmZfc3RyZl9hdWRzIGluIGNhc2Ugb2YgTVMvUklGRiBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTkyCgoyMDEyLTEwLTE4IDIyOjIwOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVuc2lnbmVkIHN1YnRpdGxlIHRlbXBsYXRlCgoyMDEyLTEwLTE4IDExOjMyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbiBhY2NlcHRfY2FwcygpIGNoZWNrIGlmIHJpbmcgYnVmZmVyIGlzIE5VTEwgYmVmb3JlIGRlLXJlZmVyZW5jaW5nCgkgIEFuZCBzcHJpbmtsZSBzb21lIHRocmVhZC1zYWZldHkgKHRha2Ugb2JqZWN0IGxvY2sgZm9yCgkgIGFjY2Vzc2luZyByaW5nIGJ1ZmZlciwgYW5kIHBhIG1haW4gbG9vcCBsb2NrIGZvciB0aGUKCSAgY29udGV4dCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM3ODIKCjIwMTItMDktMTMgMDA6MTA6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogRml4IHJhY2UgY29uZGl0aW9uIHdoZXJlIGEgc3JjIHNldGNhcHMgaXMgaWdub3JlZAoJICBJZiBib3RoIHBhZHMgcmVjZWl2ZSBkYXRhIGF0IHRoZSBzYW1lIHRpbWUsIHRoZXkgd2lsbCBib3RoIGdldCB0aGVpcgoJICBzaW5rX3NldGNhcHMgY2FsbGVkIHdoaWNoIHdpbGwgY2FsbCB0aGUgc3JjX3NldGNhcHMsIGJ1dCB0aGVyZSBpcwoJICBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIHRoZSBzZWNvbmQgb25lIG1pZ2h0IG5vdCBiZSBjYWxsZWQuCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODQyCgoyMDExLTEwLTMxIDE1OjQzOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvIG5vdCB1c2UgdW5vZmZpY2FsIFZfTUpQRUcgY29kZWMgaWQKCSAgU2luY2UgaXQncyBub3Qgc3BlYydlZCwgY29uc2lkZXIgaXQgYSBWZlcgY29tcGF0aWJpbGl0eQoJICBjYXNlLiBNYW55IGFwcGxpY2F0aW9ucyAoZS5nLiBhdmlkZW11eCkgZG9uJ3QgdW5kZXJzdGFuZAoJICB0aGUgdW5vZmZpY2lhbCBWX01KUEVHIGlkLgoJICBGaXhlcyAjNjU5ODM3LgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMTAtMTcgMTc6MDM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIGpwZWcsIHBuZywgdnB4OiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuCgoyMDEyLTEwLTE3IDE0OjIzOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAganBlZ2RlcGF5OiBzdG9yZSBxdWFudCB0YWJsZXMgaW4gemlnemFnIG9yZGVyCgoyMDEyLTEwLTE3IDEzOjU1OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHNlc3Npb246IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEwLTE3IDEzOjM1OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogY2xhcmlmeSB0aGUgbnRwLXN5bmMgb3B0aW9uCgoyMDEyLTEwLTE3IDEzOjE1OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogdXBkYXRlIGNhcHMgaW4gdGhlIHNvdXJjZQoJICBJbmZvcm0gdGhlIHNvdXJjZSB3aGVuIGNhcHMgY2hhbmdlZC4gVGhpcyB3YXMgcmVtb3ZlZCBpbiB0aGUgcG9ydCB0byAxLjAKCSAgbGVhdmluZyB0aGUgc291cmNlIHVuYXdhcmUgb2YgdGhlIGNsb2NrLXJhdGUgYW5kIHVuYWJsZSB0byBpbnRlcnBvbGxhdGUKCSAgcnRwIHRpbWVzdGFtcHMgZm9yIFNSIHBhY2tldHMuCgoyMDEyLTEwLTE3IDEyOjQ2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBiaW46IHNldCBQVFMgYW5kIERUUyBpbiBqaXR0ZXJidWZmZmVyCgoyMDEyLTEwLTE3IDEyOjI0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZGlzYWJsZSBjaGVjayBmb3IgbnRwLXN5bmMKCSAgRGlzYWJsZSB0aGUgY2hlY2sgZm9yIHRoZSBudHAtc3luYyBtZXRob2QuIEl0IGlzIGV4cGVjdGVkIHRoYXQKCSAgYSByYXRoZXIgbGFyZ2VyIG9mZnNldCBuZWVkcyB0byBiZSBhcHBsaWVkIHdpdGggdGhpcyBtZXRob2QuCgoyMDEyLTEwLTE3IDEyOjE3OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiB1c2UgcnVubmluZy10aW1lIGZvciBOVFAgdGltZQoJICBXaGVuIHVzZS1waXBlbGluZS1jbG9jayBpcyBzZXQsIHVzZSB0aGUgcnVubmluZy10aW1lIG9mIHRoZQoJICBwaXBlbGluZSB0byBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lc3RhbXBzLiBUaGlzIG1ldGhvZCB3b3VsZCBwcmV2aW91c2x5CgkgIG9ubHkgd29yayB3aGVuIHRoZSBiYXNlLXRpbWUgaXMgc2V0IHRvIDAgYnV0IHdpdGggdGhpcyBjaGFuZ2UgaXQgY2FuCgkgIGFsc28gd29yayB3aXRoIGRpZmZlcmVudCBvZmZzZXRzIGFuZCB3ZSBjYW4gYWxzbyBpbXBsZW1lbnQgcGF1c2UvcmVzdW1lCgkgIG9mIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyIG5vdy4KCjIwMTItMTAtMTcgMTA6MjA6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IHBvcnQgdG8gdmlkZW9maWx0ZXIKCjIwMTItMTAtMTcgMDk6MzY6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IHVzZSBvdXRfaW5mbyBmb3Igb3V0IHByb3BlcnRpZXMKCjIwMTItMTAtMTYgMTQ6NDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmg6CgkgIG1lZGlhbjogc21hbGwgY2xlYW51cHMKCjIwMTItMTAtMTYgMTM6NTY6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi8uZ2l0aWdub3JlOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJKiBnc3QvbWVkaWFuL21lZGlhbi52Y3Byb2o6CgkgIG1lZGlhbjogcmVtb3ZlIG5vdyB0aGF0IGl0IGlzIGluIHZpZGVvZmlsdGVyCgoyMDEyLTEwLTE2IDEzOjQ5OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBtZWRpYW4gZnJvbSBidWlsZAoKMjAxMi0xMC0xNiAxMzo0NzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkgIHZpZGVvbWVkaWFuOiBjb3B5IG1lZGlhIHRvIHZpZGVvbWVkaWFuCgkgIENvcHkgdGhlIG1lZGlhbiB2aWRlbyBmaWx0ZXIgdG8gdmlkZW9maWx0ZXJzIGFuZCByZW5hbWUgdG8KCSAgdmlkZW9tZWRpYW4uCgoyMDEyLTEwLTE2IDEzOjEyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJICBtZWRpYTogcG9ydCB0byAxLjAKCjIwMTItMTAtMTYgMDE6MDI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGFwcGVuZCBwYWxldHRlIGRhdGEgdG8gcGFsZXR0ZWQgOC1iaXQgUkdCIGZyYW1lcwoJICBGaXhlcyBwbGF5YmFjayBvZiA4LWJpdCBpbmRleGVkIFJHQiB2aWRlb3MsIHdpdGggZml4ZXMgaW4gLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYwNDYKCjIwMTItMTAtMTUgMTU6MzY6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbmQgdGhpcyB0aW1lIGZpeCB0aGUgZGVmYXVsdCB0YXJnZXQtYml0cmF0ZSB2YWx1ZSBmb3IgcmVhbAoKMjAxMi0xMC0xNSAxNTozMDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBkZWZhdWx0IHRhcmdldC1iaXRyYXRlIHZhbHVlCgoyMDEyLTEwLTEzIDAwOjAzOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGFzc2VydCBpZiB1cHN0cmVhbSBzaXplIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBndWVzc2luZyBiaXRyYXRlcwoJICBGaXhlcyBhYm9ydCBpbiBwdXNoIG1vZGUgd2hlcmUgdGhlIHNvdXJjZSBpcyBub3Qgc2Vla2FibGUgYW5kIHRoZQoJICBzaXplIG9mIHRoZSBmaWxlIGlzIG5vdCBhdmFpbGFibGUsIGFzIHdpdGgKCSAgY2F0IGZvby5tcDQgfCBnc3QtbGF1bmNoLTEuMCBwbGF5YmluIHVyaT1mZDovLzAKCSAgTGVzcyBub3RpY2FibGUgd2l0aCByZWxlYXNlcywgc2luY2Ugd2UgZGlzYWJsZSBhbGwKCSAgZ19hc3NlcnQoKSB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjAwOAoKMjAxMi0xMC0xMiAxNDozODozMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGFsbG93IG1vcmUgc3RyZWFtcy4gQnVtcCB0aGlzIGNvbnN0YW50IHRvIDMyLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciByZWFsLXdvcmxkIGZpbGVzLgoKMjAxMi0xMC0xMiAxNDozNToyNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgbW9yZSBkaWZmZXJlbnQgZm91cmNjIHZhbHVlcyBmb3Igb3RoZXIgUHJvUmVzIHZhcmlhbnRzLgoKMjAxMi0xMC0xMSAyMjozNjoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIGV4YW1wbGVzOiB1cGRhdGUgc29tZSBlbGVtZW50IG5hbWVzIGZvciAxLjAgaW4gUlRQIGV4YW1wbGVzCgkgIGdzdHJ0cGJpbiAtPiBydHBiaW4KCSAgZmZkZWNfKiAgIC0+IGF2ZGVjXyoKCSAgZmZlbmNfKiAgIC0+IGF2ZW5jXyoKCjIwMTItMTAtMTAgMTI6MDU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgaW5jbHVkZQoKMjAxMi0xMC0xMCAxMDo1NToyOCArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgbXVsdGljYXN0LWlmYWNlIHByb3BlcnR5CgkgIHVkcHNyYyBhbHJlYWR5IGhhcyBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBtdWx0aWNhc3QgaW50ZXJmYWNlLCB3aGljaAoJICBpcyB1c2VmdWwgZm9yIG11bHRpLWhvbWVkIG1hY2hpbmVzLiBUaGlzIHBhdGNoIGFkZHMgdGhlIHNhbWUgY29kZSB0bwoJICB0aGUgbXVsdGl1ZHBzaW5rLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1ODY0CgoyMDEyLTEwLTEwIDExOjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBkb24ndCBlcnJvciBvbiBzZW5kIGVycm9ycyBidXQgb25seSB3YXJuCgkgIERvbid0IGVycm9yIG9uIHNlbmQgZXJyb3JzIGJ1dCBzaW1wbHkgcG9zdCBhIHdhcm5pbmcsIGl0J3MgcG9zc2libGUKCSAgdGhhdCB0aGUgbmV4dCBwYWNrZXQgd2lsbCBiZSBmaW5lLgoKMjAxMi0xMC0xMCAxMDoyODoyNCArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgZm9yY2UtaXB2NCBvcHRpb24KCSAgQWRkIGFuIG9wdGlvbiB0byB0aGUgbXVsdGl1ZHBzaW5rIHRoYXQgbWFrZXMgaXQgcG9zc2libGUgdG8gZm9yY2UKCSAgdGhlIHVzZSBvZiBhbiBJUHY0IHNvY2tldC4KCSAgVGhpcyBjYW4gZS5nLiBiZSB1c2VkIHRvIGhhbmRsZSB0aGUgaXNzdWUgZGVzY3JpYmVkIGluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI0ODEKCjIwMTItMTAtMTAgMTA6MTg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IHJlbW92ZSB1bnVzZWQgZmllbGQKCjIwMTItMTAtMTAgMTA6MTA6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHVzZSBuZWdvdGlhdGVkIGFsbG9jYXRvciBvciBwb29sCgkgIFVzZSB0aGUgYmFzZSBjbGFzcyB0byBhbGxvY2F0ZSBhIGJ1ZmZlciBmb3IgdXMgYmVjYXVzZSBpdCBrbm93cyBob3cKCSAgdG8gdXNlIHRoZSBuZWdvdGlhdGVkIGFsbG9jYXRvciBvciBidWZmZXJwb29sLgoKMjAxMi0xMC0xMCAxMDowOTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcG9zdCBlcnJvciB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nCgoyMDEyLTEwLTEwIDEwOjA5OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBlbGVtZW50cyBwb3N0IGVsZW1lbnQgbWVzc2FnZXMKCjIwMTItMTAtMDcgMTY6NTY6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMSA9PT0KCjIwMTItMTAtMDcgMTU6MzE6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4xCgoyMDEyLTEwLTA2IDE0OjU3OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YzBiNTJjIHRvIDZiYjY5NTEKCjIwMTItMTAtMDUgMTU6MTI6MjcgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IG91dHB1dCBjaGFubmVscyBzaG91bGQgYmUgbWFya2VkIGFzIE1PTk8sIG5vdCBGUk9OVF9MRUZULCBpZiB3ZSdyZSBub3QgcHJlc2VydmluZyBpbnB1dCBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMTItMTAtMDQgMTU6MTM6MjAgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogdXNlIGdzdF9hdWRpb19jaGFubmVsX3Bvc2l0aW9uc190b19tYXNrIGluc3RlYWQgb2YgYSBsb2NhbCBjb3B5IG9mIGhhbGYgb2YgaXQuIEhhbmRsZXMgc29tZSB2YWx1ZXMgbW9yZSBjb3JyZWN0bHkuCgoyMDEyLTEwLTA0IDIwOjMyOjQ1ICswMjAwICBSYXNtdXMgUm9oZGUgPHJvaGRlQGR1ZmYuZGs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdHJ0cGRlcGF5OiBkb24ndCBsZWFrIGlucHV0IGJ1ZmZlcgoJICBUaGUgcnRwIGJ1ZmZlciBpcyBuZXZlciB1bm1hcHBlZCBpbiB0aGUgbm9ybWFsIGNvZGUgZXhpdCBwYXRoCgkgIG9mIGdzdF9ydHBfZ3N0X2RlcGF5X3Byb2Nlc3MoLi4pIHJlc3VsdGluZyBpbiBhIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NTEyCgoyMDEyLTEwLTA0IDE4OjM3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgTlYxMiBhbmQgTlYyMQoKMjAxMi0xMC0wMSAxNToxMTowNSArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogZG8gbm90IHB1c2ggdW5tYXBwZWQgZGF0YQoJICBBbHNvIGRvIG5vdCB1c2UgYSBHc3RCdWZmZXIgYWZ0ZXIgaXQgaGFzIGJlZW4gcHVzaGVkIGludG8gdGhlIGFkYXB0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTMKCjIwMTItMTAtMDMgMTA6NTE6NDUgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgbWV0YSBpbmZvOiB0aHJlYWRzYWZlIHJlZ2lzdHJhdGlvbiB1c2luZyBnX29uY2UKCjIwMTItMTAtMDEgMTU6NDQ6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBoYW5kbGUgc29tZSBpbml0aWFsIGp1bmsgYmVmb3JlIGhkcmwgbGlzdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MDU5CgoyMDEyLTEwLTAxIDE0OjAzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB0ZXN0czogcG9ydCBnZGtwaXhidWZzaW5rIHRlc3QKCjIwMTItMDktMjkgMTE6NTk6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIFB1cmdlIHJlZmVyZW5jZXMgdG8gbGlib2lsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzMyODUKCjIwMTItMDktMjggMTY6NTE6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9hdmktaWRzLmg6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlY29nbml6ZSBhbGwgeHN1YiBmcmFtZXMgYXMga2V5ZnJhbWVzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NzcKCjIwMTItMDktMjggMTY6NTA6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOiBmaW5kIHRoZSBjb3JyZWN0IGNodW5rIGZvciBzZWdtZW50IGZvbGxvd2luZyBzZWVrCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NzcKCjIwMTItMDktMjcgMjI6MTc6NDkgKzAxMDAgIEFybmF1ZCBWcmFjIDxyYXdvdWxAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZpeCBwYXJzaW5nIGluIHB1c2ggbW9kZSB3aGVuIG1vb3YgYXRvbSBpcyBhdCB0aGUgZW5kCgkgIFdoZW4gcGxheWluZyBhbiBtcDQgZmlsZSB3aXRoIHRoZSBNT09WIGF0b20gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwgcGxheWJhY2sKCSAgZmFpbHMgd2l0aCB0aGUgZXJyb3IgbWVzc2FnZSAibm8gJ21vb3YnIGF0b20gd2l0aGluIHRoZSBmaXJzdCAxMCBNQiIuIFRoaXMgaXMKCSAgZHVlIHRvIGEgbWlzdGFrZSBpbiB0aGUgdXBzdHJlYW1fc2l6ZSB0eXBpbmcsIG1ha2luZyB0aGUgc2VlayB0byB0aGUgZW5kIG9mCgkgIGZpbGUgbmV2ZXIgaGFwcGVuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTcyCgoyMDEyLTA5LTI3IDE1OjUwOjQ5IC0wMzAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiByZW1vdmUgZHVwbGljYXRlIGVudHJpZXMgYXQgZm9ybWF0IGF0IGNhcHMKCSAgQXZvaWRzIGV4dHJhIGNhcHMvc3RydWN0dXJlcyBwcm9jZXNzaW5nCgoyMDEyLTA5LTI3IDE0OjEzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBuZWdvdGlhdGUgcG9vbCB3aXRoIHNyY3BhZCBjYXBzCgoyMDEyLTA5LTI3IDExOjAyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFRoZSBjb252ZXJ0IGFuZCBkdXJhdGlvbiBxdWVyaWVzIGFyZSBub3Qgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBmb3JtYXQKCjIwMTItMDktMjYgMDk6Mjg6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBjbGVhciB2aWRlbyBmcmFtZSBtb3JlIGNvcnJlY3RseQoJICBNYWtlIHN1cmUgbm90IHRvIHRvdWNoIG1lbW9yeSB0aGF0IGRvZXNuJ3QgYmVsb25nIHRvCgkgIG91ciBmcmFtZSwgd2UgbWlnaHQgYmUgb25lIHBhcnQgb2YgYSBzaWRlLWJ5LXNpZGUgM0QKCSAgZnJhbWUsIG9yIGluIGEgcGljdHVyZS1pbi1waWN0dXJlIHNjZW5hcmlvLgoKMjAxMi0wOS0yNiAwMDo0NDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IG1pbm9yIGNsZWFuLXVwCgkgIFVzZSBHc3RCeXRlV3JpdGVyLCBiZWNhdXNlIHdlIGNhbiwgYW5kIGdfdmFsdWVfdGFrZV9ib3hlZC4KCjIwMTItMDktMTAgMTA6Mjc6MjggKzA0MDAgIERtaXRyaXkgU2Ftb25lbmtvIDxkbWl0cml5LnNhbW9uZW5rb0B0ZWxpZ2VudC5ydT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzcGVleCBhdWRpbyBkZWNvZGluZyBieSBjcmVhdGluZyBmYWtlIHN0cmVhbSBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzYyMgoKMjAxMi0wOS0yNSAyMToyMToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCB3YXJuaW5ncyB3aGVuIHVzaW5nIHRyYW5zcGFyZW50IGJhY2tncm91bmQKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIGluY3JlYXNlcyB0aGUgcmVmY291bnQsIHdoaWNoIG1ha2VzCgkgIHRoZSBidWZmZXIgbm90IHdyaXRhYmxlIGFueSBtb3JlIHRlY2huaWNhbGx5LCBzbyBjYWxsaW5nCgkgIGdzdF9idWZmZXJfbWVtc2V0KCkgb24gaXQgd2lsbCBjYXVzZSBuYXN0eSB3YXJuaW5ncy4KCSAgVW5pdCB0ZXN0IGRpc2FibGVkIGJlY2F1c2UgaXQgdmVyeSByYXJlbHkgKGZvciBtZSkKCSAgZmFpbHMsIHBvc3NpYmx5IG5lZ290aWF0aW9uLXJlbGF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzOTgKCjIwMTItMDktMjUgMTA6NDM6MjggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkIHNvbWUgdXNlZnVsIGRlYnVnIGxvZ2dpbmcKCjIwMTItMDktMjUgMTA6NDE6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHRlbGVjaW5lCgkgIFRoaXMgb25seSBhZmZlY3RzIGJlaGF2aW91ciBpbiB0ZWxlY2luZSBjYXNlcyB3aXRoIHBhdHRlcm4gbG9ja2luZwoJICBlbmFibGVkLiBUaGUgZGVmYXVsdCBjYXNlIHNob3VsZCBiZSB1bnRvdWNoZWQuCgkgIFRoaXMgd29ya3Mgd2l0aCB0aGUgb3V0cHV0IGZyb20gZmllbGRhbmFseXNpcyBhdCBsZWFzdCwgYnV0IHRoZSBmaWVsZAoJICBvcmRlciBsb29rcyBzd2FwcGVkIGZvciB0ZWxlY2luZSBtaXhlZCBidWZmZXJzIHdpdGggdGhlCgkgIERhdmlkX3NsaWRlc19TY2hsZWVmIGNsaXAuCgoyMDEyLTA5LTI1IDE0OjQzOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRGlzYWJsZSBHTElCIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgkgIEdWYWx1ZUFycmF5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgMi4zMiAuLi4gYnV0IHRoZXJlJ3Mgbm8gdXNhYmxlCgkgIHJlcGxhY2VtZW50IGZvciBpdC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjgKCjIwMTItMDktMjUgMTQ6MTg6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IGxlYWsKCjIwMTItMDktMjQgMTY6NDY6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjAgPT09CgoyMDEyLTA5LTI0IDE0OjA2OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4wCgoyMDEyLTA5LTI0IDExOjU2OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IHJlbW92ZSBnX3ByaW50ZXJyKCkgdGhhdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlcgoJICBub3cgdGhhdCB0Y2FzZV9za2lwX2Jyb2tlbl90ZXN0KCkgcHJpbnRzIGl0IGFzIHdlbGwuCgoyMDEyLTA5LTIzIDE5OjUwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZGlzYWJsZSBmYWlsaW5nIHJlcGxheWdhaW4gdGVzdHMKCjIwMTItMDktMjMgMTY6MzE6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNjoxMDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydG11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjMgMTY6MDI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZW5kIHN0cmVhbS1zdGFydAoKMjAxMi0wOS0yMyAxNTo1NzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE1OjQ4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IGFkZCBhIGJ1bmNoIG9mIEZJWE1FcwoJICBOZWVkcyBzb21lIG1vcmUgd29yaywgc28gc3RyZWFtLXN0YXJ0LCBjYXBzIGFuZCB0YWdzIGFyZQoJICBzZW50IGluIHRoZSByaWdodCBvcmRlci4KCjIwMTItMDktMjMgMTU6MTg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE1OjE2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMiAxNTowMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IFVzZSAxLjAtc3R5bGUgY2FwcyBuZWdvdGlhdGlvbiBhbmQgYXVkaW8veC1yYXcKCjIwMTItMDktMjIgMTY6MDg6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRmOTYyZjcgdG8gNmMwYjUyYwoKMjAxMi0wOS0yMSAyMTo1NDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFuc3dlciBVUkkgcXVlcnkKCSAgV2l0aG91dCB0aGlzLCBzb21ldGhpbmcgYWxzbyBhbnN3ZXJlZCB0aGUgcXVlcnkKCSAgd2l0aCBUUlVFIGJ1dCB3aXRob3V0IHNldHRpbmcgYSB1cmksIG5vdCBzdXJlCgkgIHdoYXQgdGhhdCB3YXMuLgoKMjAxMi0wOS0yMCAxNzoyODo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBNYWtlIHN1cmUgdGhlIGNhcHMgZG9uJ3QgaGF2ZSBkdXBsaWNhdGVkIHNwcy9wcHMKCjIwMTItMDktMjAgMTk6NTg6MTIgKzAyMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBNdXRlIHN0cmVhbSBwb3N0LWNvbm5lY3Rpb24gaWYgcmVxdWlyZWQKCSAgQSBidWcgaW4gUHVsc2VBdWRpbyBjYXVzZXMgUEFfU1RSRUFNX1NUQVJUX01VVEVEIHRvIGJlIHJlamVjdGVkIG9uCgkgIHJlY29yZCBzdHJlYW1zLiBVbnRpbCB0aGlzIGlzIGZpeGVkIHVwc3RyZWFtLCB3ZSBtdXRlIHRoZSBzdHJlYW0KCSAgbWFudWFsbHkgYXQgc3RhcnR1cC4gQmFzZWQgb24gYSBwYXRjaCBieSBBbGJhbiBCcm93YWV5cwoJICA8cHJhaGFsQHlhaG9vLmNvbT4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ0NjkKCjIwMTItMDktMjAgMTg6MDA6NTkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiAyNCBiaXQgYXVkaW8gaGVyZSBpcyBTMjRMRSwgbm90IFMyNF8zTEUuCgoyMDEyLTA5LTIwIDEwOjA3OjI0ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGhhbmRsZSBsYXRlbmN5IHF1ZXJ5IGJlZm9yZSBzZXR0aW5nIHVwIHRoZSBidWZmZXJwb29sCgkgIEZpeGVzIGNyYXNoIGlmIG5vIGJ1ZmZlcnBvb2wgaXMgc2V0IHVwIHlldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDQzMAoKMjAxMi0wOS0xOSAwOToxNzowMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogU3BlY2lmeSBlbmRpYW5uZXNzIGluIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIENvcnJlc3BvbmRzIHRvIGFuIEFQSSBjaGFuZ2UgaW4gZ3N0LXBsdWdpbnMtYmFzZS4gVGhpcyBuZWVkcyB0byBiZSBmaXhlZAoJICB0byBxdWVyeSB0aGUgZXhwZWN0ZWQgYnl0ZSBvcmRlciB1c2luZyBhcHByb3ByaWF0ZSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwMjEKCjIwMTItMDktMTkgMDk6MTU6NTMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFNwZWNpZnkgZW5kaWFubmVzcyBpbiBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICBEaXJlY3RTb3VuZCBleHBlY3RzIG5hdGl2ZSBlbmRpYW4gYnl0ZSBvcmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODAyMQoKMjAxMi0wOS0xOSAwOToxMzoxMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogU3BlY2lmeSBlbmRpYW5uZXNzIGluIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIENvcnJlc3BvbmRzIHRvIGFuIEFQSSBjaGFuZ2UgaW4gZ3N0LXBsdWdpbnMtYmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODAyMQoKMjAxMi0wOS0xOSAwMDozOTowMSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZW1vdmUgaW5jb3JyZWN0IGxvZ2ljCgkgIEkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgdGhlc2UgbGluZXMgd2VyZSBhZGRlZCwgdGhleSBkb24ndCBtYWtlIHNlbnNlIHRvCgkgIG1lIG5vdyBhbmQgYm90aCBEYXZpZCBhbmQgSSBhZ3JlZSB0aGF0IHJlbW92aW5nIHRoZW0gbW92ZXMgY2xvc2VyIHRvCgkgIHJlbGF0ZWQgbG9naWMgYmVpbmcgY29ycmVjdCwgdGhlcmVmb3JlLCB0aGV5J3JlIGJlaW5nIHJlbW92ZWQuCgkgIEkndmUgdGVzdGVkIGEgZmV3IHByb2dyZXNzaXZlLCBpbnRlcmxhY2VkIGFuZCB0ZWxlY2luZSBjbGlwcyBhbmQgdGhleQoJICBhbGwgYmVoYXZlIHByb3Blcmx5IHRpbWVzdGFtcC13aXNlIGFuZCB2aXN1YWxseSBhZnRlciB0aGVzZSBjaGFuZ2VzLgoKMjAxMi0wOS0xOSAwMDoxNzo0OSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggZmllbGQgZHVyYXRpb24KCSAgVGhlIGZyYW1lIHJhdGUgZnJhY3Rpb24gaXMgY29ycmVjdGx5IGFkanVzdGVkIGluIHRoZSBjYXNlcyBwcmVjZWRpbmcgdGhlCgkgIGZpZWxkIGR1cmF0aW9uIGNhbGN1bGF0aW9uIGFuZCBzbyB0aGUgZmFjdG9yIG9mIDIgaXMgaW5jb3JyZWN0LgoKMjAxMi0wOS0xOCAxMDozNDowMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggVS9WIHN0cmlkZXMgZm9yIGEgbnVtYmVyIG9mIGNhc2VzLgoKMjAxMi0wOS0xOCAxMjoxMzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBpbml0IHZpZGVvaW5mbwoJICAuLi4gdG8gcHJldmVudCByYW5kb20gYm9ndXMgY2FwcyBmaWVsZHMuCgoyMDEyLTA5LTE4IDEyOjEyOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGNoYWluIHVwIHRvIGNvbGxlY3RwYWRzIHF1ZXJ5IGZ1bmN0aW9uCgoyMDEyLTA5LTE3IDEzOjE3OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGxldCBHc3RDb2xsZWN0UGFkIHNoYWRvdyBjdXN0b20gc2luayBwYWQgcXVlcnkgZnVuYwoJICBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgdGhlIGN1c3RvbSBwYWQgcXVlcnkgZnVuY3Rpb24gaXMgbm90IGNhbGxlZC4KCSAgVGhpcyBwYXRjaCwgc2V0IHRoYXQgcXVlcnkgZnVuY3Rpb24gb24gdGhlIEdzdENvbGxlY3RQYWRzIHRvIGF2b2lkIHRoaXMKCSAgc2hhZG93aW5nLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMi0wOS0xNyAxODoyMzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRpc3QgaW1hZ2UuanBnIGZvciBqcGVnIHRlc3QKCj09PSByZWxlYXNlIDAuMTEuOTkgPT09CgoyMDEyLTA5LTE3IDE3OjU3OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45OQoKMjAxMi0wOS0xNyAxNjo1MzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0xNyAxMzozMDoxNSArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBGaXggc3BlYyBmaWxlIGZvciB2cDggbW92ZQoKMjAxMi0wOS0xNyAxMzoyMzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYW5ub2RleDogQWRkIHRvIHRoZSBDUlVGVF9ESVJTCgoyMDEyLTA5LTE3IDEyOjE0OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0xNyAwOTo0ODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBmaW5pc2ggZnJhbWVzCgkgIFByZXZpb3VzbHkgd2Ugd291bGQgYWx3YXlzIGdldCB0aGUgc2FtZSBmcmFtZSBpZiBtdWx0aXBsZSBmcmFtZXMgYXJlIHBlbmRpbmcsCgkgIGxlYWtpbmcgbWVtb3J5IG9mIHRoZSBwcmV2aW91cyBmcmFtZXMgYW5kIGJyZWFraW5nIHRpbWVzdGFtcHMuCgoyMDEyLTA5LTE3IDA5OjQwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxsb3cgY2hhbmdpbmcgYml0cmF0ZSBhbmQgb3RoZXIgcGFyYW1ldGVycyBkdXJpbmcgcGxheWJhY2sKCSAgRml4ZXMgYnVnICM2NDgyNzYuCgoyMDEyLTA5LTE3IDA5OjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogU3RvcmUgY29uZmlndXJhdGlvbiBpbiB0aGUgdnB4X2NvZGVjX2VuY19jZmdfdCBzdHJ1Y3QgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBhbGwgdmFyaWFibGVzCgkgIEFsc28gcHJvdGVjdCBlbmNvZGVyIHdpdGggYSBtdXRleC4KCjIwMTItMDktMTYgMTY6MDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiB0byByZWZsZWN0IG5ldyBwcm9wZXJ0eSBuYW1lcwoJICAuLi5hbmQgYWxzbyBsaW5rIHRvIHRoZSBXZWJNIGVuY29kZXIgcGFyYW1ldGVycyB3ZWJzaXRlLgoKMjAxMi0wOS0xNiAxNTo1Nzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IE1ha2Ugc29tZSBwcm9wZXJ0eSBuYW1lcyBtb3JlIHJlYWRhYmxlCgoyMDEyLTA5LTE2IDE1OjQ3OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHZwODogQWRkIHRlc3RzIHRvIC5naXRpZ25vcmUKCjIwMTItMDktMTYgMTU6NDY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIHBhdGNoIHRvIHRoZSBuZXcgcHJvcGVydHkgbmFtZXMKCjIwMTItMDktMTYgMTU6NDY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZweDogSW50ZWdyYXRlIHRlc3QgaW50byB0aGUgYnVpbGQgc3lzdGVtIHRvbwoKMjAxMi0wMi0wNyAxNzowMDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDYvNl0gdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMTEtMjQgMjE6NDI6MzkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1LzZdIHRlc3RzOiB1cGRhdGUgZm9yIGdzdGNoZWNrIEFQSSBjaGFuZ2UKCjIwMTAtMDctMTAgMTU6NDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0LzZdIHZwOGRlYzogQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHZwOGRlYwoKMjAxMC0wNy0xMCAxNTo0Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDMvNl0gdnA4ZW5jOiBJbXByb3ZlIHVuaXQgdGVzdCBhIGJpdAoKMjAxMC0wNy0xMCAxNTozMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDIvNl0gdnA4ZW5jOiBBbHNvIGNoZWNrIHRoZSBvdXRwdXQgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTA3LTEwIDE1OjI5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMS82XSB2cDhlbmM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0CgoyMDEyLTA5LTE2IDE1OjQzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgdnB4OiBJbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDEyLTA5LTE2IDE1OjMzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkqIGV4dC92cHgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmg6CgkqIGV4dC92cHgvcGx1Z2luLmM6CgkgIHZweDogUmVuYW1lIHZwOCBwbHVnaW4gdG8gdnB4CgkgIFRoaXMgaXMgdXNpbmcgbGlidnB4LCB3aGljaCBjYW4gc3VwcG9ydCBtb3JlIGNvZGVjcyB0aGFuIGp1c3QgVlA4CgkgIGFuZCB3aWxsIGxpa2VseSBzdXBwb3J0IGZ1dHVyZSBjb2RlY3MuCgoyMDEyLTA5LTE2IDE1OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogQXBwbHkgcmVtYWluaW5nIGNoYW5nZXMgdGhhdCBnb3QgbG9zdCB3aGlsZSBtb3ZpbmcgdGhlIHBsdWdpbiB2aWEgZ2l0IGFtIHRoYW5rcyB0byBtZXJnZXMKCjIwMTItMDktMTYgMTU6MjU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzNC8xMzRdIHZwOGRlYzogVW5yZWYgaW5wdXQvb3V0cHV0IHN0YXRlcyB3aGVuIHN0b3BwaW5nIHRoZSBkZWNvZGVyCgoyMDEyLTA5LTE2IDE1OjE4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSAgW01PVkVEIEZST00gQkFEIDEzMy8xMzRdIHZwOGVuYzogVXBkYXRlIHJlYWx0aW1lIHByb2ZpbGUgdG8gdGhlIG5ldyBwcm9wZXJ0aWVzCgoyMDEyLTA5LTE2IDEwOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzIvMTM0XSB2cDg6IFJlcXVpcmUgbGF0ZXN0IGxpYnZweCByZWxlYXNlICgxLjEuMCBmcm9tIE1heSAyMDEyKQoJICBGaXhlcyBidWcgIzY4NDExNiBhbmQgc2ltcGxpZmllcyBjb25maWd1cmUgY2hlY2tzLgoKMjAxMi0wOS0xNSAyMDoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMxLzEzNF0gdnA4ZW5jOiBVc2UgYSBzdHJpbmcgZmllbGQgZm9yIHRoZSBwcm9maWxlIGluIHRoZSBjYXBzCgkgIEp1c3QgZm9yIGNvbnNpc3RlbmN5IHdpdGggYWxsIHRoZSBvdGhlciBjb2RlY3MuCgoyMDEyLTA5LTE1IDAwOjA0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzAvMTM0XSB2cDhlbmM6IENvcnJlY3RseSBzZXQgcHJvZmlsZSBpbiBjYXBzCgoyMDEyLTA5LTE0IDIzOjQxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjkvMTM0XSB2cDg6IFVwZGF0ZSBjb3B5cmlnaHQgYW5kIGF1dGhvcnMKCjIwMTItMDktMDggMTU6Mzg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDEyOC8xMzRdIHZwOGVuYzogUmV3b3JrIGVuY29kZXIgcHJvcGVydGllcyB0byBiZSBtb3JlIGluIGxpbmUgd2l0aCB0aGUgbGlidnB4IHRvb2xzIGFuZCBBUEkKCSAgQWxzbyBhZGQgYWxsIGF2YWlsYWJsZSBwcm9wZXJ0aWVzLgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI3LzEzNF0gcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDctMTkgMDk6MDU6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyNi8xMzRdIHZwOGRlYzogQ2FsbCBnc3RfdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wOC0xNCAxMToxNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI1LzEzNF0gdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgZGVjb2RpbmcgdGhyZWFkcwoKMjAxMi0wOC0xNCAxMTowOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI0LzEzNF0gdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgdGhlIE1GUUUgcG9zdHByb2Nlc3NpbmcgZmxhZwoJICBXaGljaCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgaWYgcG9zdHByb2Nlc3NpbmcgaXMgZW5hYmxlZC4KCjIwMTItMDgtMDkgMTM6Mzc6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDEyMy8xMzRdIHZwODogVXNlIHBrZy1jb25maWcgZmlsZSBmb3IgZ2V0dGluZyB0aGUgTElCUyBhbmQgQ0ZMQUdTCgoyMDEyLTA4LTA4IDE3OjA2OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjIvMTM0XSB2cDhlbmM6IFVwZGF0ZSB0aGUgcGVyLWNvbXBvbmVudCBzdHJpZGVzIGZvciBldmVyeSBmcmFtZSB0b28KCSAgVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBvZiBHc3RWaWRlb0FsaWdubWVudAoKMjAxMi0wNy0yNiAxOTozMToxNCArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjEvMTM0XSB2cDhlbmM6IGluaXRpYXRlIGVuY29kZXIgdG8gZml4IGEgY3Jhc2guCgkgIFdpdGhvdXQgdGhpcyBwYXRjaCB2cDhlbmMgc2VuZCBoZWFkZXIgYmVmb3JlIGFuZCBhZnRlciBmaXJzdAoJICBrZXkgZnJhbWUuIE9uIHNlY29uZCBrZXlmcmFtZSB2cDhkZWMgd2lsbCBjcmFzaCB3aXRob3V0IGdldHRpbmcKCSAgZGVjb2RlZCBmcmFtZS4gV2l0aCB0aGlzIHBpcGUgaXQgaXMgZWFzeSB0byByZXByb2R1Y2UgdGhpcyBpc3N1ZToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgdnA4ZW5jICEgdnA4ZGVjICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDY2NwoKMjAxMi0wNy0yOCAwMDozMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIwLzEzNF0gdGFnOiBVcGRhdGUgZm9yIHRhZ2xpc3QvdGFnIGV2ZW50IEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTIzIDEwOjM1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTkvMTM0XSBleHQ6IFVwZGF0ZSBmb3IgdmlkZW8gYmFzZSBjbGFzc2VzIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTIxIDE5OjU5OjIxICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExOC8xMzRdIHZwOGVuYzogZml4IG1lbW9yeSBsZWFrCgkgIHVucmVmIGZyYW1lLiBpIGhvcGUgaXQgaXMgY29ycmVjdCBwbGFjZSB0byBkbyBpdC4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDctMDYgMTE6NTA6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE3LzEzNF0gdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMToyNjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTYvMTM0XSB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjAzOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNS8xMzRdIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDEyLTA2LTA3IDEyOjMzOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTQvMTM0XSB2cDg6IGZpeCBjb2RlYyBzdGF0ZSBsZWFrcwoJICBJIG9ubHkgdGVzdGVkIHRoYXQgdnA4ZW5jICEgdnA4ZGVjIGRvZXMgbm90IGNyYXNoLCBhcyB2YWxncmluZCBkb2VzIG5vdCBncm9rCgkgIGF0IGxlYXN0IG9uZSBvZiB0aGUgaW5zdHJ1Y3Rpb25zIHVzZWQgYnkgdnA4ZW5jLCBwcmV2ZW50aW5nIG1lIGZyb20gY2hlY2tpbmcKCSAgYSBsZWFrLCBhbmQgdGhlIGxhY2sgb2Ygb25lIGFmdGVyIHRoZSBwYXRjaC4KCjIwMTItMDYtMDYgMTM6MDI6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTEzLzEzNF0gdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA1LTI4IDE2OjA1OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTIvMTM0XSB2cDg6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTExLzEzNF0gdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA1LTE2IDE0OjA0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTAvMTM0XSB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0VmlkZW9Db2RlY0ZyYW1lIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTI3IDE4OjIyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA5LzEzNF0gdnA4ZGVjOiBJbXByb3ZlIG91dHB1dF9zdGF0ZSBoYW5kbGluZwoJICBBdm9pZCBnZXR0aW5nIG91dHB1dF9zdGF0ZSBmb3IgZXZlcnkgYnVmZmVyIGFzIHRoYXQgcmVxdWlyZXMKCSAgZ2V0dGluZyB0aGUgb2JqZWN0bG9jayBhbmQgZG9pbmcgcmVmZXJlbmNlIGNvdW50aW5nLiBTdG9yZSBpdCBsb2NhbGx5CgkgIHdoZW4gaXQgaXMgY3JlYXRlZCBhbmQgdXNlIGl0LgoKMjAxMi0wNC0yNyAwOTowNTo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwOC8xMzRdIHZwOGRlYzogVXNlIG91dHB1dHN0YXRlIHdoZW4gY29weWluZyBvdXRwdXQgYnVmZmVyIGRhdGEKCSAgVXNpbmcgdGhlIGlucHV0IHN0YXRlIHdhcyBjYXVzaW5nIGEgY3Jhc2ggYmVjYXVzZSB0aGUgc3RyaWRlcy9vZmZzZXRzCgkgIHdvdWxkIGJlIHdyb25nLiBGaXggaXQgYnkgdXNpbmcgdGhlIG91dHB1dCBhcyB3ZSBhcmUgZGVhbGluZyB3aXRoCgkgIHRoZSBkZWNvZGVkIGZyYW1lLgoKMjAxMi0wNC0yNCAxMTowODo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA3LzEzNF0gdnA4OiBQb3J0IHRvIC1iYXNlIHZpZGVvIGJhc2UgY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC92cDgvTWFrZWZpbGUuYW0KCSAgZXh0L3ZwOC9nc3R2cDhkZWMuYwoJICBleHQvdnA4L2dzdHZwOGVuYy5jCgkgIEJhY2sgdG8gMC4xMCBzdGF0ZSBmb3Igbm93LCBuZWVkIHRvIGJlIHBvcnRlZCBhZ2Fpbi4KCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwNi8xMzRdIHZwOGVuYzogZml4IHRhcmdldCBiaXRyYXRlIGNvbmZpZyB3aXRoIGxpYnZweCAxLjEuMAoJICBsaWJ2cHggMS4xLjAgZGlzYWxsb3dzIGEgYml0cmF0ZSBvZiAwLCB3aGljaCB3YXMgdXNlZCBieQoJICB2cDhlbmMgYXMgYSBkZWZhdWx0IHZhbHVlLgoJICBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGRlZmF1bHQgbGlidnB4IGJpdHJhdGUsIHNjYWxlZCB0byBvdXIKCSAgdmlkZW8gc2l6ZSwgaWYgbm8gYml0cmF0ZSB3YXMgc3BlY2lmaWVkLgoJICBUaGlzIGZpeGVzIGVuY29kaW5nIFZQOCB2aWRlbyB3aXRoIGxpYnZweCAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjI0NQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA1LzEzNF0gZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDQgMTQ6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDEwNC8xMzRdIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDMtMDYgMTU6MjE6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwMy8xMzRdIHZwOGVuYzogRml4ICdhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtc2V0JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIGRlc3RpbmF0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAxLTMwIDE3OjE3OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwMi8xMzRdIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcKCjIwMTItMDEtMjUgMTg6NDk6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwMS8xMzRdIHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgkgIEZpeGVzICM2Njg2NzcuCgoyMDEyLTAxLTI0IDExOjIyOjQ2ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDAvMTM0XSB2cDhlbmM6IHRyYWNlIG91dGdvaW5nIHRpbWVzdGFtcHMKCSAgYWRkIGluZm8gbGV2ZWwgcHJpbnRzIGZvciBvdXRnb2luZyB0aW1lc3RhbXBzLgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDQgMTE6MDU6NDggKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5OS8xMzRdIHZwOGRlYzogdXNlIGlzX2FsdF9kYXRhIG9wdGlvbiB0byBwcmV2ZW50IHRpbWVzdGFtcCBjb2xsaXNpb25zCgkgIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHVzdWFsbHkgc3RvcmVkIGluIGNvbnRhaW5lciB3aXRoIHNhbWUgdGltZXN0YW1wIGFzCgkgIGRlcGVuZGV0IGZyYW1lLiBUaGlzIG1ha2UgYmFzZXZpZGVvZGVjb2RlciB0byB1cGRhdGUgdGltZXN0YW1wIGZvciBkZXBlbmRldAoJICBmcmFtZSBhbmQgY291c2UgVFMgY29saXNpb24gb24gbmV4dCBmcmFtZToKCSAgXi0gaGVyZSBpcyBhbHRyZWYKCSAgdGltZSAgICAgOiAxIDIgMyA0IDUgNiA3IDggOQoJICB3ZWJtIHRzICA6IDEgICAzIDUgNSAgIDcgICA5CgkgIHZwOGRlYyB0czogMSAgIDMgICA3ICAgNyAgIDkKCSAgRml4IGJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI0NQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDIgMDg6Mjg6MTMgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk4LzEzNF0gdnA4OiBhZGQgaW5pdGlhbCBwcmVzZXQgZmlsZQoJICBUaGlzIGlzIGluaXRpYWwgcHJlc2V0IGZpbGUsIGN1cnJlbnRseSB3aXRoIG9ubHkgb25lIHByb2ZpbGUKCSAgZm9yIHJlYWx0aW1lIGVuY29kaW5nLgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMTEtMjggMTM6MDg6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5Ny8xMzRdIHZhcmlvdXM6IGZpeCBwYWQgdGVtcGxhdGUgcmVmIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2NjQKCjIwMTEtMTEtMjUgMTE6MzY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5Ni8xMzRdIHZwOGRlYzogdXNlIG5ldyBiYXNldmlkZW9kZWNvZGVyIEFQSSB0byBkcm9wIGZyYW1lcyBhbmQgZ2V0IFFvUyBtZXNzYWdlcyBwb3N0ZWQKCjIwMTEtMTEtMTAgMTU6MTM6MzQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTUvMTM0XSBtaW1pYywgb3BlbmN2LCB2cDgsIGFjbW1wM2RlYywgbGluc3lzOiBEb24ndCBidWlsZCBzdGF0aWMgcGx1Z2lucwoJICBQYXNzIC0tdGFnPWRpc2FibGUtc3RhdGljIHRvIGxpYnRvb2wgZXZlcnl3aGVyZSB3aGVyZSBpdCdzIGJlZW4gZm9yZ290dGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NjgKCjIwMTEtMTEtMDMgMTQ6MDE6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5NC8xMzRdIHZwODogUG9ydCB0byAwLjExCgoyMDExLTA4LTIxIDIwOjE1OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTMvMTM0XSB2cDhlbmM6IGZpeCBkcm9wLWZyYW1lIHByb3BlcnR5CgkgIEZpeGVzICM2NTY5MjkuCgoyMDExLTA4LTE5IDE5OjE3OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTIvMTM0XSB2cDg6IHByb2JlIGZvciB0aGUgbmV3IHR1bmluZyBBUEkgdG8ga2VlcCBidWlsZGluZyB3aXRoIG9sZGVyIGxpYnZweAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTI4CgoyMDExLTA4LTE4IDEwOjM5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTEvMTM0XSB2cDhlbmM6IFJlbW92ZSB1bnVzZWQgYW5kIHVzZWxlc3MgdmFyaWFibGUgaW4gdGFncyBoYW5kbGluZwoKMjAxMS0wOC0xMiAxMjowODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkwLzEzNF0gdnA4ZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDctMDkgMTg6NTM6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA4OS8xMzRdIHZwOGVuYzogQWRkIG1vcmUgcHJvcGVydGllcwoKMjAxMS0wNi0xOSAxNjowNjo0NiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA4OC8xMzRdIHZwOGVuYzogYWRkIG1pbi9tYXhzZWN0aW9uLXBjdCBvcHRpb24KCSAgVGhpcyBvcHRpb25zIHNob3VsZCBiZSBnb29kIHRvIHJlZGV1Y2UgZGVjb2RlIENQVSBsb2FkLgoJICBmb3IgbG93ZW5kIGhhcmR3YXJlOgoJICBtaW5zZWN0aW9uLXBjdD0xNSBtYXhzZWN0aW9uLXBjdD00MDAKCSAgZm9yIGhpZW5kIGh3OgoJICBtaW5zZWN0aW9uLXBjdD01IG1heHNlY3Rpb24tcGN0PTgwMAoJICBzZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfdmJyX2VuY29kaW5nX2Zvcl9zbW9vdGhfcGxheWJhY2tfb25fbG93LWVuZF9oYXJkd2FyZQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAxMTowNTozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA4Ny8xMzRdIHZwOGVuYzogYWRkIGxhZy1pbi1mcmFtZXMgb3B0aW9uLgoJICBUaGlzIG9wdGlvbiBzZXQgbWF4aW11bSBvZiBmcmFtZXMgY29kZWMgc2hvdWxkIHJlbWVtYmVyLAoJICB0byBtYWtlIGJldHRlciBwcmVkaWt0aW9uIGZvciBhbHQtcmVmIGZyYW1lcy4KCSAgU2VlIGV4YW1wbGU6CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL3Rvb2xzL2VuY29kZXItcGFyYW1ldGVycy8jMi1wYXNzX2Jlc3RfcXVhbGl0eV92YnJfZW5jb2RpbmcKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTkgMDc6MTY6NTcgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODYvMTM0XSB2cDhlbmM6IHVzZSBtdWx0aXBhc3MuY2FjaGUgZmlsZSBuYW1lIGFzIGRlZmF1bHQgZm9yIG11bHRpcGFzcyBtb2RlLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0yMSAwODowMzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg1LzEzNF0gdnA4ZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMTIgMTg6MDU6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg0LzEzNF0gdnA4OiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMDkgMTE6MzE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4My8xMzRdIHZwOGVuYzogVXNlIGRlc3Ryb3kgbm90aWZ5IHRvIGZyZWUgdGhlIGNvZGVyIGhvb2sKCjIwMTEtMDYtMTggMTU6NTY6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4Mi8xMzRdIHZwOGVuYzogdXBkYXRlIGZvciBuZXcgbGlidnB4IGFwaQoKMjAxMS0wNi0yNiAxNToxNTo1NCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4MS8xMzRdIHZwOGVuYzogZ2VuZXJhdGUgYSB0aW1lc3RhbXAgZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBJdCB3aWxsIGZpeCBoYW5kbGluZyBvZiBhbHRyZWYvaW52aXNpYmxlIGZyYW1lcyBzaW5jZSBtYXRyb3NrYS1tdXgKCSAgZHJvcCBhbnkgZnJhbSB3aXRoIG5vIHRpbWVzdGFtcC4KCSAgc2VlIGFsc286CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvc3BlY3MvY29udGFpbmVyLwoJICBUaGUgZW5jb2RlciB3aWxsIGN1cnJlbnRseSBzZXQgdGhlIEFSJ3MgdGltZXN0YW1wIGFzIGNsb3NlIGFzIHBvc3NpYmxlCgkgIHRvIHRoZSBwcmV2aW91cyBmcmFtZSB3aGlsZSBhdHRlbXB0aW5nIHRvIHByb3ZpZGUgYSB0aW1lc3RhbXAgdGhhdCBpcwoJICBzdHJpY3RseSBpbmNyZWFzaW5nLiBJbiBjYXNlcyB3aGVyZSB0aGUgdGltZSBiYXNlIGdpdmVuIHRvIHRoZSBlbmNvZGVyCgkgIGF0IGNvbmZpZ3VyZSB0aW1lIGlzIG5vdCBncmFudWxhciBlbm91Z2ggdG8gYWxsb3cgZm9yIHRoaXMgdGhlIEFSCgkgIHdpbGwgc2hhcmUgdGhlIHNhbWUgdGltZXN0YW1wIGFzIEQsIGJ1dCBzaG91bGQgYmUKCSAgdHJlYXRlZCBhcyBoYXZpbmcgbm8gZHVyYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjUyOTUxCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDYtMTggMTc6NDc6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODAvMTM0XSB2cDhkZWM6IGFkZCBjaGVjayBpZiB3ZSBoYXZlIGxlZ2FsIGFzcGVjdC1yYXRpbyBiZWZvcmUgcmVzZXQgaXQuCgkgIHRoZSBjb21taXQgZjliNTUyZjA0OTRlICh2cDhkZWM6IHNldCBwYXIgdG8gMS8xKQoJICB3aWxsIGZpeCBzaXR1YXRpb24gd2hlcmUgbm8gYXNwZWN0LXJhdGlvIGlzIHNldCwgYnV0IGl0IGJyYWtlCgkgIHN0cmVhbSB3aXRoIGF2YWlsYWJsZSBhc3BlY3QtcmF0aW8uIFRoaXMgcGF0Y2ggZml4IGl0LgoJICBGaXhlczogIzY1MjkwMi4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0wMyAxOTozNjo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc5LzEzNF0gdnA4ZGVjOiBzZXQgcGFyIHRvIDEvMQoKMjAxMS0wNS0xOCAxMzoyNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc4LzEzNF0gdnA4ZW5jOiBOYW1lIG1heC9taW4gcXVhbnRpemVyIHByb3BlcnRpZXMge21heCxtaW59LXF1YW50aXplcgoJICBBbHNvIGltcHJvdmUgcXVhbGl0eSBwcm9wZXJ0eSBkZXNjcmlwdGlvbi4KCjIwMTEtMDUtMTggMTM6MjY6MjMgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzcvMTM0XSB2cDhlbmM6IEFkZCBwcm9wZXJ0aWVzIHRvIHNlbGVjdCBhIG1heGltdW0gYW5kIG1pbmltdW0gcXVhbnRpemVyCgkgIEZpeGVzIGJ1ZyAjNjQxNDA1LgoKMjAxMS0wNS0xOCAxMzoxODo1OCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3Ni8xMzRdIHZwOGVuYzogRml4IHF1YWxpdHkgdG8gKGNvbnN0YW50KSBxdWFudGl6ZXIgbWFwcGluZwoJICBUaGlzIG5vdyBhbGxvd3MgdG8gc2VsZWN0IGFsbCBwb3NzaWJsZSBxdWFudGl6ZXJzIGJldHdlZW4KCSAgMCBhbmQgNjMuCgkgIFNlZSBidWcgIzY0MTQwNS4KCjIwMTEtMDQtMDEgMjI6MTM6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3NS8xMzRdIHZwOGRlYzogZGVidWcgY29kZSBzdHlsZSBmaXhlcwoKMjAxMS0wNC0wMSAyMjoxMzowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc0LzEzNF0gdnA4ZGVjOiBwcm9wYWdhdGUgZG93bnN0cmVhbSBmbG93IHJldHVybiB0byB1cHN0cmVhbQoKMjAxMS0wMy0zMCAxMDoxODoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDczLzEzNF0gYmFzZXZpZGVvZGVjb2RlcjogcmVhbGx5IGFuZCBvbmx5IHNldCBzcmMgcGFkIGNhcHMgd2hlbmV2ZXIgcmVxdWVzdGVkCgkgIC4uLiBzaW5jZSBzdWJjbGFzcyBpcyBleHBlY3RlZCB0byBiZSB3aXNlIGVub3VnaCB0byBrbm93IHdoZW4gdG8gZG8gc28uCgoyMDExLTAzLTI5IDEwOjQxOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzIvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBpbnZva2Ugc3ViY2xhc3Mgc3RhcnQgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSBhbmQgdXNlIHNldF9mb3JtYXQKCSAgV2hpbGUgdGhpcyBjaGFuZ2VzIEFQSSBzbGlnaHRseSAoZS5nLiBhY3R1YWxseSB1c2VzIHNldF9mb3JtYXQgbm93KSwgd2hpY2ggaXMgT0sKCSAgZm9yIHVuc3RhYmxlIEFQSSwgaXQgaGFzIGZvbGxvd2luZyBtZXJpdHM6CgkgICogc3ltbWV0cmljIHcuci50LiBzdG9wIGF0IHN0YXRlIGNoYW5nZQoJICAqIGluIGxpbmUgd2l0aCBvdGhlciBiYXNlIGNsYXNzIHByYWN0aWNlCgkgICogb3RoZXJ3aXNlIG5vIHN1YmNsYXNzIG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UgKGdsb2JhbCBhY3RpdmF0aW9uIHRpbWUpCgkgIE1vcmVvdmVyLCBzdWJjbGFzc2VzZSBhcmUgZWl0aGVyIHVuYWZmZWN0ZWQgb3IgdHJpdmlhbGx5IGFkanVzdGVkIGFjY29yZGluZ2x5LgoKMjAxMS0wMy0yOCAwODo1OToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDcxLzEzNF0gYmFzZXZpZGVvZGVjb2Rlcjogc3Vic3VtZSBza2lwX2ZyYW1lIGludG8gZmluaXNoX2ZyYW1lCgoyMDExLTAzLTI0IDE0OjEwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzAvMTM0XSBiYXNldmlkZW9lbmNvZGVyOiBwcm92aWRlIHByb3BlciB1cHN0cmVhbSBmbG93IHJldHVybiBoYW5kbGluZwoKMjAxMS0wMy0yNCAxMzo1OTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY5LzEzNF0gdnA4ZW5jOiBtaW5vciBvcHRpbWl6YXRpb24gaW4gc2V0dGluZyB1cCBpbWFnZSBidWZmZXIKCjIwMTEtMDMtMjQgMTI6NTA6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2OC8xMzRdIHZwOGVuYzogcmVmYWN0b3IgZnJhbWUgcHJvY2Vzc2luZwoKMjAxMS0wMy0yNCAxMTo1NTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY3LzEzNF0gdnA4ZW5jOiBkbyBpbml0IGF0IHNldF9mb3JtYXQgdGltZQoKMjAxMS0wMy0yNCAxMDoxNTo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY2LzEzNF0gdnA4ZW5jOiBmaXgga2V5ZnJhbWUgZm9yY2luZwoKMjAxMS0wMy0yMyAwOTo0NToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY1LzEzNF0gYmFzZXZpZGVvY29kZWM6IHJlbW92ZSByZWR1bmRhbnQgY2FwcyBmaWVsZAoJICAuLi4gYXMgaXQgaXMgYWxyZWFkeSBhdCBoYW5kIGFzIHRoZSBzcmMgcGFkJ3MgbmVnb3RpYXRlZCBjYXBzLgoKMjAxMS0wMy0yMyAwODo1MDozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY0LzEzNF0gdnA4ZW5jOiB1c2UgYmFzZWNsYXNzIGV2ZW50IHZpcnR1YWwgaGFuZGxlcgoKMjAxMS0wMi0yMCAxNDoxNjoxOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYzLzEzNF0gYmFzZXZpZGVvOiBtZXJnZSB1dGlscyBoZWFkZXIgaW50byBiYXNldmlkZW9jb2RlYwoKMjAxMS0wMy0xNyAxNjozNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYyLzEzNF0gdnA4OiBmaXggTElCQUREIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAyLTA0IDA5OjA4OjI2ICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYxLzEzNF0gdnA4ZW5jOiBBZGQgZGVzY3JpcHRpb24gZm9yIGJpdHJhdGUgdW5pdHMuCgoyMDEwLTExLTMwIDE4OjQzOjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjAvMTM0XSB2cDhlbmM6IFJlYWRkIHNldHRpbmcgb2YgZ3JhbnVsZXBvcwoJICBSZXZlcnQgcGFydHMgb2YgbGFzdCBwYXRjaCB0aGF0IHJlbW92ZWQgc2V0dGluZyBvZiBncmFudWxlcG9zLgoJICBvZ2dtdXggc3RpbGwgcmVxdWlyZXMgY29ycmVjdCBncmFudWxlcG9zIGluIGluY29taW5nIHBhY2tldC4KCjIwMTAtMTEtMjkgMjA6MjE6MzEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1OS8xMzRdIHZwOGVuYzogRG9uJ3Qgb3ZlcnJpZGUgdGltZXN0YW1wcyBzZXQgYnkgYmFzZSBjbGFzcwoJICBCZWNhdXNlIHRoZSBiYXNlIGNsYXNzIGRvZXMgaXQgY29ycmVjdGx5LgoJICBGaXhlczogIzYzNTcyMCwgIzYyNTU1OC4KCjIwMTAtMTEtMjUgMTg6NTI6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU4LzEzNF0gdnA4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMC0wOSAxNzozNjowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU3LzEzNF0gYmFzZXZpZGVvOiBNb3ZlIGNvbW1vbiBmaWVsZHMvZnVuY3Rpb25zIHRvIGJhc2Vjb2RlYwoKMjAxMC0wOS0xOCAxNzoyODo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU2LzEzNF0gYmFzZXZpZGVvOiBNb3ZlIGRlYWRsaW5lIHRvIGZyYW1lIHN0cnVjdHVyZQoKMjAxMC0wOC0xMyAxNDozNDoyMSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTUvMTM0XSB2cDhkZWM6IFNldCBHc3RCYXNlVmlkZW9EZWNvZGVyOjpwYWNrZXRpemVkIHRvIFRSVUUgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBUaGlzIGZpeGVzIGFuIGluZmluaXRlIGxvb3AgaWYgYW4gRU9TIGV2ZW50IGlzIHJlY2VpdmVkIGJlZm9yZQoJICBHc3RCYXNlVmlkZW9EZWNvZGVyOjpzdGFydCgpIGlzIGNhbGxlZCwgZS5nLiBpbW1lZGlhdGVseSB3aGVuIHRoZQoJICBwYWRzIGFyZSBhY3RpdmF0ZWQuCgkgIEZpeGVzIGJ1ZyAjNjI2ODE1LgoKMjAxMC0wNy0xMCAxNjo1MjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU0LzEzNF0gdnA4ZW5jOiBBZGQgc3VwcG9ydCBmb3IgZW5hYmxpbmcgYXV0b21hdGljIGluc2VydGlvbiBvZiBhbHQtcmVmIGZyYW1lcyBieSB0aGUgZW5jb2RlcgoKMjAxMC0wNy0xMCAxNjo1MTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUzLzEzNF0gdnA4ZW5jOiBGaXggaGFuZGxpbmcgb2YgaW52aXNpYmxlL2FsdCByZWYgZnJhbWVzCgoyMDEwLTA3LTAzIDE3OjQ3OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTIvMTM0XSB2cDg6IEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24sIGJhc2VkIG9uIHRoZSB0aGVvcmFkZWMvdGhlb3JhZW5jIGRvY3VtZW50YXRpb24KCjIwMTAtMDctMDMgMTc6MzQ6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDA1MS8xMzRdIHZwODogTW92ZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbnMsIGV0YyB0byBwdWJsaWMgaGVhZGVyIGZpbGVzIGZvciBndGstZG9jCgoyMDEwLTA2LTEyIDA5OjAyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTAvMTM0XSB2cDhlbmM6IEltcGxlbWVudCBtdWx0aXBhc3MgZW5jb2RpbmcKCSAgRml4ZXMgYnVnICM2MjEzNDguCgoyMDEwLTA2LTE0IDE1OjU2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDkvMTM0XSB2cDhlbmM6IFNldCBWUDhFX1NFVF9DUFVVU0VEIHRvIDAKCSAgVGhpcyBzZXR0aW5nIGNvbnRyb2xzIGhvdyBtdWNoIENQVSBjYW4gYmUgdXNlZCBieSB0aGUgZW5jb2Rlciwgc3BlY2lmaWVkCgkgIGluIGZyYWN0aW9ucyBvZiAxNi4gTmVnYXRpdmUgdmFsdWVzIG1lYW4gc3RyaWN0IGVuZm9yY2VtZW50IG9mIHRoaXMKCSAgd2hpbGUgcG9zaXRpdmUgdmFsdWVzIGFyZSBhZGFwdGl2ZS4KCSAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgLTQsIHdoaWNoIG1lYW5zIHRoYXQgd2UncmUgbm90IHJ1bm5pbmcgYXMgZmFzdAoJICBhcyBwb3NzaWJsZSBhbmQgcHJvYmFibHkgYXJlIHdhc3Rpbmcgc29tZSBxdWFsaXR5LiAwIGlzIHRoZSByZWNvbW1lbmRlZAoJICBkZWZhdWx0IGJ5IGxpYnZweCB1cHN0cmVhbS4KCjIwMTAtMDYtMTQgMTU6NTE6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0OC8xMzRdIHZwOGVuYzogVXNlIFZQWCBkZWZpbmVzIGZvciBSRUFMVElNRSwgR09PRC9CRVNUIHF1YWxpdHkgZGVhZGxpbmVzIGluc3RlYWQgb2Ygb3VyIG93bgoJICBUaGVzZSBhcmUgdGhlIHZhbHVlcyB1c2VkIGZvciB0aGUgc3BlZWQgcHJvcGVydHkuCgoyMDEwLTA2LTAzIDEwOjQ5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDcvMTM0XSB2cDhlbmM6IGZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmcgaW4gbG9nIG1lc3NhZ2UKCSAgZ3N0dnA4ZW5jLmM6NTY0OiBlcnJvcjogZm9ybWF0IOKAmCVk4oCZIGV4cGVjdHMgdHlwZSDigJhpbnTigJksIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlIOKAmHNpemVfdOKAmQoJICBnc3R2cDhlbmMuYzo3NDQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgoyMDA5LTA3LTAzIDE2OjA4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDYvMTM0XSBiYXNldmlkZW8sIHZwODogZ3VhcmQgdW5zdGFibGUgQVBJIHdpdGggR1NUX1VTRV9VTlNUQUJMRV9BUEkKCSAgQWRkIHNvbWUgZ3VhcmRzIGFuZCBmYXQgd2FybmluZ3MgdG8gdGhlIGhlYWRlciBmaWxlcyB3aXRoIHN0aWxsIHVuc3RhYmxlCgkgIEFQSSwgc28gcGVvcGxlIHdobyBqdXN0IGxvb2sgYXQgdGhlIGluc3RhbGxlZCBoZWFkZXJzIGtub3cgdGhhdCBpdAoJICBhY3R1YWxseSBpcyB1bnN0YWJsZSBBUEkuCgkgIE1lcmdpbmcgcHJldmlvdXMgY29tbWl0IGludG8gY3VycmVudCBjb2RlYmFzZS4KCjIwMTAtMDYtMDEgMTU6NTQ6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ1LzEzNF0gYmFzZXZpZGVvOiBNb3ZlIGJhc2UgdmlkZW8gZnJvbSB2cDggdG8gZ3N0LWxpYnMKCjIwMTAtMDUtMjYgMDY6NTI6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ0LzEzNF0gdnA4OiBVc2UgVlBYX1BMQU5FXyogaW5zdGVhZCBvZiBQTEFORV8qCgoyMDEwLTA1LTI0IDExOjA0OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA0My8xMzRdIHZwODogQWRkIGNvbXBhdGlsaWJpdHkgZGVmaW5lcyB0byB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgbGlidnB4IHRvbwoKMjAxMC0wNS0yMyAwOToyODoxMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDIvMTM0XSB2cDhkZWM6IHMvSU1HX0ZNVF9JNDIwL1ZQWF9JTUdfRk1UX0k0MjAvCgkgIFRoaXMgY29ycmVzcG9uZHMgdG8gdXBzdHJlYW0gbGlidnB4IGNvbW1pdCA2Y2Q0YTEwZTE2NzIwM2QxZGViNzlhYmY2MGVlNzI1OTllOTc4OTFiCgoyMDEwLTA1LTIyIDEyOjU1OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDEvMTM0XSB2cDhlbmM6IEFsbG93IGEgbWF4aW11bSBrZXlmcmFtZSBkaXN0YW5jZSBvZiAwLCBpLmUuIGFsbCBmcmFtZXMgYXJlIGtleWZyYW1lcwoKMjAxMC0wNS0yMiAwODo0NTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQwLzEzNF0gdnA4ZGVjOiBTZXQgZGVjb2RlciBkZWFkbGluZSBmcm9tIHRoZSBRb1MgaW5mb3JtYXRpb24KCjIwMTAtMDUtMjggMTY6MzU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzOS8xMzRdIHZwOGVuYzogTW92ZSBkZWJ1ZyBvdXRwdXQgb25lIGxpbmUgYWJvdmUgd2hlcmUgdGhlIHBhY2tldCBpcyBzdGlsbCB2YWxpZAoKMjAxMC0wNS0yOCAxNTo1MzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM4LzEzNF0gdnA4ZW5jOiBDb3JyZWN0bHkgaWdub3JlIG5vbi1mcmFtZSBwYWNrZXRzIGZyb20gdGhlIGVuY29kZXIKCSAgRml4ZXMgYnVnICM2MTk5MTYuCgoyMDEwLTA1LTIyIDA3OjQ0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzNy8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IFRha2UgdGhlIGZyYW1lIGR1cmF0aW9uIGludG8gYWNjb3VudCB3aGVuIGNhbGN1bGF0aW5nIHRoZSBlYXJsaWVzdCB0aW1lCgkgIFRoaXMgZm9ybXVsYSBpcyB1c2VkIGluIG1hbnkgb3RoZXIgZWxlbWVudHMgdG9vLgoJICBGaXhlcyBidWcgIzYxOTMxOC4KCjIwMTAtMDUtMjIgMDc6MzU6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM2LzEzNF0gYmFzZXZpZGVvZGVjb2RlcjogUmVzZXQgUW9TIHZhbHVlcyB3aGVuIG5lY2Vzc2FyeQoKMjAxMC0wNS0yMiAwOTozNToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM1LzEzNF0gdnA4ZW5jOiBVc2UgR1NUX1ZJREVPX0NBUFNfWVVWKEk0MjApIGluc3RlYWQgb2YgaGFuZHdyaXR0ZW4gSTQyMCBjYXBzIGZvciB0aGUgcGFkIHRlbXBsYXRlCgkgIEZpeGVzIGJ1ZyAjNjE5MzQ0LgoKMjAxMC0wNS0yMSAyMDo1MzozNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM0LzEzNF0gdnA4ZGVjOiBkcm9wIGxhdGUgZnJhbWVzIGFmdGVyIGRlY29kaW5nIHRoZW0KCSAgVGhpcyBzYXZlcyBhIG1lbWNweSwgd2hpY2ggaXMgYWx3YXlzIHNvbWV0aGluZy4KCjIwMTAtMDUtMjEgMjE6Mjg6MjkgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMzLzEzNF0gdnA4ZW5jOiB0aHJlYWRzIHByb3BlcnR5CgkgIEluY3JlYXNpbmcgZnJvbSAxIHRvIDIgdGhyZWFkcyBvbiBhbiBUaGlua3BhZCBYNjBzIGRlY3JlYXNlZCBlbmNvZGUgdGltZQoJICBpbiBhIHRlc3QgZnJvbSB+MjQgcyB0byB+MTkgcywgc28gdGhpcyBpcyBxdWl0ZSB1c2VmdWwuCgkgIElkZWFsbHkgd2Ugc2hvdWxkIGxldCAwIGJlIHRoZSBkZWZhdWx0IGFuZCBhdXRvbWF0aWNhbGx5IG1hdGNoIHRoZSBudW1iZXIKCSAgb2YgQ1BVIGNvcmVzIChvciBzb21ldGhpbmcpLgoKMjAxMC0wNS0yMSAxNToxNzo0NiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzIvMTM0XSB2cDhlbmM6IGFkZCBtb2RlIHByb3BlcnR5IHRvIHN3aXRjaCBiZXR3ZWVuIENCUi9WQlIKCSAgQWx3YXlzIHVzaW5nIENCUiB3aGVuIGJpdHJhdGUgaXMgdXNlZCBpc24ndCB0aGF0IGdyZWF0LCBWQlIgbW9kZQoJICBjYW4gcHJvZHVjZSBtZWFuaW5nZnVsIHJlc3VsdHMgdG9vLgoKMjAxMC0wNS0yMSAxMDo1NDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMxLzEzNF0gdnA4ZGVjOiBPbmx5IGVuYWJsZSBwb3N0cHJvY2Vzc2luZyBpZiB0aGUgZGVjb2RlciBzdXBwb3J0cyBpdAoKMjAxMC0wNS0yMSAwODoyMzo1OCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzAvMTM0XSB2cDg6IHR5cG86IHMvSEFWRV9WUDhfREVDT0RFUi9IQVZFX1ZQOF9FTkNPREVSLwoJICBGaXh1cCBmb3IgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIxIDA4OjEzOjA2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyOS8xMzRdIHZwODogbW92ZSAjaWZkZWYgSEFWRV9WUDhfRU5DT0RFUi9ERUNPREVSCgkgIE90aGVyd2lzZSB3ZSdsbCB0cnkgaW5jbHVkaW5nIGUuZy4gPHZweC92cDhjeC5oPiB3aGljaCBkb2Vzbid0IGV4aXN0LgoKMjAxMC0wNS0yMCAyMDowNjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI4LzEzNF0gdnA4ZW5jOiBXcml0ZSBHU3RyZWFtZXIgZWxlbWVudCBhbmQgdmVyc2lvbiBpbiB0aGUgdm9yYmlzY29tbWVudCB2ZW5kb3Igc3RyaW5nCgoyMDEwLTA1LTIwIDE2OjQ5OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjcvMTM0XSB2cDg6IE9ubHkgZW5hYmxlIHRoZSBlbmNvZGVyIG9yIGRlY29kZXIgaWYgaXQncyBhdmFpbGFibGUgaW4gbGlidnB4CgkgIEZpeGVzIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMCAxMDoxOTo1NCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjYvMTM0XSB2cDg6IGV4bGN1ZGUgZGVjL2VuYyBiYXNlZCBvbiBDT05GSUdfVlA4X0RFQ09ERVIvRU5DT0RFUgoJICBUaGlzIG1heSBub3QgYmUgdmVyeSBhdXRvdG9vbGlzaCwgYnV0IHdvcmtzIHdpdGggbGlidnB4IGluIHRoZSBzdGF0ZQoJICB0aGF0IGxpYnZweCBpcyBhY3R1YWxseSBpbi4gTW92ZWQgdGhlIGRlYnVnIGluaXQgdG8gdGhlIGVsZW1lbnRzCgkgIHRoZW1zZWx2ZXMgdG8gbWluaW1pemUgYW1vdW50IG9mICNpZmRlZnMKCjIwMTAtMDUtMjAgMDk6MjQ6NTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI1LzEzNF0gdnA4ZW5jOiBMaW1pdCBtYXgtbGF0ZW5jeSB0byAyNSB0byBtYXRjaCBsaWJ2cHgKCSAgRnJvbSBsaWJ2cHgvdnA4L2VuY29kZXIvb255eF9pbnQuaDoKCSAgI2RlZmluZSBNQVhfTEFHX0JVRkZFUlMgKENPTkZJR19SRUFMVElNRV9PTkxZPyAxIDogMjUpCgkgIFdoaWxlIHdlIGRvbid0IG5lZWQgdG8gYmUgdGllZCB0byB3aGF0IGxpYnZweCBkb2VzIGludGVybmFsbHksIGl0CgkgIGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBwcmV0ZW5kIHRvIHN1cHBvcnQgbG9uZ2VyIGZyYW1lIGxhZ3MgdGhhbiBhcmUKCSAgYWN0dWFsbHkgcG9zc2libGUuCgoyMDEwLTA1LTIwIDA5OjU2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNC8xMzRdIHZwODogVW5kZWYgSEFWRV9DT05GSUdfSCBiZWZvcmUgaW5jbHVkaW5nIGxpYnZweCBoZWFkZXJzCgkgIEEgcHVibGljIGxpYnZweCBoZWFkZXIgaW5jbHVkZXMgcHJpdmF0ZSBoZWFkZXJzIGlmIHRoaXMgaXMKCSAgZGVmaW5lZCwgY2F1c2luZyBjb21waWxhdGlvbiBmYWlsdXJlcyBiZWNhdXNlIHRoZSBwcml2YXRlIGhlYWRlcnMKCSAgYXJlIG5vdCBpbnN0YWxsZWQgb2YgY291cnNlLgoKMjAxMC0wNS0yMCAwODo1MzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIzLzEzNF0gdnA4ZW5jOiBTb21lIG1vcmUgbWlub3IgYWRqdXN0bWVudHMgZm9yIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xOSAyMzowMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIyLzEzNF0gdnA4ZGVjOiBGaXggbWVtb3J5IGxlYWsKCjIwMTAtMDUtMTkgMjE6MzQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyMS8xMzRdIHZwOGVuYzogQWRqdXN0IE9nZyBtYXBwaW5nIGZvciB0aGUgY2hhbmdlcwoKMjAxMC0wNS0xOSAxODoxMjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIwLzEzNF0gdnA4ZGVjOiBBZGQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBWUDggZGVjb2RlciBwb3N0IHByb2Nlc3NpbmcgZmVhdHVyZQoJICBUaGlzIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgZm9yIG5vdy4KCjIwMTAtMDUtMTkgMTc6MTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxOS8xMzRdIHZwOGVuYzogUmVuYW1lIGtleWZyYW1lLWludGVydmFsIHRvIG1heC1rZXlmcmFtZS1kaXN0YW5jZQoJICBBbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGJ1ZmZlciBzaXplcyB1bnRpbCB3ZSBleHBvc2UgdGhpcwoJICBzb21laG93LgoKMjAxMC0wNS0xOSAxNzoxMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgW01PVkVEIEZST00gQkFEIDAxOC8xMzRdIHZwODogSW1wcm92ZSBlcnJvciBoYW5kbGluZyBhbmQgZGVidWcgb3V0cHV0CgoyMDEwLTA1LTE5IDE0OjQ2OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTcvMTM0XSB2cDg6IFVzZSBjb3JyZWN0IHN0cmlkZXMgYW5kIHBsYW5lIG9mZnNldHMgZm9yIEdTdHJlYW1lcgoKMjAxMC0wNS0xOCAxNDo0Nzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE2LzEzNF0gdnA4ZW5jOiBJbXBsZW1lbnQgR3N0VGFnU2V0dGVyIGludGVyZmFjZQoKMjAxMC0wNS0xOCAxNDozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE1LzEzNF0gdnA4ZW5jOiBGaXggc2V0dGluZyBvZiB0aGUga2V5ZnJhbWUgZmxhZyBvbiBlbmNvZGVkIGZyYW1lcwoKMjAxMC0wNS0xOCAxNDozMDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE0LzEzNF0gdnA4ZW5jOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBlbmNvZGVyIGluaXRpYWxpemF0aW9uIGZhaWxzCgoyMDEwLTA1LTE4IDE0OjI4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTMvMTM0XSB2cDhkZWM6IEZpeCBtZW1vcnkgbGVha3MgYW5kIGZhaWwgaWYgaW5pdGlhbGl6aW5nIHRoZSBkZWNvZGVyIGZhaWxzCgoyMDEwLTA1LTE4IDAyOjQ0OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTIvMTM0XSB2cDhlbmM6IFNldCB0aW1lYmFzZQoJICBBbHNvIG1pc2MgY2xlYW51cC4KCjIwMTAtMDUtMTYgMTA6MzY6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMS8xMzRdIHZwOGRlYzogRml4IGRlY29kaW5nIG9mIGludmlzaWJsZSBmcmFtZXMKCjIwMTAtMDUtMTQgMTQ6MjY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMC8xMzRdIHZwOGVuYzogVXBkYXRlIHRoZSBsYXRlbmN5IHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTE0IDE0OjAyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDkvMTM0XSB2cDhkZWM6IENvcnJlY3RseSBpbml0aWFsaXplIHN0cmVhbSBpbmZvIGJlZm9yZSBwZWVraW5nIGF0IHRoZSBzdHJlYW0KCSAgT3RoZXJ3aXNlIHBlZWtpbmcgd2lsbCBmYWlsIGFuZCB3ZSdsbCBnZXQgaW52YWxpZCB2YWx1ZXMKCjIwMTAtMDUtMTQgMTE6MDE6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwOC8xMzRdIHZwOGRlYzogTWFrZSBzdXJlIHRvIHBhc3MgYSBrZXlmcmFtZSBhcyBmaXJzdCBmcmFtZSB0byB0aGUgZGVjb2RlciwgY29weSBvdXRwdXQgZnJhbWVzIG9ubHkgb25jZSBhbmQgcmVxdWlyZSB3aWR0aC9oZWlnaHQvZXRjIG9uIHRoZSBpbnB1dCBjYXBzCgoyMDEwLTA1LTE0IDEwOjMwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDcvMTM0XSB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBpbnZpc2libGUgZnJhbWVzIGFuZCB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTQgMDE6MTQ6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwNi8xMzRdIHZwOGRlYzogRml4IHJlc2V0IGFmdGVyIHNlZWtpbmcKCSAgQWxzbyByZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCjIwMTAtMDUtMTMgMjE6MTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwNS8xMzRdIHZwOGVuYzogU2V0IGZyYW1lIG51bWJlcnMgYXMgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDUtMTMgMjE6MTg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwNC8xMzRdIHZwOGVuYzogQWx3YXlzIGdldCBhcyBtYW55IGZyYW1lcyBhcyBwb3NzaWJsZSBmcm9tIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTEzIDIxOjA4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDMvMTM0XSB2cDhlbmM6IEZpbGwgdGhlIG9sZGVzdCBwZW5kaW5nIGZyYW1lIGluc3RlYWQgb2YgdGhlIG5ld2VzdAoKMjAxMC0wNS0xMyAyMDoyMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDAyLzEzNF0gdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IGRlbHRhIHVuaXQgZmxhZyBmb3Igbm9uLWtleWZyYW1lcwoKMjAxMC0wNS0xMyAwMTowNDowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDEvMTM0XSB2cDg6IEFkZCBlbmNvZGVyL2RlY29kZXIKCjIwMTItMDktMTUgMjI6MTY6NTIgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIEYxOCBuYW1lIGNoYW5nZSBhbmQgYWRkIGRlaW50ZXJsYWNlcgoKMjAxMi0wOS0xNSAxOTowNjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICB1c2UgZ3N0X2VsZW1lbnRfZmFjdG9yeV9nZXRfbWV0YWRhdGEgdG8gcmVwbGFjZSBvYnNvbGV0ZSBBUEkKCjIwMTItMDktMTQgMTc6NTU6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICByZXBsYWNlIF9nZXRfY2Fwc19yZWZmZWQgd2l0aCBfZ2V0X2NhcHMKCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTc6MDc6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA5LTE0IDEzOjMwOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3AtQVRTLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICBmaXggbW9yZSBjYXBzCgoyMDEyLTA5LTE0IDAyOjU3OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjk0ID09PQoKMjAxMi0wOS0xNCAwMjo0ODo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjk0CgoyMDEyLTA5LTE0IDAxOjUwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEyLTA5LTE0IDAxOjQ2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMi0wOS0xNCAwMDo0NzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSAgdGVzdHM6IHB1c2ggc3RyZWFtLXN0YXJ0IGFuZCBzZWdtZW50IGV2ZW50cyBpbiB3YXZwYWNrZW5jIHRlc3QKCjIwMTItMDktMTMgMTA6NTY6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIHByb3BlcnRpZXMKCjIwMTItMDktMTMgMTA6MTU6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGRpc2FibGUgcmVjb25maWd1cmUKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM5MDIKCjIwMTItMDktMTAgMjI6MDk6NTkgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRG9uJ3QgdHJlYXQgZXZlcnkgY3VzdG9tLWRvd25zdHJlYW0gZXZlbnQgYXMgRU9TCgkgIERvbid0IGZhbGwgdGhyb3VnaCB0byB0aGUgRU9TIGhhbmRsaW5nIGFmdGVyIHJlY2VpdmluZyBhCgkgIGN1c3RvbS1kb3duc3RyZWFtIGV2ZW50LgoKMjAxMi0wOS0xMiAyMTowNTo0NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgY29sbGVjdHBhZHM6IHJlbW92ZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbAoJICBSZW5hbWUgZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkX2Z1bGwoKSB0byBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWQoKSBhbmQgZml4IGFsbAoJICBpbnZvY2F0aW9ucy4KCjIwMTItMDktMTIgMTc6MTQ6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBhZGQgaW5jbHVkZSBmb3IgSVBQUk9UT18qCgoyMDEyLTA5LTEyIDE2OjM5OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogcHJvcGVybHkgbWF0Y2ggYnJhY2VzIGFuZCBjcHAgZGlyZWN0aXZlcwoJICBGaXhlcyBjb21waWxhdGlvbiB3aGVyZSBJUFY2X1RDTEFTUyBub3QgZGVmaW5lZC4KCjIwMTItMDktMTIgMTQ6NDI6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBVc2UgZGVmYXVsdCBxdWVyeSBoYW5kbGVyIHdoZXJlIG5lZWRlZAoJICBBbmQgY2xlYW4gdXAgZ2V0X2NhcHMgY29kZSB3aGlsZSBJJ20gYXQgaXQKCjIwMTItMDktMTIgMTM6Mjg6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGltcHJvdmUgZnJhbWVyYXRlIHRyYW5zZm9ybQoJICBIYW5kbGUgR19NQVhJTlQgaW4gdGhlIGZyYW1lcmF0ZXMgYmV0dGVyLiBJZiB3ZSBjYW5ub3QgZG91YmxlIG9yIGRpdmlkZSB0aGUKCSAgZnJhbWVyYXRlLCBjbGFtcCB0byB0aGUgc21hbGxlc3QvbGFyZ2VzdCBwb3NzaWJsZSB2YWx1ZSB3ZSBjYW4gZXhwcmVzcyBpbnN0ZWFkCgkgIG9mIGZhaWxpbmcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NjEKCjIwMTItMDktMTIgMTM6MTc6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNtYWxsIGNsZWFudXAKCjIwMTItMDktMDcgMTc6MjA6NTcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogQWRkaW5nIG52MTIgYW5kIG52MjEgc3VwcG9ydAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODQxCgoyMDEyLTA5LTEyIDEwOjE4OjUzICswMjAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgcHJvcmVzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4MzkKCjIwMTItMDktMTIgMDA6MTY6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBmaXggbW9zdCBvZiB0aGUgcmdhbmFseXNpcyB1bml0IHRlc3RzCgkgIEJlZm9yZSB0aGUgZWxlbWVudCB3b3VsZCBwb3N0IG1lc3NhZ2VzIG9uIHRoZSBidXMgaXRzZWxmLCBub3cKCSAgdGhlIHNpbmtzIGRvIHRoYXQgYmFzZWQgb24gdGhlIHRhZyBldmVudHMgdGhleSByZWNlaXZlLiBCdXQKCSAgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBwcm9wZXIgc2luayBlbGVtZW50cyBpbiB0aGVzZSB1bml0IHRlc3RzLAoJICBidXQganVzdCBkYW5nbGluZyBwYWRzLCB3ZSBoYXZlIHRvIHBvc3QgdGhlIHRhZyBtZXNzYWdlcyB0aGUKCSAgdGVzdCBjaGVja3MgZm9yIG91cnNlbHZlcy4KCSAgRG93biBmcm9tIDUyLzU1IGZhaWxpbmcgdG8gNy81MiBmYWlsaW5nLgoKMjAxMi0wOS0xMSAxNzozNjo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBleHQsIGdzdDogb25seSBhY3RpdmF0ZSBpbiBwdWxsIG1vZGUgaWYgdXBzdHJlYW0gaXMgc2Vla2FibGUKCjIwMTItMDktMTEgMTU6Mzg6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGRpc2FibGUgcmVuZWdvdGlhdGlvbgoJICBXZSBjYW4ndCB5ZXQgd2FpdCBmb3IgdGhlIGJ1ZmZlcnBvb2wgdG8gRFJBSU4gYmVmb3JlIHN0YXJ0aW5nIHJlbmVnb3RpYXRpb24gc28KCSAgZGlzYWJsZSBpdCBmb3Igbm93LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzcwCgoyMDEyLTA5LTExIDEyOjQ4OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogcnRwYmluOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDEyOjM2OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTE6NTk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgcmVzZXQgc2VnbWVudAoJICBEb24ndCByZXNldCB0aGUgc2VnbWVudCBiZWNhdXNlIHdlIG5lZWQgdGhlIHZhbHVlcyBmb3IgYWNjdW11bGF0aW9uLiB0aGUgc2VnbWVudAoJICBpcyByZXNldCBhdCBzdGFydCBhbmQgYWZ0ZXIgYSBmbHVzaGluZyBzZWVrLiBGaXhlcyBzb21lIHByb2JsZW1zIHdpdGggZmlsZXMgd2l0aAoJICBxdWlja3RpbWUgc2VnbWVudHMuCgoyMDEyLTA5LTEwIDE3OjE0OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgdGVzdHM6IGZpeCBpZDNkZW11eCB0ZXN0CgoyMDEyLTA5LTEwIDE0OjMxOjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvYW1mZGVmcy5oOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgZ3N0OiBhZGp1c3QgY29tbWVudCBzdHlsZQoKMjAxMi0wOS0xMCAxNDozMDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZW1vdmUgZGVmdW5jdCBjb21tZW50ZWQgY29kZQoKMjAxMi0wOS0xMCAxMzozNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogY29uc2lkZXIgc3RyZWFtIGFsaXZlIHdoZW4gbm90IGNvbm5lY3RlZCB5ZXQKCSAgV2hlbiB3ZSBzdGFydCBhbmQgcmVuZWdvdGlhdGUsIHRoZXJlIGlzIGEgbW9tZW50IHdoZXJlIHRoZSBzdHJlYW0gaXMgY3JlYXRlZCBidXQKCSAgbm90IHlldCBjb25uZWN0ZWQuIE1ha2Ugc3VyZSBhbGwgZnVuY3Rpb25zIGRlYWwgd2l0aCB0aGlzIHNpdHVhdGlvbiBjb3JyZWN0bHkKCSAgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEyNDcKCjIwMTItMDktMTAgMTI6MTU6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGRvbid0IGZhaWwgd2hlbiBub3QgbmVnb3RpYXRlZCB5ZXQKCSAgV2hlbiBnZXRfdGltZSBpcyBjYWxsZWQgYnV0IHdlIGFyZSBub3QgeWV0IG5lZ290aWF0ZWQsIHJldHVybiAwIGluc3RlYWQgb2YKCSAgcG9zdGluZyBhbiBlcnJvci4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBiYXNlIGNsYXNzIGlzIHN0aWxsIG5lZ290aWF0aW5nIHdoZW4KCSAgb3VyIGdldF90aW1lIGlzIGNhbGxlZC4KCjIwMTItMDktMTAgMTE6MzI6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgdXBkYXRlIGZvciBhdWRpbyBiYXNlIHNyYyBhcGkgY2hhbmdlCgoyMDEyLTA5LTEwIDAwOjQyOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHZpZGVvL3gtM2l2eCBhbmQgdmlkZW8veC14dmlkIC0+IHZpZGVvL21wZWcsbXBlZ3ZlcnNpb249NAoJICBJZiBpdCBldmVyIHR1cm5zIG91dCB0aGF0IHdlIHJlYWxseSBtdXN0IHVzZSB0aG9lIHNwZWNpZmljCgkgIGZvdXJjY3MgYW5kIG5vdCB0aGUgZ2VuZXJpYyBvbmUsIHdlIGNhbiBzdGlsbCBhZGQgYSBmbGF2b3IKCSAgZmllbGQgdG8gdGhlIGNhcHMgbGF0ZXIuCgoyMDEyLTA5LTA3IDE2OjE1OjQyICswMjAwICBEYW5pZWxhIDxkYW5pZWxhLm11enp1QHNlbGV4ZWxzYWcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBsZWFrCgkgIFdoZW4gc2V0dXAgZmFpbHMsIG1ha2Ugc3VyZSB0byBjbGVhbnVwIGFmdGVyd2FyZHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM1MDkKCjIwMTItMDktMDcgMTU6MjM6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICBydHBhbXJkZXBheTogdW5tYXAgcnRwIGJ1ZmZlcgoJICAuLi4gdGhlcmVieSBwbHVnZ2luZyBhIG1lbWxlYWsuCgoyMDEyLTA5LTA3IDE0OjEzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRqdXN0IHRvIG1vZGlmaWVkIGJ1ZmZlcmxpc3Qgc2VtYW50aWNzCgkgIC4uLiBub3cgaW1wbGVtZW50ZWQgYnkgYnVmZmVyIG1lbW9yeSBibG9ja3MuCgoyMDEyLTA5LTA3IDE0OjExOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhdm9pZCBjcmFzaGluZyBvbiBOVUxMIGFjY2VzcyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEyLTA5LTA3IDE0OjExOjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IHBsdWcgY2FwcyBsZWFrCgoyMDEyLTA5LTA2IDE3OjA5OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgcmVkdW5kYW50IF9zZXRfYWxsb2NhdGlvbiBjYWxsCgoyMDEyLTA5LTA2IDE3OjA1OjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIHRlc3RzOiBkZWludGVybGFjZTogZG8gbm90IGxlYWsgZGVpbnRlcmxhY2UgcGFkcwoKMjAxMi0wOS0wNiAxNzowNDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHBsdWcgc29tZSBsZWFrcwoKMjAxMi0wOS0wNiAxNjo0OTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmV1c2UgY29yZSBmdW5jdGlvbiBmb3IgR0NECgoyMDEyLTA5LTA2IDE2OjMxOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc3VwcG9ydCBmaWx0ZXIgaW4gZ2V0Y2FwcwoKMjAxMi0wOS0wNiAxNjozMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGRvIG5vdCBsZWFrIGdldGNhcHMgcmVzdWx0CgoyMDEyLTA5LTA2IDE2OjIzOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlcnBvb2wKCSAgQWRkIGJ1ZmZlcnBvb2wgc3VwcG9ydCB0byBhdm9pZCBhIG1lbWNweSBpbiB0aGUgdmlkZW9zaW5rIHdoZW4gYWN0aXZlbHkKCSAgaW50ZXJsYWNpbmcuCgkgIFJlbW92ZSBzb21lIGNvbW1lbnRlZCBvYnNvbGV0ZSBjb2RlLgoKMjAxMi0wOS0wNiAxMzozODo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcHJveHkgYWxsb2NhdGlvbiBxdWVyeSBpbiBwYXNzdGhyb3VnaAoJICBXZSBjYW4gbGV0IHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHBhc3Mgd2hlbiB3ZSBhcmUgb3BlcmF0aW5nIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDEyLTA5LTA2IDEzOjIzOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2UgZGVmYXVsdCBldmVudCBmdW5jdGlvbnMKCSAgaW5zdGVhZCBvZiBibGluZGx5IGZvcndhcmRpbmcgdW5rbm93biBldmVudHMuCgoyMDEyLTA5LTA2IDEzOjIzOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzbWFsbCBjbGVhbnVwcwoKMjAxMi0wOS0wNiAxMjo1NjozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogY2FsbCBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXJzCgkgIENhbGwgdGhlIGRlZmF1bHQgcXVlcnkgaGFuZGxlciBpbnN0ZWFkIG9mIGZvcndhcmRpbmcgdGhlIHF1ZXJ5IGJsaW5kbHkuIEZpeGVzCgkgIGlzc3VlcyBvZiBzdHJpZGVzIGJlY2F1c2Ugb2YgcHJveHlpbmcgdGhlIGFsbG9jYXRpb24gcXVlcnkgd3JvbmdseS4KCjIwMTItMDktMDYgMTA6NDI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMTItMDktMDYgMTA6NDI6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA5LTA1IDExOjUwOjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSB1cGRhdGUgbmV3c2VnbWVudCBoYW5kbGluZyBjb2RlCgoyMDEyLTA5LTA0IDEyOjM1OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IGF2b2lkIGRlYWRsb2NrCgkgIF91cGRhdGVfcHJvcGVydGllcyB0YWtlcyB0aGUgb2JqZWN0IGxvY2sgYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIHdoZW4gdGhlCgkgIG9iamVjdCBsb2NrIGlzIGFscmVhZHkgdGFrZW4uCgoyMDEyLTA5LTAzIDEyOjQ2OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZXh0cmFjdCBpbnRlcmxhY2VkLW5lc3Mgb2YgdmlkZW8gdHJhY2sgZnJvbSBpbnRlcmxhY2UtbW9kZSBmaWVsZAoJICBpbnN0ZWFkIG9mIHRoZSBvbGQgYm9vbGVhbiAiaW50ZXJsYWNlZCIgZmllbGQuCgoyMDEyLTA5LTAzIDAyOjUxOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICB2aWRlby94LXh2aWQgLT4gdmlkZW8vbXBlZyxtcGVndmVyc2lvbj00CgoyMDEyLTA5LTAyIDAyOjUwOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIHRleHQvcGxhaW4gKyB0ZXh0L3gtcGFuZ28tbWFya3VwIC0+IHRleHQveC1yYXcKCjIwMTItMDktMDIgMDE6MzE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uIC0+IGdzdF9tZXNzYWdlX25ld19kdXJhdGlvbl9jaGFuZ2VkCgoyMDEyLTA4LTMwIDIyOjA3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhbHNvIHN0b3AgcHJvYmF0YXRpb24gb24gZXhpc3Rpbmcgc291cmNlcwoJICBSZWNlaXZpbmcgYW4gUlRDUCBwYWNrZXQgc2hvdWxkIGFsc28gc3RvcCBwcm9iYXRpb24gb24gc291cmNlcyB3ZSBoYXZlIHNlZW4KCSAgYmVmb3JlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMDY1CgoyMDEyLTA4LTIyIDE2OjM2OjIxIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRwOiBtYWtlIHJ0cCBwYWNrZXQgcHJvYmF0aW9uIGNvbmZpZ3VyYWJsZSAoYnVnICM2ODI1MTIpCgoyMDEyLTA4LTMwIDEyOjIxOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmOiBhZGp1c3QgdG8gbW9kaWZpZWQgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBBUEkKCjIwMTItMDgtMzAgMTE6MzA6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXh1cCAwLjExIHBvcnQgb2Ygc3VzcGVjdCBmcmFtZSBjaGVja2luZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyOTU5CgoyMDEyLTA4LTI4IDE4OjU2OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2b2lkIGludmFsaWQgSDI2NCBieXRlc3RyZWFtIGNvZGVjX2RhdGEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTM2OQoKMjAxMi0wOC0yOCAxOTowMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcG9ydCBzZWdtZW50IGV2ZW50IGNyZWF0aW9uIHRvIDAuMTEKCjIwMTItMDgtMjggMTY6Mjg6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbGVhc2UgZXh0cmEgZXZlbnQgcmVmIHdoZW4gcmVwbGFjaW5nIHBlbmRpbmcgbmV3c2VnbWVudCBldmVudAoKMjAxMi0wNy0wMyAxNzo1MDoyNCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGlzb21wNDogYWRkIERBU0ggdGZkdCBib3ggc3VwcG9ydAoJICBNUEVHIERBU0ggaGFzIGRlZmluZWQgYSBzZXQgb2YgbmV3IGJveGVzIHRvIHNwZWNpZnkgZHVyYXRpb24sIGluZGV4ZXMgYW5kCgkgIG9mZnNldHMgb2YgSVNPQk1GRiBmcmFnbWVudHMuCgkgIFRoZSBUcmFjayBGcmFnbWVudCBCYXNlIE1lZGlhIERlY29kZSBUaW1lICh0ZmR0KSBCb3ggY2FuIGluIHBhcnRpY3VsYXIgYmUKCSAgaW5jbHVkZWQgaW5zaWRlIGEgdHJhZiBib3ggdG8gc3BlY2lmeSB0aGUgYWJzb2x1dGUgZGVjb2RlIHRpbWUsIG1lYXN1cmVkIG9uIHRoZQoJICBtZWRpYSB0aW1lbGluZSwgb2YgdGhlIGZpcnN0IHNhbXBsZSBpbiBkZWNvZGUgb3JkZXIgaW4gdGhlIHRyYWNrIGZyYWdtZW50LgoJICBUaGlzIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIGJ5IHRoZSBpc29tcDQgZGVtdXggdG8gZmluZCBvdXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YKCSAgYW4gTVA0IGZyYWdtZW50IGluIHRoZSB0aW1lbGluZS4KCSAgVGhpcyBwYXRjaCBhZGRzIGNvZGUgdG8gaXNvbXA0IHRvOgoJICAtIHBhcnNlIHRoZSB0ZmR0IGJveAoJICAtIGFkanVzdCB0aGUgdGltZS9wb3NpdGlvbiBtZW1iZXIgb2YgdGhlIG5ldyBzZWdtZW50IHNlbnQgd2hlbiBwbGF5YmFjayBzdGFydHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzUzNQoKMjAxMi0wOC0yNiAyMjozOTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3AtQVRTLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBkb2NzOiBnc3QtbGF1bmNoIC0+IGdzdC1sYXVuY2gtMS4wIGFuZCBmZm1wZWdjb2xvcnNwYWNlIC0+IHZpZGVvY29udmVydAoKMjAxMi0wOC0yNiAyMjozMjo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgZG9jczogZ3N0LWxhdW5jaC0wLjExIC0+IGdzdC1sYXVuY2gtMS4wCgoyMDEyLTA4LTI2IDIyOjA4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB0aGUgZmllbGQgaW4gY2FwcyBpcyAiaW50ZXJsYWNlLW1vZGUiIG5vdCAiaW50ZXJsYWNlLW1ldGhvZCIKCSAgRml4IGRlaW50ZXJsYWNlIHVuaXQgdGVzdC4gTmVlZCB0byBzZXQgcmlnaHQgZmllbGQgb24gb3V0cHV0IGNhcHMuCgkgIEFsc28gcmVtb3ZlIHJpZ2h0IGZpZWxkIChub3Qgb2xkIDAuMTAgImludGVybGFjZWQiIGJvb2xlYW4gZmllbGQpCgkgIGZyb20gY2FwcyBpbiB1bml0IHRlc3QgYmVmb3JlIGNvbXBhcmluZyBvbGQgYW5kIG5ldy4KCjIwMTItMDgtMjYgMjE6NDU6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICB0ZXN0czogZml4IGljeWRlbXV4IHVuaXQgdGVzdAoJICBXYXMgd2FpdGluZyBmb3IgYSB0YWcgbWVzc2FnZSBvbiB0aGUgYnVzLCB3aGljaCB3b3VsZCBuZXZlcgoJICBjb21lLCBiZWNhdXNlIGVsZW1lbnRzIGRvbid0IHBvc3QgdGhvc2UgdGhlbXNlbHZlcyBhbnkgbW9yZQoJICBidXQgbGV0IHNpbmtzIHBvc3QgdGhlbSBmcm9tIHRhZyBldmVudHMuIE9ubHkgdGhhdCB0aGVyZSBhcmUKCSAgbm8gc2lua3MgaW4gdGhpcyB1bml0IHRlc3QuCgoyMDEyLTA4LTI2IDIxOjI3OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiBmaXggdmlkZW9jcm9wIGNyb3BfdG9fMXgxIHVuaXQgdGVzdCBmb3IgR1JBWTggZm9ybWF0CgkgIFVwZGF0ZSB0YWJsZSB3aXRoIHBpeGVsIHZhbHVlcyB3aXRoIHRoZSB2YWx1ZSBhY3R1YWxseSBwcm9kdWNlZAoJICBieSB2aWRlb3Rlc3RzcmMuCgoyMDEyLTA4LTI3IDA5OjAwOjQ1ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IE9ubHkgcHJpbnQgY2FwcyBpZiB0aGV5J3JlIHByb3ZpZGVkCgoyMDEyLTA4LTI0IDE5OjQzOjA4ICswMTAwICBNaWNoYWVsIFJ1Ymluc3RlaW4gPG1ydWJpbnN0ZWluQHJhaS1kZXYuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogZml4IGVuZGlhbm5lc3MgY2hlY2sgb24gc3lzdGVtcyB3aGVyZSBub24tZ2xpYiBlbmRpYW5uZXNzIGRlZmluZXMgYXJlIG5vdCBzZXQKCSAgT24gV2luZG93cyBMSVRUTEVfRU5ESUFOIHdpdGhvdXQgdGhlIEdfIGluIHdhcyBub3QgZGVmaW5lZCwgIHNvIHRoZQoJICB0ZXN0IGNvbWVzIG91dCB3cm9uZy4KCjIwMTItMDgtMjIgMTc6MjM6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBkb24ndCBjcmFzaCBvbiBOVUxMIGVycm9yCgkgIENoZWNrIGlmIHRoZXJlIGlzIGFuIGVycm9yIGJlZm9yZSByZXRyaWV2aW5nIGl0cyBtZXNzYWdlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjQ4MQoKMjAxMi0wOC0yMiAxMzozMDoxOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjY4YWNlZSB0byA0Zjk2MmY3CgoyMDEyLTA4LTIyIDEzOjE4OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgZ3RrLWRvYyByZXEgdG8gMS4xMiAobWFyLTIwMDkpCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGUuZy4gdW5jb25kaXRpb25hbGx5IHVzZSBndGtkb2MtcmViYXNlLgoKMjAxMi0wOC0yMiAxMToyMTozOCArMDIwMCAgTWFydGluIEVydHNhYXMgPG1lcnRzYXNAY2lzY28uY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogTWFrZSBvc3h2aWRlb3NpbmsgdXNlIHRoZSBub24tZGVwcmVjYXRlZCB0aHJlYWRpbmcgYXBpIGZyb20gZ2xpYi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjQ0NgoKMjAxMi0wOC0xNCAxNTo0MDozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEhhbmRsZSBuZWdvdGlhdGlvbiBldmVudHMKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2U6CgkgIGEpIERlc3Ryb3kgYW4gZXhpc3Rpbmcgc3RyZWFtIGlmIGEgbmVnb3RpYXRlKCkgcmVxdWVzdCBjb21lcyBpbjogdGhpcyBpcwoJICByZXF1aXJlZCB3aGVuIHJlY2VpdmluZyBhIGRvd25zdHJlYW0gcmVuZWdvdGlhdGlvbiByZXF1ZXN0IGFmdGVyIGEKCSAgc3RyZWFtIGhhcyBiZWVuIGNyZWF0ZWQuCgkgIGIpIENyZWF0ZSBhIG5ldyBzdHJlYW0gb24gcHJlcGFyZSgpOiB0aGlzIGlzIHJlcXVpcmVkIHNpbmNlIHdlIGRvIGEKCSAgc2V0Y2FwcygpIGluIG5lZ290aWF0ZSgpLCB3aGljaCBjYXVzZXMgdGhlIHN0cmVhbSB0byBiZSBkcm9wcGVkIGJ5IGEKCSAgcmluZ2J1ZmZlciByZWxlYXNlKCkgY2FsbCAodGhpcyBkb2VzIG5vdCBoYXBwZW4gZHVyaW5nIGZpcnN0IG5lZ290aWF0aW9uCgkgIHNpbmNlIHRoZSByZWxlYXNlIGlzIG9ubHkgZG9uZSBvbiBhIHJ1bm5pbmcgcmluZ2J1ZmZlcikuIFRoZSBzdWJzZXF1ZW50CgkgIGNhbGwgdG8gcmluZ2J1ZmZlciBhY3F1aXJlKCkgZmFpbHMgYmVjYXVzZSB0aGUgc3RyZWFtIHdhcyBsb3N0IG9uCgkgIHJlbGVhc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTI0NwoKMjAxMi0wOC0xNCAxNTozODoyNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBDbGVhciB1bnBvc2l0aW9uZWQgZmxhZyB3aGVuIHNldHRpbmcgcG9zaXRpb25zCgkgIElmIGNvbnZlcnRpbmcgYSBQQSBjaGFubmVsIG1hcCB0byBnc3QgY2hhbm5lbCBwb3NpdGlvbnMgcmVzdWx0cyBpbiBhCgkgIHZhbGlkIHNldCBvZiBjaGFubmVsIHBvc2l0aW9ucywgd2UgY2xlYXIgdGhlIHVucG9zaXRpb25lZCBmbGFnIGZyb20gdGhlCgkgIHJpbmdidWZmZXIgc3BlYy4KCjIwMTItMDgtMTQgMDk6Mzc6NDUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBSZW1vdmUgcmVkdW5kYW50IGNoYW5uZWwtbWFzayBzZXR0aW5nIGZvciBzdGVyZW8gY2FzZQoJICBUaGUgZ3N0YXVkaW8gaGVscGVyIGxpYnJhcmllcyBhbHJlYWR5IHRha2UgY2FyZSBvZiB0aGlzIGNhc2UgZm9yIHVzLgoKMjAxMi0wOC0xNCAwOTozNjozMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IERvbid0IHVzZSBtZW1zZXQgdG8gc2V0IGludmFsaWQgY2hhbm5lbCBwb3NpdGlvbnMKCSAgVGhpcyBpdGVyZWF0ZXMgb3ZlciB0aGUgR3N0QXVkaW9JbmZvIHRvIHNldCBpbnZhbGlkIGNoYW5uZWwgcG9zaXRpb25zCgkgIHJhdGhlciB0aGFuIHVzZSBtZW1zZXQoKSB3aGljaCB3b3JrcyByaWdodCBub3cgYmVjYXVzZSBpdCBhc3N1bWVzIHRoYXQKCSAgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fSU5WQUxJRCBpcyAtMS4KCjIwMTItMDgtMjIgMTA6MzA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IG1pbm9yIGRvY3MgaW1wcm92ZW1lbnQKCjIwMTItMDgtMjIgMTA6MjM6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkgIGdka3BpeGJ1ZjogcmUtZW5hYmxlIGFscmVhZHktcG9ydGVkIGdka3BpeGJ1ZnNpbmsKCjIwMTItMDgtMjIgMTA6MDg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnBsdWdpbi5jOgoJICBnZGtwaXhidWY6IHBvcnQgZ2RrcGl4YnVmb3ZlcmxheSBlbGVtZW50IHRvIDAuMTEKCjIwMTItMDgtMjIgMDA6MDA6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkgIGdka3BpeGJ1ZjogcmUtZW5hYmxlIGFscmVhZHktcG9ydGVkIGdka3BpeGJ1ZiBlbGVtZW50IGFzIGdka3BpeGJ1ZmRlYwoJICBOb3Qgc3VyZSB3aHkgaXQgYXMgZGlzYWJsZWQgZXhhY3RseSBnaXZlbiB0aGF0IGl0IGhhZCBhbHJlYWR5CgkgIGJlZW4gcG9ydGVkICh0aG91Z2ggd2l0aG91dCBtZXRhcyBvciBiYXNlY2xhc3MpLgoJICBNb3ZlIHBsdWdpbl9pbml0IGJpdHMgaW50byBzZXBhcmF0ZSBzb3VyY2UgZmlsZSwgYW5kIHJlbmFtZQoJICBkZWNvZGVyIGVsZW1lbnQgdG8gZ2RrcGl4YnVmZGVjLgoKMjAxMi0wOC0yMSAyMzoyNTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdF9sb2FkZXIuYzoKCSAgZ2RrcGl4YnVmOiByZW1vdmUgb2xkIGFuZCB1bnVzZWQgZ3N0X2xvYWRlciBzb3VyY2UgZmlsZQoJICBPbmNlIHVwb24gYSB0aW1lIHVzZWQgdG8gbG9hZCBHU3RyZWFtZXIgdmlkcyB2aWEgR2RrUGl4YnVmIEFQSS4KCjIwMTItMDgtMTYgMTY6NTE6MTYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBtYWtlIGppdHRlcmJ1ZmZlciBkcm9wLW9uLWxhdGVuY3kgYXZhaWxhYmxlIChmaXggIzY4MjA1NSkKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmgKCjIwMTItMDgtMjEgMTk6NDc6NDUgKzA4MDAgIEh1YWNhaSBDaGVuIDxjaGVuaGNAbGVtb3RlLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogbWFrZSBnc3RfdjRsMl9maWxsX2xpc3RzKCkgYWRhcHQgdG8ga2VybmVsIDMuMysKCSAgV2hlbiBkbyB2NGwyX2lvY3RsKCkgd2l0aCBWSURJT0NfRU5VTUlOUFVUIGZhaWxzIG9uIHNvbWUgZGV2aWNlcywKCSAga2VybmVscyBiZWZvcmUgMy4zLjAgcmV0dXJuIEVJTlZBTCwgYnV0IG5ld2VyIGtlcm5lbHMgcmV0dXJuIEVOT1RUWS4KCSAgVGhpcyBwYXRjaCBtYWtlIHRob3NlIGRldmljZXMgd29yayB3ZWxsIG9uIGtlcm5lbCAzLjMrLgoJICBSZWxhdGVkIGtlcm5lbCBjb21taXQ6CgkgIGh0dHA6Ly9naXQua2VybmVsLm9yZy8/cD1saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdDthPWNvbW1pdDtoPTA3ZDEwNmQwYTMzZDYwNjNkMjA2MTMwNTkwM2RlYjAyNDg5ZWJhMjAKCSAgU2lnbmVkLW9mZi1ieTogSHVhY2FpIENoZW4gPGNoZW5oY0BsZW1vdGUuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBSdWkgV2FuZyA8d2FuZ3JAbGVtb3RlLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogSmllIENoZW4gPGNoZW5qQGxlbW90ZS5jb20+CgoyMDEyLTA4LTIwIDIzOjMwOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIHZpZGVvL3gtZHZkLXN1YnBpY3R1cmUgLT4gc3VicGljdHVyZS94LWR2ZAoKMjAxMi0wOC0xNyAyMDo1Mjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcwoKMjAxMi0wOC0xNyAxNDo1OTo1NyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBlbmFibGUgcHJlc2V0cyBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIKCSAgQWRkIGEgdGVzdCBmb3Igc2F2aW5nIGFuZCByZXN0b3JpbmcgdGhlIHByZXNldC4KCjIwMTItMDgtMTQgMDE6MjA6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBub3QtbmVnb3RpYXRlZCBlcnJvcnMgb24gdmFyaWFibGUgb3IgbWlzc2luZyBmcmFtZXJhdGUgaW4gaW5wdXQgY2FwcwoJICBSZW1vdmUgc29tZSBib2d1cyBjb2RlIEkgYWRkZWQgZHVyaW5nIHBvcnRpbmcgdGhhdCB3b3VsZCBlcnJvciBvdXQKCSAgb24gbWlzc2luZyBvciB2YXJpYWJsZSBmcmFtZXJhdGVzIGluIGlucHV0IGNhcHMuIEhhbmRsZSB0aGlzIGxpa2UKCSAgd2UgZG8gaW4gMC4xMAoJICBGaXhlcyB0ZXN0X21vZGVfZGlzYWJsZWRfcGFzc3Rocm91Z2ggdW5pdCB0ZXN0IGNoZWNrLgoKMjAxMi0wOC0xMiAxMzoxNjozMiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBsYXc6IEZpbHRlciBsYXlvdXQgY2FwcyBmaWVsZAoJICBUaGUgbGF5b3V0IGNhcHMgZmllbGQgc2hvdWxkbid0IGJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBzaW5rIHBhZAoJICBvZiB7bXUsYX1sYXdkZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE2NzcKCjIwMTItMDgtMDkgMTk6NDE6MzQgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWxsb3cgYSBUT0Mgd2l0aCBzaW5nbGUgYWx0ZXJuYXRpdmUgdG9wLWxldmVsIGVudHJ5CgkgIEFsbG93IGEgVE9DIHRoYXQgaGFzIGEgc2luZ2xlIGFsdGVybmF0aXZlIHRvcC1sZXZlbCBlbnRyeQoJICB3aXRoIG11bHRpcGxlIHNlcXVlbmNlIHN1Yi1lbnRyaWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTItMDgtMDkgMTA6MzE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFuZCBmaXggdGhlIEdUSyBjaGVjayB0byB1c2UgdGhlIGNvcnJlY3QgcGtnLWNvbmZpZyBwYWNrYWdlIG5hbWUKCjIwMTItMDgtMDkgMTA6MjU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBHVEsgcmVxdWlyZWQgdmVyc2lvbiB2YXJpYWJsZSBuYW1lCgoyMDEyLTA4LTA5IDA4OjM1OjIzICswMTAwICBNYXR0aGlhcyBDbGFzZW4gPG1jbGFzZW5AcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCBidWlsZCB3aXRoIHJlY2VudCBrZXJuZWxzLCB0aGUgdjRsMl9idWZmZXIgaW5wdXQgZmllbGQgd2FzIHJlbW92ZWQKCSAgVGhpcyB3YXMgdW51c2VkIGFwcGFyZW50bHkgYW5kIHJlbW92ZWQgaW4gdGhlIGtlcm5lbCBpbiBjb21taXQ6CgkgIEZyb20gMmI3MTlkN2JhZjQ5MGUyNGNlN2Q4MTdjNjMzN2I3Yzg3ZmRhODRjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKCSAgRnJvbTogU2FrYXJpIEFpbHVzIDxzYWthcmkuYWlsdXNAaWtpLmZpPgoJICBEYXRlOiBXZWQsIDIgTWF5IDIwMTIgMDk6NDA6MDMgLTAzMDAKCSAgU3ViamVjdDogW1BBVENIXSBbbWVkaWFdIHY0bDogZHJvcCB2NGwyX2J1ZmZlci5pbnB1dCBhbmQgVjRMMl9CVUZfRkxBR19JTlBVVAoJICBSZW1vdmUgaW5wdXQgZmllbGQgaW4gc3RydWN0IHY0bDJfYnVmZmVyIGFuZCBmbGFnIFY0TDJfQlVGX0ZMQUdfSU5QVVQgd2hpY2gKCSAgdGVsbHMgdGhlIGZvcm1lciBpcyB2YWxpZC4gVGhlIGZsYWcgaXMgdXNlZCBieSBubyBkcml2ZXIgY3VycmVudGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDkxCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwoKMjAxMi0wOC0wOCAxNzoyNTozNiAtMDcwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5OiBNYWtlIGl0IGFjdHVhbGx5IHdvcmsgYWZ0ZXIgY2xlYW51cHMKCjIwMTItMDgtMDggMTc6NDA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZ3N0OiBTZXQgYWxpZ25tZW50IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIEdzdEFsbG9jYXRpb25QYXJhbXMKCjIwMTItMDgtMDggMTc6Mzk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgZ3N0OiBTZXQgYWxpZ25tZW50IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIEdzdEFsbG9jYXRpb25QYXJhbXMKCjIwMTItMDgtMDggMTY6MjU6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTMgPT09CgoyMDEyLTA4LTA4IDE1OjIyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MwoKMjAxMi0wOC0wOCAxNToxNzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5oOgoJICB3aW4zMjogYWRkIGdlbmVyYXRlZCB0dW5lci1tYXJzaGFsL2VudW10eXBlcyBmaWxlcyBmb3IgdjRsMnNyYyBhbmQgdXBkYXRlCgkgIEFuZCBnc3QtaW5kZW50IHRoZSByaWdodCBydHAgbWFyc2hhbCBmaWxlczsgYWRkIG1pc3NpbmcgZmlsZXMgdG8gTUFOSUZFU1QuCgoyMDEyLTA4LTA4IDE1OjEwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkgIGdzdDogdXBkYXRlIGRpc3RlZCBvcmMgZmlsZXMKCjIwMTItMDgtMDggMTE6MzE6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgU2lsZW5jZSBzb21lICd2YXJpYWJsZSBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncwoJICBXaGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMi0wOC0wOCAxMDo1Njo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIE5vIGNvZGUgd2l0aCBzaWRlLWVmZmVjdHMgaW5zaWRlIGdfYXNzZXJ0KCkgcGxlYXNlCgoyMDEyLTA4LTA3IDExOjE0OjIxIC0wNzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBSZXR1cm4gRkxVU0hJTkcgaW5zdGVhZCBvZiBFUlJPUiBvbiB1bmxvY2sKCSAgSWYgdGhlIGJhc2UgY2xhc3MgYXNrcyBtdWx0aXVkcHNpbmsgdG8gdW5sb2NrLCB0aGVuIGl0IHNob3VsZCByZXR1cm4KCSAgRkxVU0hJTkcsIG5vdCBFUlJPUgoKMjAxMi0wNy0yNiAxNjoxOTo1NyArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IGFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgVE9DIGFzIGVtYmVkZGVkIGN1ZXNoZWV0cyBpbiBmbGFjIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwODkKCjIwMTItMDgtMDcgMTI6MTI6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBnZW5lcmF0ZSBlbXB0eSB2b3JiaXNjb21tZW50IGZvciBjb21wbGV0ZSBzdHJlYW1oZWFkZXJzIGlmIG5lZWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzM1CgoyMDEyLTA4LTA2IDE4OjAyOjUwIC0wNzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogQmxvY2sgcGFkIHdoaWxlIGl0IGlzIGFubm91bmNlZC4KCSAgQmxvY2sgdGhlIFJUUCBwYWQgYW5kIGFzc29jaWF0ZWQgUlRDUCBwYWRzIHdoaWxlIHRoZXkgYXJlIGJlaW5nCgkgIGFubm91bmNlZC4gVGhpcyBpdCB0byBwcmV2ZW50IGEgcmFjZSB3aGVyZSBvbmUgaXMgYW5ub3VuY2VkIGFuZAoJICBiZWZvcmUgdGhlIGNhbGxiYWNrIGhhcyBjb25uZWN0ZWQgaXQsIHRoZSBvdGhlciBvbmUgZ2V0cyBhIGJ1ZmZlci4KCSAgV2UgY2FuJ3QgdXNlIHRoZSAicGFkbG9jayIgb2Ygc3NyY2RlbXV4IGJlY2F1c2UgaXQgY2F1c2VzIGRlYWRsb2Nrcy4KCjIwMTItMDgtMDYgMTU6MDA6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBjb21tb246IHVuLWRvIGFjY2lkZW50YWwgY29tbW9uIHVwZGF0ZSByZXZlcnQgaW4gY29tbWl0IDdiNTkyNWI1CgoyMDEyLTA4LTA2IDE0OjUwOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHNldCBjb3JyZWN0IGRhdGFfc2l6ZSBmb3IgZ2VuZXJhdGVkIGR1bW15IGZyYW1lCgkgIC4uLiB3aGljaCBwcmV2ZW50cyBnZXR0aW5nIHN0dWNrIGluIGEgbG9vcCBpZiBzdWNoIG9uZSBpcyBuZWVkZWQuCgoyMDEyLTA4LTA2IDE0OjUwOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGltcHJvdmUgYW5kIGZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCSAgLi4uIHNvIGl0IHJlYWxseSBpbmZvcm1zIGFib3V0IG5leHQgcmF0aGVyIHRoYW4gcGFzdCBmcmFtZS4KCjIwMTItMDgtMDYgMTI6MzQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogdXBkYXRlIGF2YWlsYWJsZSBieXRld3JpdGVyIHNwYWNlIHdoZW4gcmVwb3NpdGlvbmluZwoJICAuLi4gYW5kIGFkZCBzb21lIG1vcmUgYXNzZXJ0IHRvIGNhdGNoIHBvdGVudGlhbCBzdXJwcmlzZXMgZWFybHkgb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA1NTgKCjIwMTItMDgtMDQgMTI6NDc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnc3Q6IEFkZCBzdHJlYW0taWQgdG8gc3RyZWFtLXN0YXJ0IGV2ZW50cwoKMjAxMi0wOC0wNCAxMjo1NDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgcXVlcnkgaGFuZGxlciBpZiBubyBwYWQgaXMgcHJvdmlkZWQKCjIwMTItMDgtMDIgMDE6NDg6MjkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhZGQgYSBiZXR0ZXIgZGV0ZWN0aW9uIGZvciB0aGUgbWFpbiBydW4gbG9vcAoKMjAxMi0wNy0yNyAxNjoxMzo0OSArMDIwMCAgWGF2aSBBcnRpZ2FzIDx4YXJ0aWdhc0BmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBEbyBub3Qgb3ZlcndyaXRlIHRoZSBEUyBidWZmZXIgd2hlbiB0ZXN0aW5nIGZvciBBQzMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzA2CgkgIENvbmZsaWN0czoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jCgoyMDEyLTA4LTA1IDE2OjM5OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NGNjZjRjIHRvIDY2OGFjZWUKCjIwMTItMDgtMDMgMTY6MTM6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBSZWxlYXNlIGxvY2sgYmVmb3JlIHNpZ25hbGxpbmcgbmV3IHBhZAoJICBUaGlzIHByZXZlbnRzIGEgZGVhZGxvY2sgd2hlcmUgc29tZXRoaW5nIHdvdWxkIHRyeSB0byBwdXNoIGFuIGV2ZW50CgkgIHRocm91Z2ggdGhlIFNTUkMgZGVtdXggZnJvbSB0aGUgY2FsbGJhY2ssIGNhdXNpbmcgdGhlIHBhZHMgdG8gYmUgaXRlcmF0ZWQKCSAgYW5kIHRoZSBsb2NrIHRha2VuLgoKMjAxMi0wOC0wNCAxNjoxMDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgZ3N0X3RhZ19saXN0X2ZyZWUgLT4gZ3N0X3RhZ19saXN0X3VucmVmCgoyMDEyLTA4LTAzIDE0OjEwOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFuYWdlIHJhY2UgYmV0d2VlbiBjb25uZWN0aW9uIGNsb3NpbmcgYW5kIGZsdXNoaW5nCgkgIC4uLiB3aGVyZSB0aGUgZm9ybWVyIGNhbiBoYXBwZW4gaW4gdGFzayB0aHJlYWQgYW5kIHRoZSBsYXR0ZXIgaW4gbWFpbmxvb3AKCSAgdXBvbiBkb3dud2FyZCBzdGF0ZSBjaGFuZ2UuCgoyMDEyLTA4LTAzIDE0OjAyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaW1wcm92ZSBhbmQgcmVsYXggYXVkaW8gZnJhbWUgcGFyc2luZwoJICAuLi4gc28gYXMgdG8gcHJvcGVybHkgcmVjb2duaXplIGZpcnN0IGF1ZGlvIGZyYW1lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMDc3CgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgoyMDEyLTA4LTAxIDEyOjE2OjQxICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkb3VibGUgdW5yZWYgb2YgcHJpdmF0ZSB0YWcgYnVmZmVyCgoyMDEyLTA3LTMwIDE3OjU0OjUxICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNyZWF0ZSBUT0MgYXMgbmVlZGVkCgkgIEF2b2lkIGNyZWF0aW5nIHRoZSB0b2MgaWYgdGhlIHdhdiBoYXMgbm8gb3IgZW1wdHkgY3VlIGNodW5rLgoJICBBbHNvIGEgc21hbGwgY29kZSBjbGVhbnVwLgoKMjAxMi0wNy0yOCAxMToyNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdXBkYXRlIGZvciBUT0MgQVBJIGNoYW5nZXMKCjIwMTItMDctMjggMTE6MjI6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgVE9DIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI4IDExOjIwOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1cGRhdGUgZm9yIFRPQyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yOCAwMDoxOTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0YWc6IFVwZGF0ZSBmb3IgdGFnbGlzdC90YWcgZXZlbnQgQVBJIGNoYW5nZXMKCjIwMTItMDctMjcgMTI6MDU6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0KGRlKW11eDogcGFzcyBwcml2YXRlIGJsb2IgdGFncyBpbiBhIHNhbXBsZQoJICAuLi4gcmF0aGVyIHRoYW4gYSBidWZmZXIsIGFuZCB0aGUgZGV0YWlsZWQgaW5mbyBpbiB0aGUgc2FtcGxlIGluZm8KCSAgcmF0aGVyIHRoYW4gY2Fwcy4KCjIwMTItMDctMjcgMTE6MzE6MTMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogRG9uJ3QgcmV0dXJuIE5VTEwgZnJvbSBfdHJhbnNmb3JtX2NhcHMKCSAgSWYgX3RyYW5zZm9ybV9jYXBzICgpIHJldHVybnMgTlVMTCwgdGhlIGJhc2V0cmFuc2Zvcm0gX3RyYW5zZm9ybV9jYXBzCgkgIHRyaWVzIHRvIGNhbGwgZ3N0X2NhcHNfaXNfc3Vic2V0ICgpIHdpdGggYSBOVUxMIHN1YnNldCB3aGljaCBoaXRzIGFuCgkgIGFzc2VydGlvbi4KCjIwMTItMDctMjcgMTE6MjY6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBvYnRhaW4gaW1hZ2UgdHlwZSBmcm9tIHRoZSBzYW1wbGUgaW5mbwoKMjAxMi0wNy0yNyAxMToyNTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBleHRyYW5lb3VzIF91bnJlZgoJICAuLi4gc2luY2Ugd2UgZGlkIG5vdCBvYnRhaW4gYSBidWZmZXIgcmVmIGZyb20gdGhlIEdzdFNhbXBsZS4KCjIwMTItMDctMjcgMTA6MTQ6MjMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogVXBkYXRlIHRvIHVzZSBHc3RTYW1wbGUgdGFnIHNldHRpbmcgQVBJCgoyMDEyLTA3LTI2IDE2OjM0OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IG1vZGlmeSBidWZmZXIgZGF0YSByYXRoZXIgdGhhbiBidWZmZXIgaXRzZWxmCgoyMDEyLTA3LTI2IDE2OjI4OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGF2b2lkIGxlYWtpbmcgYnl0ZXdyaXRlciBpbnN0YW5jZQoKMjAxMi0wNy0yNiAxNjowNDoyMyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdGltZXN0YW1wIGFkanVzdG1lbnQgYW5kIGNhcHMKCjIwMTItMDctMjYgMTY6MDM6NTcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4L3NpbXBsaWZ5IHRlbGVjaW5lIHN0YXRlIGNoZWNrcwoKMjAxMi0wNy0yNiAxMjowODo1OCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMi0wNy0yNiAxMjowODozNiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggbG93LWxhdGVuY3kgcGF0dGVybiBsb2NraW5nCgoyMDEyLTA3LTI0IDE2OjE5OjUzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJGRiBzaG91bGQgYmUgaWdub3JlZCBpbiBkZWludGVybGFjZQoJICBSRkYgb25seSBvY2N1cnMgb24gcHJvZ3Jlc3NpdmUgZnJhbWVzIGluIHRlbGVjaW5lIHNlcXVlbmNlcy4gRm9yCgkgIGRlaW50ZXJsYWNlLCB3ZSBkb24ndCB3YW50IHRoZXNlIHJlcGVhdGVkIGZpZWxkcyBhcyB3ZSB3aWxsIHNpbXBseSBiZQoJICBwdXNoaW5nIHRoZSBwcm9ncmVzc2l2ZSBmcmFtZSBhbmQgdGhlbiBtb3Zpbmcgb24uCgkgIEhvd2V2ZXIsIHdlIG5lZWQgdG8gY29uc2lkZXIgUkZGIGluIG9yZGVyIHRvIGNvcnJlY3RseSBpZGVudGlmeSBwYXR0ZXJucwoJICBhbmQgYWRqdXN0IHRoZSB0aW1lc3RhbXBzLgoKMjAxMi0wNy0yNCAxNDo1OTo0NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIHByb2Nlc3MgbG9naWMKCSAgVGhlIGxvZ2ljIG5vdyB3b3JrcyBiZXR0ZXIgaWYgd2UgZmlsdGVyIG9ycGhhbnMsIHRoZW4gcHJvZ3Jlc3NpdmUsIHRoZW4KCSAgdGVsZWNpbmUgaW50ZXJsYWNlZCBmaWVsZHMgd2hpY2ggbmVlZCB0byBiZSB3b3ZlbiBhbmQgZmFsbCB0aHJvdWdoIHRvCgkgIGludGVybGFjZS4gVGVsZWNpbmUgaW50ZXJsYWNlZCBmaWVsZHMgd2lsbCBiZSByZWd1bGFybHkgZGVpbnRlcmxhY2VkIGlmCgkgIHRoZXJlIGlzIG5vIHBhdHRlcm4gbG9jayBmb3IgdXMgdG8gYmUgc3VyZSB0aGF0IHdlIGhhdmUgYSB0ZWxlY2luZQoJICBwYXR0ZXJuLgoJICBUZWxlY2luZSBzZXF1ZW5jZXMgdGhhdCBhcmVuJ3QgMjRmcHMgcHJvZ3Jlc3NpdmUgd2l0aCBSRkYgZmxhZ3MgY2FuJ3QKCSAgcmVhbGx5IGJlIHRlc3RlZCB1bnRpbCBmaWVsZGFuYWx5c2lzIGlzIHBvcnRlZC4KCjIwMTItMDctMjUgMTY6MDI6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBvbmx5IHNldCBjb21wbGV0ZSBvdXRwdXQgY2FwcyBvbmNlCgkgIC4uLiBzbyBhcyB0byBhdm9pZCBkb3duc3RyZWFtIGNvbXBsYWludHMgYWJvdXQgbWlzc2luZyBzdHJlYW1oZWFkZXJzLgoKMjAxMi0wNy0yNSAxNToyOTowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGFsc28gc3VwcG9ydCBTMjRfMzIgb3V0cHV0CgoyMDEyLTA3LTI1IDE1OjI4OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcGFzcyBjb3JyZWN0IHBhcmFtZXRlcnMgdG8gZW5jb2RlciBsaWIKCjIwMTItMDctMjUgMTQ6NTc6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhZGp1c3QgdG8gbW9kaWZpZWQgYXVkaW9lbmNvZGVyIGdldGNhcHMgaGVscGVyIEFQSQoKMjAxMi0wNy0yNSAxMjo1MDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogZ28gYW5kIHN0YXkgaW4gdGhlIGxvb3AgZnVuY3Rpb24gb24gUExBWQoJICBXaGVuIHdlIGhhdmUgYSBQTEFZIHJlcXVlc3QsIGdvIGludG8gdGhlIExPT1AgZnVuY3Rpb24gbmV4dC4gV2hlbiB3ZSBhcmUKCSAgbG9vcGluZywga2VlcCBvbiBsb29waW5nIHVudGlsIHdlIGFyZSB0b2xkIG90aGVyd2lzZS4KCSAgVGhpcyBmaXhlZCBydHNwIGFuZCBUQ1AgY29ubmVjdGlvbnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA1NTEKCjIwMTItMDctMjUgMTI6NDk6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHNldCBjYXBzIGFmdGVyIGFjdGl2YXRpbmcgdGhlIHBhZAoKMjAxMi0wNy0yNSAxMjo0OTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogc21hbGwgY2xlYW51cHMKCjIwMTItMDctMjUgMTA6MDg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkgIHhxdGRlcGF5OiBmaXggYnVmZmVyIHJlZmNvdW50IGVycm9yCgkgIEFmdGVyIHB1c2hpbmcgdGhlIGJ1ZmZlciBpbnRvIHRoZSBhZGFwdGVyLCB3ZSBzaG91bGQgbm90IGxldCB0aGUgYmFzZWNsYXNzIHB1c2gKCSAgaXQgb3V0IGFueW1vcmUuIFRoaXMgZXJyb3Igd2FzIGludHJvZHVjZWQgd2hpbGUgcG9ydGluZyB0byAwLjExLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDU0MAoKMjAxMi0wNy0yNCAyMTo0MTo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcmVtb3ZlIG9ic29sZXRlIGxpYm9pbCBjb21tZW50CgoyMDEyLTA3LTI0IDIxOjExOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogcHVzaCBtb2RlOiBpbmNyZWFzZSBzZWdtZW50IGFjY3VyYWN5IGZvbGxvd2luZyBzZWVrCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMjQgMTY6NDE6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBlcmZvcm0gcHJvcGVyIEtFWV9VTklUIHNlZWsgYWxzbyBpbiBwdXNoIG1vZGUKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0yNCAxOTowNDozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGRvbid0IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBlcnJvciB3aGVuIGxlYXZpbmcgbXVsdGljYXN0IGdyb3VwIG9uIHNodXRkb3duCgkgIFN0cmFuZ2VseSBlbm91Z2gsIGlmIHdlIGRvIHBhc3MgYW4gZXJyb3IgdmFyaWFibGUgdG8gYmUgZmlsbGVkLCB3ZQoJICBubyBsb25nZXIgZ2V0IGFuIGVycm9yIG9uIGxlYXZpbmcuCgoyMDEyLTA3LTI0IDE1OjU1OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlYXJyYW5nZSBzb21lIGNoZWNrcyB0byBhdm9pZCBOVUxMIHVzZQoKMjAxMi0wNy0yNCAxNTozODoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB1c2Ugc2FtZSBmb3VyY2MgdG8gZGV0ZXJtaW5lIGNhcHMgaW4gZGV0ZXJtaW5pbmcgdW5jb21wcmVzc2VkLW5lc3MKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OAoJICBDb25mbGljdHM6CgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYwoKMjAxMi0wNy0yNCAxNTozNjo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJldmVydCAiYXZpZGVtdXg6IERvbid0IGNvbnNpZGVyIDAgZmNjX2hhbmRsZXIgYXMgdW5jb21wcmVzc2VkLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjNmI5ZjViMjVhYjQzNTY2OTgxNmEwNzA0OWIwZTVhOGYwMWUwOWNhLgoJICBmb3VyY2MgR1NUX1JJRkZfcmdiID0gMCBzdGlsbCBsZWFkcyB0byByYXcgdW5jb21wcmVzc2VkIHJnYiBjYXBzLgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk4CgoyMDEyLTA3LTI0IDEyOjEwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHVwIGV4YW1wbGUgcGlwZWxpbmUgc29tZSBtb3JlCgkgIE5vIG1vcmUgZmZtcGVnY29sb3JzcGFjZQoKMjAxMi0wNy0yMCAxNjozMDowMCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggdGhlIGV4YW1wbGUgZ3N0LWxhdW5jaCBwaXBlbGluZS4KCjIwMTItMDctMjQgMTI6MzM6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIE5VTEwgYWNjZXNzIHdoZW4gY2hlY2tpbmcgc3VidGl0bGUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDM4OAoKMjAxMi0wNy0yNCAxMjoyMjowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZXNldCBwYXJzZXIgd2hlbiB3ZSBoYXZlIGNhcHMgd2l0aG91dCBjb2RlY19kYXRhCgkgIFRoaXMgZW5zdXJlcyB0aGUgZGV0ZWN0aW9uIChhbmQgcHJvcGVyIGRvd25zdHJlYW0gY2FwcyBzZXR0aW5ncykgd2lsbAoJICBhY3R1YWxseSBoYXBwZW4gd2hlbiB3ZSBoYXZlIG5ldyBpbmNvbWluZyBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YS4KCSAgVGhpcyB3YXMgZWFzaWx5IHRyaWdnZXJlZCBieSBzdHJlYW1zIGZyb20gbWF0cm9za2FkZW11eCB3aGljaCBpbml0aWFsbHkKCSAgcHJvdmlkZWQgY2FwcyB3aXRoIGEgY29uc3RydWN0ZWQgY29kZWNfZGF0YSwgYnV0IHRoZW4gcHVzaGVkIG5ldyBjYXBzCgkgIHdpdGhvdXQgdGhlIGNvZGVjX2RhdGEgb25jZSBpdCBkZXRlY3RlZCB0aGUgc3RyZWFtIHdhcyBhZHRzLgoKMjAxMi0wNy0yNCAwOToxNzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggdmlkZW9fbWl4ZXJfb3JjXwoKMjAxMi0wNy0yNCAwOToxMzo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMub3JjOgoJICB2aWRlb2JveDogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCB2aWRlb19ib3hfb3JjXwoKMjAxMi0wNy0yMyAxODo1MTowMCArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMTItMDctMjMgMTc6Mzc6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGdlbmVyYXRlIGNvcnJlY3Qgc2VnbWVudCBzdHJlYW0gdGltZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjc1CgoyMDEyLTA3LTIzIDE2OjQyOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cDogYWx3YXlzIHVzZSBidWZmZXIgbGlzdHMKCjIwMTItMDctMjMgMTU6MjQ6MTcgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBhbHdheXMgZW5hYmxlIGJ1ZmZlci1saXN0cwoKMjAxMi0wNy0yMyAxNToyMjoyNCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIHJ0cGpwZWdwYXk6IGFsd2F5cyBlbmFibGUgYnVmZmVyLWxpc3RzCgoyMDEyLTA3LTIzIDE1OjQ5OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGdldCBmcmFtZSBmbGFncyBjb3JyZWN0bHkKCSAgQWxzbyBtb3ZlIHRoZSBkZWludGVybGFjZSBwbHVnaW4gdG8gcG9ydGVkIHN0YXR1cwoKMjAxMi0wNy0yMyAxNTozMzo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVyIHBhcnNlIHJlY292ZXJ5IGFmdGVyIHNlZWsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDQyNwoKMjAxMi0wNy0yMyAxMjozOTowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBjbGVhciBvbGQgc2VnbWVudCBldmVudCB3aGVuIHJlcXVlc3RpbmcgbmV3IG9uZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjgzCgoyMDEyLTA3LTIzIDEwOjMyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIHZpZGVvIGJhc2UgY2xhc3NlcyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMyAwODo0OTowNyArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNvbnZlcnQgYWxsIG5vbiBHU1RfRk9STUFUX0JZVEVTIHRvIGZvcm1hdCBieXRlcy4KCSAgQ29udmVydCBhbGwgbm9uIEdTVF9GT1JNQVRfQllURVMgdG8gZm9ybWF0IGJ5dGVzOgoJICBmaXhlczoKCSAgR1N0cmVhbWVyLUNSSVRJQ0FMICoqOiBnc3RfcXVlcnlfc2V0X2R1cmF0aW9uOiBhc3NlcnRpb24gYGZvcm1hdCA9PQoJICBnX3ZhbHVlX2dldF9lbnVtIChnc3Rfc3RydWN0dXJlX2lkX2dldF92YWx1ZSAocywgR1NUX1FVQVJLIChGT1JNQVQpKSknCgkgIGZhaWxlZAoJICB3aGVuIHBsYXlpbmcgbW9yZSB0aGFuIG9uZSB3YXYgc3RyZWFtLgoJICBnc3QtcGx1Z2lucy1iYXNlL3Rlc3RzL2ljbGVzL3BsYXliYWNrL3Rlc3Q3IHVyaTEud2F2IHVyaTIud2F2CgoyMDEyLTA3LTIzIDA5OjI1OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgZmFpbCBpZiBtb3JlIGRhdGEgdGhlbiBuZWVkZWQgaXMgYXZhaWxhYmxlIHdoZW4gcGFyc2luZyBjdWUgY2h1bmtzCgkgIEZpeGVzIGJ1ZyAjNjgwMzI4LgoKMjAxMi0wNy0yMyAwOToyMjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFNvbWUgbWlub3IgY2xlYW51cCB0byB0aGUgY3VlL2xhYmwgcGFyc2luZwoKMjAxMi0wNy0yMyAwODo0NToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk4ZTM4NmYgdG8gOTRjY2Y0YwoKMjAxMi0wNy0xOSAxNDo1NTo0NSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgIGRlaW50ZXJsYWNlOiBQb3J0IHRvIDEuMAoJICBUaGlzIHJlcXVpcmVzIHRoZSBhZGRpdGlvbmFsIElOVEVSTEFDRUQgYnVmZmVyIGZsYWcgcmVjZW50bHkgYWRkZWQgdG8KCSAgLWJhc2UKCjIwMTItMDctMjAgMTU6MTg6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGNvbnZlcnQgdGhlIG91dHB1dCBzZWdtZW50IHRvIHRpbWUKCSAgQ29udmVydCB0aGUgc3RvcmVkIGlucHV0IHNlZ21lbnQgdG8gdGltZSBiZWZvcmUgcHVzaGluZyBpdCBvdXQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgoyMDEyLTA3LTIwIDEzOjEyOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IHRyeSB0byBmaXggc2VnbWVudCBoYW5kbGluZwoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNy0yMCAxNToyODoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogTm9uLXVwZGF0ZSBzZWVrcyBzaG91bGQgc3RpbGwgbWFrZSBzdXJlIHRoYXQgcmV2ZXJzZSBwbGF5YmFjayBzdGF0dXMgaXMgcmVzZXQKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0yMCAxNToxODoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJvcGVybHkgaW5pdGlhbGl6ZSBmcm9tX29mZnNldCBhbmQgZnJvbV90aW1lCgoyMDEyLTA3LTIwIDE0OjI1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBXZSBuZWVkIGFuIGluZGV4IGFuZCBpbmRleCBlbnRyeSBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICBSZXZlcnNlIHBsYXliYWNrIGRvZXMgbm90IHdvcmsgd2l0aCBpbmRleC1sZXNzIGZpbGVzIHlldC4KCjIwMTItMDctMjAgMTQ6MTA6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGVhbiB1cCBwdXNoIG1vZGUgc2VnbWVudCBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjc3CgoyMDEyLTA3LTIwIDEzOjM1OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm9wZXJseSB0cmFuc2Zvcm0gaW5jb21pbmcgc2VnbWVudCBldmVudAoJICAuLi4gd2hpY2ggaXMgcmVhbGx5IHVzZWZ1bCBmb3IgcHJvcGVyIHB1c2ggbW9kZSBzZWVraW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjc4CgoyMDEyLTA3LTIwIDExOjA3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogRml4IHJldmVyc2UgcGxheWJhY2sgZm9yIHNlZWtzIHdpdGhvdXQgc3RvcCBwb3NpdGlvbgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oCgoyMDEyLTA3LTIwIDEwOjQ4OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBPbmx5IHRha2UgdGhlIHN0cmVhbV9zdGFydF90aW1lIGludG8gYWNjb3VudCBmb3IgU0VUIHNlZWtzCgkgIEZvciBvdGhlciBzZWVrcyB0aGUgc3RyZWFtX3N0YXJ0X3RpbWUgaXMgYWxyZWFkeSBhZGRlZCB0byB0aGUKCSAgc2VnbWVudCB2YWx1ZXMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMDggMjA6MzY6MjIgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IEFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgc3VwcG9ydCBmb3I6CgkgICogQ3VlIENodW5rCgkgICogQXNzb2NpYXRlZCBEYXRhIExpc3QgQ2h1bmsKCSAgKiBMYWJlbCBDaHVuawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MzA2CgoyMDEyLTA1LTA5IDE1OjU4OjE2ICswMjAwICBNYXJpYSBHaW92YW5uYSBDaGlvc3NhIDxtYXJpYWdpb3Zhbm5hLmNoaW9zc2EgYXQgc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsc28gc2V0IFVEUCBidWZmZXIgc2l6ZSBpbiBtdWx0aWNhc3QKCSAgQWxzbyBzZXQgdGhlIFVEUCBidWZmZXIgc2l6ZSBpbiBtdWx0aWNhc3QgbW9kZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQ0OAoKMjAxMi0wNy0xOCAyMzo0Mzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBoZWFkZXIgcGFyc2luZyBpbiBwdXNoIG1vZGUKCSAgRml4ICdicmVhaycgdGhhdCBnb3Qgd2FycGVkIHRvIHRoZSB3cm9uZyBwbGFjZSwKCSAgcHJvYmFibHkgYXMgcGFydCBvZiBhIG1lcmdlLiBGaXhlcyBHU1RfSVNfQlVGRkVSCgkgIGNyaXRpY2FscyBpbiBwYXJzZV9pZGl0KCkgd2hlbiBiZWluZyBhY2NpZGVudGFsbHkKCSAgcGFzc2VkIGEgTlVMTCBidWZmZXIgYmVjYXVzZSBvZiB0aGUgbWlzc2luZyBicmVhay4KCSAgZ3N0LWxhdW5jaC0xLjAgcGxheWJpbiB1cmk9aHR0cDovL2RvY3MuZ3N0cmVhbWVyLmNvbS9tZWRpYS9zaW50ZWxfdHJhaWxlci00ODBpLmF2aQoKMjAxMi0wNy0xOCAyMjo0NzoyMiArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGRlcHJlY2F0ZWQgc291cF9tZXNzYWdlX2hlYWRlcnMgX2dldCAtPiBfZ2V0X29uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjA2CgoyMDEyLTA3LTE4IDE4OjI3OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAganBlZy9wbmc6IENhbGwgdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wNy0xOCAxNzo1Nzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkgIHVwZGF0ZSBmb3IgZ2hvc3RwYWQgY2hhbmdlcwoKMjAxMi0wNy0xOCAxMTozNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUGFzcyBzZWVrIHJhdGUgdG8gdXBzdHJlYW0gc2VlayBldmVudHMgaW4gcHVzaCBtb2RlCgkgIEZpeGVzIGJ1ZyAjNjc5NDM1LgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTE3IDE2OjM5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNy0xNyAxNjozODoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNy0xNiAxMTowNzo0NCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogdXNlIGJ1ZmZlciBsaXN0cwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5OTk0CgoyMDEyLTA3LTE3IDEwOjAxOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHBhcnNpbmcgb2YgSVNSQyBmcm9tIHRoZSBjdWVzaGVldHMKCjIwMTItMDctMDUgMTQ6MTU6MjUgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogYWRkIFRPQyBzdXBwb3J0CgkgIEFkZCBzdXBwb3J0IGVtYmVkZGVkIGN1ZXNoZWV0cyBpbiBmbGFjIGZpbGVzLgoJICBQYXJzaW5nIE1FVEFEQVRBX0JMT0NLX0NVRVNIRUVUIGFzIFRPQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDg5MQoKMjAxMi0wNy0xMyAxNDo0MzozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGF2b2lkIHNvbWUgbW9yZSBmcmFtZSBtaXNwYXJzaW5nIGJ5IGFkZGl0aW9uYWwgaGVhZGVyIHNhbml0eSBjaGVjawoJICAuLi4gdXNpbmcgYSByZXF1aXJlZCBjb25zdGFudCBibG9ja2luZ19zdHJhdGVneSBiaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk4MDcKCjIwMTItMDctMTMgMTM6NTE6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZGVtdXg6IFB1c2ggU1RSRUFNX1NUQVJUIGV2ZW50IHdoZW4gbmVlZGVkCgoyMDEyLTA3LTExIDEzOjEwOjA3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgd2FybmluZyBpZiBib3RoIHRzIGFyZSBlcXVhbAoKMjAxMi0wNy0xMSAxMjoyODoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGNoZWNrIHRoZSByaWdodCBzaXplIHdoZW4gd2FybmluZyBhYm91dCB0b28gbGFyZ2UgdWRwIHBhY2tldHMKCSAgV2hhdCBtYXR0ZXJzIGlzIHRoZSB0b3RhbCBzaXplLCBub3QgdGhlIHNpemUgb2YgYW55IG9mIHRoZQoJICBpbmRpdmlkdWFsIG1lbW9yeSBjaHVua3MgdGhhdCBtYWtlIHVwIHRoZSBwYWNrZXQuCgoyMDEyLTA3LTEwIDE0OjM4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICBhdXRvZGV0ZWN0OiBwcm94eSB0cy1vZmZzZXQgcHJvcGVydGllcwoJICBQcm94eSB0aGUgdHMtb2Zmc2V0IHByb3BlcnR5IGluIHRoZSBhdWRpbypzaW5rIGVsZW1lbnRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MzQzCgoyMDEyLTA3LTA5IDE2OjI3OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGZpeCBmb3IgYWxsb2NhdG9yIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTA5IDEyOjIyOjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciByaWZmIGZpZWxkIHJlbmFtZQoKMjAxMi0wNS0yMSAxMzo1NDo1MSArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzQG9wZW5pc211cy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRyb3AgcmVkdW5kYW50IGVsZW1lbnRzX2xldmVsX0xEQUREIGxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNy0wOCAxMzozMDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSAgdGVzdHM6IG1pbm9yIGpwZWdkZWMgY2xlYW4tdXBzIGFuZCBmaXhlcwoJICBGaXggcmFjZSBjb25kaXRpb24gaW4gZW9zIGNoZWNraW5nIGFuZCBhIGxlYWsuIEFuZAoJICBidWlsZCBwaXBlbGluZSB3aXRob3V0IHBhcnNlX2xhdW5jaC4KCjIwMTItMDUtMjEgMTM6NTM6NTQgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhc0BvcGVuaXNtdXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSogdGVzdHMvZmlsZXMvaW1hZ2UuanBnOgoJICB0ZXN0czogQWRkIHNvbWUgYmFzaWMgdGVzdHMgZm9yIGpwZWdkZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNy0wOCAwMDowODo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcGFzcyB1bmhhbmRsZWQgbm9uLWN1c3RvbSBldmVudHMgdG8gdGhlIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjYyNgoKMjAxMi0wNy0wNiAxOToxMTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXZvaWQgc29tZSByZWxvY2F0aW9ucwoKMjAxMi0wNy0wNiAxNDo0OToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogcmVtb3ZlIGRlcHJlY2F0ZWQgc2VuZC1jb25maWcgcHJvcGVydHkKCSAgVXNlIGNvbmZpZy1pbnRlcnZhbCBpbnN0ZWFkLgoKMjAxMi0wNy0wNiAxNDo0MjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHJlbW92ZSBkZXByZWNhdGVkICJieXRlLXN0cmVhbSIgYW5kICJhY2Nlc3MtdW5pdCIgcHJvcGVydGllcwoJICBUaGVzZSB3aWxsIGJlIHBpY2tlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGRvd25zdHJlYW0gY2FwcyBub3csIHNvCgkgIGlmIHlvdSB3YW50IHRoZSBkZXBheWxvYWRlciB0byBvdXRwdXQgYSBzcGVjaWZpYyBmb3JtYXQsIG1ha2Ugc3VyZQoJICB0aGUgZWxlbWVudCBkb3duc3RyZWFtIGFkdmVydGlzZXMgdGhhdCBwcmVmZXJlbmNlIG9yIHVzZSBhIGNhcHNmaWx0ZXIKCSAgYWZ0ZXIgdGhlIGRlcGF5bG9hZGVyIHRvIGZvcmNlIGl0LgoKMjAxMi0wNy0wNiAxNDoxMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogcmVtb3ZlIGRlcHJlY2F0ZWQgYW5kIG5vbi1mdW5jdGlvbmFsICJwcm9maWxlLWxldmVsLWlkIiBwcm9wZXJ0eQoJICBUaGlzIGlzIG5vdyBvcHRpb25hbGx5IHRha2VuIGZyb20gZG93bnN0cmVhbSBjYXBzLCBzbyBjYW4gYmUKCSAgc3BlY2lmaWVkIHZpYSBhIGNhcHNmaWx0ZXIgYWZ0ZXIgdGhlIHBheWxvYWRlci4KCjIwMTItMDctMDYgMTU6MDc6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIHNhbml0eSBjaGVjayBiZWZvcmUgY29uZmlybWluZyBBRFRTIGZvcm1hdAoJICAuLi4gYW5kIHR3ZWFrIGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlLgoKMjAxMi0wNy0wNiAxNToyOToxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiByZW1vdmUgdW5oZWxwZnVsIHN0cmF5IGRlYnVnIG1lc3NhZ2UKCjIwMTItMDctMDYgMTM6MTY6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgZGVwcmVjYXRlZCBhbmQgdW51c2VkICJudHAtbnMtYmFzZSIgcHJvcGVydHkKCjIwMTItMDctMDYgMTI6NTc6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSAgZG9jczogdXBkYXRlIGlzb21wNCBkb2NzIGZvciBncHBtdXggLT4gM2dwcG11eCBjaGFuZ2UgYXMgd2VsbAoKMjAxMi0wNy0wNiAxMjo1NDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBpc29tcDQ6IHJlbW92ZSBncHBtdXgsIHdoaWNoIHdhcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAzZ3BwbXV4CgoyMDEyLTA3LTA2IDEyOjQ5OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXRwOiByZW1vdmUgZGVwcmVjYXRlZCAiZnBzIiBwcm9wZXJ0eQoKMjAxMi0wNy0wNiAxMjo0NjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHJlbW92ZSBkZXByZWNhdGVkIGFuZCB1bnVzZWQgImF1dG9zY2FuIiBwcm9wZXJ0eQoJICBSZXBsYWNlZCBieSBib3VuZGFyeT1OVUxMLgoKMjAxMi0wNy0wNiAwOTowNzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2M3BwYXk6IGFjY2VwdCBhbnkgaDI2MyBpbnB1dCB1bmxlc3MgZG93bnN0cmVhbSBmb3JjZXMgc3BlY2lmaWMgcmVxdWlyZW1lbnRzCgkgIHJ0cGgyNjNwcGF5IHNob3VsZCBhY2NlcHQgYW55IGlucHV0IGNvbXBhdGlibGUgd2l0aCBpdHMgc2luayB0ZW1wbGF0ZQoJICBjYXBzIGlmIGl0IGp1c3Qgb3V0cHV0cyB0byBlLmcuIHVkcHNpbmsgb3IgZmFrZXNpbmsuCgkgIHJ0cGgyNjNwcGF5ICEgcnRwaDI2M3BkZXBheSBzaG91bGQgYWxzbyB3b3JrIHdpdGggYW55IGNvbXBhdGlibGUgaW5wdXQuCgkgIFRoaXMgd291bGQgZmFpbCBiZWZvcmUgd2l0aCBub3QtbmVnb3RpYXRlZCBlcnJvcnMgYmVjYXVzZSB0aGUgZ2V0X2NhcHMKCSAgZnVuY3Rpb24gd291bGQgc2VlIHRoZSBlbmNvZGluZy1uYW1lIGluIHRoZSBkZXBheWxvYWRlcidzIHRlbXBsYXRlIGNhcHMKCSAgYW5kIGRlZmF1bHQgdG8gYmFzZWxpbmUgSC4yNjMgYmVjYXVzZSB0aGVyZSdzIG5vIHByb2ZpbGUvbGV2ZWwgaW5mb3JtYXRpb24KCSAgaW4gdGhvc2UgY2Fwcywgd2hpY2ggaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGlmIGRvd25zdHJlYW0gaGFzIGZpbHRlcmNhcHMKCSAgZnJvbSBhbiBTRFAsIGJ1dCBub3QgaWYgdGhvc2UgZmllbGRzIGFyZSBhYnNlbnQgYmVjYXVzZSB0aGV5IGNhbiBiZQoJICBhbnl0aGluZyBsaWtlIHdpdGggdGhlIGRlcGF5bG9hZGVyJ3MgdGVtcGxhdGUgY2Fwcy4gTWFrZXMKCSAgdmlkZW90ZXN0c3JjICEgYXZlbmNfaDI2M3AgISBydHBoMjYzcHBheSAhIHJ0cGgyNjNwZGVwYXkgISBmYWtlc2luawoJICB3b3JrLgoKMjAxMi0wNy0wNSAyMjo1NzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogZml4IGgyNjNwIHBheWxvYWQgISBkZXBheWxvYWQgdW5pdCB0ZXN0CgkgIE5lZWQgdG8gYWRkIGgyNjN2ZXJzaW9uIGZpZWxkIHRvIGlucHV0IGNhcHMgc2luY2UgdGhlCgkgIHBheWxvYWRlciBzaW5rIGdldF9jYXBzIGZ1bmN0aW9uIHdpbGwgY29udGFpbiBpdCBpbiB0aGUKCSAgdGhlIGNhcHMsIGFuZCB0aGUgc3RyaWN0ZXIgY2FwcyBzdWJzZXQgY2hlY2sgcmVxdWlyZXMKCSAgdGhpcyB0byBiZSBwcmVzZW50IGluIHRoZSBpbnB1dCBjYXBzIGFzIHdlbGwgdGhlbi4KCjIwMTItMDctMDYgMTE6NTA6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMToyNjo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMTowMjoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMi0wNy0wNSAxNToxNDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogZml4IHJndm9sdW1lIHVuaXQgdGVzdCBldmVudCBoYW5kbGluZwoJICBNdXN0IGZsdXNoIGFmdGVyIEVPUyBiZWZvcmUgc2VuZGluZyBtb3JlIGJ1ZmZlcnMgb3IKCSAgYW5vdGhlciBFT1MgZXZlbnQsIG9yIHRoZSBldmVudCBvciBidWZmZXIgd2lsbCBiZQoJICByZWplY3RlZC4gQWxzbyBzZW5kIGEgU0VHTUVOVCBldmVudCBhdCB0aGUgc3RhcnQKCSAgb2YgZWFjaCBzdHJlYW0gZm9yIGdvb2QgbWVhc3VyZS4KCjIwMTItMDctMDUgMTM6MTM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBnc3Q6IEltcGxlbWVudCBzZWdtZW50LWRvbmUgZXZlbnQKCjIwMTItMDctMDUgMTI6MzU6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSB0aGUgVE9DIHF1ZXJ5IGhhbmRsaW5nCgoyMDEyLTA3LTA0IDE5OjUyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogVXBkYXRlIGZvciBuZXcgR3N0VG9jIEFQSQoJICBUT0Mgc3VwcG9ydCBpbiBtYXRyb3NrYW11eCBpcyBkaXNhYmxlZCBmb3Igbm93IGFzIGl0IHdhcyBicm9rZW4gYW55d2F5LgoKMjAxMi0wNy0wNCAyMzo1NzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGZpeCByZ2FuYWx5c2lzIHVuaXQgdGVzdCBldmVudCBoYW5kbGluZwoJICBNdXN0IGZsdXNoIGFmdGVyIEVPUyBiZWZvcmUgc2VuZGluZyBtb3JlIGJ1ZmZlcnMgb3IKCSAgYW5vdGhlciBFT1MgZXZlbnQsIG9yIHRoZSBldmVudCBvciBidWZmZXIgd2lsbCBiZQoJICByZWplY3RlZC4gQWxzbyBzZW5kIGEgU0VHTUVOVCBldmVudCBhdCB0aGUgc3RhcnQKCSAgb2YgZWFjaCBzdHJlYW0gZm9yIGdvb2QgbWVhc3VyZS4KCjIwMTItMDctMDQgMTg6NTg6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBjbGVhciAwIERUUyBvbiBidWZmZXJzIG91dHB1dCwgYXMgc2lua3Mgd2lsbCBwcmVmZXIgRFRTIG92ZXIgUFRTIGZvciBzeW5jaW5nCgkgIFNpbmNlIHRoZSBpbml0aWFsIGRlY29kZWQgc3RpbGwgaW1hZ2UgYnVmZmVyIHdpbGwgaGF2ZSBkdHM9cHRzPTAsIGFuZAoJICB3ZSBvbmx5IHNldCBQVFMgb24gYnVmZmVycyB3ZSBwdXNoIG91dCwgYWxsIGJ1ZmZlcnMgcHVzaGVkIG91dCB3b3VsZAoJICBoYXZlIGEgRFRTIG9mIDAuIFNpbmtzLCBob3dldmVyLCB3aWxsIHByZWZlciBEVFMgb3ZlciBQVFMgaWYgYm90aCBhcmUKCSAgc2V0LCBhbmQgd2lsbCB0aGVyZWZvcmUgYWx3YXlzIHNlZSBhIHRpbWVzdGFtcCBvZiAwIG5vIG1hdHRlciB3aGF0CgkgIHRoZSBQVFMgaXMgc2V0IHRvLgoJICBGaXhlcyB1bml0IHRlc3QgdG9vLgoKMjAxMi0wNy0wNCAyMDo1OTowMyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IHF1ZXJ5IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uOyBtb3JlIGRlYnVnZ2luZwoKMjAxMi0wNy0wNCAxOTo0MTo1MiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IHNwZWMgc3R1ZmYgaW4gZGlyZWN0c291bmRzaW5rCgoyMDEyLTA1LTMxIDE5OjIyOjQ3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCBhY2Nlc3MgdG8gaW52YWxpZCBwb2ludGVyIGluIHNldF92b2x1bWUKCjIwMTItMDYtMTMgMTI6MTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcj1DMz1CNmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggY2FwcyBsZWFrcwoKMjAxMi0wNS0yOSAxMTozNzo1OSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggYWNjZXB0Y2FwcyBjaGVjawoKMjAxMi0wNS0yNSAxMDoxNDo1NyArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiB1c2UgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGZvciBzcGRpZiBmb3JtYXRzCgoyMDEyLTA1LTI1IDEwOjE5OjA5ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGFkZCBzdXBwb3J0IGZvciBEVFMKCjIwMTItMDUtMDggMTY6MjM6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZm9yY2UgNDgwMDAga0h6IGZvcmNlIEFDLTMgb3ZlciBzcGRpZgoKMjAxMi0wNy0wNCAxNzo0Mjo0OSArMDQwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBhZGQgc3VwcG9ydCBmb3IgYWMtMyBvdmVyIHNwZGlmCgoyMDEyLTA3LTA0IDEyOjM3OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIHRlc3RzOiBkaXNhYmxlIGRlaW50ZXJsYWNlIHRlc3QgZm9yIG5vdywgZWxlbWVudCBzdGlsbCBuZWVkcyB0byBiZSBwb3J0ZWQKCSAgQnV0IGxlYXZlIGl0IGFjdGl2ZSBhbmQgcHJpbnQgYSBGSVhNRS4gUG9ydGluZyBpcyBpbiBwcm9ncmVzcy4KCjIwMTItMDctMDMgMTk6Mzg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTsgZG93bmdyYWRlIGNhcHMgY2hhbmdlIGZhaWx1cmUgZGVidWcgbWVzc2FnZQoJICBBZGQgc29tZSBtb3JlIGluZm8gYW5kIGRvd25ncmFkZSB0byB3YXJuaW5nLCBzbwoJICBpdCBkb2Vzbid0IGxvb2sgbGlrZSB0aGUgdW5pdCB0ZXN0IGZhaWxlZC4KCjIwMTItMDctMDMgMTc6NTI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmaXggbmVnb3RpYXRpb24gYW5kIHVuaXQgdGVzdAoJICBNdXN0IHJlbW92ZSBhIHBvc3NpYmx5LWZpeGVkIGNoYW5uZWwtbWFzayBmaWVsZCBpZgoJICB3ZSdyZSBnb2luZyB0byBzZXQgdW5maXhlZCBjaGFubmVscyBvbiB0aGUgc3RydWN0dXJlLAoJICBvciBhIGRpZmZlcmVudCBjaGFubmVsIGNvdW50LgoKMjAxMi0wNy0wMyAxNzoyNjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogT25seSBwdXNoIHRoZSBUT0MgZXZlbnQsIHRoZSBtZXNzYWdlIGlzIGhhbmRsZWQgYnkgdGhlIHNpbmtzCgoyMDEyLTA3LTAzIDEyOjQ3OjU4ICswOTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdGVzdHM6IGRvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsrIHN5bWJvbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTMwMQoKMjAxMi0wNy0wMyAwOToyNzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIEd0aysgMy4wIGZvciB0ZXN0cy9leGFtcGxlcwoKMjAxMi0wNy0wMyAxMjo1NzoxOCArMDkwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cDogcmVtb3ZlIHNvbWUgb3V0ZGF0ZWQgY29tbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTMwMQoKMjAxMi0wNi0yOSAxMTo1MTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmYXVsdCB0byBmb3JjZS1hc3BlY3QtcmF0aW89dHJ1ZQoKMjAxMi0wNi0yOCAyMDowMzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogYWRkIHB1c2ggbW9kZSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTYzMTcKCjIwMTItMDYtMjggMTE6Mjk6NTUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IFRyeSB0byBzZWVrIHVwc3RyZWFtIGJlZm9yZSBwcm9jZXNzaW5nIHNlZWsgcHVzaCBldmVudAoJICBXaGVuIGl0IHJlY2VpdmVzIGEgc2VlayBpbiBwdXNoIG1vZGUsIHRoZSBxdGRlbXV4IHNob3VsZCBmaXJzdCB0cnkgdG8gcHVzaCB0aGUgZXZlbnQgdXBzdHJlYW0sIGFuZCBvbmx5IGlmIHVwc3RyZWFtIGZhaWxzIGZhbGwgYmFjayB0bwoJICBpdHMgb3duIHNlZWsgbG9naWMuCgoyMDEyLTA2LTI4IDExOjQ3OjIwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBBbGxvdyBkdXJhdGlvbiBxdWVyaWVzIHRvIGJlIGZvcndhcmRlZCB1cHN0cmVhbQoJICBXaGVuIHJlY2VpdmluZyBhIGR1cmF0aW9uIHF1ZXJ5IGZvciBUSU1FIGZvcm1hdCwgdHJ5IHRvIHF1ZXJ5IHVwc3RyZWFtLCBhbmQgb25seSBpZiB1cHN0cmVhbSBmYWlscyBmYWxsIGJhY2sgdG8gcXRkZW11eCBkdXJhdGlvbiBoYW5kbGluZy4KCjIwMTItMDYtMjggMTE6NTk6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGNsZWFudXBzCgkgIFVzZSB0aGUgY2FwcyBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnQgYW5kIGZvcm1hdC4KCSAgUmVtb3ZlIHNvbWUgb2xkIHByb3BlcnRpZXMsIHdlIGFsd2F5cyB3YW50IHRvIHVzZSBidWZmZXJsaXN0cyB3aGVuIHdlIGNhbiBub3cuCgoyMDEyLTA2LTI4IDExOjMyOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IHByZWZlciBBVkMsIGl0J3MgZWFzaWVyIHRvIHBhcnNlIGV0YwoKMjAxMi0wNi0yNyAwOTowOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogbWFyayBhbGwgb3V0cHV0IGZyYW1lcyBhcyBrZXlmcmFtZXMKCjIwMTItMDYtMjYgMTg6NDg6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIEdzdFRvYyBBUEkgYWRkaXRpb25zCgoyMDEyLTA2LTI2IDE3OjA0OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBzZXQgaW50ZXJsYWNlLW1vZGUKCjIwMTItMDYtMjYgMTM6MTk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA2LTI2IDEzOjAyOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBmcmVlIGtlcm5lbCBidWZmZXJzIGJlZm9yZSBhbGxvY2F0aW5nIG5ldyBvbmVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFiMDliYzYwOWE1NzhlNzMxZjBkYmM4ZjZlNjk4ZTI1ZDhmNGM1ZjguCgkgIFNlZW1zIHRvIG1ha2UgbGlidjRsMiBjb21wbGFpbiwgbWF5YmUgYmVjYXVzZSB3ZSBjYWxsIFJFUUJVRlMgd2l0aCAwIGJ1ZmZlcnMKCSAgYmVmb3JlIHdlIGFsbG9jYXRlZCBidWZmZXJzLgoKMjAxMi0wNi0yNiAxMjowNzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUga2VybmVsIGJ1ZmZlcnMgYmVmb3JlIGFsbG9jYXRpbmcgbmV3IG9uZXMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAyNTcKCjIwMTItMDYtMjYgMTI6MDc6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGltcHJvdmUgZGVidWcKCjIwMTItMDYtMjYgMTE6MTQ6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBzZXR1cCBzdHJpZGVzIGFuZCBvZmZzZXRzIGZvciBhbGwgcGxhbmVzCgoyMDEyLTA2LTI1IDIwOjExOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IHVwZGF0ZSBmb3IgR3N0VG9jU2V0dGVyIGNoYW5nZXMKCjIwMTItMDYtMjUgMTM6MzE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJldHVybiBGQUxTRSBmcm9tIHF1ZXJpZXMgaWYgd2UgY2FuJ3QgYW5zd2VyIFBPU0lUSU9OL0RVUkFUSU9OIHF1ZXJpZXMKCjIwMTItMDYtMjEgMTc6MTU6MTEgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZXR1cm4gRkFMU0UgZnJvbSBUT0MgcXVlcnkgaWYgbm8gVE9DIGV4aXN0cyBpbnN0ZWFkIG9mIGFuIGVtcHR5IFRPQwoKMjAxMi0wNi0yNCAyMjo1MToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBHc3RUb2MgQVBJIGNoYW5nZXMKCjIwMTItMDYtMjMgMTQ6NTc6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVwZGF0ZSBmb3IgZ3N0X2VsZW1lbnRfbWFrZV9mcm9tX3VyaSgpIGNoYW5nZXMKCjIwMTItMDYtMjAgMTI6MzE6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgdXBkYXRlIGZvciBidXMgYXBpIGNoYW5nZXMKCjIwMTItMDYtMjAgMTA6MzM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgdGFzayBhcGkgY2hhbmdlCgoyMDEyLTA2LTIwIDA5OjU5OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIHVwZGF0ZSBmb3IgY2xvY2sgYXBpIGNoYW5nZXMKCjIwMTItMDYtMTkgMTI6MTU6MzMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW9zaW5rOiByZXNwZWN0IHRoZSBwcmVmZXJlZCBjaGFubmVsIGxheW91dAoJICBJbiBPU1ggaXMgYWxsb3dlZCB0byBjb25maWd1cmUgdGhlIGRlZmF1bHQgYXVkaW8gb3V0cHV0IGRldmljZSwKCSAgcHJlZmVyZWQgY2hhbm5lbCBsYXlvdXQgYW5kIHNwZWFrZXIgcG9zaXRpb25zIHRocm91Z2ggdGhlIHRvb2wKCSAgIkF1ZGlvIE1JREkgU2V0dXAiLgoKMjAxMi0wNC0zMCAyMjo1OTo1OCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogU2VuZCBnYXAgZXZlbnRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zCgoyMDEyLTA2LTE3IDAxOjAwOjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogZml4IHVwIGRvY3MgZm9yIDAuMTEKCjIwMTItMDYtMTYgMjM6Mjk6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBzbWFsbCB1cmkgaGFuZGxlciBmaXh1cCBhbmQgc29tZSBtb3JlIGRvY3MKCSAgR2V0IFVSSSBsb2NhdGlvbiB1c2luZyBnc3RfdXJpX2dldF9sb2NhdGlvbigpLCBzbyBhbnkKCSAgZXNjYXBlZCBiaXRzIGdldCB1bmVzY2FwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDkwNDkKCjIwMTItMDYtMTcgMDA6NTk6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiByZS1wb3J0IHRvIDAuMTEKCjIwMTItMDYtMTYgMTk6MDY6MjUgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogSW1wbGVtZW50IHNwbGl0ZmlsZTovLyBVUkkgc2NoZW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDkwNDkKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jCgoyMDEyLTA2LTE0IDEwOjQzOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICB0aGVvcmFkZXBheTogZml4IGJ1ZmZlciBtZW1vcnkKCSAgVGhlIG1lbW9yeSB3YXMgYWRkZWQgdG8gdGhlIGlucHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIHRoZSBvdXRwdXQgYnVmZmVyLgoKMjAxMi0wNi0xMyAxMzozNjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgcmVzZXQgdGltZSBpbiBmbHVzaC1zdG9wCgkgIERvbid0IHJlc2V0IHRoZSB0aW1lIGluIGZsdXNoLXN0b3AuIExpdmUgc291cmNlcyBjYW4gZG8gdGhpcyBmbHVzaCBpbiB0aGUKCSAgcGxheWluZyBzdGF0ZSBhbmQgc28gdGhlIHBpcGVsaW5lIHdpbGwgbmV2ZXIgaGF2ZSBhIGNoYW5jZSB0byB1cGRhdGUgdGhlCgkgIGJhc2VfdGltZSBvZiB0aGUgZWxlbWVudHMsIHdoaWNoIG9ubHkgaGFwcGVucyB3aGVuIGdvaW5nIGZyb20gcGF1c2VkIHRvCgkgIHBsYXlpbmcuCgoyMDEyLTA2LTEyIDEyOjQyOjMxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvc2luazogQWRkIHN1cHBvcnQgZm9yIFNQRElGIG91dHB1dAoJICBBIGJpZyByZWZhY3RvcmluZyB0byBhbGxvdyBwYXNzdGhyb3VnaCBBQzMvRFRTIG92ZXIgU1BESUYuCgkgIFNldmVyYWwgcmFuZG9tIGNsZWFudXBzIGFuZCBtaW5vciBmaXhlcy4KCjIwMTEtMDktMDEgMTU6NDE6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogc2VuZCBRb1MgbWVzc2FnZXMgd2hlbiBkcm9wcGluZyBhIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc5NDEKCjIwMTItMDYtMTIgMTY6MDU6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUmV3b3JrIHRoZSBhc3luYyBzdGF0ZSBoYW5kbGluZwoJICBBbHdheXMgc2VuZCB0aGUgZmx1c2hpbmcgZXZlbnRzIHRvIHRoZSB1ZHAgZWxlbWVudHMgbm93IHRoYXQgYmFzZXNyYyBzdXBwb3J0cwoJICB0aGlzLiBUaGlzIG1ha2VzIHN1cmUgYSBzZWdtZW50IGV2ZW50IGlzIHNlbnQgY29ycmVjdGx5IGFmdGVyIGEgZmx1c2guCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgY29tbWFuZCBhbmQgbWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5CgkgIHdoYXQgY29tbWFuZCB5b3Ugd2FudCB0byBjYW5jZWwgd2hlbiBzdGFydGluZyBhIG5ldyBhc3luYyBjb21tYW5kLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzkwNQoKMjAxMi0wNi0xMSAxODoyNDoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBjaGlsZHByb3h5OiB1cGRhdGUgYXBpIHVzZQoKMjAxMi0wNi0xMSAxMjo1NDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWx3YXlzIHBlcmZvcm0gZnVsbCBzZWVrIGlmIHNlZWsgaXMgZmx1c2hpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzgzOAoKMjAxMi0wNi0xMSAxMToyMDoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IHByaW50ZiBmb3JtYXQgZml4IGZvciBsb25nIC0+IGludCBjaGFuZ2UKCjIwMTItMDYtMDggMjA6Mzg6MzQgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHByb2JlIFVWQyBkZXZpY2VzIGZvciBiZWluZyBpbnRlcmxhY2VkCgkgIFVWQyBkZXZpY2VzIGFyZSBuZXZlciBpbnRlcmxhY2VkLCBhbmQgZG9pbmcgVklESU9DX1RSWV9GTVQgb24gdGhlbQoJICBjYXVzZXMgZXhwZW5zaXZlIGFuZCBzbG93IFVTQiBJTywgc28gZG9uJ3QgcHJvYmUgdGhlbSBmb3IgaW50ZXJsYWNlZC4KCSAgVGhpcyBzaGF2ZXMgMiBzZWNvbmRzIG9mIHRoZSBzdGFydHVwIHRpbWUgb2YgY2hlZXNlIHdpdGggYSBMb2dpdGVjaAoJICBXZWJjYW0gUHJvIDkwMDAuCgkgIFNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc3MjIKCjIwMTItMDYtMDkgMTY6NTM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBkZWJ1ZzogY2hhbmdlIHJuZGJ1ZmZlcnNpemUgcHJvcGVydGllcyBmcm9tIGxvbmcgdG8gaW50CgkgIFRoZXNlIHNob3VsZCBhbGwgYmUgaW50IGluc3RlYWQgb2YgbG9uZywgdG8gYXZvaWQgYnVncwoJICB3aGVuIHBhc3NpbmcgdGhlc2UgYXMgdmFyYXJncyB3aXRoIGdfb2JqZWN0X3NldCgpLCBhbmQKCSAgdGhlcmUgd2FzIG5vIHJlYXNvbiB0byB1c2UgbG9uZyBpbiB0aGUgZmlyc3QgcGxhY2UgaGVyZS4KCSAgRml4ZXMgRklYTUUuCgoyMDEyLTA2LTA4IDE1OjU0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBlbGVtZW50czogVXNlIGdzdF9wYWRfc2V0X2NhcHMoKSBpbnN0ZWFkIG9mIG1hbnVhbCBldmVudCBmaWRkbGluZwoKMjAxMi0wNi0wOCAxNTowNDo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAzYTBlNTcgdG8gOThlMzg2ZgoKMjAxMi0wNi0wOCAxMDoxMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdXBkYXRlIGZvciBhdWRpbyBhcGkgY2hhbmdlCgoyMDEyLTA2LTA3IDE2OjEyOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MiA9PT0KCjIwMTItMDYtMDcgMTY6MTI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkyCgoyMDEyLTA2LTA3IDE2OjExOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA2LTA3IDE1OjAzOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBpbXByb3ZlIGNsb2NrIGhhbmRsaW5nCgkgIFBvc3QgdGhlIG5vdGlmeSBvdXRzaWRlIG9mIHRoZSBwYV9sb2NrIHRvIGF2b2lkIGEgZGVhZGxvY2sgY2F1c2VkIGJ5IGJhc2VzcmMKCSAgY2FsbGluZyBnZXRfdGltZSB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgUmVzZXQgdGhlIGNsb2NrIG9uIGNvbm5lY3QuCgkgIFBvc3QgY2xvY2stbG9zdCBhbmQgY2xvY2stcHJvdmlkZSBtZXNzYWdlcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzk3NwoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgoyMDEyLTA0LTEyIDEzOjIxOjE3ICswMzAwICBNb2hhbW1lZCBTYW1lZXIgPG1zYW1lZXJAZm9vbGFiLm9yZz4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBCZXR0ZXIgR3N0Q2xvY2sgZm9yIHB1bHNlc3JjCgkgIFRoaXMgY2xvY2sgdXNlcyB0aGUgYWN0dWFsIHN0cmVhbSB0aW1lIChwYV9zdHJlYW1fZ2V0X3RpbWUpIHRvIGdldCBhIG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wLgoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgoyMDEyLTA2LTA3IDExOjE2OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZzogZml4IHZpZGVvIHN0YXRlIGxlYWtzCgoyMDEyLTA2LTA3IDExOjE2OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHZpZGVvIHN0YXRlIGxlYWsKCjIwMTItMDYtMDcgMTI6MTE6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgcmVzZXQgdGhlIG1hbmFnZXIgb2JqZWN0IHdoZW4gd2UgZGlkIGEgc2VlawoJICBPbmx5IHJlc2V0IHRoZSBtYW5hZ2VyIG9iamVjdCB3aGVuIHdlIHVzZWQgYSBSYW5nZSBoZWFkZXIsIGllLiB3aGVuIHdlIGRpZCBhCgkgIHNlZWsuIE90aGVyd2lzZSB3ZSBqdXN0IHBhdXNlZCBhbmQgd2UgY2FuIHJlc3VtZSBqdXN0IGZpbmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc0NzUKCjIwMTItMDYtMDYgMTY6MTM6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBydHBzZXNzaW9uIGNsZWFudXAKCjIwMTItMDYtMDYgMTg6MTg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZmFiMzU5IHRvIDAzYTBlNTcKCjIwMTItMDYtMDYgMTQ6MTc6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVwZGF0ZSBmb3IgVE9DIGV2ZW50IEFQSSBjaGFuZ2UKCjIwMTItMDYtMDYgMTM6MDI6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA2LTA2IDEzOjAwOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICBmaXggWTgwMCBmb3JtYXQKCjIwMTItMDYtMDEgMDE6MTk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IHN0cmFpZ2h0Zm9yd2FyZCBwb3J0IHRvIDAuMTEKCjIwMTItMDUtMzEgMTg6Mzk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBTb21lIHByaW50ZiB2YXJpYWJsZSBmb3JtYXQgZml4ZXMKCSAgVGhlIG9zeCBjb21waWxlciBjb21wbGFpbnMgYWJvdXQgdGhvc2UKCjIwMTItMDYtMDUgMDk6MTg6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogRml4IEdzdEJhc2VQYXJzZTo6Z2V0X3NpbmtfY2FwcygpIGltcGxlbWVudGF0aW9ucwoJICBUaGV5IHNob3VsZCB0YWtlIHRoZSBmaWx0ZXIgY2FwcyBpbnRvIGFjY291bnQgYW5kIGFsd2F5cyByZXR1cm4KCSAgdGhlIHRlbXBsYXRlIGNhcHMgYXBwZW5kZWQgdG8gdGhlIGFjdHVhbCBjYXBzLiBPdGhlcndpc2UgdGhlCgkgIHBhcnNlcnMgc3RvcCB0byBhY2NlcHQgdW5wYXJzZWQgc3RyZWFtcyB3aGVyZSB1cHN0cmVhbSBkb2VzIG5vdAoJICBrbm93IGFib3V0IGNoYW5uZWxzLCByYXRlLCBldGMuCgkgIEZpeGVzIGJ1ZyAjNjc3NDAxLgoKMjAxMi0wNi0wNCAxNjoxNzo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogc2V0IGNvbG9yaW1ldHJ5IG9uIG91dHB1dCBpbmZvCgoyMDEyLTA2LTA0IDA4OjEwOjE1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpb3Npbms6IEhhbmRsZSBlbmRpYW5uZXNzIGNvcnJlY3RseQoKMjAxMi0wNi0wMSAxNjozNzowMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpb3Npbms6IEFkZCBzdXBwb3J0IGZvciBpbnQgYXVkaW8KCjIwMTItMDYtMDEgMTA6Mjg6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMWI1YTk2IHRvIDFmYWIzNTkKCjIwMTItMDUtMzEgMTM6MzY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHRoZSBwYWxldHRlIHNpemUgY29ycmVjdGx5CgoyMDEyLTA1LTMxIDEwOjE1OjQzICswMjAwICBNaWNoYWVsIEpvbmVzIDxtaWNoYWVsLmpvbmVzQG1hdHJpeC12aXNpb24uZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgdjRsMjogYWRkIG1pc3NpbmcgR19FTkRfREVDTFMKCSAgR19CRUdJTl9ERUNMUyBkaWRuJ3QgaGF2ZSBtYXRjaGluZyBHX0VORF9ERUNMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MTY1CgoyMDEyLTA1LTMxIDEzOjA4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTJiNzI2NiB0byBmMWI1YTk2CgoyMDEyLTA1LTMxIDEwOjI2OjI3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogUmVhbGx5IGZpeCB0aGUgYnVpbGQgb24gMTAuNQoJICBUaGUgQVBJIHRoYXQgd2UgdXNlIHRvIHJ1biB0aGUgQ29jb2EgbG9vcCBpbiBhbm90aGVyCgkgIHRocmVhZCBkb2VzIG5vdCBleGlzdCBpbiAxMC41IG9yIGVhcmxpZXIuCgoyMDEyLTA1LTI2IDEyOjIxOjE4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHJhY2UgaW4gc3RhcnRpbmcgdGhlIHJ1bmxvb3AgdGhyZWFkCgkgIEJsb2NrIGdzdF9vc3hfdmlkZW9fc2lua19ydW5fY29jb2FfbG9vcCB1bnRpbCB0aGUgbG9vcCB0aHJlYWQgaGFzIHN0YXJ0ZWQgYW5kCgkgIGZpbmlzaGVkIGluaXRpYWxpemluZyBOU0FwcC4gRml4ZXMgb2NjYXNpb25hbCB3YXJuaW5ncy9jcmFzaGVzIGR1ZSB0byB0d28KCSAgdGhyZWFkcyBnb2luZyBpbnNpZGUgTlNBcHAgYmVmb3JlIGZpbmlzaExhdW5jaGluZyBoYWQgY29tcGxldGVkLgoKMjAxMi0wNS0zMCAxNjowMzo1NSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IEZpeCBsYXN0IGNvbW1pdCB0byBhY3R1YWxseSB3b3JrCgkgIE1BQ19PU19YX1ZFUlNJT05fMTBfNiBpcyBvYnZpb3VzbHkgbm90IGRlZmluZWQgb24gMTAuNS4KCjIwMTItMDUtMzAgMTM6NTE6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlb3Npbms6IFB1dCB0aGUgcmlnaHQgZmxhZ3MgaW4gdGhlIHJpZ2h0IHZhcmlhYmxlCgoyMDEyLTA1LTMwIDEzOjI0OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggR1NUX09CSkNGTEFHUwoKMjAxMi0wNS0zMCAxMjo0NToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjMWM0YTggdG8gOTJiNzI2NgoKMjAxMi0wNS0zMCAxMjo0MzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogTlNXaW5kb3dEZWxlZ2F0ZSBpcyBhdmFpbGFibGUgaW4gYWxsIE9TWCB2ZXJzaW9ucyBuZXdlciB0aGFuIDEwLjYKCjIwMTItMDUtMzAgMTI6NDA6NTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggYnVpbGQgd2l0aCBvbGRlciBPU1ggdmVyc2lvbnMKCjIwMTItMDUtMzAgMTE6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogQWRkIE9CSkMgc3BlY2lmaWMgY29tcGlsZXIgZmxhZ3MKCSAgU2VlIGJ1ZyAjNjQzOTM5LgoKMjAxMi0wNS0zMCAxMToyMzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM0MjliYTYgdG8gZWMxYzRhOAoKMjAxMi0wNS0yOSAxNzo1MDoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvOiByZW1vdmUgZHVwbGljYXRlIGZvcm1hdAoKMjAxMi0wNS0yOSAxNjo1MjowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBQb3N0IGVycm9yIG1lc3NhZ2UgaWYgRU9TIGJlZm9yZSBwYWRzIHdlcmUgY3JlYXRlZAoJICBIYXBwZW5zIHdpdGggc29tZSBmaWxlcyB3aXRoIG9ubHkgaGVhZGVycwoKMjAxMi0wNS0yOCAxNToyMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmc6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNS0xNCAxMjo0Njo1NyArMDIwMCAgSmVucyBHZW9yZyA8bWFpbEBqZW5zZ2Uub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogRHJvcCB0cmFuc2Zlck1vZGUuZGxuYS5vcmcgaGVhZGVyCgkgIExlYXZlIGl0IHRvIHRoZSBhcHBsaWNhdGlvbiB0byBkZWNpZGUgb24gdGhlIGhlYWRlci4gTm8gaGVhZGVyIGF0IGFsbAoJICBpcyBiZXR0ZXIgdGhhbiBoYXZpbmcgdGhlIHdyb25nIGhlYWRlciBhcyBETE5BIG1hbmRhdGVzIHRoYXQgYSBtaXNzaW5nCgkgIGhlYWRlciBoYXMgdG8gYmUgdG9sZXJhdGVkIHdoaWxlIGEgd3JvbmcgaGVhZGVyIGlzIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MDIwCgoyMDEyLTA0LTA3IDA5OjUyOjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZzogUG9ydCB0byBiYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmgKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5oCgkgIFJldmVydGVkIHRvIDAuMTAsIG5lZWRzIHRvIGJlIHBvcnRlZCBhZ2Fpbi4KCjIwMTItMDUtMjcgMDA6MDI6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIGZsdiwgbWF0cm9za2E6IGRvbid0IHVzZSBHc3RTdHJ1Y3R1cmUgQVBJIG9uIHRhZyBsaXN0cwoKMjAxMi0wNS0yNiAxMTo1NzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICBydHBtcDJ0ZGVwYXk6IE9ubHkgb3V0cHV0IGludGVncmFsIG1wZWctdHMgcGFja2V0cwoJICBGcm9tIFJGQyAyMjUwCgkgIDIuIEVuY2Fwc3VsYXRpb24gb2YgTVBFRyBTeXN0ZW0gYW5kIFRyYW5zcG9ydCBTdHJlYW1zCgkgIC4uLgoJICBGb3IgTVBFRzIgVHJhbnNwb3J0IFN0cmVhbXMgdGhlIFJUUCBwYXlsb2FkIHdpbGwgY29udGFpbiBhbiBpbnRlZ3JhbAoJICBudW1iZXIgb2YgTVBFRyB0cmFuc3BvcnQgcGFja2V0cy4gIFRvIGF2b2lkIGVuZCBzeXN0ZW0KCSAgaW5lZmZpY2llbmNpZXMsIGRhdGEgZnJvbSBtdWx0aXBsZSBzbWFsbCBNVFMgcGFja2V0cyAobm9ybWFsbHkgZml4ZWQKCSAgaW4gc2l6ZSBhdCAxODggYnl0ZXMpIGFyZSBhZ2dyZWdhdGVkIGludG8gYSBzaW5nbGUgUlRQIHBhY2tldC4gIFRoZQoJICBudW1iZXIgb2YgdHJhbnNwb3J0IHBhY2tldHMgY29udGFpbmVkIGlzIGNvbXB1dGVkIGJ5IGRpdmlkaW5nIFJUUAoJICBwYXlsb2FkIGxlbmd0aCBieSB0aGUgbGVuZ3RoIG9mIGFuIE1UUyBwYWNrZXQgKDE4OCkuCgkgIC4uLi4KCSAgU2luY2UgaXQgbmVlZHMgdG8gY29udGFpbiAiYW4gaW50ZWdyYWwgbnVtYmVyIG9mIE1QRUcgdHJhbnNwb3J0IHBhY2tldHMiLCBhCgkgIHNpbXBsZSBmaXggaXMgdG8gY2hlY2sgdGhhdCdzIHRoZSBjYXNlLCBhbmQgc3RyaXAgb2ZmIGFueSBsZWZ0b3ZlciBkYXRhLgoJICBGaXhlcyAjNjc2Nzk5CgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYwoKMjAxMi0wNS0yNCAyMDo0MzoxNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogbWFrZSBzdXJlIGFsbCBzZWxlY3RvcnMgYXJlIHBlcmZvcm1lZCBvbiB0aGUgc2FtZSB0aHJlYWQKCSAgV2hlbiB3ZSBhcmUgdXNpbmcgYSBkZWRpY2F0ZWQgdGhyZWFkIHRvIHJ1biB0aGUgbWFpbiBydW4gbG9vcCB3ZQoJICBtdXN0IG1ha2Ugc3VyZSB0aGF0IGFsbCBzZWxlY3RvcnMgYXJlIHBlcmZvcm1lZCBvbiB0aGlzIHNhbWUgdGhyZWFkLgoJICBGb3IgaW5zdGFuY2UgaWYgcGVyZm9ybVNlbGVjdG9yT25NYWluVGhyZWFkIGlzIGNhbGxlZCBmcm9tIHRoZSByZWFsCgkgIG1haW4gdGhyZWFkLCBpdCB3aWxsIG5vdCBnbyB0aHJvdWdoIHRoZSBtZXNzYWdlIHF1ZXVlIGFuZCB3aWxsIGJlCgkgIGV4ZWN1dGVkIGZyb20gdGhlIHJlYWwgbWFpbiB0aHJlYWQuIEJ5IGZvcmNpbmcgdGhlIHRhcmdldCB0aHJlYWQsCgkgIHdlIGVuc3VyZSB0aGF0IGFsbCBmdW5jdGlvbnMgd2lsbCBiZSBjYWxsZWQgZWl0aGVyIGZyb20gdGhlIHJlYWwKCSAgbWFpbiB0aHJlYWQgd2hlbiB0aGUgbWFpbiBydW4gbG9vcCBpcyBydW5uaW5nIG9yIGZyb20gb3VyIHRocmVhZAoJICBzcGlubmluZyB0aGUgbWFpbiBsb29wLgoKMjAxMi0wNS0yNCAxNjowOTo1NCArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzLmhhc3NlbG1hbm4gYXQgZ214LmRlPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZW1vdmUgZnJhbWVyYXRlCgkgIFRoZSBqcGVnIGRlY29kZXIgZG9lc24ndCBuZWVkL2NhcmUgYWJvdXQgdGhlIGZyYW1lcmF0ZSB0byBzbyBpdCBzaG91bGQKCSAgbm90IGJlIGluIHRoZSBjYXBzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MzAyCgoyMDEyLTA1LTI0IDEzOjA4OjM1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHN0YXJ0IHRoZSBsb29wIGJlZm9yZSBjYWxsaW5nIFtnc3R2aWV3IGhhdmVTdXBlcnZpZXddCgkgIC4uLmFzIGhhdmVTdXBlcnZpZXcgcmVxdWlyZXMgdGhlIG1haW5sb29wIHRvIGJlIHJ1bm5pbmcKCjIwMTItMDUtMjQgMTM6MDg6MTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IGluZGVudGF0aW9uCgoyMDEyLTA1LTIyIDE2OjQ3OjM2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlb3Npbms6IGVuYWJsZSBydW5uaW5nIHRoZSBjb2NvYSBtYWluIHJ1bmxvb3AgaW4gYSB0aHJlYWQKCjIwMTItMDUtMjIgMTY6NDU6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhZGQgY29kZSB0byBvcHRpb25hbGx5IHJ1biB0aGUgY29jb2EgbWFpbiBydW5sb29wIGluIGEgc2VwYXJhdGUgdGhyZWFkCgkgIEFkZCBhIGxpdHRsZSBoYWNrIHRvIHJ1biB0aGUgY29jb2EgbWFpbiBydW5sb29wIGZyb20gYSBzZXBhcmF0ZSB0aHJlYWQgX3doZW5fCgkgIHRoZSBtYWluIHJ1bmxvb3AgaXMgbm90IGJlaW5nIHJ1biAod2hpY2ggbWVhbnMgdGhhdCB0aGUgYXBwIGRvZXNuJ3QgdXNlIGNvY29hKS4KCSAgUnVubG9vcHMgYXJlIHRocmVhZCBzcGVjaWZpYywgc28gdGhlIGhhY2sgYm9pbHMgZG93biB0byBnZXR0aW5nIHRoZSBydW5sb29wIGZvcgoJICB0aGUgbWFpbiB0aHJlYWQgYW5kIHNldHRpbmcgaXQgYXMgdGhlIHJ1bmxvb3AgZm9yIG91ciBkZWRpY2F0ZWQgdGhyZWFkLgoKMjAxMi0wNS0yMiAxNjozMjo1MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZXNldCBhcHBfc3RhcnRlZCB0byBGQUxTRSB3aGVuIHNodXR0aW5nIGRvd24KCjIwMTItMDUtMjIgMTQ6NDk6MTcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVuYW1lIGNvY29hIHJ1bmxvb3AgaGVscGVyIGZ1bmNzCgoyMDEyLTA1LTIyIDE0OjI2OjEzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRvbid0IGNyZWF0ZSBhcHBsaWNhdGlvbiBtZW51cwoKMjAxMi0wNS0xNiAyMTo1Mjo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlc2V0IHRoZSBlbWJlZCBwcm9wZXJ0eSBmb3IgYmFja3dhcmQgY29tcGF0aWxpYml0eQoKMjAxMi0wNS0xNiAyMToxMjoyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBuYXZpZ2F0aW9uIHdoZW4gZm9yY2UtYXNwZWN0LXJhdGlvIGlzIGFjdGl2YXRlZAoKMjAxMi0wNS0xNiAxODo1Mjo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWRkIGZvcmNlLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eQoKMjAxMi0wNS0xNCAxODowMTowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogc3RhcnQgaW50ZXJuYWwgd2luZG93IGlmIG5vIHZpZXcgaXMgcHJvdmlkZWQKCjIwMTItMDUtMTQgMTQ6Mjc6NTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBpbXBsZW1lbnQgdGhlIG5hdmlnYXRpb24gaW50ZXJmYWNlCgoyMDEyLTA1LTExIDE4OjI0OjA4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zdmlkZW9zaW5rOiBjcmVhdGUsIGRlc3Ryb3ksIHJlc2l6ZSBhbmQgZHJhdyBmcm9tIHRoZSBtYWluIHRocmVhZAoKMjAxMi0wNC0xOSAwODozNzoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW5jcmVhc2UgTkVXU0VHTUVOVCBhY2N1cmFjeSBhZnRlciBzZWVraW5nCgkgIGRlbXV4LT5jb21tb24uc2VnbWVudCBpcyBwb3B1bGF0ZWQgZHVyaW5nIHNlZWsgaGFuZGxpbmcgd2l0aCB0aGUgdGFyZ2V0CgkgIHN0YXJ0L3N0b3AgcG9zaXRpb25zLiBEb24ndCBvdmVycmlkZSB0aGVtIHdoZW4gc2VuZGluZyBvdXQgYSBORVdTRUdNRU5ULgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA0LTE5IDA4OjMxOjAwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBkaXNjYXJkIHRoZSBpbmNvbWluZyBzZWVrIHNlZ21lbnQgb24gcHVzaCBiYXNlZCBzZWVraW5nCgkgIFRoZSBpbmNvbWluZyBzZWVrIHNlZ21lbnQgd2FzIGJlaW5nIGRpc2NhcmRlZCBsZWFkaW5nIHRvIHB1c2ggYmFzZWQgc2Vla2luZwoJICBiZWluZyBwb3RlbnRpYWxseSBpbmFjY3VyYXRlLgoKMjAxMi0wNS0yMyAxODoxMjoyNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb21tb246CgkgIGNvbW1vbjogVXBkYXRlIHNvIHRoZSBwbHVnaW4gc2Nhbm5lciBjaGFuZ2VzIGFyZSBpbmNsdWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2Njc0CgoyMDEyLTA1LTIzIDE4OjA3OjM1ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzdXBwcmVzcyBzb21lIHdhcm5pbmdzIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQKCSAgV2FybmluZ3MgYWJvdXQgdW51c2VkIHZhcmlhYmxlcyBzaG91bGQgYmUgc3VwcHJlc3NlZCBpZiBjb3JlIGhhcyB0aGUKCSAgZGVidWcgc3lzdGVtIGRpc2FibGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NjcxCgoyMDEyLTA1LTI0IDA5OjI5OjI1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogZml4IGJ1aWxkIGlzc3VlIGluIGdzdHJ0cGgyNjRwYXkuYwoKMjAxMi0wNS0yMSAxMjoxNzozNSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogQWRkIHVucmVzdHJpY3RlZCBjYXBzCgkgIElmIHRoZXJlIGFyZSBubyBwcm9maWxlIHJlc3RyaWN0aW9ucyBkb3duc3RyZWFtLCByZXR1cm4gY2FwcyB3aXRoCgkgIHByb2ZpbGU9Y29uc3RyYWluZWQtYmFzZWxpbmUgaW4gdGhlIGZpcnN0IHN0cnVjdHVyZSBhbmQgYXBwZW5kCgkgIHVucmVzdHJpY3RlZCBjYXBzIGFzIHRoZSBsYXN0IHN0cnVjdHVyZS4KCSAgRml4ZXMgYnVnICM2NzIwMTkKCjIwMTItMDUtMjQgMDk6NTc6MzEgKzAyMDAgIE1hcmlhIEdpb3Zhbm5hIENoaW9zc2EgPG1hcmlhZ2lvdmFubmEuY2hpb3NzYSBhdCBzZWxleGVsc2FnLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogYWRkIHRoZSBTY2FsZSBoZWFkZXIgd2hlbiBuZWVkZWQKCSAgU2V0dGluZyBHU1RfU0VFS19GTEFHX1NLSVAgd2hlbiBzZW5kaW5nIGEgc2VlayBldmVudCBpbiBydHNwc3JjIHNob3VsZAoJICBzZXQgdGhlICJTY2FsZSIgZmllbGQgaW4gdGhlIHJ0c3AgUExBWSBoZWFkZXIuCgkgIEJlY2F1c2UgdGhlIGJvb2xlYW4gInNyYy0+c2tpcCIgaXMgc2V0IGFmdGVyIHRoZSBjYWxsLCAiU3BlZWQiIGluc3RlYWQKCSAgb2YgIlNjYWxlIiBpcyBhbHdheXMgc2V0LiBNb3ZlIHRoZSBhc3NpZ25tZW50IGJlZm9yZSBpc3N1aW5nIHRoZSBfcGxheQoJICByZXF1ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NjE4CgoyMDEyLTA1LTE3IDE2OjIzOjU5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCB0aGUgc2FtcGxlIHBpcGVsaW5lLgoKMjAxMi0wNS0yMiAxMjozNTowNCArMDQwMCAgQW50b24gTm92aWtvdiA8cmFuZG9tLnBsYW50QGdtYWlsLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogd2FybmluZyBpZiBzZXR0aW5nIHNyY3BhZCBjYXBzIGZhaWxzCgoyMDEyLTA1LTIyIDEyOjM1OjI5ICswNDAwICBBbnRvbiBOb3Zpa292IDxyYW5kb20ucGxhbnRAZ21haWwuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBhY3RpdmF0ZSBzcmNwYWQgYmVmb3JlIHNldHRpbmcgY2FwcwoJICBCZWZvcmUgZ3N0X3BhZF9zZXRfYWN0aXZlKCkgaXMgY2FsbGVkLCB0aGUgcGFkIGhhcwoJICBGTFVTSElORyBmbGFnIHNldCwgc28gc2V0dGluZyB0aGUgY2FwcyBmYWlscwoKMjAxMi0wNS0yMiAxMzo0NjoyNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1uZy9nc3RtbmcuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSAgbW5nOiByZW1vdmUgZXh0L2xpYm1uZwoJICBQb3J0IHRvIDAuMTAgd2FzIG5ldmVyIGZpbmlzaGVkLgoJICBJbnRlcmVzdCB3YXMgbG9zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTMyNDM2NAoKMjAxMi0wNS0xOCAxNjozNzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggYXNzZXJ0aW9uIHdoZW4gaGFuZGxpbmcgYSBkYXRlIHRhZyBhcyBhIHN0cmluZwoJICBEYXRlIHRhZ3MgYXJlIEdEYXRlLCBub3Qgc3RyaW5ncy4gQWRkIGEgc3BlY2lhbCBjYXNlIHRvIGNvbnZlcnQKCSAgaXQgdG8gdGhlIGV4aWYgZGF0ZSBmb3JtYXQgcmVwcmVzZW50YXRpb24gaW4gc3RyaW5nIHRvIGF2b2lkCgkgIHRoZSBhc3NlcnRpb24KCjIwMTItMDUtMjEgMTE6NDc6MDcgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogTGlzdGVuIHRvIHNvdXJjZSBvdXRwdXQgZXZlbnRzLCBub3Qgc2luayBpbnB1dAoKMjAxMi0wNS0xOCAxMjo1Mzo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwbXAydHBheTogcmVzcGVjdCBtdHUgYW5kIHBhY2tldCBib3VuZGFyaWVzCgkgIFNlZSAjNjU5OTE1LgoKMjAxMi0wNS0xOCAxMToxMDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWc6IFJlbW92ZSBkZWFkIGNvZGUKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCjIwMTItMDUtMTggMTE6MDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggY29tcGlsYXRpb24KCjIwMTItMDUtMTggMTE6MDI6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBXaGVuIGRyb3BwaW5nIGZyYW1lcyBvbiBFT1MsIGZsdXNoIG91dCBkYXRhCgkgIENsZWFuZXIgd2F5IG9mIGhhbmRsaW5nIHN0cmF5IGRhdGEKCjIwMTItMDUtMTcgMDk6MzQ6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCjIwMTItMDUtMTcgMDk6MzM6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBPbmx5IHBhcnNlIGZvciBTT0kgd2hlbiB3ZSBkaWRuJ3Qgc2VlIGl0IGJlZm9yZQoKMjAxMi0wNS0xNyAwOTozMTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFJlbWVtYmVyIGlmIHdlIHNhdyBTT0kgYW5kIGhhbmRsZSBzdHJheSBkYXRhIG9uIEVPUwoKMjAxMi0wNS0xNSAyMDo1ODoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBbGxvdyBVIGFuZCBWIGNvbXBvbmVudHMgdG8gdXNlIGRpZmZlcmVudCBxdWFudCB0YWJsZXMgaWYgdGhleSBjb250YWluIHRoZSBzYW1lIGRhdGEKCSAgVGhpcyBhbGxvd3Mgc29tZSBjYW1lcmFzIChMb2dpdGVjaCBDOTIwKSB0aGF0IHNwZWNpZnkgZGlmZmVyZW50IHF1YW50CgkgIHRhYmxlcyBidXQgYm90aCB3aXRoIHRoZSBzYW1lIGRhdGEsIHRvIHdvcmsuCgkgIEJ1ZyByZXBvcnRlZCBieSBSb2JlcnQgS3Jha29yYQoKMjAxMi0wNS0xNCAxNTo1MToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IHBvc3NpYmxlIGRhdGEgY29ycnVwdGlvbiBhZnRlciBzZWVraW5nCgkgIENvbnNpZGVyIGEgZG93bnN0cmVhbSBlbGVtZW50IHRoYXQgbWF5IGlzc3VlIHNlZWtzIGluIHZlcnkgc2hvcnQKCSAgc3VjY2Vzc2lvbiAoZS5nLiBxdWV1ZTIpLCBkZXBlbmRpbmcgb24gdGhlIGFjY2VzcyBwYXR0ZXJuIG9mCgkgIHRoZSBkb3duc3RyZWFtIGVsZW1lbnQgKGUuZy4gcXRkZW11eCB3aXRoIGF1ZGlvL3ZpZGVvIGNodW5rcwoJICBpbnRlcmxlYXZlZCBzbyB0aGF0IHRoZXJlJ3MgYWx3YXlzIGEgc2l6ZWFibGUgZ2FwIGJldHdlZW4gdGhlCgkgIGN1cnJlbnQgY2h1bmtzIGZvciBlYWNoIHN0cmVhbSkuIEluIHRoaXMgY2FzZSwgcXVldWUyIHdpbGwgbWFpbnRhaW4KCSAgdHdvIHJhbmdlcywgYW5kIGV2ZW4gd2hlbiBpdCBzZXJ2ZXMgYSBjaHVuayBmcm9tIG1lbW9yeSwgaXQgd2lsbAoJICBzd2l0Y2ggcmFuZ2VzIGFuZCBtYWtlIHNvdXBodHRwc3JjIHNlZWsgdG8gdGhlIGVuZCBvZiB0aGUgYXZhaWxhYmxlCgkgIGRhdGEgZm9yIHRoYXQgcmFuZ2UsIGFzc3VtaW5nIHRoYXQgdGhhdCdzIHdoZXJlIHdlJ2xsIHdhbnQgdG8KCSAgY29udGludWUgcmVhZGluZyBmcm9tIG5leHQuCgkgIFRoaXMgbWF5IGxlYWQgdG8gdGhlIGZvbGxvd2luZyBzZWVrIHJlcXVlc3QgcGF0dGVybjoKCSAgLSBzb3VyY2UgcmVhZGluZyBwb3NpdGlvbiBBCgkgIC0gc2VlayB0byBCCgkgIC0gbm93IHJlYWRpbmcgcG9zaXRpb24gc3RpbGwgQSwgcmVxdWVzdGVkX3Bvc3Rpb24gaXMgQgoJICAtIHN0cmVhbWluZyB0aHJlYWQgdG8gYmUgcmVzdGFydGVkIHRvIGNvbnRpbnVlIGZyb20gQgoJICAtIHNlZWsgdG8gQSwgYmVmb3JlIHN0cmVhbWluZyB0aHJlYWQgaGFkIHRpbWUgdG8gZG8gdGhlIHNlZWsKCSAgLSBkb19zZWVrKCkgbm93IHNlZXMgcmVhZGluZyBwb3NpdGlvbiA9PSBzZWVrIHBvc2l0aW9uIGFuZAoJICByZXR1cm5zIGVhcmx5LgoJICAtIGhvd2V2ZXIsIHJlcXVlc3RlZCBwb3NpdGlvbiBpcyBzdGlsbCBCIGZyb20gdGhlIGVhcmxpZXIKCSAgc2VlayByZXF1ZXN0CgkgIC0gc3RyZWFtaW5nIHRocmVhZCBzdGFydHMgdXAsIHNlZXMgdGhhdCBhIHNlZWsgdG8gQiBpcyBwZW5kaW5nCgkgIGFuZCByZXF1ZXN0cyBkYXRhIGZyb20gQiBmcm9tIHRoZSBzZXJ2ZXIsIHdoaWxlIHRoZSBHc3RCYXNlU3JjCgkgIHNlZ21lbnQgaGFzIG9mIGNvdXJzZSBiZWVuIHVwZGF0ZWQvcmVzZXQgdG8gcG9zaXRpb24gQSwgd2hpY2gKCSAgd2FzIHRoZSBsYXN0IHNlZWsgcmVxdWVzdC4KCSAgLSB3ZSB3aWxsIG5vdyBzZW5kIGRhdGEgZm9yIHBvc2l0aW9uIEIgYW5kIHByZXRlbmQgdGhhdCdzIHRoZQoJICBkYXRhIGZyb20gcG9zaXRpb24gQSAodmlhIHRoZSBuZXdzZWdtZW50IGV2ZW50LCBldGMuKQoJICAtIHRoaXMgY2F1c2VzIGRhdGEgY29ycnVwdGlvbgoJICBSZXByb2R1Y2libGUgZG9pbmcgc2Vlay1lbXVsYXRlZCBmYXN0LWZvcndhcmQvYmFja3dhcmQgb24gMDA2NjQ4LgoKMjAxMi0wNS0xNiAwOToxMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBjb3JlL2Jhc2UgMC4xMS45MQoKMjAxMi0wMS0xMyAxODowOTo1MCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGFkZCB2aXN1YWwgc3R1ZGlvIElERSBmaWxlcyBhbmQgT1MgWCAuRFNfU3RvcmUgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg5OQoKMjAxMi0wNS0wMyAwOTozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNC0wNiAxMjoxMzoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IFBvcnQganBlZ2RlYy9qcGVnZW5jIHRvIGJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYwoJICBleHQvanBlZy9nc3RqcGVnZGVjLmgKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuaAoJICBSZXZlcnRlZCB0byAwLjEwIHZlcnNpb25zIGZvciBub3csIG5leHQgcG9ydCBhZ2Fpbi4KCjIwMTItMDUtMTMgMTk6MjE6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICBhbm5vZGV4OiByZW1vdmUgYW5ub2RleCBwbHVnaW4gYW5kIENNTUwgZWxlbWVudHMKCSAgVGhpcyBuZXZlciByZWFsbHkgdG9vayBvZmYgYW5kIGlzIG1vc3QgbGlrZWx5IGNvbXBsZXRlbHkKCSAgdW51c2VkLiBJZiB0aGVyZSBpcyBzdGlsbCBhIG5lZWQgZm9yIHRoaXMsIGl0IHNob3VsZAoJICBwcm9iYWJseSBiZSBkb25lIGRpZmZlcmVudGx5LCBwZXJoYXBzIGluc2lkZSBvZ2dkZW11eC9tdXguCgoyMDEyLTA1LTEzIDE2OjU5OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MSA9PT0KCjIwMTItMDUtMTMgMTY6MzE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MQoKMjAxMi0wNS0xMyAxNjozMDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNS0xMyAxNTo1NjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRjNzAyMDMgdG8gMzQyOWJhNgoKMjAxMi0wNS0wOSAxNToxNDo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IG9ubHkgc2VuZCBmbHVzaC1zdG9wIGlmIGl0IHdhcyBhIGZsdXNoaW5nIHNlZWsKCjIwMTItMDUtMDkgMTI6NTQ6MTEgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogZml4IHY0bDJfc3RkX2lkIGxvZ2dpbmcKCSAgaW5wdXQuc3RkIGlzIG9mIHR5cGUgdjRsMl9zdGRfaWQgd2hpY2ggaXMgZGVmaW5lZCBhcyA2NC1iaXQgdW5zaWduZWQgaW50ZWdlci4KCSAgQ2FzdGluZyB0byB1aW50IG1lYW5zIHRoZSBoaWdoZXIgYml0cywgd2ljaCBhcmUgdXNlZCBmb3IgdGhlIHByaXZhdGUgdmlkZW8KCSAgc3RhbmRhcmRzIG9mIHRoZSBUSSB2aWRlbyBjYXB0dXJlL2Rpc3BsYXkgZHJpdmVyIGZvciBleGFtcGxlLCBhcmUgbG9zdC4KCjIwMTItMDUtMDkgMTI6MjQ6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBtdXN0IHNlbmQgZmx1c2gtc3RvcCBhZnRlciBhY3F1aXJpbmcgdGhlIHN0cmVhbSBsb2NrCgkgIE90aGVyd2lzZSB0aGUgc3RyZWFtaW5nIHRocmVhZCBtaWdodCBqdXN0IGtlZXAgb24gZ29pbmcgYW5kIHdlCgkgIG1pZ2h0IG5ldmVyIGdldCB0aGUgc3RyZWFtIGxvY2suCgoyMDEyLTA1LTA5IDExOjE1OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogcG9ydCBzZWVraW5nIGNvZGUgdG8gMC4xMQoKMjAxMi0wNS0wOCAxOTowNzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IGFkZCBzdXBwb3J0IGZvciBzZWVrcwoJICBVc2VmdWwgZm9yIGUuZy4gZmlsZXNyYyAhIHJuZGJ1ZmZlcnNpemUgISBxdWV1ZTIgISAuLi4KCjIwMTItMDUtMDggMTg6NDU6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBzZW5kIFNFR01FTlQgZXZlbnQgYmVmb3JlIHB1c2hpbmcgYnVmZmVycwoJICBDb25mbGljdHM6CgkgIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYwoKMjAxMi0wNS0wOSAxMToxNTo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IGNvbXBpbGF0aW9uIGFnYWluCgoyMDEyLTAxLTEzIDEwOjQ5OjQzICswMTAwICBQYXNjYWwgQnVobGVyIDxwYWJ1aGxlckBjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGNyZWF0aW9uIHNob3VsZCBiZSBzaWduYWxlZCBiZWZvcmUgdmFsaWRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODUwCgoyMDEyLTA1LTA0IDE1OjIwOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGRvIG5vdCBwcm94eSBvdXIgZmlsdGVyIGNhcHMgZG93bnN0cmVhbSBvbiBjYXBzIHF1ZXJpZXMKCSAgRG93bnN0cmVhbSBsaWtlbHkgd29uJ3QgYWNjZXB0IHZpZGVvL3gtcmF3IGFuZCB0aGUgY2FwcyBxdWVyeQoJICB3aWxsIHJldHVybiBFTVBUWSBjYXBzLiBJbnN0ZWFkLCBjcmVhdGUgYSBjb3B5IG9mIHRoZSBjYXBzIHRoYXQKCSAgaGFzIGFsbCBzdHJ1Y3R1cmUgbmFtZXMgcmVwbGFjZWQgYnkgJ2ltYWdlL2pwZWcnCgkgIFNpbXBsZSBwaXBlbGluZSB0aGF0IHNob3dzIHRoZSBwcm9ibGVtOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MSAhICJ2aWRlby94LXJhdywgXAoJICB3aWR0aD0oaW50KTY0MCwgaGVpZ2h0PShpbnQpNDgwIiAhIHZpZGVvc2NhbGUgISBqcGVnZW5jICEgXAoJICAiaW1hZ2UvanBlZywgd2lkdGg9KGludCk4MDAsIGhlaWdodD0oaW50KTYwMCIgISBmaWxlc2luayBcCgkgIGxvY2F0aW9uPS90bXAvaW1hZ2UuanBnCgoyMDEyLTA1LTAyIDIxOjE3OjQzICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IHNldCBsYXlvdXQ9aW50ZXJsZWF2ZWQgb24gcmF3IGF1ZGlvIGNhcHMKCSAgVGhpcyBmaXhlcyBhIG5vdC1uZWdvdGlhdGVkIGVycm9yIGF0IGxlYXN0IG9uIG1vdiBmaWxlcyB3aXRoCgkgIHR3b3MgYXVkaW8gd2l0aCB0d28gY2hhbm5lbHMgYW5kIHZpZGVvIGR2Y3AuIEFzIHBsYXliaW4gYW5kIGdzdC1sYXVuY2gKCSAgc2FtcGxlIGNvbWluZyBmcm9tIHRoZSBxdGRlbXV4LmMgZmlsZSB1c2VzIGF1ZGlvY29udmVydCBhbmQgdGhlIGxhdHRlcgoJICByZXF1aXJlIGZvcm1hdCBpbnRlcmxlYXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTMyNgoKMjAxMi0wNS0wMiAyMTo0OTo1NiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIHdhdmVmb3JtOiBObyBtb3JlIGdzdGludGVyZmFjZXMKCSAgRml4ZXMgIzY3NTMxOQoKMjAxMi0wNS0wMiAyMDoxNDoyNCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIGRpcmVjdHNvdW5kOiBObyBtb3JlIGdzdGludGVyZmFjZXMKCSAgRml4ZXMgIzY3NTMxOQoKMjAxMi0wNS0wMSAxODo1ODowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBjaGFuZ2Ugc2luayBwYWQgdGVtcGxhdGUgbmFtZSBmcm9tIHNpbmtfJWQgdG8gc2lua18ldQoKMjAxMi0wNC0zMCAxMTowMDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaGFuZGxlIEVPUyBvbiBhbGwgcGFkcwoJICBXaGVuIGFsbCBwYWRzIGdvIHRvIEVPUyBpbW1lZGlhdGVseSwgd2UgYXJlIG5vdCBuZWdvdGlhdGVkIGFuZCBvdXIgY29sbGVjdGVkCgkgIGZ1bmN0aW9uIGlzIGNhbGxlZCAod2l0aG91dCBhbnkgYXZhaWxhYmxlIGRhdGEpLiBIYW5kbGUgdGhpcyBjYXNlIGdyYWNlZnVsbHkuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgoyMDEyLTA0LTMwIDEwOjU5OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBpbXByb3ZlIGRlYnVnZ2luZwoKMjAxMi0wNS0wMSAxMzozMTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFVwZGF0ZSBmb3IgYmFzZXNyYyBBUEkgY2hhbmdlcwoKMjAxMi0wNC0zMCAyMzo1NzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGRvbid0IHNldCB1cCBzdHVmZiBiZWZvcmUgdGhlIGlucHV0IGFuZCBvdXRwdXQgZm9ybWF0cyBhcmUga25vd24KCSAgRml4ZXMgY3Jhc2ggb24gc3RhcnR1cC4KCjIwMTItMDQtMzAgMTQ6MDk6MjMgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkb24ndCB3cml0ZSBzdHJlYW0gaGVhZGVyIHR3aWNlIGZvciBmaXJzdCBmaWxlCgoyMDEyLTA0LTMwIDEzOjMyOjQxICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZml4IGJ1ZmZlciBsaXN0IHNpemUgY2FsY3VsYXRpb24gaW4gcmVuZGVyX2xpc3QKCSAgRml4IHVuaW5pdGlhbGl6ZWQgJ3NpemUnIHZhcmlhYmxlIGluIGNhbGwgdG8gZ3N0X2J1ZmZlcl9saXN0X2ZvcmVhY2goKS4KCjIwMTItMDQtMzAgMjE6NTg6MDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGU6IHVubmVjZXNzYXJ5IHNpemUgY2hlY2sKCjIwMTItMDQtMzAgMjE6MzA6NTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IGJ1aWxkIGVycm9ycwoJICBmaXggcmVkdW5kYW50IGRlY2xhcmF0aW9ucwoJICBhbmQgYWxzbyBzdHlsZS9pbmRlbnQgaXNzdWVzCgoyMDEyLTA0LTI2IDEyOjQ3OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogaW1wbGVtZW50IGZvcndhcmQgc25hcHBpbmcga2V5ZnJhbWUgc2Vla2luZwoJICBSZXF1aXJlcyBhbiBpbmRleC4KCjIwMTItMDQtMjYgMTI6NDY6MTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGltcGxlbWVudCBmb3J3YXJkIHNuYXBwaW5nIGtleWZyYW1lIHNlZWtpbmcKCSAgSW4gcHVsbCBtb2RlIHdpdGggYW4gaW5kZXguCgoyMDEyLTA0LTI4IDIzOjE0OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIHRlc3RzOiBmaXggbWF0cm9za2FtdXggdW5pdCB0ZXN0IGFmdGVyIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0yOCAxOTo1Nzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0yNCAxNjowODo0NyArMDIwMCAgaWRjLWRyYWdvbiA8aWRjLWRyYWdvbiBhdCBnbXguZGU+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJICBjZWx0ZGVwYXk6IGNhbGN1bGF0ZSBzaXplIGNvcnJlY3RseQoJICBUaGUgc3VtbWF0aW9uIHdhcyBkb25lIHdyb25nLCBjYXVzaW5nIHRoZSBkZS1wYXlsb2FkZXIgdG8gZXhpdCBpdHMgbG9vcCB0b28KCSAgZWFybHksIGJlZm9yZSBhbGwgZnJhbWVzIGFyZSBwcm9jZXNzZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ0NzIKCjIwMTItMDQtMjQgMTU6NTc6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wNC0yNCAxNTozNDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzdGFydCB1bm11dGVkIHdoZW4gcmVxdWVzdGVkCgkgIFdoZW4gd2UgZXhwbGljaXRlbHkgc2V0IHRoZSBtdXRlIHByb3BlcnR5IHRvIEZBTFNFLCBjb25uZWN0IHRvIHB1bHNlYXVkaW8gd2l0aAoJICB0aGUgUEFfU1RSRUFNX1NUQVJUX1VOTVVURUQgZmxhZyBzZXQsIG90aGVyd2lzZSBwdWxzZWF1ZGlvIHdpbGwgdXNlIGl0cwoJICBwcmV2aW91c2x5IHVzZWQgdmFsdWUgKHdoaWNoIG1pZ2h0IHN0YXJ0IHRoZSBzdHJlYW0gbXV0ZWQpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNDAxCgoyMDEyLTA0LTI1IDA5OjQxOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBpbXByb3ZlIHRpbWVzdGFtcCBjb2RlCgkgIFNhbXBsZSB0aGUgcGlwZWxpbmUgY2xvY2sgYW5kIGRldmljZSBjbG9jayBjbG9zZXIgdG8gZWFjaG90aGVyIHRvIHJlZHVjZSBqaXR0ZXIuCgkgIERvbid0IHN1YnRyYWN0IHRoZSBmcmFtZSBkdXJhdGlvbiBmcm9tIHRoZSB0aW1lc3RhbXAgd2hlbiB3ZSBjYW4gdXNlIHRoZSBkZXZpY2UKCSAgdGltZXN0YW1wcy4KCSAgQXNzdW1lIGEgZGVsYXkgb2YgMSBmcmFtZSBpbiByZWFkLXdyaXRlIG1vZGUuCgoyMDEyLTA0LTI0IDEyOjM3OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1c2UgZHJpdmVyIHRpbWVzdGFtcHMKCSAgVXNlIHRoZSBkcml2ZSB0aW1lc3RhbXBzIGZvciB0aW1lc3RhbXBpbmcgb3V0Z29pbmcgYnVmZmVycy4KCjIwMTItMDQtMjMgMTg6MDE6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IEltcHJvdmUgYnVmZmVyIG1hbmFnZW1lbnQKCSAgUXVlcnkgdGhlIGFtb3VudCBvZiBhdmFpbGFibGUgYnVmZmVycyB3aGVuIGRvaW5nIHNldF9jb25maWcoKS4gVGhpcyBhbGxvd3MgdXMgdG8KCSAgY29uZmlndXJlIHRoZSBwYXJlbnQgYnVmZmVycG9vbCB3aXRoIHRoZSBudW1iZXIgb2YgYnVmZmVycyB0byBwcmVhbGxvY2F0ZS4KCSAgS2VlcCB0cmFjayBvZiB0aGUgcHJvdmlkZWQgYWxsb2NhdG9yIGFuZCB1c2UgaXQgd2hlbiB3ZSBuZWVkIHRvIGFsbG9jYXRlIGEKCSAgYnVmZmVyIGluIFJXIG1vZGUuCgkgIFdoZW4gd2UgYXJlIGNhbiBub3QgYWxsb2NhdGUgdGhlIHJlcXVlc3RlZCBtYXhfYnVmZmVycyBhbW91bnQgb2YgYnVmZmVycywgbWFrZQoJICBzdXJlIHdlIGtlZXAgMiBidWZmZXJzIGFyb3VuZCBpbiB0aGUgcG9vbCBhbmQgY29weSB0aGVtIGludG8gYW4gb3V0cHV0IGJ1ZmZlci4KCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgYWx3YXlzIGhhdmUgYSBidWZmZXIgdG8gY2FwdHVyZSBpbnRvLiBXZSBhbHNvIG5lZWQgdG8KCSAgZGV0ZWN0IHRob3NlIGNvcGllZCBidWZmZXJzIGFuZCB1bnJlZiB0aGVtIHdoZW4gdGhleSByZXR1cm4gdG8gdGhlIHBvb2wuCgoyMDEyLTA0LTIzIDE2OjUxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZnJlZSB0aGUgcXVldWVkIGJ1ZmZlcnMKCSAgT25seSBmcmVlIHRoZSBxdWV1ZWQgYnVmZmVycyB0aGF0IHdlIGtlZXAgdHJhY2sgb2YgaW4gb3VyIGJ1ZmZlciBhcnJheS4gZm9yIHJ3CgkgIGlvLW1vZGUsIHdlIGRvIGFsbG9jYXRlIGJ1ZmZlcnMgYnV0IHdlIGRvbid0IGtlZXAgdHJhY2sgb2YgdGhlbSBpbiB0aGUgYnVmZmVyCgkgIGFycmF5LgoKMjAxMi0wNC0yMyAxNjoxMDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IG1hcmsgbWVtb3J5IGFzIG5vLXNoYXJlCgkgIFdlIGRvbid0IHN1cHBvcnQgc2hhcmluZyBvdXIgbW1hcHBlZCBtZW1vcnkgc28gbWFyayBpdCBhcyBOT19TSEFSRS4KCjIwMTItMDQtMjMgMTY6MDk6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHJlbW92ZSBvbGQgdW51c2VkIGZpbGUKCjIwMTItMDQtMjMgMTM6MzI6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb24KCjIwMTItMDQtMTEgMTI6NDI6MTcgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IEhhbmRsZSBpY3kgYW5kIGljeXggVVJJIHNjaGVtZXMKCSAgQXMgaGFuZGxlZCBieSBRdWlja1RpbWUgKGZvciBpY3kpLCBhbmQgT3JiYW4vQ29kaW5nIFRlY2hub2xvZ2llcwoJICBBQUMvYWFjUGx1cyBQbGF5ZXIgKGZvciBpY3l4KS4gU2VlIGFsc286CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTQyMDcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQwMzI4NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk5CgoyMDEyLTA0LTIzIDEwOjAzOjE5ICswMzAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGRvY3M6IEFkZCBTaW5jZSB0YWcgZm9yIG5ldyBHc3RWNGwyU3JjOjpwcmVwYXJlLWZvcm1hdCBzaWduYWwKCjIwMTItMDQtMjMgMTA6MDc6MTIgKzAyMDAgIENocmlzIFBhbmtvdyA8a2FpbjIzOTZAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZpeCB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiBmb3IgbXVsdGljaGFubmVsIGlucHV0CgkgIEZpeGVzIGJ1ZyAjNjc0MDI1LgoKMjAxMi0wNC0yMSAxMTowODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHJlbW92ZSBzb21lIG1vcmUgbm9uLWV4aXN0ZW50IGZpbGVzIGZyb20gdGhlIGxpc3QKCjIwMTItMDQtMjEgMTA6MDU6NDUgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBSZW1vdmUgbm9uLWV4aXN0ZW50IHBvdGZpbGVzIGZyb20gdGhlIGxpc3QKCSAgRml4ZXMgIzY3NDUxOAoKMjAxMi0wNC0yMCAxODoxMzoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgdGVzdHM6IG9zczQ6IGxpbWl0IHRlc3Qgc2NvcGUKCjIwMTItMDQtMjAgMTg6MTM6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5oOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJICBvc3M0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjAgMTg6MTI6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5oOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSAgb3NzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjAgMTY6NDk6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBmaXJzdCBhY3RpdmF0ZSBwYWQgdGhlbiBzZXQgY2FwcwoKMjAxMi0wNC0yMCAxMzozNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNldCBjYXBzIG9uIHNyY3BhZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjE5CgoyMDEyLTA0LTE5IDE0OjE2OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogdXBkYXRlIGZvciB2aWRlbyBhcGkgY2hhbmdlCgoyMDEyLTA0LTE5IDEyOjM4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggY29tcGlsYXRpb24gb24gb2xkZXIgdjRsMgoJICBGaXggY29tcGlsYXRpb24gb24gc3lzdGVtcyB3aGVyZSB0aGUgSDI2NCBmb3JtYXQgaXMgbm90IGRlZmluZWQuCgoyMDEyLTA0LTE5IDEyOjIwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdmlkZW86IFVwZGF0ZSBmb3IgbGliZ3N0dmlkZW8gQVBJIGNoYW5nZXMKCjIwMTItMDQtMTkgMDg6Mjc6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogQWxsb3cgbXBlZy10cyBjYW1lcmFzIHRvIG5lZ29jaWF0ZSBmb3JtYXQKCSAgVGhpcyByZW1vdmVzIGFuIHVnbHkgaGFjayB1bnRpbCB0aGUgcmVhc29uIGZvciB0aGUgaGFjayBjYW4gYmUgZG9jdW1lbnRlZAoKMjAxMi0wNC0xOSAwOTo1MDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IEZpeCBtZXJnZQoKMjAxMi0wNC0xOSAwOTo0MDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogUmVuYW1lIHByZS1zZXQtZm9ybWF0IHNpZ25hbCB0byBwcmVwYXJlLWZvcm1hdAoKMjAxMi0wNC0xNiAyMjowODoyMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogQWRkIEgyNjQgZW5jb2RlZCBzdHJlYW0gc3VwcG9ydCB0byB0aGUgY2FwcwoJICBUaGlzIGlzIG5vdCBlbm91Z2ggdG8gcHJvcGVybHkgc3VwcG9ydCBIMjY0IGNhbWVyYXMsIGJ1dCBpdCB3aWxsCgkgIGFsbG93IGFuIEgyNjQgc3RyZWFtIHRvIGJlIGdlbmVyYXRlZCBieSB2NGwyc3JjIHVzaW5nIHRoZSBkZWZhdWx0CgkgIHNldHRpbmdzIG9mIHRoZSBjYW1lcmEuIElmIHVzZWQgd2l0aCB0aGUgcHJlLXNldC1mb3JtYXQgc2lnbmFsLCB0aGUKCSAgSDI2NCBlbmNvZGVyIGNhbiBiZSBmdWxseSBjb25maWd1cmVkLgoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYwoKMjAxMi0wNC0xNiAyMjowNjoyMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyLy5naXRpZ25vcmU6CgkqIHN5cy92NGwyL2dzdHY0bDItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogQWRkaW5nIGEgcHJlLXNldC1mb3JtYXQgc2lnbmFsCgkgIEluIG9yZGVyIHRvIHN1cHBvcnQgVVZDIEgyNjQgZW5jb2RpbmcgY2FtZXJhcywgYW4gSDI2NCBQcm9iZSZDb21taXQKCSAgbXVzdCBoYXBwZW4gYmVmb3JlIHRoZSBub3JtYWwgdjRsMiBzZXQtZm9ybWF0LiBUaGlzIG5ldyBzaWduYWwgaXMKCSAgbWVhbnQgdG8gYWxsb3cgYW4gZXh0ZXJuYWwgYXBwbGljYXRpb24gb3IgYmluIHRvIGRvIGl0LgoJICBJdCBhbHNvIHNlcnZlcyB0byBleHBvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciB1c2VkIGJ5IHY0bDJzcmMgaW4gY2FzZQoJICBzb21lIGN1c3RvbSBpb2N0bHMgbmVlZCB0byBiZSBjYWxsZWQuCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvTWFrZWZpbGUuYW0KCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYwoKMjAxMi0wNC0xOCAxNzowOTo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuaDoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgZHYxMzk0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTcgMTU6MTQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIGNvbGxlY3RwYWRzMjogcmVuYW1lIHRvIGNvbGxlY3RwYWRzCgoyMDEyLTA0LTE2IDE2OjM3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBtaXNjOiBjaGFpbiB1cCB0byBjb2xsZWN0cGFkcyBldmVudCBoYW5kbGVyCgoyMDEyLTA0LTE2IDA5OjA5OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRiMjViZSB0byBkYzcwMjAzCgoyMDEyLTA0LTE1IDIyOjQ5OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogdXBkYXRlIGZvciBvZ2cgbWVkaWEgdHlwZSBjaGFuZ2VzCgoyMDEyLTA0LTEzIDE2OjU0OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgc21wdGU6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDQtMTMgMTY6NTQ6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBpbXByb3ZlIHNlZ21lbnQgaGFuZGxpbmcKCSAgLi4uIHRvIHNlbmQgYSBwcm9wZXIgVElNRSBzZWdtZW50IGRvd25zdHJlYW0uCgoyMDEyLTA0LTEzIDE2OjU0OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgZmx4ZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTMgMTY6NTQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogYWRqdXN0IHRvIGRlcHJlY2F0ZWQgR011dGV4IHNldHVwCgoyMDEyLTA0LTEzIDE2OjU0OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEzIDE2OjU0OjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBhbHBoYSwgc21wdGU6IGFkanVzdCB0byByZW1vdmVkIGNvbG9yLW1hdHJpeCBjYXBzIGZpZWxkCgoyMDEyLTA0LTEzIDE2OjI3OjM0ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyOiBlbnN1cmUgYXV0b2dlbmVyYXRlZCBmaWxlcyBhcmUgY3JlYXRlZAoJICBUaGUgdHVuZXIgbWFyc2hhbCBhbmQgZW51bXR5cGVzIGFyZSBhdXRvZ2VuZXJhdGVkLCBhbmQgdGhleSBuZWVkCgkgIHRvIGJlIGNyZWF0ZWQgYmVmb3JlIHRoZSBjb21waWxhdGlvbiBvZiBnc3R2NGwydHVuZXIuYwoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGF1dG9tYWtlIGluc3RydWN0aW9uIGZvciBlbnN1cmluZyB0aGUKCSAgYXV0b2dlbmVyYXRpb24gb2YgdGhvc2UgZmlsZXMgcHJldmlvdXMgdGhlIGNvbXBpbGF0aW9uLgoKMjAxMi0wNC0xMyAxMzo0MTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTW9kZXJuaXplIGF1dG90b29scyBzZXR1cCBhIGJpdAoJICBBbHNvIHdlIG5vdyBvbmx5IGNyZWF0ZSB0YXIuYnoyIGFuZCB0YXIueHogdGFyYmFsbHMuCgoyMDEyLTA0LTEzIDEzOjM3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0ZmUxNSB0byA2ZGIyNWJlCgoyMDEyLTA0LTEzIDEzOjA0OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmg6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdHVuZXItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi90dW5lci5jOgoJKiBzeXMvdjRsMi90dW5lci5oOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuYzoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmg6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5jOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFVwZGF0ZSBldmVyeXRoaW5nIGZvciB0aGUgcmVtb3ZhbCBvZiB0aGUgaW50ZXJmYWNlIGxpYnJhcnkgYW5kIG1peGVyL3R1bmVyIGludGVyZmFjZXMKCjIwMTItMDQtMTIgMTU6NTA6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHA6IFVzZSB1bmNoZWNrZWQgdmFyaWFudCBvZiBHc3RCeXRlV3JpdGVyIHdoZXJlIGFwcGxpY2FibGUKCSAgVGhlIHNpemUgd2FzIGNoZWNrZWQgYmVmb3JlCgoyMDEyLTA0LTEyIDE1OjQ5OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qnl0ZVJlYWRlci9Xcml0ZXIKCjIwMTItMDQtMTIgMTU6NDg6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgaXNvbXA0OiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qnl0ZVdyaXRlcgoJICBBbmQgdXNlIHVuY2hlY2tlZCB2YXJpYW50IG9mIEdzdEJ5dGVSZWFkZXIgd2hlcmUgYXBwbGljYWJsZQoKMjAxMi0wNC0xMiAxNTo0ODowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBVc2UgdW5jaGVja2VkIHZhcmlhbnQgb2YgR3N0Qnl0ZVJlYWRlcgoJICBXZSBrbm93IHRoZXJlJ3MgYXQgbGVhc3QgNyBieXRlcyAoY2hlY2tlZCBhYm92ZSkKCjIwMTItMDQtMTIgMTU6NDc6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpOiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qnl0ZVdyaXRlcgoKMjAxMi0wNC0xMiAxNTo0NzoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJpdFJlYWRlci9Hc3RCeXRlUmVhZGVyCgoyMDEyLTA0LTEyIDExOjU3OjU5ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEFkZCBpbnRlcmxlYXZlIHBsdWdpbiB0byBzcGVjIGZpbGUKCjIwMTItMDQtMTIgMTE6MTk6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkwID09PQoKMjAxMi0wNC0xMiAxMDoyNzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTAKCjIwMTItMDQtMTIgMTA6MjY6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDQtMTEgMDA6MTk6MzAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBGaXggZm9ybWF0IHN0cmluZwoJICBGaXhlcyAjNjczODU5CgoyMDEyLTA0LTExIDAwOjE5OjE2ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBGaXhlcyAjNjczODU5CgoyMDEyLTA0LTEwIDExOjU3OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNC0xMCAxMTozNzo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc29tZSBtb3JlIHNlZ21lbnQgaGFuZGxpbmcgdHdlYWtpbmcKCjIwMTItMDQtMTAgMDA6NTE6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgoyMDEyLTA0LTA5IDEyOjU1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHRlc3RzOiBkaXNhYmxlIHNpbXBsZSBzbW9rZWVuYy9kZWMgbGF1bmNoIGxpbmVzIHRlc3QKCSAgRGlzYWJsZSB0ZXN0IGZvciBzbW9rZSBlbGVtZW50cywgd2hpY2ggYXJlbid0IHBvcnRlZCB5ZXQKCSAgKGFuZCBtYXliZSBzaG91bGRuJ3QgYmUgcG9ydGVkKS4KCjIwMTItMDQtMDkgMDA6MTQ6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogbWFrZSBjaGFubmVsLXBvaXNpdGlvbnMgcHJvcGVydHkgYSBHVmFsdWVBcnJheSBhZ2FpbgoJICBPciBwZXJoYXBzIGl0IHNob3VsZCBqdXN0IGJlIGEgZ3VpbnQ2NCBjaGFubmVsIG1hc2ssIHdoaWNoIHdvdWxkCgkgIGJlIG5pY2VyIGluIEMsIGJ1dCBtb3JlIGF3a3dhcmQgZm9yIGJpbmRpbmdzIChldmVuIG1vcmUgc28gc2luY2UKCSAgd2UgY2FuJ3QgYWRkIGEgZmxhZ3MgdHlwZSBmb3IgaXQsIHNpbmNlIHRoYXQgb25seSBzdXBwb3J0cyBndWludAoJICBzaXplIGZsYWdzKS4gRml4ZXMgd2F2ZW5jIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTY0MwoKMjAxMi0wNC0wNiAxNjowMzo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2xlYW5seSBpbml0aWFsaXplIGFuZCBzZXQgbmVlZGVkIHNlZ21lbnQKCSAgRml4ZXMgIzY3MzE2NS4KCjIwMTItMDQtMDUgMTc6MTc6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB0aHJlYWRpbmcgaXNzdWUgaW4gaW5kZXggaGFuZGxpbmcKCjIwMTItMDQtMDYgMDk6MTM6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgdXNlIHN0YXRpYyB2YXJpYWJsZXMgdG8gaG9sZCBpbmRleCBhc3NvY2lhdGlvbnMKCSAgVGhpcyBub3QgcmVhbGx5IHRocmVhZHNhZmUgaW4gYW55IHdheS4KCjIwMTItMDQtMDUgMTk6MTc6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IG1ha2UgZmV3IHRlc3RzIG1vcmUgdmFsZ3JpbmQtZnJpZW5kbHkKCjIwMTItMDQtMDUgMTk6MTc6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgKGRlKWludGVybGVhdmU6IGZpeCBwb3J0ZWQgdW5pdCB0ZXN0IGFuZCBlbmFibGUgYXMgcG9ydGVkCgoyMDEyLTA0LTA1IDE5OjE3OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgdGVzdHM6IGNtbWxkZWM6IGFkanVzdCB0byB0YWcgZXZlbnRzIG5vIGxvbmdlciBwb3N0ZWQgb24gYnVzIGJ5IGVsZW1lbnQKCjIwMTItMDQtMDUgMTk6MTc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkc3JjOiBjbGVhciBlcnJvcgoKMjAxMi0wNC0wNSAxODo0Mjo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdmZGE1MjQgdG8gNDY0ZmUxNQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDE3OjM2OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2R2L2dzdGR2LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJwbHVnaW4uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL3BsdWdpbi5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDEzOjI2OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVcGRhdGUgdmVyc2lvbiB0byAwLjExLjg5LjEKCjIwMTItMDQtMDQgMjA6MDY6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBlbnN1cmUgaW5pdGlhbGl6ZWQgdGVzdCBidWZmZXIgbWVtb3J5CgoyMDEyLTA0LTA0IDE0OjQxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTA0LTA0IDE0OjMzOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDQtMDQgMTI6MTA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oCgoyMDEyLTA0LTAzIDE4OjM2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogcGx1ZyB0ZW1wbGF0ZSBjYXBzIGxlYWsKCjIwMTItMDQtMDMgMTE6NTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdmkgb25seSBrbm93cyBhYm91dCBEVFMKCSAgT25seSBzZXQgRFRTIG9uIG91dGdvaW5nIGJ1ZmZlcnMgdW5sZXNzIHdlIGhhdmUgYSBrZXlmcmFtZSBhbmQgdGhlbiB3ZSBjYW4gc2V0CgkgIHRoZSBQVFMgdG8gRFRTIGFzIHdlbGwuCgoyMDEyLTA0LTAyIDIzOjM1OjQzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1rdjogcG9ydCB0b2MgY2hhbmdlcyB0byAwLjExCgoyMDEyLTA0LTAyIDIzOjE4OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgTWVyZ2UgYnJhbmNoICcwLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaAoKMjAxMi0wMy0yOSAyMzoyMjoyOCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYTogYWRkIEdzdFRvYyBzdXBwb3J0IGZvciBtdXhlcgoKMjAxMi0wMy0yOSAyMzoxMjoxMyArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogYWRkIHN1cHBvcnQgZm9yIEdzdFRvYyBpbiBkZW11eGVyCgoyMDEyLTAzLTI5IDIzOjA1OjE0ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogYWRkIGNoYXB0ZXIgc3VwcG9ydCBpbiBHc3RNYXRyb3NrYVJlYWRDb21tb24KCjIwMTItMDQtMDIgMTM6MDA6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvbGluZXMuYzoKCSAgZ29vbTJrMTogRml4ICdtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDQtMDIgMTE6MTM6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB1c2UgdHJhbnNmb3JtX2lwX29uX3Bhc3N0aHJvdWdoCgoyMDEyLTAzLTMxIDE1OjQzOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICB1cGRhdGUgZm9yIGNoaWxkIHByb3h5IGFwaSBjaGFuZ2UKCjIwMTItMDMtMzAgMTg6MTM6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgYXBpIGNoYW5nZQoKMjAxMi0wMy0zMCAxMjo1Mzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiBVc2UgbmV3IGdzdF9hdWRpb19lbmNvZGVyX3NldF9oZWFkZXJzKCkgQVBJCgoyMDEyLTAzLTMwIDEyOjE4OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIEdzdEF1ZGlvRW5jb2RlciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0yOSAyMzoyMjoyOCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYTogYWRkIEdzdFRvYyBzdXBwb3J0IGZvciBtdXhlcgoKMjAxMi0wMy0yOSAyMzoxMjoxMyArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogYWRkIHN1cHBvcnQgZm9yIEdzdFRvYyBpbiBkZW11eGVyCgoyMDEyLTAzLTI5IDIzOjA1OjE0ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogYWRkIGNoYXB0ZXIgc3VwcG9ydCBpbiBHc3RNYXRyb3NrYVJlYWRDb21tb24KCjIwMTItMDMtMjkgMTc6MjI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgdGVzdHM6IHdhdnBhY2s6IGZld2VyIGJ1ZmZlcnMgYXJlIGFsc28gYWRlcXVhdGUgYW5kIG1vcmUgY29udmVuaWVudAoKMjAxMi0wMy0yOSAxNzoyMjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IHZpZGVvY3JvcDogdW5tYXAgdmlkZW8gZnJhbWUgYW5kIHVucmVmIGNhcHMKCjIwMTItMDMtMjkgMTc6MjI6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSAgdGVzdHM6IGF1ZGlvd3NpbmNiYW5kOiB1bm1hcCBleGFtaW5lZCBvdXRwdXQgYnVmZmVycwoKMjAxMi0wMy0yOSAxNzoyMTo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHBsdWcgcmVmIGxlYWsKCjIwMTItMDMtMjkgMTc6MjE6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmaXggc3VwcG9ydGVkIHRlbXBsYXRlIGNhcHMgYW5kIHNhbXBsZSBwcm9jZXNzaW5nCgoyMDEyLTAzLTI5IDE3OjIxOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IHBsdWcgc3RydWN0dXJlIGxlYWsKCjIwMTItMDMtMjkgMTY6MDQ6MjYgKzAxMDAgIHVyYWV1cyA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0wMy0yOSAxNTowMzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCjIwMTItMDMtMjggMTY6MjY6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBtdXhlcnMgbmVlZCBUSU1FIGZvcm1hdAoKMjAxMi0wMy0yOCAxNjoyNjoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICB0ZXN0czogZmxhY2RlYzogbmVlZHMgZmxhY3BhcnNlIG5vd2FkYXlzCgoyMDEyLTAzLTI4IDE0OjQ5OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcXVlcnkgZG93bnN0cmVhbSBmb3IgQllURSBzZWVraW5nIHN1cHBvcnQKCjIwMTItMDMtMjggMTQ6NDg6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBxdWVyeSBkb3duc3RyZWFtIGZvciBCWVRFIHNlZWtpbmcgc3VwcG9ydAoKMjAxMi0wMy0yOCAxNDo0NjowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGNsZWFuIHVwIG9ic29sZXRlIGxvZyBzdGF0ZW1lbnQKCjIwMTItMDMtMjggMTI6NDk6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgY2hhbmdlcwoKMjAxMi0wMy0yOCAxMjoxNjo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSAgdGVzdHM6IGF1ZGlvZHluYW1pYzogY29ycmVjdGx5IHBvcnQgb3JpZ2luYWwgdGVzdCB0byBtaW5kIGluIHBsYWNlIHRyYW5zZm9ybQoKMjAxMi0wMy0yOCAxMTowNTo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgIGF1ZGlvZng6IG1vcmUgYWRqdXN0bWVudCB0byBjaGFuZ2VkIHNlbWFudGljcyBvZiBhdWRpb2ZpbHRlciBfc2V0dXAgbWV0aG9kCgoyMDEyLTAzLTI4IDExOjEwOjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkgIHRlc3RzOiBhdWRpb2ZpcmZpbHRlcjogbmVnb3RpYXRlIHRoZSBpbnRlbmRlZCByYXcgYXVkaW8gZm9ybWF0CgoyMDEyLTAzLTI3IDE4OjQxOjQ1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBpbml0IGRhdGFzdHJ1Y3R1cmUKCjIwMTItMDMtMjcgMTc6MTg6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IGZpeCBzdHJpZGVzCgoyMDEyLTAzLTI3IDE2OjQxOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBjYXBzOiBpbXByb3ZlIGNhcHMgaGFuZGxpbmcKCSAgQXZvaWQgY2FwcyBjb3B5IGFuZCBsZWFrcwoKMjAxMi0wMy0yNyAxNDowNDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICB0ZXN0czogaWN5ZGVtdXg6IGFjdGl2YXRlIGludGVybmFsIHRlc3QgaGVscGVyIHNyYyBwYWQKCjIwMTItMDMtMjcgMTI6NDQ6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgZ2V0X3BhcmFtCgkgIFJlbW92ZSBjb25zdCBmcm9tIHRoZSBHc3RDYXBzLgoJICBQbHVnIHNvbWUgR3N0U3RydWN0dXJlIGxlYWtzCgoyMDEyLTAzLTI3IDAwOjAyOjA4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBGaXggY29tcGlsaW5nIHdpdGggbWluZ3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI4ODAKCjIwMTItMDMtMjYgMTg6MzE6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogcmVwbGF5Z2FpbjogbWlzYyBjb21wYXRpYmlsaXR5IGZpeGVzCgkgIERpc2NhcmQgY2FwcyBldmVudCB3aGVuIGNoZWNraW5nIGZvciBhbmQgY291bnRpbmcgdmFyaW91cyB0YWcgZXZlbnRzLAoJICBhbmQgcmVtb3ZlIGFsbCB0ZXN0aW5nIG9mIDggYml0cyBkZXB0aCBpbiAxNiBiaXRzIHdpZHRoIGZvcm1hdCBzaW5jZQoJICBpdCBubyBsb25nZXIgZXhpc3RzLgoKMjAxMi0wMy0yNiAxODoyODoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IHJ0cDogbWlzYyBjb21wYXRpYmlsaXkgZml4ZXMKCSAgLi4uIHN1Y2ggYXMgYWx3YXlzIHNldHRpbmcgcGFkIGNhcHMgYW5kIHByb3ZpZGluZyBuZWVkZWQgY2FwcyBmaWVsZHMuCgoyMDEyLTAzLTI2IDE4OjI2OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHRlc3RzOiB2aWRlb2ZpbHRlcjogZW5zdXJlIGluaXRpYWwgc2VnbWVudCBldmVudAoKMjAxMi0wMy0yNiAxODoyNToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IHByb3BlciB2aWRlbyBpbmZvIGFuZCBmcmFtZSBtYW5hZ2VtZW50CgkgIC4uLiBwYXJ0aWN1bGFybHkgc2luY2UgZWFjaCBpbmNvbWluZyBwYWQgaGFzIGEgZGlzdGluY3QgZm9ybWF0LgoKMjAxMi0wMy0yNiAxODoyNDowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZW5zdXJlIG91dHB1dCBjYXBzIGFyZSBzZXQgd2hlbiBwdXNoaW5nIG91dHB1dCBkYXRhCgkgIC4uLiBldmVuIGlmIHNvbWUgU1BTL1BQUyBoYXMgbm90IHBhc3NlZCBieSB5ZXQuCgoyMDEyLTAzLTI2IDE4OjIyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvZmlsdGVyOiBhdm9pZCBob2xkaW5nIG9iamVjdCBsb2NrIHdoZW4gY2FsbGluZyBiYXNldHJhbnNmb3JtIGZ1bmN0aW9uCgoyMDEyLTAzLTI2IDE4OjIyOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBzb21lIGxvY2sgbWFuYWdlbWVudAoJICAuLi4gdG8gYXZvaWQgdHJ5aW5nIHRvIHRha2UgYSBub24tcmVjdXJzaXZlIGxvY2sgdHdpY2UuCgoyMDEyLTAzLTI2IDE4OjIxOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSAgcnRwTDE2KGRlKXBheTogZml4IHJhdyBhdWRpbyBmb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMi0wMy0yNiAxODoyMDo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJlcGxheWdhaW46IGFsc28gc3RpbGwgcG9zdCB0aGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMKCjIwMTItMDMtMjYgMTU6NTk6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGRvbid0IGVycm9yIGluIHNodXRkb3duCgkgIERvbid0IGxvZyB3aXRoIHRoZSBFUlJPUiBjYXRlZ29yeSB3aGVuIHdlIGFyZSBzdG9wcGluZyBiZWNhdXNlIHdlIGFyZSBzaHV0dGluZwoJICBkb3duLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjgyNAoKMjAxMi0wMy0yNiAxNTo1MToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogZml4IGxhdGVuY3kKCjIwMTItMDMtMjYgMTU6MzA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBjYWxsZWQgYmFzZSBjbGFzcyBzdGFydAoJICBDaGFpbiB1cCB0byB0aGUgYmFzZSBjbGFzcyBzdGFydCBtZXRob2Qgc28gdGhhdCBtZXRhZGF0YSBpcyBwcm9wZXJseSB0YWdnZWQuCgkgIFJlbW92ZSBhbiB1bnVzZWQgdmFyaWFibGUuCgkgIGZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyODEzCgoyMDEyLTAzLTI2IDEyOjEyOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgUmVwbGFjZSBtYXN0ZXIgd2l0aCAwLjExCgoyMDEyLTAzLTI1IDAwOjAwOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCAiYWxwaGEiIHByb3BlcnR5IHRvIHNldCBhbHBoYSBvZiBvdmVybGF5IGltYWdlCgkgIC4uIG9yIHR1cm4gdGhlIG92ZXJsYXkgb2ZmIGJ5IHNldHRpbmcgYWxwaGEgdG8gMC4wCgoyMDEyLTAzLTI0IDA5OjUxOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogcGx1ZyBjYXBzIGxlYWsKCjIwMTItMDMtMjMgMTg6NDc6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgdGVzdHM6IGltYWdlZnJlZXplOiByZW1vdmUgZXh0cmFuZW91cyBfdW5yZWYKCjIwMTItMDMtMjMgMTg6NDc6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgIHRlc3RzOiBhdmltdXg6IGFkanVzdCB0byBtb2RpZmllZCBzaW5rIHBhZCB0ZW1wbGF0ZSBuYW1lCgoyMDEyLTAzLTIzIDE4OjQ2OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogY2xlYW51cCBlbGVtZW50IHNvb25lcgoJICAuLi4gdG8gYXZvaWQgc3RyYXkgcmVmcyBpbiBzdGlja3kgY2FwcyBldmVudHMuCgoyMDEyLTAzLTIzIDE4OjQ1OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IGFycmFuZ2UgZm9yIHNlbmRpbmcgYW4gaW5pdGlhbCBzZWdtZW50IGV2ZW50CgkgIC4uLiB3aGljaCBpcyBuZWVkZWQgbm93YWRheXMgc2luY2UgdmFyaW91cyBnc3Rfc2VnbWVudF90b18uLi4KCSAgbm8gbG9uZ2VyIGF1dG9tYXRpY2FsbHkgc2V0IHRoZSBmb3JtYXQgdG8gdGhlIHNwZWNpZmllZCBvbmUKCSAgKGZyb20gX1VOREVGSU5FRCkuCgoyMDEyLTAzLTIzIDE4OjQ0OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogaW1tZWRpYXRlbHkgcmV0dXJuIEdTVF9GTE9XX0VPUwoJICAuLi4gcmF0aGVyIHRoYW4gX09LIHNpbmNlIHdlIHdpbGwgbm90IGJlIGNhcmluZyBhYm91dCBzdWJzZXF1ZW50IGJ1ZmZlcgoJICBhbnl3YXkuCgoyMDEyLTAzLTIzIDE4OjQzOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogZml4IHF1ZXJ5IGFuZCBfZ2V0Y2FwcyBoYW5kbGluZwoKMjAxMi0wMy0yMyAxODo0Mjo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW9meDogYWRqdXN0IHRvIGNoYW5nZWQgc2VtYW50aWNzIG9mIGF1ZGlvZmlsdGVyIF9zZXR1cCBtZXRob2QKCSAgLi4uIGluIHRoYXQgaXQgd2lsbCBub3cgY2FsbCBzdWJjbGFzcyB3aXRoIGluZm8gb24gcHJvcG9zZWQgYXVkaW8gZm9ybWF0CgkgIHdpdGhvdXQgaGF2aW5nIHNldCB0aGF0IGluZm8gYWxyZWFkeSBpbiBiYXNlIGNsYXNzLiAgQXMgc3VjaCwKCSAgc3ViY2xhc3MgY2FuIG5vdCByZWx5IG9uIGF1ZGlvIGZvcm1hdCBpbmZvIGJlaW5nIGF2YWlsYWJsZSB0aGVyZS4KCjIwMTEtMDctMTQgMTY6MjM6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IE1ha2Ugb3V0cHV0IGluIEFWQyBzdHJlYW0gZm9ybWF0IHdvcmsgZXZlbiB3aXRob3V0IGNvbXBsZXRlIHNwcm9wLXBhcmFtZXRlci1zZXQKCSAgVGhpcyBhbGxvd3Mgb3V0cHV0dGluZyBzdHJlYW1zIGluIEFWQyBmb3JtYXQgZXZlbiBpZiB0aGUgU1BTL1BQUyBhcmUgc2VudCBpbnNpZGUKCSAgdGhlIFJUUCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCSAgUG9ydGVkIGZyb20gbWFzdGVyCgoyMDEyLTAxLTI5IDE4OjM5OjU0ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogVW5sb2NrIG9uIGVycm9yCgoyMDEyLTAzLTIyIDE4OjI3OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVzZSBzaW5rIHBhZCB0ZW1wbGF0ZSBjYXBzIHJhdGhlciB0aGFuIHNyYwoKMjAxMi0wMy0yMiAxODoyMzoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAzLTIyIDE4OjIxOjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTIyIDE2OjEwOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGludGVyc2VjdCBkb3duc3RyZWFtIGFsbG93ZWQgcGVlciBjYXBzIHdpdGggc2luayBwYWQgdGVtcGxhdGUKCjIwMTItMDMtMjIgMTU6NTU6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMiA9PT0KCjIwMTItMDMtMjIgMTU6NTE6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSAgUmVsZWFzZSAwLjExLjIKCjIwMTItMDMtMjIgMTE6NTU6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAzLTIyIDExOjUzOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICB1bnBvcnQgZ2RrcGl4YnVmCgkgIG5vdCBtZXJnZWQ6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCSAgQ29uZmxpY3RzOgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW0KCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWwKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHkKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWwKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuaAoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmMKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYwoJICBnc3QvZmx2L2dzdGZsdm11eC5jCgkgIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmMKCjIwMTItMDMtMjIgMTE6NDU6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBvbmx5IHN0YXJ0IGNvbGxlY3RwYWRzMiBhdCBzdGF0ZSBjaGFuZ2UgcmF0aGVyIHRoYW4gaW5pdAoKMjAxMi0wMy0yMSAxMzoyMjo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTIwIDEwOjI0OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE5IDEyOjAxOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNyYyBjaGVjayBpZiBhcHBsaWNhYmxlCgkgIC4uLiBzdWNoIGFzIGEgZnJhbWUgaGVhZGVyIHBhcnNpbmcgdGhyb3dpbmcgc29tZSBzdXNwaWNpb3VzIHdhcm5pbmdzLgoJICBTbyB3ZSBjYW4gYmUgYSBiaXQgbW9yZSBjb252aW5jZWQgd2UgZGV0ZXJtaW5lIHRoZSByaWdodCBmcmFtZSBlbmQuCgoyMDEyLTAzLTE5IDExOjU4OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYXZvaWQgaW5kZWZpbml0ZSBleHRlbmRlZCBzZWFyY2ggZm9yIGZyYW1lIGVuZCBpZiBwb3NzaWJsZQoJICAuLi4gd2hpY2ggaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBpZiBsb2NrZWQgb24gdG8gdGhlIHdyb25nIGZyYW1lIHN0YXJ0CgkgIGFuZC9vciBjb3JydXB0IGZyYW1lIGJlaW5nIGNyYyBjaGVja2VkLgoKMjAxMi0wMy0xNiAxODoyMzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogaW1wcm92ZSBlcnJvciBoYW5kbGluZyBhbmQgcmVzaWxpZW5jZQoJICAuLi4gYnkgbm90aW5nIHRoYXQgb25lIG9jY3VycmVkIGluIHRoZSBmaXJzdCBwbGFjZSwgYW5kIHRoZW4gYXBwcm9wcmlhdGVseQoJICBpZ25vcmluZyBzb21lIHRyYW5zaWVudCBvbmVzLgoKMjAxMi0wMy0xOSAxMDozMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBuZWdvdGlhdGUgYW4gYWxsb2NhdG9yIG9uIHRoZSBzcmNwYWRzCgkgIFdlIGRvIGFuIEFMTE9DQVRJT04gcXVlcnkgdG8gZmluZCBvdXQgYW4gYWxsb2NhdG9yIGFuZCBwYXJhbWV0ZXJzIG9uIHRoZQoJICBzcmNwYWRzLiBUaGlzIHdheSBkZWNvZGVycyAoYW5kIHNpbmtzKSBjYW4gc3BlY2lmeSB0aGUgbWVtb3J5IGFuZCBwYXJhbWV0ZXJzCgkgIHRoZXkgd2FudCB1cyB0byB3cml0ZSBpbnRvLgoKMjAxMi0wMy0xNyAyMDo1MzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIGZvciBuZXcgcHJvcGVydGllcyBhbmQgYWRkIGdka3BpeGJ1Zm92ZXJsYXkgZWxlbWVudAoJICBTb21ld2hhdCBhdCBsZWFzdC4gTm8gaWRlYSB3aHkgaXQgZG9lc24ndCBwaWNrIHVwIHRoZSBkZXNjcmlwdGlvbgoJICBvciBleGFtcGxlIHBpcGVsaW5lLgoKMjAxMi0wMy0xOCAwMDoxMToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogbWFrZSBtb3N0IHByb3BlcnRpZXMgY29udHJvbGxhYmxlIGFuZCBmbGFnIHRoZW0gYXMgbXV0YWJsZS1wbGF5aW5nCgoyMDEyLTAzLTE3IDIzOjQxOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgcHJvcGVydGllcyBmb3IgcG9zaXRpb25pbmcgYW5kIHNpemluZwoKMjAxMi0wMy0xNyAyMDoxODoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWY6IGFkZCBnZGtwaXhidWZvdmVybGF5IGVsZW1lbnQKCSAgU3RpbGwgbGFja3MgZmVhdHVyZXMgc3VjaCBhcyBwb3NpdGlvbmluZyBvciByZXNpemluZywgb3IKCSAgYW5pbWF0aW9ucywgYnV0IGl0J3MgdXNhYmxlIGFscmVhZHksIGFuZCBzdXBwb3J0cyBsb3RzIG9mCgkgIGZvcm1hdHMuCgoyMDEyLTAzLTE2IDIyOjUyOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgZG9uJ3QgcG9rZSBpbnRvIGJhc2V0cmFuc2Zvcm0gaW50ZXJuYWxzCgkgIEJ1dCB1c2UgdGhlIG1ldGhvZHMKCjIwMTItMDMtMTYgMjE6NDc6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZG9uJ3QgcGFzcyByYW5kb20gcG9pbnRlcnMgdG8gcHVsbF9yYW5nZQoKMjAxMi0wMy0xNSAyMjoxNTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIHVwZGFydGUgZm9yIGJ1ZmZlcnBvb2wgY2hhbmdlcwoKMjAxMi0wMy0xNSAyMjoxMToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgY2hhbmdlcwoKMjAxMi0wMy0xNSAyMDozNzo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDExLTA3LTE0IDE2OjIzOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBNYWtlIG91dHB1dCBpbiBBVkMgc3RyZWFtIGZvcm1hdCB3b3JrIGV2ZW4gd2l0aG91dCBjb21wbGV0ZSBzcHJvcC1wYXJhbWV0ZXItc2V0CgkgIFRoaXMgYWxsb3dzIG91dHB1dHRpbmcgc3RyZWFtcyBpbiBBVkMgZm9ybWF0IGV2ZW4gaWYgdGhlIFNQUy9QUFMgYXJlIHNlbnQgaW5zaWRlCgkgIHRoZSBSVFAgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgoyMDEyLTAzLTE1IDE0OjA2OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTUgMTM6Mzc6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNSAxMzozNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE0IDIxOjM2OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNCAxOTo1NTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHRha2UgcGFkZGluZyBpbnRvIGFjY291bnQKCjIwMTItMDMtMTQgMTc6MDc6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTQgMTU6NDU6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXBseSBGQUxTZSBvbiBzZXJpYWxpemVkIHF1ZXJpZXMKCjIwMTItMDMtMTMgMjM6MDg6MzggKzAxMDAgIEFuZHJlaiBHZWxlbmJlcmcgPGFuZHJlai5nZWxlbmJlcmdAdWRvLmVkdT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogYWRkIHN1cHBvcnQgZm9yIDgtIGFuZCAxNi1iaXQgZ3JheSBpbWFnZXMKCSAgQWRkIHN1cHBvcnQgZm9yIGRpcmVjdCBlbmNvZGluZyBvZiA4LSBhbmQgMTYtYml0IGJpZyBlbmRpYW4gZ3JheSBpbWFnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIwMjUKCjIwMTItMDMtMTQgMTE6MjE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgbXA0dnBheTogd2UgY2FuIGFsc28gaGFuZGxlIHgtZGl2eAoKMjAxMi0wMy0xNCAxMDozOTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IGRvIG5vdCBzZXQgb3V0cHV0IGNhcHMgZGlyZWN0bHkKCSAgLi4uIGJ1dCB1c2UgYmFzZSBjbGFzcyBmdW5jdGlvbiBpbnN0ZWFkLgoKMjAxMi0wMy0xMyAyMTozMTo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIG1wNHZkZXBheTogZml4IGJ1ZmZlciBoYW5kbGluZwoJICBEb24ndCBhbHdheXMgb3V0cHV0IHRoZSBwYXlsb2FkIHN1YmJ1ZmZlciwgdXNlIGEgc2VwYXJhdGUgdmFyaWFibGUgdG8KCSAgbWFrZSB0aGluZ3MgY2xlYXJlciBhbmQgd2l0aG91dCB0aGUgZXJyb3IuCgoyMDEyLTAzLTEzIDIwOjQ5OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogbWFrZSBidWZmZXItc2l6ZSB3b3JrIGFnYWluCgoyMDEyLTAzLTEzIDIwOjM2OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggU09fUkNWQlVGIGhhbmRsaW5nCgoyMDEyLTAzLTEzIDE5OjI2OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCBsZWFrIHRoZSBhZGRyZXNzCgoyMDEyLTAzLTEzIDE5OjI2OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiB1bm1hcCBvbiBlbXB0eSBwYWNrZXQKCjIwMTItMDMtMTMgMTg6MDc6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZG8gRFRTIGFuZCBQVFMgY29ycmVjdGx5CgoyMDEyLTAzLTEzIDE3OjU0OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBEVFMgYW5kIFBUUyBvbiBvdXRwdXQgYnVmZmVycwoJICBTZXQgUFRTIGFuZCBEVFMgb24gb3V0cHV0IGJ1ZmZlcnMgaW5zdGVhZCBvZiBqdXN0IHRoZSBQVFMuIEluIHN0cmVhbWluZyBjYXNlcwoJICB5b3Ugd2FudCB0byBzeW5jaHJvbml6ZWQgZW5jb2RlZCBkYXRhIGJhc2VkIG9uIHRoZSBEVFMgYmVjYXVzZSB0aGF0IGlzCgkgIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy4KCjIwMTItMDMtMTMgMTc6NTQ6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBkZWJ1ZyBhZGRpdGlvbmFsIHNkdHAgZmxhZwoKMjAxMi0wMy0xMyAxNzoyNzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cDogZml4IHVubWFwIGNhbGxzCgoyMDEyLTAzLTEzIDEzOjI1OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZTogZml4IGZvcm1hdHMsIHdlIGNhbiBub3QgaGFuZGxlIFM4IGJ1dCBvbmx5IFU4CgoyMDEyLTAzLTEzIDEyOjQwOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggc3RyZWFtaGVhZGVycwoJICBGaXggdGhlIGNhcHMgb2YgZmxhY2VuYywgdGhlIHJlZmVyZW5jZSBlbmNvZGVyIG9ubHkgc3VwcG9ydCAyNCBiaXRzIGluCgkgIDMyIGJpdHMuCgkgIFNldCBzdHJlYW1oZWFkZXIgb24gb3V0cHV0IGNhcHMuCgoyMDEyLTAzLTEyIDE3OjE3OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgdXBkYXRlIGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDE2OjQzOjI3ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYyA6IGJ1bXAgR0xpYiByZXF1aXJlbWVudCB0byAyLjMxLjE0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5MTEKCjIwMTItMDMtMTIgMTU6Mjc6MjcgKzAxMDAgIFJvc3MgQnVydG9uIDxyb3NzIGF0IGJ1cnRvbmluaS5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGdlbmVyYXRlIHNlZWt0YWJsZXMgZXZlcnkgMTAgc2VjIGJ5IGRlZmF1bHQKCSAgU2luY2UgdGhpcyBpcyB3aGF0IHRoZSBjb21tYW5kIGxpbmUgdG9vbCBkb2VzIGFzIHdlbGwsIGl0IHNlZW1zIGxpa2UKCSAgYSBiZXR0ZXIgZGVmYXVsdC4KCjIwMTItMDMtMTAgMTM6NDQ6MDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgdW5sb2NrIHBhZCB3aGVuIGl0IHdhcyBsb2NrZWQKCSAgVGhpcyBmaXhlcyB0aGUgbXV0ZXggYmVpbmcgdW5sb2NrZWQgdG9vIG11Y2ggYW5kIGVuZGluZyB1cCBhbGxvd2luZwoJICBvdGhlciB0aHJlYWRzIHdoZW4gdGhleSBzaG91bGQgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNzc2CgoyMDEyLTAzLTA3IDEzOjM5OjUwICswMTAwICBBbmRyZWogR2VsZW5iZXJnIDxhbmRyZWouZ2VsZW5iZXJnQHVkby5lZHU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IGFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1ncmF5IGZvcm1hdHMKCSAgcG5nZGVjIGNhbiBub3cgZGVjb2RlIGdyYXkgOC0gYW5kIDE2LWJpdCBpbWFnZXMgd2l0aG91dCBhbHBoYSBjaGFubmVsCgkgIGRpcmVjdCB0byB2aWRlby94LXJhdy1ncmF5IGZvcm1hdC4gMTYtYml0IGdyYXkgaW1hZ2VzIGhhdmUgYmlnLWVuZGlhbgoJICBmb3JtYXQsIGJlY2F1c2UgaXQncyBuYXRpdmUgUE5HIGVuZGlhbm5lc3MuIEdyYXkgaW1hZ2VzIHdpdGggYWxwaGEKCSAgY2hhbm5lbCBzdGlsbCBjb252ZXJ0ZWQgdG8gUkdCQS4KCSAgU2lnbmVkLW9mZi1ieTogQW5kcmVqIEdlbGVuYmVyZyA8YW5kcmVqLmdlbGVuYmVyZ0B1ZG8uZWR1PgoKMjAxMi0wMy0wOCAxNzowNzo1MSArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBnc3RydHNwc3JjOiBkaXNhYmxlIFJUU1Aga2VlcC1hbGl2ZSBvbiByZXF1ZXN0CgoyMDEyLTAzLTEyIDE0OjQ4OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBmaXggc3RyaWRlIGhhbmRsaW5nCgoyMDEyLTAzLTEyIDEyOjIzOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgZml4IGZvciBjYXBzIF9ub3JtYWxpemUgY2hhbmdlcwoKMjAxMi0wMy0xMiAxMTo0NzozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZQoKMjAxMi0wMy0xMiAxMDo0Mzo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIGZpeCBmb3IgX2RvX3NpbXBsaWZ5IGNoYW5nZXMKCjIwMTItMDMtMTIgMDg6NDg6MzIgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGdzdDogRml4IHNvbWUgcXVlcnkgbGVha3MKCjIwMTItMDMtMTEgMTk6MDY6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZml4IGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTExIDE5OjA2OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xMCAxMDo1MTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgZml4IHRlbXBsYXRlIGNhcHMgcmVmY291bnQKCjIwMTItMDMtMDkgMTU6NTM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB1c2Ugb2YgQUNfTEFOR19QUk9HUkFNCgkgIE5vIG5lZWQgdG8gaW5jbHVkZSB0aGUgaW50IG1haW4gKCkgeyB9IGJpdHMsIHRoZSBib2R5IGlzIGVub3VnaC4KCjIwMTItMDMtMDkgMTU6MjU6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBhdXRvZ2VuLnNoIHdhcm5pbmdzCgkgIGNvbmZpZ3VyZS5hYzo0MTA6IHdhcm5pbmc6IEFDX0xBTkdfQ09ORlRFU1Q6IG5vIEFDX0xBTkdfU09VUkNFIGNhbGwgZGV0ZWN0ZWQgaW4gYm9keQoKMjAxMi0wMy0wOCAxMzowNjoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJICBhYXNpbms6IHByb3Bvc2UgdmlkZW9tZXRhIHVwdHJlYW0KCSAgc3ViY2xhc3MgZnJvbSB2aWRlb3NpbmsuCgkgIFByb3Bvc2UgdmlkZW9tZXRhIHVwc3RyZWFtIGJlY2F1c2Ugd2UgY2FuIGhhbmRsZSBpdCB3aXRoIHRoZSB2aWRlbyBhcGkuCgoyMDEyLTAzLTA4IDAxOjUzOjUwIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZG8gbm90IHVucmVmIHNhbXBsZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE1MzQKCjIwMTItMDMtMDggMTE6MzY6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogaW1wcm92ZSBtb3JlIHRlc3RzCgoyMDEyLTAzLTA4IDExOjIwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZzaW5rLmM6CgkgIHRlc3RzOiBmaXggc29tZSBtb3JlIHRlc3RzCgoyMDEyLTAzLTA3IDE1OjIyOjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogaW1wcm92ZSBjbGVhbnVwCgkgIFJldXNlIGNsZWFudXAgbWV0aG9kcyB0byBtYWtlIHN1cmUgd2UgcmVtb3ZlIGFsbCBwYWRzIGNvcnJlY3RseQoKMjAxMi0wMy0wNyAxNTowMDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogc2V0IGNhcHMgd2l0aG91dCB0aGUgbG9jawoJICBSZWxlYXNlIHRoZSBsb2NrIGJlZm9yZSBzZXR0aW5nIHRoZSBjYXBzIG9uIHRoZSBzcmNwYWQsIHdoaWNoIHRyaWdnZXJzIGFuIGV2ZW50LAoJICB3aGljaCBjb3VsZCBldmVudHVhbGx5IGNhbGwgYmFjayBpbnRvIHVzIGFuZCBjYXVzZSBhIGRlYWRsb2NrLgoKMjAxMi0wMy0wNyAxNDo1NTowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcHRkZW11eDogc2V0IGNhcHMgYWZ0ZXIgYWN0aXZhdGluZyB0aGUgcGFkCgkgIFNldCB0aGUgY2FwcyBhZnRlciB3ZSBhY3RpdmF0ZWQgdGhlIHBhZCBvciBlbHNlIGl0IHdpbGwganVzdCBmYWlsLgoKMjAxMi0wMy0wNyAxNDo1NDoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkgIGxhdzogYWRkIGxheW91dCB0byBhdWRpbyBjYXBzCgoyMDEyLTAzLTA3IDE0OjUxOjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgIGxhdzogdXNlIEdzdEF1ZGlvSW5mbwoJICBVc2UgR3N0QXVkaW9JbmZvIHRvIGdlbmVyYXRlIG91dHB1dCBjYXBzLgoKMjAxMi0wMy0wNyAwNDoyMDowMCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRkZW11eDogY292ZXJ0IGFydCB0YWcgdHlwZSBpcyBHc3RTYW1wbGUgbm90IEdzdEJ1ZmZlciBub3cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTUzNAoKMjAxMi0wMy0wNyAxMDoyODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IGZpeCBQT1RGSUxFUy5pbiBmb3IgbmV3IHdhdnBhY2twYXJzZSBsb2NhdGlvbiBpbiBzb3VyY2UgdHJlZQoKMjAxMi0wMy0wNiAyMTo0NDozNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBDaGFuZ2UgdGhlIGRlZmF1bHQgcG9ydCB0byA1MDA0CgkgIHVkcHNyYy91ZHBzaW5rIGFyZSBhbG1vc3QgYWx3YXlzIHVzZWQgd2l0aCBSVFAsIHNvIGxldCdzIHVzZSBhbgoJICBSVFAgcG9ydCBhcyB0aGUgZGVmYXVsdCBwb3J0LiAgSXQncyB1bmNsZWFyIHdoeSA0OTUxIHdhcyB1c2VkLCBpdAoJICBnb2VzIGJhY2sgdG8gZWFybHkgY29tbWl0cyBpbiBDVlMuCgoyMDEyLTAzLTA2IDIxOjM2OjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1lcmdlIGJyYW5jaCAnMC4xMScgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QgaW50byAwLjExCgoyMDEyLTAzLTA2IDE1OjU4OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogdXNlIGJhc2UgY2xhc3MgdGFnIGhhbmRsaW5nIGhlbHBlcgoJICAuLi4gc28gYXMgdG8gZW5zdXJlIHRoZXNlIHRvIGJlIGhhbmRsZWQgYW5kIHNlbnQgYXQgcHJvcGVyIHRpbWUuCgoyMDEyLTAzLTA2IDE0OjI1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgd2F2cGFjazogRml4IHBvc3NpYmxlIHVuZGVyZmxvdyBvZiB1bnNpZ25lZCBpbnRlZ2VyIHZhcmlhYmxlCgoyMDEyLTAzLTA2IDE0OjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScKCSAgVGhpcyB2YXJpYWJsZSBjYW4gbmV2ZXIgYmUgYmVsb3cgemVybyBhbnl3YXkuCgoyMDEyLTAzLTA2IDE0OjE4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXNlIGNvcnJlY3QgZW51bSBmb3IgcmV0dXJuIHZhbHVlcwoKMjAxMi0wMy0wNiAxNDoxNjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSAgZHZkZXBheTogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScgY29tcGlsZXIgd2FybmluZwoJICBUaGlzIHdhcyBhbiBhY3R1YWwgYnVnIGFzIGl0IGNvdWxkJ3ZlIGNhdXNlZCByZWFkaW5nIGZyb20KCSAgaW52YWxpZCBtZW1vcnkgYXJlYXMgd2hlbiB0aGUgaW5wdXQgaXMgYnJva2VuLgoKMjAxMi0wMy0wNiAxMzoyMToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggJ3ZhcmlhYmxlICdvbGRieCcgaXMgdW5pbml0aWFsaXplZCB3aGVuIHVzZWQgaGVyZScgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDMtMDYgMTM6MTk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggJ2ltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdHc3REZWludGVybGFjZUZpZWxkcycgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ0dzdERlaW50ZXJsYWNlTW9kZScnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDUgMTU6Mjk6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgIGdkazogY2xlYW51cHMgYW5kIGZpeCByb3dzdHJpZGUKCSAgRml4IHRoZSBvdXRwdXQgcm93c3RyaWRlLCB3ZSBuZWVkIHRvIHRha2UgdGhlIHN0cmlkZSBvZiB0aGUgb3V0cHV0IHZpZGVvIGZyYW1lLgoJICBTaW5jZSB3ZSBhcmUgYWxzbyBkZWFsaW5nIHdpdGggcGxhbmVzLCB0YWtlIHRoZSBwbGFuZSBkYXRhIGFuZCBzdHJpZGUuCgkgIERvbid0IHN0b3JlIHRoZSBzYW1lIGluZm8gdHdpY2UgaW4gZGlmZmVyZW50IHZhcmlhYmxlcy4KCjIwMTItMDMtMDUgMTM6MzE6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmOiBmaXggZXZlbnQgaGFuZGxpbmcKCjIwMTItMDMtMDUgMTI6MjA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgdGVzdHM6IHBvcnQgd2F2cGFjayB0ZXN0cyB0byAwLjExCgoyMDEyLTAzLTA1IDEzOjM2OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIHdhdnBhY2tkZWM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0wNSAxMjoxNzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMDUgMTM6MzQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHdhdnBhY2s6IHJlbW92ZSBsZWdhY3kgd2F2cGFja3BhcnNlCgoyMDEyLTAzLTA1IDEyOjE1OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogcG9ydCB3YXZwYWNrcGFyc2UgdG8gMC4xMQoKMjAxMi0wMy0wNSAxMzoyOTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oCgkgIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYwoKMjAxMi0wMy0wNSAxMjo0MzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgeC1yYXctYmF5ZXIgLT4geC1iYXllcgoKMjAxMi0wMy0wNSAxMToxNzozMCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgdjRsMnNpbms6IGRvbid0IHVzZSBkZXByZWNhdGVkIFhLZXljb2RlVG9LZXlzeW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTI5OQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDMtMDUgMTI6MDM6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2U6IHVzZSBuZXcgc3R5bGUgY2FwcwoKMjAxMi0wMy0wNSAxMDo0OTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IGFsbG93IHNvbWUgdGltZXN0YW1wIHRvbGVyYW5jZSB0byBhcnJhbmdlIGZvciBwZXJmZWN0IHRpbWVzdGFtcGluZwoJICAuLi4gd2hpY2ggYWxzbyBoYXBwZW5zIHRvIG1ha2Ugc29tZSBtb3JlIHVuaXQgdGVzdHMgcGFzcy4KCjIwMTItMDMtMDUgMTA6NDc6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBmaXggY29weWluZyBvdXRwdXQgZGF0YQoKMjAxMi0wMy0wNSAxMDo0Njo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHJlc3RvcmUgbGVnYWN5IGJ1ZmZlciBvZmZzZXQgZGVjb3JhdGluZyBzb21ld2hhdAoJICAuLi4gYXQgbGVhc3Qgc3VmZmljaWVudGx5IHRvIGFpZCBpbiByZWNvZ25pemluZyByZXdyaXR0ZW4gaGVhZGVyIGJ1ZmZlcgoJICBtYWtpbmcgdW5pdCB0ZXN0IHBhc3MuCgoyMDEyLTAzLTA1IDEwOjUxOjMzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBpbml0aWFsaXplIGhlYWRlciB0byBzaWxlbmNlIG9sZGVyIGdjYyB2ZXJzaW9ucwoKMjAxMi0wMy0wNSAxMDo0NTo0NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IHJlbW92ZSBlbXB0eSBsaW5lcyBpbiB2YXJhYmxlIGRlY2xhcmF0aW9ucyBjYXVzZWQgYnkgb2xkIGluZGVudAoKMjAxMi0wMy0wNSAxMDo0NDo1NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgamFjazogZml4IG9idmlvdXMgd3JvbmcgZGVmaW5pdGlvbiBmb3IgdGhlIG1hc3RlciBmbGFnCgoyMDEyLTAzLTA0IDE5OjU1OjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBjaGFuZ2UgdGhlIHRyYW5zcG9ydC1tb2RlIGVudW0gaW50byBmbGFncwoJICBPbmUgY2FuIHVzZSAob3Igbm90IHVzZSkgbWFzdGVyIGFuZCBzbGF2ZSBtb2RlIGluZGVwZW5kZW50bHkuCgoyMDEyLTAzLTAyIDExOjQ5OjAyIC0wNTAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzdXBwb3J0IHVwIHRvIDYgY2hhbm5lbHMgb2YgQUMtMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjIwCgoyMDEyLTAzLTAzIDEzOjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGNsZWFyIERJU0NPTlQgZmxhZyB3aGVuIHJlY3ljbGluZyBidWZmZXJzIGludG8gdGhlIGJ1ZmZlciBwb29sCgkgIFRoZSBiYXNlIGNsYXNzIG1heSBoYXZlIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIgcHVzaGVkCgkgIG91dC4gV2UgbmVlZCB0byBjbGVhciB0aGF0IHdoZW4gcmVjeWNsaW5nIGJ1ZmZlcnMgYmFjayBpbnRvIHRoZSBidWZmZXIKCSAgcG9vbCwgb3RoZXJ3aXNlIHdlIGNvbnN0YW50bHkgcHVzaCBvdXQgYnVmZmVycyB3aXRoIHRoZSBkaXNjb250IGZsYWcKCSAgc2V0LCB3aGljaCBtaWdodCB1cHNldCBkb3duc3RyZWFtIGVsZW1lbnRzLCBlc3AuIGZvciBjb21wcmVzc2VkCgkgIGZvcm1hdHMgbGlrZSBtcGVnLXRzLgoKMjAxMi0wMy0wMSAxNDoxNToyOSArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyc3JjOiBmaXggdjRsMl9tdW5tYXAoKSBmb3IgY29tcHJlc3NlZCBmb3JtYXRzCgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgY2FsbCBtdW5tYXAoKSB3aXRoIHRoZSBzYW1lIHNpemUgd2UgY2FsbGVkIG1tYXAoKQoJICB3aXRoIGJlZm9yZS4KCSAgQ3VycmVudCB2NGwyc3JjIHVzZXMgdGhlIHNhbWUgc3RydWN0dXJlIGZvciBWSURJT0NfUVVFUllCVUYsIFZJRElPQ19RQlVGCgkgIGFuZCB2NGwyX211bm1hcCBjYWxscy4gVGhlIHByb2JsZW0gaXMgdGhhdCB0aGUgdmlkZW8gYnVmZmVyIHNpemUgKGxlbmd0aCkKCSAgbWF5IHZhcnkgZm9yIGNvbXByZXNzZWQgb3IgZW11bGF0ZWQgYnVmcy4gVklESU9DX1FCVUYgd2lsbCBjaGFuZ2UgaXQgaWYKCSAgd2UgcGFzcyB0aGUgcG9pbnRlciBvZiBhIHY0bDJfYnVmZmVyLiBUaGlzIGlzIHdoeSB3ZSBzaG91bGQgYXZvaWQgdXNpbmcKCSAgc2FtZSB2YXJpYWJsZSBmb3IgbW1hcCBhbmQgdmlkZW8gYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTEyNgoKMjAxMi0wMy0wMiAxMToxNzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkgIGdzdDogVXBkYXRlIGZvciB0aGUgZ3N0bWFyc2hhbC5bY2hdIHJlbW92YWwKCjIwMTItMDMtMDIgMTA6MTM6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICBtaXhlci9jb2xvcmJhbGFuY2U6IFVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMKCjIwMTItMDMtMDEgMTc6MTU6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogZml4IHN0cmlkZQoKMjAxMi0wMy0wMSAxMTozNjozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGRpc2FibGUgbm9uLXBvcnRlZCB3YXZwYWNrcGFyc2UKCjIwMTItMDMtMDEgMTE6Mjk6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYwoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jCgkgIHRlc3RzL2V4YW1wbGVzL3Y0bDIvcHJvYmUuYwoKMjAxMi0wMi0yOSAyMjozMToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IHJlbW92ZSBkZXByZWNhdGVkIHByb3BlcnR5CgoyMDEyLTAyLTI5IDIyOjMwOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBnZGtwaXhidWZzY2FsZTogcmVtb3ZlIGRlcHJlY2F0ZWQgcHJvcGVydHkKCjIwMTItMDItMjkgMjI6Mjg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuaDoKCSAgZ2RrcGl4YnVmc2luazogcG9ydCB0byAwLjExCgoyMDEyLTAyLTI5IDIyOjI1OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgIGdka3BpeGJ1ZnNjYWxlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjkgMjI6MjQ6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJICBnZGtwaXhidWZkZWM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0yOSAxNzoyNjowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIEFQSSBjaGFuZ2VzCgoyMDEyLTAyLTI4IDEzOjUxOjEwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGJhc2VwYXJzZSBiYXNlZCB3YXZwYWNrcGFyc2UKCjIwMTItMDItMjggMTE6Mzg6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSB0YWdzCgoyMDEyLTAyLTI3IDIzOjQ2OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IGFkanVzdCB0byBhdWRpbyBmb3JtYXQgbGltaXRhdGlvbnMKCSAgLi4uIHdoaWNoIGRvZXMgbm90IGFsbG93IGV4cHJlc3NpbmcgYXJiaXRyYXJ5IGRlcHRoIGluIGEgR3N0QXVkaW9Gb3JtYXQuCgkgIEFsc28gYWRqdXN0IHVuaXQgdGVzdCB0byBtb2RpZmllZCBiZWhhdmlvdXIuCgoyMDEyLTAyLTI3IDIzOjQ2OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZGVjOiBkZXRlcm1pbmUgZGVwdGggZnJvbSBieXRlcyBwZXIgc2FtcGxlCgkgIC4uLiByYXRoZXIgdGhhbiBmcm9tIGJpdHMgcGVyIHNhbXBsZSwgc2luY2Ugc3BlYyBzdGF0ZXMgdmFsdWVzIGFyZSBhbHJlYWR5CgkgIGxlZnQganVzdGlmaWVkIHcuci50LiBiaXRzIHBlciBzYW1wbGUgYnV0IG5vdCB3LnIudC4gYnl0ZXMgcGVyIHNhbXBsZQoJICAoYW5kIHNvIHRoZSBsYXR0ZXIgZGV0ZXJtaW5lcyB0aGUgbm9ybWFsaXphdGlvbiwgb3IgaW5kaWNhdGVkIGRlcHRoKS4KCjIwMTItMDItMjcgMjM6NDY6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIHdhdnBhY2tkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAyLTI3IDIzOjQ1OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgkgIEFsc28gYWRqdXN0IHVuaXQgdGVzdCB0byBzbGlnaHRseSBtb2RpZmllZCBiZWhhdmlvdXIuCgoyMDEyLTAyLTI3IDE0OjQ3OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvcHJvYmUuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIFN1cHByZXNzIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGluIHNlbGVjdGVkIGZpbGVzLCBmb3IgZ192YWx1ZV9hcnJheV8qIG1vc3RseQoKMjAxMi0wMi0yNyAxMzowOTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogY2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCjIwMTItMDItMjcgMTM6MDU6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBldmVudCBoYW5kbGluZwoJICBGaXggZG9kZ3kgc2VnbWVudCBldmVudCBoYW5kbGluZwoJICBDaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoKMjAxMi0wMi0yNyAwOToxNDowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVzZSBwdWJsaWMgYXBpCgkgIGluc3RlYWQgb2YgcG9raW5nIGludG8gdGhlIHByaXZhdGUgc3RydWN0dXJlcyBvZiB0aGUgYmFzZSBjbGFzcwoKMjAxMi0wMi0yNyAwMTowOToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgZmx2bXV4LCBtYXRyb3NrYW11eCwgcXRtdXg6IGlmIGluIGRvdWJ0IGFib3V0IGRvd25zdHJlYW0gc2Vla2FiaWxpdHkgZGVmYXVsdCB0byBzdHJlYW1pbmc9dHJ1ZQoJICBJZiBkb3duc3RyZWFtIGRpZG4ndCBhbnN3ZXIgb3VyIFNFRUtJTkcgcXVlcnkgYW5kIHRvbGQgdXMKCSAgaXQncyBzZWVrYWJsZSwgZGVmYXVsdCB0byBzdHJlYW1pbmc9dHJ1ZS4gV2UgY291bGRuJ3QgZG8KCSAgdGhpcyBpbiAwLjEwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSByZWFzb25zLCBidXQgd2UKCSAgY2FuIGluIDAuMTEuIFBsYXkgaXQgc2FmZS4KCjIwMTItMDItMjcgMDE6MDA6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jCgoyMDEyLTAyLTI3IDAwOjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnZjkyMDc3MjJjYThmZDhkY2MxZTcyMTVkOGFmODVlZmU0ZGViZmRmNCcgaW50byAwLjExCgoyMDEyLTAyLTI3IDAwOjU1OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGZpeCB1cCBhZnRlciBtZXJnZQoKMjAxMi0wMi0yNyAwMDo0ODo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzM4NTE2YWQzNjcxMjhkODNmOWUxNTY1MjkwMThhZGI0NDMzY2QzMjgnIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYwoKMjAxMi0wMi0yNiAyMDozOTo1MiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAyLTI2IDIwOjMwOjI0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAyLTI1IDE1OjU1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGNyZWF0ZSBzdHJlYW1hYmxlIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBJZ25vcmUgdGhlICJzdHJlYW1hYmxlIiBwcm9wZXJ0eSBzZXR0aW5nIGFuZCBjcmVhdGUgc3RyZWFtYWJsZQoJICBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBrbm93biBub3QgdG8gYmUgc2Vla2FibGUgKGFzIHF1ZXJpZWQKCSAgdmlhIGEgU0VFS0FCTEUgcXVlcnkpLgoJICBGaXhlcyBwaXBlbGluZXMgbGlrZSBxdG11eCAhIGFwcHNpbmsgcG9zc2libHkgY3JlYXRpbmcgc2VlbWluZ2x5CgkgIGNvcnJ1cHRlZCBvdXRwdXQgaWYgc3RyZWFtYWJsZSBoYXMgbm90IGJlZW4gc2V0IHRvIHRydWUuCgoyMDEyLTAyLTI1IDE1OjQ4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogY3JlYXRlIHN0cmVhbWFibGUgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIElnbm9yZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IHNldHRpbmcgYW5kIGNyZWF0ZSBzdHJlYW1hYmxlCgkgIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIGtub3duIG5vdCB0byBiZSBzZWVrYWJsZSAoYXMgcXVlcmllZAoJICB2aWEgYSBTRUVLQUJMRSBxdWVyeSkuCgkgIEZpeGVzIHBpcGVsaW5lcyBsaWtlIGZsdm11eCAhIGFwcHNpbmsgcG9zc2libHkgY3JlYXRpbmcgc2VlbWluZ2x5CgkgIGNvcnJ1cHRlZCBvdXRwdXQgaWYgc3RyZWFtYWJsZSBoYXMgbm90IGJlZW4gc2V0IHRvIHRydWUuCgoyMDEyLTAyLTI1IDE1OjQwOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGNyZWF0ZSBzdHJlYW1hYmxlIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBJZ25vcmUgdGhlICJzdHJlYW1hYmxlIiBwcm9wZXJ0eSBzZXR0aW5nIGFuZCBjcmVhdGUgc3RyZWFtYWJsZQoJICBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBrbm93biBub3QgdG8gYmUgc2Vla2FibGUgKGFzIHF1ZXJpZWQKCSAgdmlhIGEgU0VFS0FCTEUgcXVlcnkpLgoJICBGaXhlcyBwaXBlbGluZXMgbGlrZSB3ZWJtbXV4ICEgYXBwc2luayBjcmVhdGluZyBzZWVtaW5nbHkKCSAgY29ycnVwdGVkIG91dHB1dCBpZiBzdHJlYW1hYmxlIGhhcyBub3QgYmVlbiBzZXQgdG8gdHJ1ZS4KCjIwMTItMDItMjQgMTE6MDM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHVwZGF0ZSBmb3IgYmFzZXRyYW5zZm9ybSBjaGFuZ2UKCjIwMTItMDItMjQgMTA6MjY6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBjaGFuZ2UKCjIwMTItMDItMjMgMDg6NDI6MjUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5oOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UudmNwcm9qOgoJICBlZmVuY2U6IHJlbW92ZSBwbHVnaW4KCSAgVmFsZ3JpbmQgaXMgbXVjaCBtb3JlIHVzZWZ1bCB0aGVzZSBkYXlzLgoKMjAxMi0wMi0yMyAxMjowNToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJICBVcGRhdGUgTkVXUyBhbmQgUkVMRUFTRSBhcyB3ZWxsCgoyMDEyLTAyLTIzIDExOjA3OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCdW1wIHZlcnNpb24gYWZ0ZXIgcmVsZWFzZQoKMjAxMi0wMi0yMyAxMjowMzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuaDoKCSAgYXVkaW9meDogcmVtb3ZlIHRyYW5zZm9ybSBsb2NrIHVzYWdlCgoyMDEyLTAyLTIzIDExOjE2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHVwZGF0ZSBmb3IgYmFzZXRyYW5zZm9ybSBsb2NrIHJlbW92YWwKCjIwMTItMDItMjIgMjM6MzY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkgIGRlYnVndXRpbHM6IGRpc2FibGUgZWZlbmNlIHBsdWdpbiBwcm9wZXJseQoJICBXZSBkb24ndCB3YW50IGl0IGJ1aWx0IGlmIG1tYXAgaXNuJ3QgYXZhaWxhYmxlIGVpdGhlci4uCgoyMDEyLTAyLTIyIDE3OjM5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IGdldF9jYXBzIGZ1bmN0aW9uIHNvbWUgbW9yZSBzbyB0aGF0IGFsbCBzdHJ1Y3R1cmVzIGhhdmUgY2hhbm5lbCBpbmZvCgkgIFNldCBjaGFubmVscyBhbmQgY2hhbm5lbC1sYXlvdXQgb24gdGhlIHJpZ2h0IHN0cnVjdHVyZTsgdGhhdCBpcywgdGhlCgkgIHN0cnVjdHVyZSB3ZSBhcmUgZ29pbmcgdG8gYXBwZW5kIHRvIHRoZSBjYXBzIHdlIGFyZSBidWlsZGluZywgYW5kIG5vdAoJICB0aGUgc3RydWN0dXJlIHdlIGFyZSB1c2luZyBhcyBhIHRlbXBsYXRlIGZvciBhbGwgdGhlIHN0cnVjdHVyZXMuIEZpeGVzCgkgIGZpcnN0IHN0cnVjdHVyZSBvZiB0aGUgcmV0dXJuZWQgY2FwcyBub3QgaGF2aW5nIGFueSBjaGFubmVsIGluZm8gc2V0CgkgIG9uIGl0LgoKMjAxMi0wMi0yMiAxNzowOToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG1pY3Jvb3B0aW1pc2F0aW9uOiBhdm9pZCB1bm5lY2Vzc2FyeSBsaXN0IGFuZCBzdHJpbmcgY29waWVzCgoyMDEyLTAyLTIyIDE3OjAzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYXVkaW8gY2FwcyBoYXZlIGEgKmxpc3QqIG9mIGZvcm1hdHMsIG5vdCBhbiBhcnJheSBvZiBmb3JtYXRzCgkgIEEgbGlzdCBvZiB0aGluZ3MgaW4gY2FwcyBpcyBzb21ldGhpbmcgd2hlcmUgb25lIGlzIHBpY2tlZCBpbiB0aGUKCSAgY291cnNlIG9mIG5lZ290aWF0aW9uLiBBbiBhcnJheSBpcyBhbHdheXMgc29tZXRoaW5nIHRoYXQgb25seSBtYWtlcwoJICBzZW5zZSBhcyBhIHdob2xlIGluIHRoYXQgb3JkZXIuCgoyMDEyLTAyLTIyIDE4OjAyOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIHBvc3QtcG9ydCBib2d1cyBfdW5yZWYKCjIwMTItMDItMjIgMTc6MDA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgYm9ndXMgcGFkIGxvY2tpbmcgdGhhdCBjYXVzZXMgZGVhZGxvY2tzCgkgIEl0J3Mgbm90IGNsZWFyIHdoeSB0aGUgcGFkIG9iamVjdCBsb2NrIGlzIHRha2VuIGhlcmUuIEJ1dAoJICBnc3RfcGFkX3toYXMsZ2V0fV9jdXJyZW50X2NhcHMoKSB3aWxsIHRyeSB0byB0YWtlIHRoZSBsb2NrCgkgIGFzIHdlbGwgYW5kIGRlYWRsb2NrLCBzaW5jZSBpdCdzIG5vdCByZWN1cnNpdmUuCgoyMDEyLTAyLTIyIDE2OjU5OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogc2V0IHJpZ2h0IG51bWJlciBvZiBjaGFubmVscyBvbiBjYXBzIGluIGdldF9jYXBzIGZ1bmN0aW9uCgoyMDEyLTAyLTIxIDE3OjE2OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW46IGF2b2lkIHRvdWNoaW5nIC5wbyBmaWxlcyBkdXJpbmcgJ21ha2UnCgkgIEEgc2ltcGxlIHdvcmthcm91bmQgdG8gZGVhbCB3aXRoIEdOVSBnZXR0ZXh0IGF1dG9tYWtlIGludGVncmF0aW9uCgkgIGZhaWxpbmcgdG8gZGVhbCB3aXRoIGdpdC4gIEZpeGVzOiAjNjY5MjA3CgoyMDEyLTAyLTIyIDAyOjA2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDItMjEgMTc6NTc6NDQgKzAxMDAgIFZpbmNlbnQgVW50eiA8dnVudHpAZ25vbWUub3JnPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBGaXggYSBidWlsZCB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggYXNzZXJ0cyBkaXNhYmxlZAoJICBSZXR1cm4gYSB2YWx1ZSBldmVuIGlmIHRoZSBjb2RlIHdpbGwgbmV2ZXIgYmUgcmVhY2hlZCwgdG8gbWFrZSBjb21waWxlcnMKCSAgaGFwcHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA1NjEKCjIwMTItMDItMjEgMTg6NDI6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBzdXBwb3J0IHBhcnNpbmcgZnJlZWZvcm0gYml0cmF0ZSBzdHJlYW0KCjIwMTItMDItMjEgMTg6Mzk6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJICBtb25vc2NvcGU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0yMSAxMDo1Mzo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDItMjAgMTI6MjI6MTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRm9yY2UgYmFzZWxpbmUgaXMgcHJvZmlsZS1sZXZlbC1pZCBpcyB1bnNwZWNpZmllZAoKMjAxMi0wMi0yMSAxMDo0MDowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogRml4IG1lcmdlIGVycm9yCgoyMDEyLTAyLTIwIDEyOjIyOjEyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEZvcmNlIGJhc2VsaW5lIGlzIHByb2ZpbGUtbGV2ZWwtaWQgaXMgdW5zcGVjaWZpZWQKCjIwMTItMDItMjAgMTY6MzU6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDEtMjYgMDM6Mjk6MjggLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDEtMjYgMDY6NTg6NDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMi0xOCAxMTozODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogZml4IHVwIGxldmVsIHRlc3QgZm9yIEdzdFZhbHVlTGlzdCAtPiBHVmFsdWVBcnJheSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDMwMwoKMjAxMi0wMi0xNiAxODowMToyOSArMDIwMCAgUGV0ZXJpcyBLcmlzamFuaXMgPHBlY2lza0BnbWFpbC5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHVzZSBHVmFsdWVBcnJheSBpbnN0ZWFkIG9mIEdzdFZhbHVlTGlzdCBpbiBtZXNzYWdlcwoJICBVcGRhdGVkIEdzdExldmVsIGVsZW1lbnQgdG8gdXNlIEdWYWx1ZUFycmF5IGluc3RlYWQgb2YKCSAgR3N0VmFsdWVMaXN0IGZvciBybXMvcGVhay9kZWNheSBrZXlzIGF0dGFjaGVkIHRvIGVsZW1lbnQKCSAgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDMwMwoKMjAxMi0wMi0xOCAwMDowMDo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTItMDItMTcgMjM6NTQ6MjkgKzAxMDAgIERvbWluaXF1ZSBMZXVlbmJlcmdlciA8ZG9taW5pcXVlLWdub21lemlsbGEgYXQgbGV1ZW5iZXJnZXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBObyBsb25nZXIgcmVmZXJlbmNlIGRlcHJlY2F0ZWQgaGVhZGVyIGZpbGVzIHdoaWxlIGJ1aWxkaW5nIGRvY3MuCgoyMDEyLTAyLTE3IDIzOjQ5OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMKCjIwMTItMDItMTcgMTc6MjE6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBmaXggc3dpdGNoaW5nIGZyb20gcGFzc3Rocm91Z2ggdG8gbm9uLXBhc3N0aHJvdWdoIHdoZW4gcGFyYW1ldGVycyBjaGFuZ2UKCSAgY29tbWl0IGI1YmYwMjk0IG1vdmVkIHRoZSBpZihuZWVkX25ld19jb2VmZmljaWVudHMpIHNldF9wYXNzdGhyb3VnaChlcXUpCgkgIGFmdGVyIHRoZSBpZihpc19wYXNzdGhyb3VnaCkgcmV0dXJuIEZMT1dfT0sgc2hvcnRjdXQsIHNvIHRoZSBwYXNzdGhyb3VnaAoJICBtb2RlIHdvdWxkIG5ldmVyIGdldCB1cGRhdGVkIGV2ZW4gaWYgdGhlIGNvZWZmaWNpZW50cyBjaGFuZ2UuCgkgIEZpeGVzIGVxdWFsaXplci10ZXN0IGRvaW5nIC4uIG5vdGhpbmcuCgoyMDEyLTAyLTE3IDE3OjU3OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tKjogZml4IGxlYWtlZCBjYXBzIGV2ZW50CgoyMDEyLTAyLTE3IDEzOjI2OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHBhcnNlIGVpdGhlciBYaW5nIG9yIFZCUkkgZGF0YQoJICAuLi4gYW5kIGF2b2lkIGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlIGNsYWltaW5nIG5laXRoZXIgcHJlc2VudC4KCjIwMTItMDItMTcgMTQ6Mzg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9zazogZml4IHNlZ21lbnQgdXBkYXRlCgoyMDEyLTAyLTE3IDExOjA1OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjEgPT09CgoyMDEyLTAyLTE3IDExOjA0OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSAgUkVMRUFTRSAwLjExLjEKCjIwMTItMDItMTYgMjM6MzM6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggYnVmZmVyIGxlYWsKCjIwMTItMDItMTYgMjM6NDA6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTAyLTE2IDIzOjMzOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0xNiAxNTozMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDItMTYgMTU6Mjk6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0xNCAxMTo1NjowMCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IHBvcnQgdG8gMC4xMQoJICBQb3J0IG9mIHRoZSBpbnRlcmxlYXZlIGVsZW1lbnQgYW5kIGl0cyB1bml0dGVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2NDMKCjIwMTItMDItMTYgMTQ6MjM6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTE2IDE3OjE0OjIwICswODAwICBHYXJ5IENoaW5nLVBhbmcgTGluIDxjaGluZ3BhbmdAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBmYWlsdXJlIHRvIHF1ZXJ5IHNvbWUgb3B0aW9uYWwgY29udHJvbHMgaXMgbm90IGEgZmF0YWwgZXJyb3IKCSAgRG9uJ3QgcG9zdCBhIChmYXRhbCkgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGp1c3QgYmVjYXVzZSB3ZQoJICBmYWlsZWQgdG8gcXVlcnkgc29tZSBjb250cm9sLiBGaXhlcyBpc3N1ZSB3aXRoIGJ1aWx0LWluCgkgIFN1eWluIENvcnAgd2ViY2FtIGZvciBIUCBub3RlYm9vayAodXNiaWQgMDY0ZTplMjhhKSBvbgoJICBPcGVuU3VzZSAxMi4xLCB3aGVyZSBxdWVyeWluZyByZWQvYmx1ZSBiYWxhbmNlIGZhaWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMTk3CgoyMDEyLTAyLTE2IDEyOjU5OjEwICswMDAwICBUdXVra2EgUGFzYW5lbiA8dHV1a2thLnBhc2FuZW5AaWxtaS5maT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogZml4IGZvciB3ZWJjYW1zdHVkaW8gdmxvb3BiYWNrCgkgIEJlY2F1c2Ugdmxvb2JhY2sgZW1pdHMgMjUgLSBFTk9UVFkgYW5kIG5vIEVJTlZBTCB2NGwyc3JjIHRob3VnaHQgaXQKCSAgY2FuJ3QgaGFuZGxlIHRoaXMgYW5kIGRvZXMgbm90IHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk0NTUKCjIwMTItMDItMTYgMTE6MjE6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sKCSAgSXQncyBob3cgd2Ugcm9sbC4gRml4ZXMgJ0lTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUnCgkgIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDEyLTAyLTE1IDIzOjU1OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZml4IHNwZWN0cnVtIGV4YW1wbGUgYnVpbGQgaXNzdWVzCgkgIEZpbmQgZmZ0IGhlYWRlcnMgaW4gdW5pbnN0YWxsZWQgc2V0dXAsIGZpeCBMSUJTIG9yZGVyLgoKMjAxMi0wMi0xNSAxMjo0MTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHJlbW92ZSBzb21lIHVudXNlZCBkZWNsYXJhdGlvbnMKCjIwMTItMDItMTUgMTE6MjU6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgc3BlY3RydW0tZGVtbzogc2hvdyB0aGUgZWZmZWN0IG9mIGZhc3QtbW9kZQoKMjAxMi0wMi0xNCAxMjoyNjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGFzcGVjdHJhdGlvY3JvcDogZml4IGNhcHMgcmVmY291bnQKCjIwMTItMDItMTQgMTE6MjI6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJICB0ZXN0czogZml4IHRlc3QsIHVzZSB2aWRlb2NvbnZlcnQKCjIwMTItMDItMTQgMTA6NTE6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmMKCjIwMTItMDItMDkgMTM6NDE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRqdXN0IHRvIG1vZGlmaWVkIGJhc2VwYXJzZSBBUEkKCjIwMTItMDItMTMgMTc6MTM6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZQoKMjAxMi0wMi0xMyAxMjowNjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgdGVzdHM6IGZsYWNwYXJzZTogY2hlY2sgYW5kIGNvbXBhcmUgaW50ZW5kZWQgZGF0YQoKMjAxMi0wMi0xMiAxNzowMzozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2MKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYwoJICBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oCgoyMDEyLTAyLTEyIDE2OjIyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYnBsdWdpbi5jOgoJICB0YWdsaWI6IHBvcnQgdG8gR3N0VGFnTXV4IGJhc2UgY2xhc3MKCjIwMTItMDItMTIgMTI6MjQ6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgdGFnbGliOiBmaW5pc2ggb2ZmIGEgZmV3IG1pc3NlZCB2YXJpYWJsZSBjaGFuZ2VzCgkgIExvY2FsIHZhcmlhYmxlcyBhcmUgbm93IHVudXNlZCwgYW5kIHRoZSB2YWx1ZXMgZnJvbSB0aGUgc2VnbWVudCBjb3B5CgkgIGFyZSB1c2VkIGluc3RlYWQsIHNvIHJlbW92ZSB0aGUgbm93IHVzZWxlc3MgbG9jYWwgdmFyaWFibGVzIGFuZCB3cml0ZQoJICB0byB0aGUgc2VnbWVudCB3aGVyZSBhcHByb3ByaWF0ZS4KCjIwMTItMDItMTAgMTY6MjM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYwoJICBleHQvcHVsc2UvcGx1Z2luLmMKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMKCjIwMTItMDItMDggMjM6MDM6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFkZCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgdG8gaDI2NCBzaW5rIGNhcHMKCSAgV2UncmUgaGFwcHkgdG8gYWNjZXB0IGJvdGggYnl0ZS1zdHJlYW0gYW5kIGF2YywgYWR2ZXJ0aXNlCgkgIHRoYXQgb24gdGhlIHNpbmsgY2FwcyBhbmQgZml4IHVwIF9nZXRfY2FwcygpIGZ1bmN0aW9uIHRvCgkgIG5vdCBqdXN0IHJldHVybiAidmlkZW8veC1oMjY0Ii4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMi0wMi0wOCAyMDo1ODowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGFkZCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgZmllbGRzIHRvIHNyYyB0ZW1wbGF0ZSBjYXBzCgkgIEJlY2F1c2Ugd2UgY2FuLiBBbmQgc28gd2UgZ2V0IGEgd2FybmluZyBpZiB3ZSB0cnkgdG8gb3V0cHV0IGF2YyB3aXRoCgkgIG5hbCBhbGlnbm1lbnQgb3Igc29tZXN1Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTItMDItMTAgMTM6NDQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGNsZWFuIHVwIHJ0cC1wYXlsb2FkaW5nIHRlc3QgYSBsaXR0bGUKCSAgRmVlZCBkYXRhIGludG8gdGhlIHBpcGVsaW5lIHVzaW5nIGFwcHNyYyBpbnN0ZWFkIG9mIGZkc3JjIGFuZAoJICBhIHBpcGUuIFN0b3JlIHVuc2lnbmVkIGJ5dGUgdmFsdWVzIGluIGd1aW50OCBpbnN0ZWFkIG9mIGNoYXIuCgkgIEdldHRpbmcgcmlkIG9mIHRoZSBjYXBzZmlsdGVyIGFsc28gaGVscHMgdG8gYXZvaWQgJ2Zvcm1hdCBpcwoJICBub3QgZnVsbHkgc3BlY2lmaWVkJyB3YXJuaW5ncyB3aGVuIHB1c2hpbmcgInZpZGVvL3gtaDI2NCIgZGF0YQoJICBpbnRvIHJ0cGgyNjRwYXkgd2l0aCBmdWxseSBzcGVjaWZpZWQgaDI2NCBjYXBzIGluIHRoZSBzaW5rIHRlbXBsYXRlLgoKMjAxMi0wMi0xMCAxMDowNzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2OiB1c2UgZGVmYXVsdCBwYWQgcXVlcnkKCSAgV2UgbmVlZCB0byBjaGFpbiB1cCB1bmtub3duIHF1ZXJpZXMgdG8gdGhlIGRlZmF1bHQgcXVlcnkgaGFuZGxlciBpbnN0ZWFkIG9mCgkgIGJsaW5kbHkgZm9yd2FyZGluZyB0aGVtLiBJbiB0aGlzIGNhc2UgaXQgY2F1c2VkIHRoZSBjYXBzIHF1ZXJ5IHRvIGJlIGZvcndhcmRlZAoJICB0byB0aGUgdXBzdHJlYW0gdHlwZWZpbmQgYW5kIHJldHVybiB0aGUgd3JvbmcgdHlwZSBmb3IgdGhlIGF1ZGlvL3ZpZGVvIHBhZC4KCjIwMTItMDItMDkgMjI6MTI6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSAgdGVzdHM6IG1wZWdhdWRpb3BhcnNlOiByZW1vdmUgc3RyYXkgZGVjbGFyYXRpb24KCjIwMTItMDItMDkgMjI6MDc6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogY29ycmVjdGx5IHNldCBBRElGIHNyYyBjYXBzCgoyMDEyLTAyLTA5IDIyOjEwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByZXZlbnQgYSBmZXcgZGlyZWN0IGV4aXRzIHdpdGhvdXQgY2xlYW51cAoKMjAxMi0wMi0wOSAyMjowNzoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHNoaWZ0IGluIHByb3BlciBkaXJlY3Rpb24gZm9yIGF1ZGlvIHNhbXBsZSBjb252ZXJzaW9uCgoyMDEyLTAyLTA5IDE4OjA5OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24KCjIwMTItMDItMDkgMTA6MTE6NDggKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHR5cG8gZml4IChieXRlcyBzZW5kIC0+IGJ5dGVzIHNlbnQpCgoyMDEyLTAyLTA4IDE2OjM0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEdTVF9GTE9XX1dST05HX1NUQVRFIC0+IEdTVF9GTE9XX0ZMVVNISU5HCgoyMDEyLTAyLTA4IDE2OjM3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIEdTVF9GTE9XX1dST05HX1NUQVRFIC0+IEdTVF9GTE9XX0ZMVVNISU5HCgoyMDEyLTAyLTA3IDE0OjEwOjQ0IC0wODAwICBSYWxwaCBHaWxlcyA8Z2lsZXNAbW96aWxsYS5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBzZW5kIHZpZGVvL3dlYm0gdGhyb3VnaCBsaWJzaG91dC4KCSAgVGhpcyByZXF1aXJlcyBTSE9VVF9GT1JNQVRfV0VCTSwgYWRkZWQgaW4gbGlic2hvdXQgMi4zLjAsCgkgIHNvIHZpZGVvL3dlYm0gc3VwcG9ydCBpcyBjb250aW5nZW50IG9uIHRoYXQgc3ltYm9sIGJlaW5nCgkgIGRlZmluZWQuCgkgIEFsc28gYW4gaW5kZW50YXRpb24gY2hhbmdlIHJlcXVpcmVkIGJ5IHRoZSBwcmUtY29tbWl0IGhvb2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk1OTAKCjIwMTItMDEtMzAgMTY6NDA6MTkgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogcG9ydCB0byAwLjExCgkgIFBvcnQgb2YgdGhlIGRlaW50ZXJsZWF2ZSBlbGVtZW50IGFuZCBpdHMgdW5pdHRlc3RzLiBUaGUgaW50ZXJsZWF2ZQoJICBlbGVtZW50IHdpbGwgYmUgcG9ydGVkIGFzIHBhcnQgb2YgYW5vdGhlciBwYXRjaCwgaGVuY2UgZGlzYWJsaW5nIGl0CgkgIGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg4NDcKCjIwMTItMDItMDcgMjM6NDE6MTMgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBjb21waWxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTYwNwoKMjAxMi0wMi0wOCAwMDowODo0OSArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHdhdmVmb3Jtc2luazogUG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2MTIKCjIwMTItMDItMDcgMjE6NTc6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogcmV3b3JrIHRyYW5zcG9ydCBzdXBwb3J0CgkgIE1vdmUgY29tbW9uIGNvZGUgdG8gamFja2NsaWVudC4gVGhlcmUgd2UgY2FuIGFsc28gaGFuZGxlIHRoZSByZXF1ZXN0IHN0YXRlCgkgIG1lc3NhZ2UgaW4gYSBiZXR0ZXIgd2F5LCBhcyB0aGUgZWxlbWVudCBjYWxsYmFja3MgYXJlIG9ubHkgcnVuIGlmIHRoZSBlbGVtZW50IGlzCgkgIGFjdGl2ZS4KCjIwMTItMDItMDcgMTA6NDc6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICB0ZXN0czogaW1wcm92ZSB0YWdtdXggdGVzdHMKCjIwMTItMDItMDcgMTA6Mjk6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICB0YWdsaWI6IGZpeCBvYmplY3QgcmVnaXN0cmF0aW9uCgkgIFdlIGNhbid0IHVzZSBHX0RFRklORV9UWVBFIGJlY2F1c2UgdGhlIGNsYXNzIGlzIG5vdCBzZXQgaW4gdGhlIGNsYXNzX2luaXQgYW5kIHdlCgkgIG5lZWQgaXQgdG8gZ2V0IHRoZSBzcmNwYWQgdGVtcGxhdGUuCgkgIEZpeCBhIGNhcHMgbGVhawoKMjAxMi0wMi0wNyAxMDoxNjozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAgdGVzdHM6IGZpeCBqcGVnIHRlc3QKCjIwMTItMDItMDcgMTA6MTU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBmaXggY2FwcwoKMjAxMi0wMi0wNyAwOTo1NDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBlZmZlY3R0djogZml4IGluaXRpYWxpc2F0aW9uCgoyMDEyLTAyLTA3IDA5OjQyOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtOiBmaXggbmVnb3RpYXRpb24KCjIwMTItMDItMDcgMDk6NDE6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDIyOjEzOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2OiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDYgMTg6MzU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3Q6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDE1OjUyOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAxNTo1MjozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBmaXggY2FwcwoKMjAxMi0wMi0wNiAxNToyMDo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBpaXJlcXVhbGl6ZXI6IGZpeCBlcXVhbGl6ZXIgYW5kIHVuaXQgdGVzdAoKMjAxMi0wMi0wNiAxMzo0NDoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkgIHRlc3RzOiBmaXggc29tZSBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDEzOjQzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB0YWtlIHRoZSBwYWQgZnJvbSBjb2xsZWN0cGFkczIgY29ycmVjdGx5CgoyMDEyLTAyLTA2IDEzOjI5OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTItMDItMDYgMTM6Mjg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9keW5hbWljOiBmaXggbmVnb3RpYXRpb24KCjIwMTItMDEtMjggMTE6MTM6MTYgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIHBvc3RpbmcgaW52YWxpZCBkdXJhdGlvbiBmb3IgZWFjaCBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NTgzCgoyMDEyLTAyLTA2IDEwOjA3OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMDk6NDk6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogaW1wcm92ZSBzb21lIHRlc3RzCgoyMDEyLTAyLTA2IDA5OjIzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBmaXggaml0dGVyYnVmZmVyIHRlc3QKCjIwMTItMDItMDYgMDk6MjM6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggY2FwcyBhZnRlciBwdCBjaGFuZ2UKCjIwMTItMDItMDYgMDk6MTg6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAyLTAzIDIyOjA1OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgcHVsc2VhdWRpb3Npbms6IExvd2VyIHJhbmsgdG8gcHJldmVudCBhdXRvcGx1Z2dpbmcKCSAgcHVsc2VhdWRpb3NpbmsgYnJlYWtzIHZpc3VhbGlzYXRpb25zIGluIGl0cyBjdXJyZW50IGZvcm0sIHNvIGxldCdzCgkgIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvcGx1Z2dlZCBmb3IgdGhlIHRpbWUgYmVpbmcuCgkgIFRoZSBiZXN0IHdlIGNhbiBob3BlIHRvIGRvIGluIHRoZSAwLjEwIHNlcmllcyBpcyBxdWVyeSB0aGUgbGlzdCBvZgoJICBhdmFpbGFibGUgc2lua3MgYW5kIHRoZWlyIGZvcm1hdHMsIGFuZCBleHBvc2UgdGhlc2UgYXMgdGhlIGJpbidzIHNpbmtwYWQKCSAgY2Fwcy4gV2hpbGUgdGhpcyBpcyBub3QgYSBjb21wcmVoZW5zaXZlIHNvbHV0aW9uLCBpdCB3aWxsIG1ha2Ugc3VyZSB0aGF0CgkgIHdlJ3JlIG9ubHkgdHJ5aW5nIHRvIHN1cHBvcnQgY29tcHJlc3NlZCBmb3JtYXRzIGlmIHdlJ3JlIGNlcnRhaW4gdGhhdAoJICBvbmUgZXhpc3RzLgoJICBUaGUgbG9uZy10ZXJtIGZpeCBmb3IgdGhpcyB3aWxsIGJlIGluIHRoZSBmb3JtIG9mIHByb3BlciB1cHN0cmVhbQoJICByZW5lZ290aWF0aW9uIHN1cHBvcnQgaW4gdGhlIDAuMTEvMS4wIHNlcmllcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjM2MQoKMjAxMi0wMi0wMyAxNzoyMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTAzIDE2OjEzOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggc29tZSBtb3JlIHRlc3RzCgoyMDEyLTAyLTAzIDE2OjEyOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHNyY3BhZCBjYXBzIGhhbmRsaW5nCgoyMDEyLTAyLTAzIDE2OjEyOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBjbW1sZW5jOiBmaXggY2FwcyBoYW5kbGluZwoKMjAxMi0wMi0wMyAxNDo1MzozMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBldmVudCBsZWFrIHdoZW4gdGhlcmUgaXMgbm8gcGVlciBvbiB0aGUgc3JjIHBhZAoKMjAxMi0wMi0wMiAxNjoyMToyOSArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAxMi0wMi0wMiAxMjoyNzowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHNwZWNpZnkgd2Ugb25seSBhY2NlcHQgcmF3IEFBQyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIE5vIGhlYWRlciBzZWVtcyB0byBiZSBhZGRlZCwgYW5kIHRoZSBjb2RlYyBJRCBpcyB0aGUgc2FtZSBhcyB1c2VkCgkgIGZvciByYXcgYnkgZmx2ZGVtdXgsIHNvIHJhdyBzZWVtcyB0aGUgb25seSBzdXBwb3J0ZWQgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMjoyNToyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzcGVjaWZ5IHdlIG9ubHkgb3V0cHV0IHJhdyBBQUMgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAxIDE4OjAxOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgdGFnbGliOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDEgMTY6NDA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJICBidWlsZDogaWdub3JlIEdWYWx1ZUFycmF5IGRlcHJlY2F0aW9uIHdhcm5pbmdzIGZvciB0aGUgdGltZSBiZWluZwoJICB1bnRpbCB0aGlzIGdldHMgc29ydGVkIG91dCB3aXRoIHRoZSBHTGliIGZvbGtzIGFuZCB3ZSBoYXZlIGEKCSAgdmlhYmxlIGFsdGVybmF0aXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjI4CgoyMDEyLTAyLTAxIDE2OjM2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkgIHB1bHNlOiBkaXNhYmxlIHNvbWUgdW51c2VkIHByb3BlcnR5IHByb2JlIGNvZGUKCSAgd2hpY2ggd2FzIHVzaW5nIEdWYWx1ZUFycmF5CgoyMDEyLTAyLTAxIDE2OjExOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjowNTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhYzogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAxLTMxIDE1OjM5OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMS0zMCAxNDo1MjozNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwbXAydHBheTogZG8gbm90IHRyeSB0byBmbHVzaCBhIHBhY2tldCB3aGVuIG5vIGRhdGEgaXMgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg4NzQKCjIwMTItMDEtMzEgMTM6NDE6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IHVwZGF0ZSBzb21lIHRlc3RzIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMS0zMSAxMjoyMjoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbC1zb3VyY2UgdHlwZSBjaGFuZ2VzCgoyMDEyLTAxLTMwIDIxOjM5OjM0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiByZW5hbWUgY29udHJvbC1iaW5kaW5ncwoJICBnc3RfY29udHJvbF9iaW5kaW5nX3h4eCAtPiBnc3RfeHh4X2NvbnRyb2xfYmluZGluZyBmb3IgY29uc2lzdGVuY3kuCgoyMDEyLTAxLTMwIDE3OjE2OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgdXBkYXRlIGZvciBIRUFERVIgZmxhZwoKMjAxMC0wNi0xMSAwODozNjozMyArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IEV4Y2x1ZGUgTkFMdSBzaXplIGZyb20gcGF5bG9hZCBsZW5ndGggb24gdHJ1bmNhdGVkIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4NDYKCjIwMTItMDEtMjggMjM6MzU6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIG9ic29sZXRlIHZhcmlhYmxlLCBzZXQgYnV0IG5vdCB1c2VkCgkgIFJlcG9ydGVkIGJ5IGFuZHJlZGllYiBvbiAjZ3N0cmVhbWVyLgoKMjAxMi0wMS0yOCAxMzowNTowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGF2b2lkIHdyYXBwaW5nIG9wYXF1ZSB0byB0cmFuc3BhcmVudAoKMjAxMi0wMS0yOCAxMjozNToxMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgZnJlZSBtZW1vcnkgdHdpY2UKCSAgQSByZWNlbnQgY2hhbmdlIHRvIGZpeCBsZWFraW5nIGNvZGVjIElEIHN0cmluZyBhY2NpZGVudGFsbHkgY2F1c2VkCgkgIG9uZSBvZiB0aGUgdmVyeSBmZXcgcGxhY2VzIHRoYXQgd2VyZW4ndCBsZWFraW5nIHRvIG5vdyBmcmVlIHR3aWNlLgoKMjAxMi0wMS0yNyAxNjoyNzo0OSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgYWxhd2RlYzogRWFjaCBvdXRwdXQgc2FtcGxlIGlzIDIgYnl0ZXMKCjIwMTItMDEtMjcgMTI6MTQ6NDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCBsZWFrIGNhcHMgZXZlbnQgd2hlbiBub3QgcHVzaGluZwoKMjAxMi0wMS0yNyAxMjowNDo1MyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogRm9yd2FyZCBzdGlja3kgZXZlbnRzCgoyMDEyLTAxLTI3IDEyOjA0OjA1ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBQcm90ZWN0IGFsbCB1c2VzIHBhZCBsaXN0IHdpdGggT0JKRUNUIExPQ0sKCSAgQWN0dWFsbHkgcHJvdGVjdCB0aGUgZW50aXJlIHBhZCBsaXN0IGFuZCB1c2UgaXQgaW4gYSB0aHJlYWQgc2FmZQoJICB3YXkuCgoyMDEyLTAxLTI3IDEyOjAyOjI1ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRm9yd2FyZCBzdGlja3kgZXZlbnRzIHRvIG5ldyBwYWRzCgoyMDEyLTAxLTI3IDEyOjAxOjQwICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogQWRkIHNzcmMgdG8gZm9yd2FyZGVkIENBUFMgZXZlbnRzCgkgIEFsc28gaXRlcmF0ZSB0aGUgbGlzdCBvZiBHc3RSdHBTc3JjRGVtdXhQYWQgc2FmZWx5CgoyMDEyLTAxLTI3IDExOjU5OjA4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNjZGVtdXg6IEZhY3RvciBvdXQgZ2V0dGluZyBkcGFkIGJ5IHBhZAoKMjAxMi0wMS0yNiAxODozNTo0OCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogS2VlcCB0aGUgYnVmZmVyIG1hcHBlZCB3aGlsZSBpdCBpcyBiZWluZyBtb2RpZmllZAoKMjAxMi0wMS0yNiAxODozNToyNyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogSW5pdGlhbGlzZSB0aGUgYWRkcmVzcyBwb2ludGVyIHRvIE5VTEwKCjIwMTItMDEtMjcgMTI6MDc6NDMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFVzZSBuZXctc3R5bGUgY2FwcwoKMjAxMi0wMS0yNyAxNjozNzoxOSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjc291bmRzaW5rOiBQb3J0IGVsZW1lbnQgdG8gMC4xMQoKMjAxMi0wMS0yNiAxOTo0ODoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiByZW1vdmUgcGFkIGV2ZW50IGZ1bmN0aW9uCgkgIFdlIHVzZSB0aGUgb25lIGZyb20gY29sbGVjdHBhZHMKCjIwMTItMDEtMjYgMTg6MjY6MDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogZml4IEdzdERhdGVUaW1lL0dEYXRlVGltZSBtaXh1cCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1MzI2MTI2MTEyMGI0YzAwOGRlNjE2OTFjNzBlOTQzNTRiMjgwMDRhLgoJICBUaGUgR3N0RGF0ZVRpbWUtPkdEYXRlVGltZSBjaGFuZ2UgaW4gY29yZSB3YXMgYXBwYXJlbnRseSBhY2NpZGVudGFsLAoJICBhbmQgaXMgbm93IHJldmVydGVkLgoKMjAxMi0wMS0yNiAxODoyNToyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJldmVydCAiYXZpZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWNjOWYxNTA5NjhiMjVjNWFlNWE2OTQwYjM0YWQyZDUxYjE3NGZkMi4KCSAgVGhlIEdzdERhdGVUaW1lLT5HRGF0ZVRpbWUgY2hhbmdlIGluIGNvcmUgd2FzIGFwcGFyZW50bHkgYWNjaWRlbnRhbCwKCSAgYW5kIGlzIG5vdyByZXZlcnRlZC4KCjIwMTItMDEtMjYgMTc6NTA6MzAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IEdzdERhdGVUaW1lL0dEYXRlVGltZSBtaXh1cAoJICBUaGlzIGlzIGEgYmxpbmQgZml4IHRvIG1hdGNoIHRoZSBvbmUgSSBqdXN0IG1hZGUgdG8gcXRkZW11eCwKCSAgYXMgSSBkbyBub3QgaGF2ZSBhbiBBVkkgZmlsZSB3aGVyZSB0aGUgY29kZSBnZXRzIGV4ZWN1dGVkLgoKMjAxMi0wMS0yNiAxNzo0NzoyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IEdzdERhdGVUaW1lL0dEYXRlVGltZSBtaXh1cAoKMjAxMi0wMS0yNiAxODo1MTozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IG1vcmUgZml4ZXMKCjIwMTItMDEtMjYgMTg6NDM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBtYWtlIHZpZGVvbWl4ZXIgd29yayBzb21ld2hhdAoKMjAxMi0wMS0yNiAxODoxNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogcG9ydCB0byAwLjExCgkgIEl0IGJ1aWxkcyBhbmQgZ3N0LWluc3BlY3QtMC4xMSB3b3Jrcy4uIG90aGVyd2lzZSB1bnRlc3RlZAoKMjAxMi0wMS0yNiAxNTo0ODowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgZHludWRwc2luazogZml4IGdldC1zdGF0cyBzaWduYWwgcmVnaXN0cmF0aW9uIHNvbWUgbW9yZQoKMjAxMi0wMS0yNiAxNTo0NjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBSZXZlcnQgInVkcDogbWFyayBhY3Rpb24gc2lnbmFscyBhcyBSVU5fRklSU1QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNWM4MzA4NTk5MTI5ZDllMTYwNmVlZGIyZDM1NDM2MTc2NThkYzMwNi4KCjIwMTItMDEtMjYgMTU6Mzk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBtYXJrIGFjdGlvbiBzaWduYWxzIGFzIFJVTl9GSVJTVAoKMjAxMi0wMS0yNiAxNTozNzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgdWRwOiBtYXJrICJnZXQtc3RhdHMiIGFzIGFjdGlvbiBzaWduYWwKCjIwMTItMDEtMjYgMTU6MzA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IGZpeCBnZXQtc3RhdHMgYWN0aW9uIHNpZ25hbCByZWdpc3RyYXRpb24KCSAgSXQgcmV0dXJucyBhIEdzdFN0cnVjdHVyZSBub3csIG5vdCBhIEdWYWx1ZUFycmF5CgoyMDEyLTAxLTI2IDE2OjA1OjM0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBwcmludCBmb3JtYXQKCjIwMTItMDEtMjYgMTE6NTA6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IEZpeCBzaXplIG9mIG91dHB1dCBidWZmZXJzCgoyMDEyLTAxLTI2IDExOjMzOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogaW5jbHVkZSByaWdodCBjb2xsZWN0cGFkcyB2ZXJzaW9uCgoyMDEyLTAxLTI2IDExOjI5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQcm9wZXJseSB1c2UgdGhlIGFsaWdubWVudCBwYXJhbWV0ZXIgb2YgZ3N0X2J1ZmZlcl9uZXdfYWxsb2NhdGUoKQoJICBJdCdzIGEgYml0bWFzayBmb3IgdGhlIGFsaWdubWVudCwgbm90IHRoZSBhbGlnbm1lbnQgaXRzZWxmLgoKMjAxMi0wMS0yNiAxMToxODo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogUHJvcGVybHkgdW5tYXAgV1JJVEUgbWFwcyBvZiB0aGUgb3V0cHV0IGJ1ZmZlcnMKCjIwMTItMDEtMjYgMTA6NDQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFVwZGF0ZSBmb3IgdGhlIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI2IDEwOjQwOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVwZGF0ZSBmb3IgdGhlIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI2IDEwOjM3OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVwZGF0ZSBmb3IgdGhlIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI2IDEwOjI4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogVXBkYXRlIGZvciBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDoyNzo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IFVwZGF0ZSBmb3IgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjUgMTg6NDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogT25seSBmb3J3YXJkIHRoZSBldmVudCB3aGVuIHdlIGRpZG4ndCBoYW5kbGUgaXQgb3Vyc2VsdmVzCgoyMDEyLTAxLTI1IDE4OjQwOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSAgdmlkZW9taXhlcjogc29tZSBtb3JlIHBvcnRpbmcKCjIwMTItMDEtMjUgMTg6MDA6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJICB2aWRlb21peGVyOiBwb3J0IGJsZW5kIGZ1bmN0aW9uCgoyMDEyLTAxLTI1IDE2OjU4OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgkgIChvciByYXRoZXIgY2lyY3VtdmVudCBpc3N1ZXMgd2l0aCBuYWl2ZSBjb21waWxlcnMgLi4uKQoKMjAxMi0wMS0yNSAxNToyMTo0NCArMDAwMCAgSmF5YWtyaXNobmFuIE0gPGpheS5rcmlzaG5hbm1AZ21haWwuY29tPgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICBjYWlybzogZml4IGJ1aWxkLCBtYWtlIHN1cmUgbGliZ3N0dmlkZW8gY2FuIGJlIGZvdW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg2NDgKCjIwMTItMDEtMjUgMTQ6NTA6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTM6MTk6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogZG9uJ3QgcHJldGVuZCBvdXIgcmFuZG9tIGhvc3RuYW1lcyBhcmUgZnVsbHktcXVhbGlmaWVkIGRvbWFpbiBuYW1lcwoKMjAxMi0wMS0yNSAxMzo0NzozMCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzQ2M2JjMCB0byA3ZmRhNTI0CgoyMDEyLTAxLTI1IDEyOjQ5OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnMC4xMScgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QgaW50byAwLjExCgoyMDEyLTAxLTI1IDEyOjQ5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmMKCjIwMTItMDEtMjUgMTI6NDE6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmc6IHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTI6NDE6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjQgMTQ6Mzg6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgbW9yZSBtZW1vcnkgQVBJIHBvcnRpbmcKCjIwMTItMDEtMjMgMTc6MjU6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDExOjIxOjUwICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTE6Mzg6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyYTU5MDE2IHRvIGM0NjNiYzAKCjIwMTItMDEtMjQgMTg6MjQ6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBkaXNhYmx5IHNuYXBzaG90IGJlaGF2aW91ciBieSBkZWZhdWx0CgkgIC4uLiBzaW5jZSBzdWNoIGJlaGF2aW91ciBpcyBub3QgY29uc2lzdGVudCwgaWYgYWxsb3dhYmxlIGF0IGFsbC4KCjIwMTItMDEtMjQgMTg6MjM6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBwbmdkZWM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNCAxODoyMTowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmdlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNCAxNDo1MzozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBzdHJpbmcgbGVhawoKMjAxMi0wMS0yNCAxNDo1MjowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCB1c2Ugb2YgZnJlZWQgbWVtb3J5CgoyMDExLTEyLTAxIDE1OjQ5OjQwICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIERvbid0IGNyYXNoIG9uIGVtcHR5IGxhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUyMjQKCjIwMTItMDEtMjMgMTM6MTU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogZG9uJ3QgcmV2ZWFsIHRoZSB1c2VyJ3MgdXNlcm5hbWUsIGhvc3RuYW1lIG9yIHJlYWwgbmFtZSBieSBkZWZhdWx0CgkgIFNlbmQgYSByYW5kb21seSBtYWRlLXVwIHVzZXJAaG9zdG5hbWUgYXMgQ05BTUUgYW5kIGRvbid0CgkgIHNlbmQgYSBOQU1FIGF0IGFsbCBieSBkZWZhdWx0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MzIwCgoyMDEyLTAxLTIxIDIwOjA3OjU2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBtb3ZlIGZyb20gY29udHJvbC1iaW5kaW5nIHRvIGNvbnRyb2wtYmluZGluZy1kaXJlY3QKCjIwMTItMDEtMjIgMjM6MzE6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSAgRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR0xpYiBBUEkKCjIwMTItMDEtMjIgMjM6MTU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIFVzZSBuZXcgR0xpYiBBUEkgdW5jb25kaXRpb25hbGx5CgoyMDEyLTAxLTIwIDE3OjA2OjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2ltcGxpZnkgaW50ZXJuYWwgc3JjIGV2ZW50IGRlYnVnIGxvZ2dpbmcKCSAgLi4uIHdoaWNoIGF2b2lkcyBhbG1vc3Qgc3VwZXJmbHVvdXMgb2J0YWluaW5nIG9mIHJ0c3AgZWxlbWVudC4KCjIwMTItMDEtMjAgMTc6MDM6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBOVUxMIHN0cmluZyBjb21wYXJpc29uCgoyMDEyLTAxLTIwIDE3OjAzOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFycmFuZ2UgZm9yIGluaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMi0wMS0yMCAxNzowMjoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IHByZXZlbnQgb3V0LW9mLWJvdW5kIGFycmF5IGFjY2VzcwoKMjAxMi0wMS0yMCAxNzowMTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgaXNvbXA0OiByZWNvdmVyeTogYWRkIHNhbml0eSBjaGVjawoJICAuLi4gb24gcG9zc2libHkgYm9ndXMvY29ycnVwdCBpbnB1dCBkYXRhLgoKMjAxMi0wMS0yMCAxNzowMDo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiByZW1vdmUgZGVhZCBjb2RlCgoyMDEyLTAxLTIwIDE2OjU4OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcmVtb3ZlIHJlZHVuZGFudCB2YXJpYWJsZQoKMjAxMi0wMS0yMCAxNjo1Nzo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBhcml0aG1ldGljIGZvciB1bnNpZ25lZCBjb21wYXJpc29uCgoyMDEyLTAxLTIwIDE2OjU1OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogYWRkIHZhcmlvdXMgbWlzc2luZyBicmVhawoKMjAxMi0wMS0yMCAxNjo1NDowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB0d2VhayBERUZBVUxUIGZvcm1hdCBkdXJhdGlvbiBxdWVyeSByZXNwb25zZQoKMjAxMi0wMS0yMCAxNjo0OToxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiByZW1vdmUgcmVkdW5kYW50IHN0YXRlbWVudAoKMjAxMi0wMS0yMCAxNjo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGltcHJvdmUgdXBzdHJlYW0gcGVlciBkdXJhdGlvbiBxdWVyeWluZwoJICAuLi4gdG8gYXZvaWQgYWNjZXB0aW5nIHVuaGFuZGxlZCBkdXJhdGlvbiBxdWVyeSByZXN1bHQuCgoyMDEyLTAxLTIwIDE2OjQ3OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogYWRkaXRpb25hbCBlcnJvciBjb25kaXRpb24gY2hlY2tpbmcKCjIwMTItMDEtMjAgMTY6NDY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZGl0aW9uYWwgZXJyb3IgY29uZGl0aW9uIGNoZWNraW5nCgoyMDEyLTAxLTIwIDE2OjQ0OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogY2hlY2sgX2FsbG9jX2J1ZmZlciByZXN1bHQgYW5kIHBlcmZvcm0gZmFsbGJhY2sgYWxsb2MgaWYgbmVlZGVkCgkgIC4uLiByYXRoZXIgdGhhbiBjYXJyeWluZyBvbiB3aXRoIE5VTEwgYnVmZmVyLgoKMjAxMi0wMS0yMCAxNDo0NTowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbCBiaW5kaW5nIGNoYW5nZXMKCjIwMTItMDEtMjAgMTE6Mzc6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2xsZXIgYXBpIGNoYW5nZXMKCSAgRG9uJ3QgdXNlIHRoZSBjb252ZW5pZW5jZSBhcGkgZm9yIGNvbnRyb2wgc291cmNlcy4KCjIwMTItMDEtMTkgMTQ6MjQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCAtLWRpc2FibGUtZmF0YWwtd2FybmluZ3MgY29uZmlndXJlIG9wdGlvbgoKMjAxMi0wMS0xOSAxMjo0NDozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgQVBJCgoyMDEyLTAxLTE5IDExOjMzOjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHBvcnQgdG8gbmV3IGd0aHJlYWQgQVBJCgoyMDEyLTAxLTE4IDE2OjU4OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgR0lPIGNoZWNrLCB0aGlzIGlzIGluIGdzdC1nbGliMi5tNCBub3cKCjIwMTItMDEtMTggMTY6NDY6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwODA3MTg3IHRvIDJhNTkwMTYKCjIwMTItMDEtMTggMTY6MTU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgR0xpYiAyLjMxLjEwIGFuZCBpbXByb3ZlIEdJTyBjaGVjawoKMjAxMi0wMS0xNyAxNjo1ODowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFJlbW92ZSB1bm5lZWRlZCBzb2NrZXQuaCBpbmNsdWRlCgoyMDEyLTAxLTE3IDE2OjUzOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgc29ja2V0L3dpbnNvY2sgc3BlY2lmaWMgY2hlY2tzCgkgIE5vdCBuZWNlc3NhcnkgYW55bW9yZS4KCjIwMTItMDEtMTcgMTY6NDk6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXBkYXRlIGZvciB0aGUgbmV3IEdJTyB2ZXJzaW9ucyBvZiB0aGUgdWRwIGVsZW1lbnRzCgoyMDEyLTAxLTE3IDEzOjA4OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBtYW5hZ2VyOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAxMToxOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHSU8gMi4zMS4xMAoKMjAxMi0wMS0xNyAxMToxODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBSZW1vdmUgbm93IHVuZWNlc3NhcnkgY29kZQoKMjAxMi0wMS0xNyAxMToxODoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkgIHVkcHNpbmsvbXVsdGl1ZHBzaW5rOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAwOTozODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGR5bnVkcHNpbms6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDA5OjMyOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgZHludWRwc2luazogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMDk6MDM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNiAxNzo1MToxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IGZpeCBsZWFrIG9mIHVudXNlZCBHVmFsdWUKCjIwMTItMDEtMTYgMTY6MTA6MDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICB0ZXN0czogZml4IGF1dG9kZXRlY3QgdGVzdCBub3QgdGVzdGluZyBjb3JyZWN0bHkgZm9yIHN0YXRlIGNoYW5nZSBzdWNjZXNzCgkgIFN0YXRlIGNoYW5nZSB0byBQQVVTRUQgY2FuIGJlIGRvbmUgYXN5bmMsIHNvIGlmIHRoaXMgaGFwcGVucywgd2UgbmVlZAoJICB0byB3YWl0IGZvciB0aGUgY2hhbmdlIHRvIGJlIGRvbmUgKG9yIGZhaWxlZCkuCgoyMDEyLTAxLTE2IDE1OjQyOjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTYgMTI6MTM6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBtYWtlIGludGVybGFjZWRuZXNzIHRlc3QgZGV0ZXJtaW5pc3RpYwoJICBJZiB0aGUgaW50ZXJsYWNlZCBmbGFnIGlzIG5vdCBwcmVzZW50IGluIHRoZSBjYXBzLCB3ZSBhc3N1bWUgdGhlCgkgIGRhdGEgaXMgbm90IGludGVybGFjZWQsIGluc3RlYWQgb2YgbGVhdmluZyB0aGUgYm9vbGVhbiB1bmluaXRpYWxpemVkLgoKMjAxMi0wMS0xMyAxODoxMjowNSAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG1hdHJvc2thOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE1CgoyMDEyLTAxLTEzIDE4OjExOjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZml4IHdyb25nIGVycm9yIGNoZWNrCgkgIHBhX3N0cmVhbV8qIGZ1bmN0aW9ucyByZXR1cm4gbmVnYXRpdmUgb24gZXJyb3IsIGRlc3BpdGUgdGhlIGRlZmluZXMKCSAgZm9yIGVycm9yIGNvZGVzIGJlaW5nIHBvc2l0aXZlLgoJICBJIG9ubHkgZ290IHRvIHJlcHJvIHRoZSBlcnJvciB0d2ljZSwgc28gSSdtIG5vdCBzdXJlIDEwMCUgc3VyZSB0aGlzCgkgIGZpeGVzIHRoZSBpc3N1ZSAodGhlIG5lZ2F0aXZlIHZhciBiZWluZyB1bmluaXRpYWxpemVkIGFmdGVyIHJldHVybmluZwoJICBmcm9tIHBhX3N0cmVhbV9nZXRfbGF0ZW5jeSkuCgoyMDEyLTAxLTEzIDE3OjQzOjQ5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBvc3M0OiBmaXggY2FwcyBsZWFrcwoKMjAxMi0wMS0xMyAxNzoyNTo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTMgMTU6NTc6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiBmaXggY2FwcyBsZWFrIGluIHZpZGVvdGVzdHNyYyB0ZXN0CgoyMDEyLTAxLTEzIDEyOjUwOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogY2xlYW4gdXAgb2Jzb2xldGUgY2xvc2luZyBzZWdtZW50IGhhbmRsaW5nCgoyMDEyLTAxLTEzIDEwOjMyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogcGx1ZyBwYWQgbGVhayBpbiBlcnJvciBjb2RlIHBhdGgKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFN0aWcgU2FuZG5lcyA8c3RpZy5zYW5kbmVzQGNpc2NvLmNvbT4KCSAgRG9uJ3QgbGVhayBzcmNwYWQgaWYgdGhlcmUgYXJlIG5vIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MjAKCjIwMTEtMTAtMDQgMTA6MDA6MDIgKzAyMDAgIFN0aWcgU2FuZG5lcyA8c3RpZ3NhbmRAY2lzY28uY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvOiBGaXggbGVhayBvZiBOU09wZW5HTFBpeGVsRm9ybWF0IG9iamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE4CgoyMDExLTA5LTA1IDEwOjQzOjE5ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IERvbid0IGFzc2VydCB3aGVuIHRoZSBpbnRlcmZhY2UgaXMgbm90IGltcGxlbWVudGVkLgoJICBTaW1wbHkgcmV0dXJuIEZBTFNFIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MTcKCjIwMTItMDEtMTIgMDA6MTg6MzkgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgIHdhdmVmb3Jtc2luazogRml4IG1pbmd3IHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc3MTkKCjIwMTItMDEtMTIgMjM6NTU6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBHU1RfVFlQRV9EQVRFIC0+IEdfVFlQRV9EQVRFCgoyMDEyLTAxLTEyIDIzOjQ4OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIGVxTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYwoKMjAxMi0wMS0xMiAxODoyMzo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgZ3N0cnRwc3NyY2RlbXV4OiBmaXggZWxlbWVudCBsZWFrCgoyMDEyLTAxLTEyIDE0OjE5OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogZG8gbm90IGxlYWsgYXR0YWNobWVudCBidWZmZXJzCgoyMDEyLTAxLTEyIDEzOjE3OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSBGSVhNRSBjb21tZW50cwoKMjAxMi0wMS0xMiAxMDozMDoxMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGRvIG5vdCBkcm9wIHRoZSBmaXJzdCBkYXRhIGJ1ZmZlciBvbiB0aGUgZmxvb3IgKGFuZCBsZWFrIGl0IGVpdGhlcikKCjIwMTItMDEtMTIgMTE6MDg6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RpbmRleC5jOgoJKiBnc3QvZmx2L2dzdG1lbWluZGV4LmM6CgkgIGZsdmRlbXV4OiBhZGQgcHJlZml4IHRvIGxvY2FsIEdzdEluZGV4IHJlbGF0ZWQgY29waWVzCgkgIC4uLiB0byBhdm9pZCBkdXBsaWNhdGUgdHlwZSBuYW1lcyB3aXRoIG90aGVyIHN1Y2ggbG9jYWwgY29waWVzIGluIHRoZSB3aWxkLgoKMjAxMi0wMS0xMiAxMTowNzozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBhY3RpdmF0ZSBwYWQgYmVmb3JlIHNldHRpbmcgY2FwcwoJICAuLi4gcmF0aGVyIHRoYW4gdGhlIHVzdWFsIDAuMTAgb3RoZXIgd2F5IGFyb3VuZC4KCSAgRml4ZXMgIzY2NzU1OC4KCjIwMTItMDEtMTEgMTg6NDU6MzMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBUZW1wb3JhcmlseSBkaXNhYmxpbmcgbXVsdGlmaWxlIGZvciB0aGUgQW5kcm9pZCBidWlsZAoJICBUaGVyZSBpcyBhIGhhcmQgZGVwZW5kZW5jeSBvbiBpbm90aWZ5IGNvbW1pbmcgZnJvbSBnaW8uIFdlCgkgIGFyZSBub3QgY3VycmVudGx5IGJ1bmRsaW5nIGlub3RpZnkgd2l0aCB0aGUgQW5kcm9pZCBkaXN0IHNvCgkgIEknbSBkaXNhYmxpbmcgbXVsdGlmaWxlIGZvciBub3cgdW50aWwgc29tZW9uZSBnZXRzIGFyb3VuZAoJICB0byBzb3J0IHRoaXMgb3V0LgoJICBUaGlzIGNoYW5nZSBmaXhlcyBidWlsZGluZyBvbiBBbmRyb2lkCgoyMDEwLTEwLTIwIDAyOjE3OjQzIC0wNzAwICBMZW8gU2luZ2VyIDxsZW8uc2luZ2VyQGxpZ28ub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiBVc2UgbW9zdCBjb21tb24gY29udmVudGlvbiBmb3IgZGVmaW5pdGlvbnMgb2YgSUlSIGZpbHRlciBjb2VmZmljaWVudHMuCgkgIE1vc3Qgc2lnbmFsIHByb2Nlc3NpbmcgdGV4dHMsIGluY2x1ZGluZyBNQVRMQUIsIHVzZSB0aGUgZm9sbG93aW5nIGNvbnZlbnRpb24gZm9yIElJUiBmaWx0ZXIgY29lZmZpY2llbnRzOgoJICBhXzAgeVtuXSArIGFfMSB5W24tMV0gKyAuLi4gKyBhX00geVtuLU1dID0gYl8wIHhbbl0gKyBiXzEgeFtuLTFdICsgLi4uICsgYltOXSB4W24tTl0KCSAgVXN1YWxseSwgYV8wIGlzIHNldCB0byAxIGJlY2F1c2UgdGhlIGNvZWZmaWNpZW50cyBjYW4gYWx3YXlzIGJlIHJlc2NhbGVkLCBnaXZpbmcKCSAgeVtuXSA9IGJfMCB4W25dICsgYl8xIHhbbi0xXSArIC4uLiArIGJbTl0geFtuLU5dIC0gYV8xIHlbbi0xXSAtIC4uLiAtIGFfTSB5W24tTV0KCSAgVGhlIGNvbnZlbnRpb24gdGhhdCB3YXMgcHJldmlvdXNseSB1c2VkIGJ5IGF1ZGlvZnhiYXNlaWlyZmlsdGVyIGFuZCBkZXJpdmVkIGNsYXNzIGhhZCB0aGUgYSBhbmQgYiBjb2VmZmljaWVudHMgc3dhcHBlZCwgYW5kIGRpZCBub3QgaGF2ZSB0aGUgbWludXMgc2lnbnMuCgkgIFRoaXMgY2hhbmdlIG1ha2VzIHRoZSBhdWRpb2Z4IHBsdWdpbiB1c2UgdGhlIG1vcmUgY29tbW9uIGNvbnZlbnRpb24gZGVzY3JpYmVkIGFib3ZlLgoKMjAxMi0wMS0xMSAxNDo0NzozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBhZGQgYSB0cmFuc3BvcnQgbW9kZSBlbnVtCgkgIENsaWVudHMgY2FuIGNvbmZpZ3VyZSB0aGUgZGVzaXJlZCBiZWhhdmlvdXIgdmlhICJ0cmFuc3BvcnQiIHByb3BlcnR5LiBUaGUKCSAgZGVmYXVsdCBiZWhhdmlvdXIgaXMgaWdub3JpbmcgdGhlIHRyYW5zcG9ydCBzdGF0ZS4gT3RoZXIgbW9kZXMgYXJlIG1hc3RlciBhbmQKCSAgc2xhdmUuCgoyMDEyLTAxLTExIDE0OjEwOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGaXggYnVmZmVyIGhhbmRsaW5nCgkgIHNvdXBodHRwc3JjIGlzIG5vdyB1c2FibGUgYWdhaW4gYW5kIGRvZXNuJ3QgY3Jhc2ggYW55bW9yZQoJICB3aGVuZXZlciBzb21ldGhpbmcgaXMgcmVhZCBmcm9tIGEgSFRUUCBjb25uZWN0aW9uLgoKMjAxMi0wMS0xMSAwMTo0NTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggd2F2ZW5jIHRlc3Qgb24gYmlnIGVuZGlhbgoJICB3YXZlbmMgb25seSBhY2NlcHRzIGxpdHRsZS1lbmRpYW4gUENNLCBidXQgbW9zdCBvZiBvdXIKCSAgZWxlbWVudHMgc3VjaCBhcyBhdWRpb3Rlc3RzcmMgb25seSBwcm9kdWNlIG9yIHByb2Nlc3MKCSAgYXVkaW8gaW4gbmF0aXZlIGVuZGlhbm5lc3MsIHNvIHdlIG5lZWQgdG8gcGx1ZyBhCgkgIGNvbnZlcnRlciBiZWZvcmUgd2F2ZW5jIG9uIGJpZyBlbmRpYW4gc3lzdGVtcy4KCjIwMTItMDEtMTAgMjM6MDI6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkZWFjdGl2YXRlIHRoZSByZXF1ZXN0X3N0YXRlIGNvZGUKCSAgV2hlbiBxamFja2N0bCBpcyBzdGFydGVkLCB0cmFuc3BvcnQgaXMgc3RvcHBlZCBieSBkZWZhdWx0LiBUaGlzIHdvdWxkIGJlIGEKCSAgcmVncmVzc2lvbiBmb3IgZ3N0cmVhbWVyIGFwcHMgdGhhdCBiZWZvcmUganVzdCBzdGFydGVkIHRvIHBsYXkgcmlnaHQgYXdheS4KCjIwMTItMDEtMTAgMjI6Mjc6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGFkZCB0cmFuc3BvcnQgY29udHJvbCBoYW5kbGluZwoJICBUaGlzIGZlYXR1cmUgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHBsYXliYWNrIGZyb20gb3RoZXIgamFjayBhcHBsaWNhdGlvbnMgKGUuZy4gcWphY2tjdGwpLgoKMjAxMi0wMS0xMCAxODo1MDoyNyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggY29kZWNfcHJpdiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3NDE5CgoyMDEyLTAxLTEwIDE1OjA2OjM5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgIGphY2s6IHVzZSBqYWNrIHR5cGUgZm9yIHRoZSBjYWxsYmFjawoJICBKYWNrIGhlYWRlcnMgaGF2ZSBhIHR5cGVkZWYgZm9yIHRoZSBzaHV0ZG93biBjYWxsYmFjayBhcyB3ZWxsLgoKMjAxMi0wMS0xMCAxNDozMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmMKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmMKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYwoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMKCSAgZ3N0L2lzb21wNC9nc3RxdG11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmgKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmMKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYwoJICBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmMKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmMKCSAgZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYwoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmMKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYwoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYwoJICBwby9qYS5wbwoJICBwby9sdi5wbwoJICBwby9zci5wbwoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbQoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmMKCjIwMTItMDEtMDkgMjI6NTg6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBSZW1vdmUgb2xkIHZpZGVvbWl4ZXIgaGVhZGVycwoJICBUaGVzZSBnb3QgcmVtb3ZlZCBpbiB0aGUgdHJhbnNpdGlvbiB0byB2aWRlb21peGVyMi4KCjIwMTItMDEtMDkgMTc6Mjg6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IGNvZGVjIHN0cmluZyBsZWFrcwoKMjAxMi0wMS0wOSAxNDo1MTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJwYWQuaDoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHZpZGVvbWl4ZXIgYW5kIHJlZ2lzdGVyIHZpZGVvbWl4ZXIyIGFzIHZpZGVvbWl4ZXIKCjIwMTItMDEtMDkgMTE6MzY6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXRpYWxpemUgdmFyaWFibGUgdG8gYXZvaWQgdW5kZWZpbmVkIHVzZQoKMjAxMi0wMS0wNiAwOTo0MDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhYzogUG9ydCB0byB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA1IDE5OjI1OjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTA1IDE5OjA4OjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEyLTAxLTA1IDE0OjE4OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICBmaXggcGFkIHRlbXBsYXRlcwoKMjAxMi0wMS0wNCAxNTowNTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTQ6NTQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogQWRkIHRoZSBuZXcgbGF5b3V0IGZpZWxkIHRvIHRoZSByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNDo1Mjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSAgamFja2F1ZGlvc3JjOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTQ6MTM6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBGTEFDIGFuZCBpbnRlcmxlYXZlIHRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMgbGlzdAoJICBCb3RoIG5lZWQgdG8gYmUgdXBkYXRlZCB0byB0aGUgYXVkaW8veC1yYXcgY2FwcyBhbmQgd2VyZSBvbmx5CgkgIGhhbGYtcG9ydGVkIGJlZm9yZS4KCjIwMTItMDEtMDQgMTM6NDg6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogVXBkYXRlIGZvciB0aGUgbmV3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTI6MDY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVcGRhdGUgZm9yIGxpYmdzdHJpZmYgQVBJIGNoYW5nZXMKCSAgU3RpbGwgbmVlZHMgdG8gaGFuZGxlIHJhdyBhdWRpbyBjaGFubmVsIHJlb3JkZXJpbmcKCjIwMTItMDEtMDQgMTI6MDU6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTI6MDM6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMgbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjU3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJlcGxheWdhaW46IFVwZGF0ZSBmb3IgdGhlIG5ldyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDExOjUyOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGludGVybGVhdmVkIGNhcHMgZmllbGQKCSAgU3RpbGwgbmVlZHMgdG8gYmUgZml4ZWQgdG8gaGFuZGxlIHRoZSBtdWx0aWNoYW5uZWwgY2hhbm5lbC1tYXNrCgkgIGFuZCByZW9yZGVyaW5nLgoKMjAxMi0wMS0wNCAxMTozMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjI5OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBQb3J0IHRvIHRoZSBuZXcgYXVkaW8gY2FwcwoJICBTdGlsbCBuZWVkcyB0byBoYW5kbGUgdGhlIGNoYW5uZWwgcG9zaXRpb25zL21hc2tzIGFuZAoJICBjaGFubmVsIHJlb3JkZXJpbmcuCgoyMDEyLTAxLTA0IDExOjExOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGN1dHRlcjogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6MDk6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjA4OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6MDc6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogVXBkYXRlIGZvciB0aGUgbGliZ3N0cmlmZiBBUEkgY2hhbmdlcwoJICBTdGlsbCBuZWVkcyB0byBkbyByZW9yZGVyaW5nIG9mIGNoYW5uZWxzIGZvciByYXcgYXVkaW8uCgoyMDEyLTAxLTA0IDExOjA2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzIGFuZCB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6MDI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9meDogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzIGFuZCB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTA6NTQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIG9zczogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzIGFuZCB0aGUgcmF3IGF1ZGlvIGNhcHMgaW50ZXJsZWF2ZWQgZmllbGQKCjIwMTItMDEtMDQgMTA6Mjc6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzCgoyMDEyLTAxLTA0IDE5OjUxOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzYyYjY5MiB0byAwODA3MTg3CgoyMDEyLTAxLTA0IDE3OjU5OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBmaXggc29tZSBsZWFrcyBhbmQgcmVtb3ZlIGZpbGVzIHdoZW4gZG9uZSBpbiBxdG11eCB0ZXN0CgoyMDExLTEyLTE0IDEwOjE0OjIwICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcG9zdCBiZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIHJ1biBvdXQgb2YgZGlzayBzcGFjZQoJICBNYXAgd3JpdGUgZXJybm8gRU5PU1BDIHRvIEdTVF9SRVNPVVJDRV9FUlJPUl9OT19TUEFDRV9MRUZULgoKMjAxMi0wMS0wNCAxMzoyNjo0NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IE1vcmUgZml4ZXMvY2xlYW51cAoKMjAxMi0wMS0wNCAxMzoyNTo0MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlZmFjdG9yIHBhcmFtL3Byb2Nlc3MgZnVuY3Rpb25zCgkgIFdoZW4gOjpzZXRfaW5mbygpIGlzIGNhbGxlZCwgdGhlIGlucHV0L291dHB1dCBWaWRlb0luZm8gYXJlbid0IHNldAoJICB5ZXQgb24gdGhlIHZpZGVvZmlsdGVyLgoKMjAxMi0wMS0wNCAxMDowMTo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTEtMTItMzEgMjM6MzM6MzMgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiB1c2UgcmlnaHQgdmFyaWFibGUKCSAgRml4ZXMgdXNlIG9mIHVuaXRpYWxpemVkIHZhcmlhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MDg1CgoyMDEyLTAxLTAzIDE1OjI2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMi0wMS0wMyAxNDo0MjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHJld3JpdGUgdGVzdCBhIGxpdHRsZQoJICBSZXdyaXRlIHRoZSB0YWcgY2hlY2sgc28gdGhhdCB3ZSBkb24ndCBuZWVkIHRvIGRlYWwgd2l0aCB0YWcgbGlzdHMuCgoyMDEyLTAxLTAzIDE0OjE2OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogbWFrZSBtb3JlIHRlc3RzIGNvbXBpbGUKCjIwMTItMDEtMDMgMTE6NTY6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdDogbWFrZSBtb3JlIHVuaXQgdGVzdHMgY29tcGlsZQoKMjAxMi0wMS0wMyAxMDoyNjo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9pbmRleC5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogZml4IHNvbWUgdW5pdCB0ZXN0cwoJICBSZW1vdmUgdW5pdCB0ZXN0IGZvciBHc3RJbmRleC4KCSAgTWFrZSBzb21lIG90aGVyIHVuaXQgdGVzdHMgY29tcGlsZQoKMjAxMi0wMS0wMiAxNDozMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkgIGF1dG9kZXRlY3QsIHJ0c3A6IGdzdF9yZWdpc3RyeV9nZXRfZGVmYXVsdCgpIC0+IGdzdF9yZWdpc3RyeV9nZXQoKQoKMjAxMS0xMi0zMSAxMDowMDo0MSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIEFQSSBjaGFuZ2VzCgoyMDExLTEyLTMwIDE3OjQxOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBHc3RJbmRleCByZW1vdmFsCgoyMDExLTEyLTMwIDE3OjIzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogdXBkYXRlIGZvciBHc3RJbmRleCByZW1vdmFsCgoyMDExLTEyLTMwIDE3OjIwOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguaDoKCSogZ3N0L2Zsdi9nc3RtZW1pbmRleC5jOgoJICBmbHZkZW11eDogdXBkYXRlIGZvciBHc3RJbmRleCByZW1vdmFsCgkgIEFkZCBwcml2YXRlIEdzdE1lbUluZGV4IGZvciBub3cuCgoyMDExLTEyLTMwIDE3OjEyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogdXBkYXRlIGZvciBHc3RJbmRleCByZW1vdmFsCgoyMDExLTEyLTI3IDIyOjU5OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgd2F2ZWZvcm1zaW5rOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBNaW5nVwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NDg1CgoyMDExLTEyLTI3IDEyOjA2OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHVuaXQgdGVzdCBiaW5hcnkKCjIwMTEtMTItMjcgMTE6NTA6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggdmFsZ3JpbmQgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjQ0CgoyMDExLTEyLTI3IDExOjQ5OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgdW5pdCB0ZXN0IHRoYXQgc2VuZHMgMC1zaXplIHBhY2tldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjQ0CgoyMDExLTEyLTIxIDEzOjIyOjAzICswMTAwICBKb2huIE9nbmVzcyA8am9obi5vZ25lc3NAbGludXRyb25peC5kZT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZHJvcCBkYXRhbGVzcyBVRFAgcGFja2V0cwoJICBJdCBpcyBhbGxvd2VkIHRvIHNlbmQvcmVjZWl2ZSBVRFAgcGFja2V0cyB3aXRoIG5vIGRhdGEuIFdoZW4gc3VjaAoJICBhIHBhY2tldCBpcyBhdmFpbGFibGUsIHNlbGVjdCgpIHdpbGwgcmV0dXJuIHdpdGggc3VjY2VzcyBidXQKCSAgaW9jdGwoRklPTlJFQUQpIHdpbGwgcmV0dXJuIDAuIEJ1dCBhIHJlYWQoKSBtdXN0IHN0aWxsIG9jY3VyIGluCgkgIG9yZGVyIHRvIGNsZWFyIG9mZiB0aGUgVURQIHBhY2tldCBmcm9tIHRoZSBxdWV1ZS4KCSAgVGhpcyBwYXRjaCB3aWxsIHJlYWQgdGhlIGRhdGFsZXNzIHBhY2tldCBmcm9tIHRoZSBzb2NrZXQuIElmCgkgIHNlbGVjdCgpIHdhcyB3b2tlbiBmb3Igb3RoZXIgcmVhc29ucyAoYW5kIEZJT05SRUFEIHJldHVybnMgMCksCgkgIHRoaXMgbWF5IHJlc3VsdCBpbiBhIFVEUCBwYWNrZXQgZ2V0dGluZyBhY2NpZGVudGFsbHkgZHJvcHBlZC4KCSAgQnV0IHNpbmNlIFVEUCBpcyBub3QgcmVsaWFibGUsIHRoaXMgaXMgYWNjZXB0YWJsZS4KCSAgTk9URTogVGhpcyBwYXRjaCBmaXhlcyBhIG5hc3R5IGJ1ZyB3aGVyZSBzZW5kaW5nIGEgZGF0YWxlc3MKCSAgVURQIHBhY2tldCB0byBhIHVkcHNyYyBpbnN0YW5jZSB3aWxsIGNhdXNlIGFuIGluZmluaXRlCgkgIGxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NDQKCSAgU2lnbmVkLW9mZi1ieTogSm9obiBPZ25lc3MgPGpvaG4ub2duZXNzQGxpbnV0cm9uaXguZGU+CgoyMDExLTEyLTI2IDIyOjIyOjU5ICswMDAwICBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aXR6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIHdhdmVmb3JtOiBhZGQgYXV0b3Rvb2xzIGJpdHMgZm9yIHdhdmVmb3JtIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NDg1CgoyMDExLTEyLTIxIDIwOjUwOjIxICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHBlZXJfY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2ODgKCjIwMTEtMTItMjUgMjM6NTI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjayBmb3IgZ2RwIGxpYnJhcnkKCjIwMTEtMTItMjUgMjI6MTc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZTogcmVtb3ZlIHB1bHNlYXVkaW9zaW5rIGhlbHBlciBiaW4KCSAgVGhpcyBpcyBjYXVzaW5nIHVzIGxvdHMgb2YgaGVhZGFjaGVzIGluIDAuMTAgYW5kIG5lZWRzIHRvIGJlIGRvbmUKCSAgZGlmZmVyZW50bHkgYW5kIHByb3Blcmx5IGluIDAuMTEuIHBsYXliaW4gb3IgZGVjb2RlYmluIHNob3VsZAoJICByZWNvbmZpZ3VyZSB0aGVtc2VsdmVzIGJhc2VkIG9uIHJlY29uZmlndXJlIGV2ZW50cywgZm9yIGV4YW1wbGUuCgoyMDExLTEyLTI1IDIxOjQ1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogdXBkYXRlIGZvciByaW5nIGJ1ZmZlciBhdWRpbyBmb3JtYXQgdHlwZSBlbnVtIHJlbmFtZQoKMjAxMS0xMi0yNSAyMDozNDo1MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sIHNvdXJjZSBhcGkKCjIwMTEtMTItMjUgMTQ6MjM6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCB0cnkgdG8gcHVzaCBhbHJlYWR5LWZyZWVkIGJ1ZmZlcnMKCSAgRml4ZXMgdW5pdCB0ZXN0LgoKMjAxMS0xMi0yNCAxMDo1Nzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVzZSBzY2FsZV9jZWlsKCkgZnVuY3Rpb25zIGZyb20gY29yZSBpbnN0ZWFkIG9mIGN1c3RvbSBvbmVzCgoyMDExLTEyLTIxIDIzOjUxOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdXBkYXRlIGZvciB2aWRlb2ZpbHRlciBjaGFuZ2VzLgoKMjAxMS0xMi0yMSAxNzo0MzoxMCArMDEwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogZG8gbm90IGNvbnNpZGVyIGR1cmF0aW9uIG9mIG5vbi1maW5hbGl6ZWQgZmlsZQoJICAuLi4gdG8gYXZvaWQgaXQgY2xhbXBpbmcgcmVxdWVzdGVkIHNlZWsgcG9zaXRpb24uCgkgIE5vbi1maW5hbGl6ZWQgZmlsZSBjYXNlLCBkZXRlcm1pbmVkIGJ5IHdoZXRoZXIKCSAgX3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2sgZXZlciB1cGRhdGVzIHRoZSBzZWdtZW50IGR1cmF0aW9uLgoJICBGaXhlcyAjNjUyMTk1LgoKMjAxMS0xMi0yMSAxNTowNjo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSBkZWNpc2lvbiB0byBmYWxsIGJhY2sgdG8gc2Nhbm5pbmcgd2hlbiBzZWVraW5nCgkgIC4uLiB3aGljaCBpcyBiYXNpY2FsbHkgaWZmIG5vdCBzdHJlYW1pbmcgYW5kIG5vIGVudHJ5IGZvdW5kIGluIGluZGV4CgoyMDExLTEyLTIxIDA5OjA5OjI3ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSB0byBmaXggY29tcGlsZSBlcnJvcjoKCSAgbWFrZSAtQyBhdWRpb3BhcnNlcnMKCSAgbWFrZVszXTogQmV0cmV0ZSBWZXJ6ZWljaG5pcyAnL2hvbWUvbGV4L3RtcC9nc3QtcGx1Z2lucy1nb29kL2dzdC9hdWRpb3BhcnNlcnMnCgkgIENDICAgICBsaWJnc3RhdWRpb3BhcnNlcnNfbGEtZ3N0YWFjcGFyc2UubG8KCSAgZ3N0YWFjcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9hYWNfcGFyc2VfcmVhZF9sb2FzX2F1ZGlvX3NwZWNpZmljX2NvbmZpZyc6CgkgIGdzdGFhY3BhcnNlLmM6NDQ2OjEyOiBlcnJvcjogdmFyaWFibGUgJ3Nicicgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KCSAgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTEyLTIxIDExOjU5OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvcHJvYmUuYzoKCSAgdXBkYXRlIGZvciByZW1vdmVkIHByb3BlcnR5IHByb2JlCgoyMDExLTA5LTA5IDExOjQyOjA5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGxldCBic2lkIDkgYW5kIDEwIHRocm91Z2gKCSAgRmlsZXMgd2l0aCA5IGFuZCAxMCBoYXBwZW4sIGFuZCBzZWVtIHRvIGNvbXBseSB3aXRoIHRoZSA8PSA4CgkgIGZvcm1hdCwgc28gbGV0IHRoZW0gdGhyb3VnaC4KCSAgVGhlIHNwZWMgc2F5cyBub3RoaW5nIGFib3V0IDkgYW5kIDEwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTQ2CgoyMDExLTEyLTE5IDIzOjUwOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGludGVycG9sYXRpb24tbW9kZSBhcGkKCjIwMTEtMTItMTkgMjI6NTM6NTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBhcGkKCjIwMTEtMTItMTkgMTk6MDM6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgbmV3IGludGVybGFjZWQgY2FwcwoKMjAxMS0xMi0xNiAxOToxNTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHByb3Blcmx5IGRldGVybWluZSBmaW5hbCBkdXJhdGlvbgoJICAuLi4gd2hpY2ggY2FuIGJlIGF1dGhvcmF0aXZlbHkgb2J0YWluZWQgZnJvbSBvdXIgb3duIHdyaXR0ZW4gdGltZXN0YW1wcy4KCjIwMTEtMTItMTkgMTM6NTY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBvbmx5IHdyaXRlIGZ1bGwgbWV0YWRhdGEgYXQgc3RhcnQKCSAgLi4uIHJhdGhlciB0aGFuIGhhdmluZyAocG90ZW50aWFsbHkpIHVubmVjZXNzYXJ5IGR1cGxpY2F0ZXMgd3JpdHRlbiBhbGwgb3ZlciwKCSAgb3IgZXZlbiBjb250cmFkaWN0b3J5IHZhcnlpbmcgZmlsZXNpemUgaW5mbywgb3IgZHVyYXRpb24gaW5mbyB0aGF0IHdpbGwgbm90CgkgIGJlIHJld3JpdHRlbiB1cG9uIGhlYWRlciByZXdyaXRlLgoKMjAxMS0xMi0xNiAxOToxNTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgYnVmZmVyIGNhbGxiYWNrIGFuZCBydW5uaW5nIHRpbWUgY2xpcHBlcgoJICAuLi4gc2luY2UgdGhlIGRlZmF1bHQgY29sbGVjdGlvbiBoZXVyaXN0aWNzIHN1ZmZpY2UuCgoyMDExLTEyLTE2IDE4OjAzOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgYnVmZmVyIGNhbGxiYWNrIGFuZCBydW5uaW5nIHRpbWUgY2xpcHBlcgoJICAuLi4gc2luY2UgZGVmYXVsdCBjb2xsZWN0aW9uIGhldXJpc3RpY3Mgc3VmZmljZS4KCjIwMTEtMTItMTYgMTc6MjA6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYnJpbmcgYSBmZXcgZGVidWcgc3RhdGVtZW50cyB1cCB0byBzcGVjcwoJICAuLi4gYW5kIG1pbm9yIHNwZWxsaW5nIGZpeC4KCjIwMTEtMTItMTYgMTY6NTY6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRkaXRpb25hbCBzdWJ0aXRsZSBzdXBwb3J0CgoyMDExLTEyLTE1IDIxOjUwOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogYWRkaXRpb25hbCBidWZmZXIgaGFuZGxpbmcgY2xlYW51cAoKMjAxMS0xMi0xNSAyMTo0NToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGJ1ZmZlciBjYWxsYmFjayBhbmQgcnVubmluZyB0aW1lIGNsaXBwZXIKCjIwMTEtMTItMDcgMTM6MjQ6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBwYXJzZSBMT0FTIHZhcmlhbnQKCSAgVGhlIExPQVMgdmFyaWFudCBzZWVtcyB0byBoYXZlIHRocmVlIGRpZmZlcmVudCBzdWJ2YXJpYW50cyBpdHNlbGYsCgkgIG9ubHkgb25lIG9mIHRoZW0gaXMgaW1wbGVtZW50ZWQgYXMgbXkgdHdvIHNhbXBsZXMgaGFwcGVuIHRvIGJlCgkgIHVzaW5nIHRoYXQgb25lLgoJICBUaGUgc2FtcGxlIHJhdGUgaXMgbm90IGFsd2F5cyByZXBvcnRlZCBjb3JyZWN0bHksIGFzIHRoZSAibWFpbiIKCSAgc2FtcGxlIHJhdGUgaXMgYXBwYXJlbnRseSBzb21ldGltZXMgaGFsZiB3aGF0IGl0IHNob3VsZCBiZSAoYm90aAoJICBvZiBteSBzYW1wbGVzIHJlcG9ydCAyNDAwMCBIeiB0aGVyZSksIGFuZCB0aGVyZSBhcmUgdHdvIG90aGVyCgkgIHBhcnRzIG9mIHRoZSBzdWJ2YXJpYW50IHdpdGggZGlmZmVyZW50IHNhbXBsaW5nIHJhdGVzLiBPbmUgb2YgdGhlbQoJICBpcyBwYXJzZWQsIGJ1dCBub3QgdGhlIG90aGVyLCBhcyBpdCdzIGxvY2F0ZWQgYWZ0ZXIgc29tZSBvdGhlcgoJICBsYXJnZSBhbW91bnQgb2YgdmFyaWFibGUgZGF0YSB0aGF0IG5lZWRzIHBhcnNpbmcgZmlyc3QsIGFuZCB0aGVyZQoJICBzZWVtcyB0byBiZSBhIExPVCBvZiBpdCwgd2hpY2ggaXMgdXNlbGVzcyBmb3Igb3VyIG5lZWRzIGhlcmUuCgkgIFRoaXMgZW5kcyB1cCBiZWluZyByYXRoZXIgaW5jb25zZXF1ZW50aWFsLCBhcyBmZmRlY19hYWNfbGF0bSwKCSAgd2hpY2ggaXMgdGhlIG9ubHkgZGVjb2RlciB0aGF0IGNhbiBkZWNvZGUgc3VjaCBzdHJlYW1zLCBkb2VzIG5vdAoJICBuZWVkIHRoZSBzYW1wbGUgcmF0ZSBvbiB0aGUgY2FwcyBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTEtMTItMTkgMTA6NDg6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvbid0IHJlbW92ZSBzcmNwYWQKCSAgRG9uJ3QgcmVtb3ZlIHRoZSBhbHdheXMgc3JjcGFkIGluIHJlYWR5IGFuZCBtYWtlIHRoZSBlbGVtZW50IHJldXNhYmxlLgoKMjAxMS0xMi0xNSAxNjo0MDoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE1IDE2OjMwOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTUgMTY6MTY6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNSAxNjoxNToyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE0IDE5OjEzOjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgc21wdGU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE5OjEwOjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydG11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTk6MDc6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxOTowMjoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjU1OjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODo1MjozNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHhtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjM4OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6MzQ6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xMyAxODoxODo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZmlsdGVyIGJvZ3VzIGluZGV4IGVudHJpZXMgd2l0aCBtaXNzaW5nIGJsb2NrIG51bWJlcgoJICAuLi4gdG8gYXZvaWQgY29udHJhZGljdG9yeSBpbmZvcm1hdGlvbiByZXN1bHRpbmcgaW4gc2Vla3Mgc2VuZGluZyBtb3JlCgkgIGRvd25zdHJlYW0gdGhhbiBuZWVkZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHNlZ21lbnQuCgoyMDExLTEyLTEzIDE4OjE1OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBjYXRlciBmb3Igc2FmZXIgYXJpdGhtZXRpYyB3aXRoIGdsb2JhbCBzdGFydCB0aW1lCgoyMDExLTEyLTEzIDE3OjAyOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiB0d2VhayBmaW5hbCBjbG9zaW5nIHNlZ21lbnQgc2VuZGluZwoJICAuLi4gdG8gYXZvaWQgaXQgaW50ZXJmZXJpbmcgd2l0aCAoc3BhcnNlKSBzdHJlYW0gc3luY2luZy4KCjIwMTEtMTItMTIgMTE6NTE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1ha2UgZGVidWcgbWVzc2FnZSBtb3JlIHVzZWZ1bAoJICBBZGQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRhZ2xpc3QgYW5kIHdoaWNoIHBhZCByZWNlaXZlZCB0aGUKCSAgdGFnIGV2ZW50IG9uIHRoZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMS0xMi0xMyAxMTo0Njo0MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGF2b2lkIHVzaW5nIGZsb2F0aW5nIHBvaW50IHVubmVjZXNzYXJpbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTkxMQoKMjAxMS0xMi0xMyAxMTo0Mjo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZpeCBmb3JtYXQgc3BlY2lmaWVyIHNpZ25lZG5lc3MKCSAgVXNlIHVuc2lnbmVkIHNwZWNpZmllcnMgZm9yIGFsbCB1bnNpZ25lZCB2YWx1ZXMuCgkgIEEgbG90IG9mIHRoZSB2YWx1ZXMgdXNlZCBoZXJlIGFyZSB1bnNpZ25lZCwgYW5kIHNvbWUgY2FuIHRha2UKCSAgaGlnaCBlbm91Z2ggdmFsdWVzIHRoYXQgdGhlaXIgc2lnbmVkIGNvdW50ZXJwYXJ0IHdpbGwgYmUgbmVnYXRpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU5MTEKCjIwMTEtMTItMTIgMTY6NDk6MTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogYWRkIGEgaWdub3JlLWxlbmd0aCBwcm9wZXJ0eQoJICBUaGlzIGFsbG93cyBwbGF5aW5nIGJyb2tlbiBzdHJlYW1zIHdoaWNoIHdyaXRlIGFuIGluY29ycmVjdAoJICBsZW5ndGggaW4gdGhlaXIgZGF0YSBjaHVua3MgKHN1Y2ggYXMsIGF0IGxlYXN0LCBvbmUgc3RyZWFtaW5nCgkgIGNhbWVyYSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU5MTEKCjIwMTEtMTItMTIgMTE6NTQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSAgZ2xpYi1jb21wYXQ6IEFkZCBsaWNlbnNlIGJvaWxlcnBsYXRlIGZvciBMR1BMCgoyMDExLTEyLTEyIDE1OjE1OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtaW5kICh1bilzaWduZWQgaW4gc29tZSB0aW1lc3RhbXAgYXJpdGhtZXRpYwoJICAuLi4gdG8gYXZvaWQgZW5kaW5nIHVwIHdpdGggaW52YWxpZCAobmVnYXRpdmUpIGR1cmF0aW9uLgoKMjAxMS0wMi0wOSAxNTozMToyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5jcmVhc2UgcGFyc2UgdG9sZXJhbmNlIGZvciBmdXp6eSBmaWxlIGNhc2VzCgoyMDExLTEyLTEyIDEwOjM4OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogZGlzdCBnbGliLWNvbXBhdC1wcml2YXRlLmggcHJvcGVybHkKCSAgQWRkIG1pc3Npbmcgc2xhc2guCgoyMDExLTEyLTEyIDEwOjE4OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiB1c2UgYXRleGl0LCBnX2F0ZXhpdCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGdsaWIgbWFzdGVyCgoyMDExLTEyLTEyIDAyOjUyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFN1cHByZXNzIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGluIHNlbGVjdGVkIGZpbGVzLCBmb3IgZ19zdGF0aWNfcmVjX211dGV4XyogbW9zdGx5CgkgIEdTdGF0aWNSZWNNdXRleCBpcyBwYXJ0IG9mIG91ciBBUEkvQUJJLCBub3QgbXVjaCB3ZSBjYW4gZG8gaGVyZQoJICBpbiAwLjEwIGZvciBtb3N0IG9mIHRoZXNlLgoKMjAxMS0xMi0xMiAwMjo0MTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIHRlc3RzOiBnX3RocmVhZF9pbml0KCkgaXMgZGVwcmVjYXRlZCBpbiBnbGliIG1hc3RlcgoJICBJdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4KCjIwMTEtMTItMTIgMDI6Mzg6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgVXNlIGdfdGhyZWFkX3RyeV9uZXcoKSBpbnN0ZWFkIG9mIGdfdGhyZWFkX2NyYXRlKCkgd2l0aCBuZXdlciBnbGliIHZlcnNpb25zCgoyMDExLTEyLTEyIDAyOjMxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IHVzZSBuZXcgZ2xpYiBBUEkgZm9yIHN0YXRpYyBtdXRleCBpZiBhdmFpbGFibGUKCjIwMTEtMTItMTIgMDI6MzA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFdvcmsgYXJvdW5kIGRlcHJlY2F0ZWQgdGhyZWFkIEFQSSBpbiBnbGliIG1hc3RlcgoJICBBZGQgcHJpdmF0ZSByZXBsYWNlbWVudHMgZm9yIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIHN1Y2ggYXMKCSAgZ19tdXRleF9uZXcoKSwgZ19tdXRleF9mcmVlKCksIGdfY29uZF9uZXcoKSBldGMuLCBtb3N0bHkKCSAgdG8gYXZvaWQgdGhlIGRlcHJlY2F0aW9uIHdhcm5pbmdzLiBXZSdsbCBjaGFuZ2UgdGhlc2UKCSAgb3ZlciB0byB0aGUgbmV3IEFQSSBvbmNlIHdlIGRlcGVuZCBvbiBnbGliID49IDIuMzIuCgoyMDExLTEyLTEyIDEwOjI0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdMaWIgPj0gMi4yNAoJICBBbGwgb3RoZXIgbW9kdWxlcyByZXF1aXJlIHRoaXMgYWxyZWFkeSBhbmQgbm9ib2R5IGlzIHRlc3Rpbmcgd2l0aAoJICBvbGRlciB2ZXJzaW9ucyBhbnl3YXkuCgoyMDExLTEyLTExIDE4OjQwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogZml4IGludmVydGVkIHBpeGVsLWFzcGVjdC1yYXRpbwoJICBTcG90dGVkIGJ5IE1pa2UgTW9ycmlzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4ODIKCjIwMTEtMTItMTEgMTc6NTU6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBkb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZQoKMjAxMS0xMi0xMCAxNDo0ODo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cDogZml4IHN0YXJ0L3N0b3AgcmFjZSBpbiBzb3VwaHR0cGNsaWVudHNpbmsKCSAgRml4IGNyYXNoIG9yIGhhbmcgaW4gZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0IHdoZW4gZG9pbmcgc3RvcCgpCgkgIHJpZ2h0IGFmdGVyIHN0YXJ0KCkuIENyZWF0ZSBtYWluIGxvb3AgaW4gdGhlIHN0YXJ0IGZ1bmN0aW9uIGFscmVhZHkKCSAgYW5kIG5vdCBqdXN0IGluIHRoZSB0aHJlYWQgZnVuY3Rpb24sIHNvIHRoYXQgc3RvcCgpIGFsd2F5cyBoYXMgYQoJICB2YWxpZCBtYWluIGxvb3AgdG8gcXVpdCBvbi4gQWxzbywgY2FsbGluZyBnX21haW5fbG9vcF9xdWl0KCkgYmVmb3JlCgkgIGdfbWFpbl9sb29wX3J1bigpIHdvbid0IHdvcmsgYW5kIHJlc3VsdCBpbiB0aGUgc3RvcCBmdW5jdGlvbiB3YWl0aW5nCgkgIGZvciB0aGUgdGhyZWFkIHRvIGpvaW4gZm9yZXZlci4gVGhlcmVmb3JlLCB3YWl0IGZvciB0aGUgdGhyZWFkIHRvCgkgIGJlIHJlYWR5IGFuZCBnZXQgdGhlIG1haW4gbG9vcCBydW5uaW5nIGluIHRoZSBzdGFydCgpIGZ1bmN0aW9uLCB0bwoJICBiZSBzdXJlIHN0b3AoKSBhbHdheXMgd29ya3MuCgoyMDExLTEyLTEwIDEzOjM1OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGlzdCB0ZXN0IGZpbGUgdXNlZCBpbiBtYXRyb3NrYXBhcnNlIHVuaXQgdGVzdAoKMjAxMS0xMi0xMCAxMjozMjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogZml4IHVwIHJndm9sdW1lIHRlc3QgZm9yIGJhc2V0cmFuc2Zvcm0gZXZlbnQgY2FjaGluZwoJICBTb21lIHRlc3RzIGFzc3VtZWQgdGhhdCB0YWcgZXZlbnRzIHdvdWxkIGFsd2F5cyBwdXNoZWQgdGhyb3VnaAoJICBpbW1lZGlhdGVseSwgd2hpY2ggaXNuJ3QgdGhlIGNhc2UgYW55IGxvbmdlciwgc28gcHVzaCBhIG5ld3NlZ21lbnQKCSAgZXZlbnQgYW5kIGFuIGVtcHR5IGJ1ZmZlciBmaXJzdC4KCjIwMTEtMTItMTAgMTE6MTI6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgc3NyY2RlbXV4OiBmaXggaXRlcmF0b3IgYW5kIGNhcHMKCjIwMTEtMTItMTAgMTE6MTE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZvcndhcmQgdGhlIGNhcHMgZXZlbnQKCjIwMTEtMTItMTAgMTE6MDk6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzaW1wbHkgZm9yd2FyZCB0aGUgY2FwcyBldmVudAoJICBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50IHdlIGdldCBhcyBpbnB1dCBpbnN0ZWFkIG9mIG1ha2luZyBhIG5ldyBldmVudCBldGMuLgoKMjAxMS0xMi0wOSAyMDoxMDoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZm9yd2FyZCBjYXBzCgoyMDExLTEyLTA5IDE5OjQ2OjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHA6IHBhc3MgcGFyZW50IHRvIHNldGNhcHMgbWV0aG9kcwoKMjAxMS0xMi0xMCAwMjoyMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lby5wbzoKCSogcG8vamEucG86CgkqIHBvL2x2LnBvOgoJKiBwby9zci5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMTItMDkgMTY6MDQ6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHJlbmFtZSAiY2xpZW50IiBwcm9wZXJ0aWVzIHRvICJjbGllbnQtbmFtZSIKCSAgQmV0dGVyIG5hbWUsIGJ1dCBhbHNvIG1hdGNoZXMgdGhlIHByb3BlcnR5IG9uIHRoZSBqYWNrCgkgIGVsZW1lbnRzICh3aGVyZSAiY2xpZW50IiBpcyB1c2VkIGZvciBzb21ldGhpbmcgZWxzZSkuCgoyMDExLTEyLTA5IDE1OjUwOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IGxlYWsgY2xpZW50IG5hbWUgd2hlbiBmcmVlaW5nIHRoZSBlbGVtZW50CgkgIEFuZCBhZGQgZ3RrLWRvYyBjaHVua3MgZm9yIHRoZSBuZXcgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4NzIKCjIwMTEtMTItMDkgMTU6NDU6MDMgKzAwMDAgIE5pY29sYXMgQmFyb24gPGhvZ2dpbnNAcmFkaW9tLmZyPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkICJjbGllbnQtbmFtZSIgcHJvcGVydHkgdG8gamFja2F1ZGlvc2luayBhbmQgamFja2F1ZGlvc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4NzIKCjIwMTEtMTItMDkgMTI6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSAgbGF3OiBmaXggQ0ZMQUdTIGFuZCBMSUJTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTEyLTA5IDEyOjE1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMi0wOSAxMDo1MToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwOiBmaXggbWFyc2hhbGxlcnMKCSAgUmVtb3ZlIGN1c3RvbSBtYXJzaGFsbGVycyBmb3IgbWlub2JqZWN0LgoJICBJbml0IFJUQ1AgYnVmZmVyIGNvcnJlY3RseS4KCSAgSGFuZGxlIHJlc3VsdHMgZnJvbSBzZXRjYXBzCgkgIFJlbW92ZSBhc3NlcnRzLgoKMjAxMS0xMi0wOSAxMDo1MDoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgbGF3OiBmaXggbmVnb3RpYXRpb24KCjIwMTEtMTItMDggMTE6MDA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RyZWFtLWZvcm1hdD1yYXcgZ29lcyB3aXRoIGFhYyBjYXBzLCBub3QgbXAzIGNhcHMKCjIwMTEtMTItMDggMDE6Mjg6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jCgoyMDExLTEyLTAyIDEyOjA3OjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZG8gbm90IGlnbm9yZSB0aGUgaGlnaGVzdCBmcmFtZSBpbnRlcnZhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzg3CgoyMDExLTEyLTAyIDExOjU5OjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZG8gbm90IGlnbm9yZSB0aGUgbGFyZ2VzdCByZXNvbHV0aW9uCgkgIFRoZSAnbWF4JyB2YWx1ZSBpc24ndCBhbiBTVEwgc3R5bGUgIm9uZSBhZnRlciB0aGUgZW5kIiBib3VuZCwKCSAgYnV0IHRoZSBsYXJnZXN0IGFsbG93ZWQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzODcKCjIwMTEtMTItMDYgMTY6NDc6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgZG9jczogYWRkIGFkZCB0aGUgdHdvIGVudW0gdmFsdWVzIHRoYXQgd2VyZSBqdXN0IGFkZGVkIHRvbwoKMjAxMS0xMi0wNiAxNjoxNDo1NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogZXhwb3NlIHRoZSBlbnVtIHByb3BlcnR5IGRvY3MgZm9yIHNwbGl0dGluZyBtb2RlLgoJICBGaXhlcyAjNjY1NjY2LgoKMjAxMS0xMi0wNiAxNDoyMzozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBoMjYzcGF5OiBmaXggaW52YWxpZCByZXR1cm4gdmFsdWUKCjIwMTEtMTItMDYgMTM6NTk6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgZmx1c2ggcGFyYW0KCjIwMTEtMTItMDUgMTg6NDA6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJICBydHB4cXRkZXBheTogSW5pdGlhbGl6ZSBHc3RSVFBCdWZmZXIgYmVmb3JlIHVzYWdlCgoyMDExLTEyLTA1IDE4OjQwOjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiBJbml0aWFsaXplIEdzdFJUUEJ1ZmZlciBiZWZvcmUgdXNhZ2UKCjIwMTEtMTItMDUgMTg6Mzk6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogSW5pdGlhbGl6ZSBHc3RSVFBCdWZmZXIgYmVmb3JlIHVzYWdlCgoyMDExLTEyLTA1IDEyOjE1OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogcmVwbGFjZSBkZXByZWNhdGVkIEdTVF9DTEFTU19MT0NLCgoyMDExLTExLTI0IDEzOjU4OjAxICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBDZWlsIGpwZWcgZGltZW5zaW9ucywgaW5zdGVhZCBvZiBmbG9vcgoJICBBIEpQRUcgaW1hZ2UgaW5zaWRlIGFuIFJUUCBzdHJlYW0gaGFzIGEgcHJlY2VlZGluZyBSRkMyNDM1IGhlYWRlciB0aGF0CgkgIGNvbnZleXMgd2lkdGgvaGVpZ2h0LiBUaGUgZGltZW5zaW9ucyBpbiB0aGlzIGhlYWRlciBhcmUgbGltaXRlZCB0byBiZQoJICBtdWx0aXBsZXMgb2YgOC4gU2luY2UgSlBFRyB1c2VzIGFuIE1DVSBvZiA4eDggcGl4ZWxzIGFueSBpbWFnZSBtdXN0CgkgIGFscmVhZHkgaW5kaXJlY3RseSBoYXZlIGltYWdlIGRhdGEgZGltZW5zaW9ucyB0aGF0IGFyZSByb3VuZGVkIHVwIGluCgkgIG9yZGVyIHRvIGNvbnRhaW4gZW5vdWdoIGRhdGEgdG8gcmVuZGVyIHRoZSBpbWFnZS4gVGhlcmVmb3JlIHRoaXMgZml4CgkgIHNhZmVseSByb3VuZHMgdGhlIGltYWdlIGRpbWVuc2lvbnMgaW4gdGhlIFJGQzI0MzUgaGVhZGVyIHVwIHRvIHRoZQoJICBjbG9zZXN0IG11bHRpcGxlIG9mIDguCgoyMDExLTEyLTA0IDEyOjUwOjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZW5zdXJlIHdlIG9ubHkgY2hlY2sgZm9yIHNhbXBsZS9ibG9jayBtaXh1cCBhdCBzdGFydAoJICBPdGhlcndpc2Ugd2UgbWlnaHQgdHJpZ2dlciBhdCBzb21lIHBvaW50IHdpdGhpbiB0aGUgZmlsZSwgYnV0IHRoZQoJICBjaGVjayBpcyBvbmx5IG1ha2luZyBzZW5zZSBmb3IgdGhlIHNlY29uZCBibG9jay4KCjIwMTEtMTItMDMgMTg6MTQ6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IHdhcm4gaWYgYWNjdW11bGF0aW5nIGhlYWRlcnMgYWZ0ZXIgdGhleSB3ZXJlIHB1c2hlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NDEyCgoyMDExLTEwLTI1IDEyOjU0OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBmaXggcGFyc2luZwoJICBNYXJrIG1vcmUgcGFydHMgYXMgYmVsb25naW5nIHRvIHN0cmVhbWhlYWRlcnMuCgoyMDExLTEyLTAzIDE3OjMwOjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBkaXNjb250aW51aXR5IHRocmVzaG9sZCBjaGVjayB3aGVuIHRpbWVzdGFtcHMgZ28gYmFja3dhcmRzCgkgIFNpbmNlIHVuc2lnbmVkIHR5cGVzIGFyZSB1c2VkLCBhIG5lZ2F0aXZlIHZhbHVlIHdvdWxkIHNob3cgYXMgdmVyeSwgdmVyeQoJICBwb3NpdGl2ZS4KCSAgRml4ZXMgQS9WIHN5bmMgb24gc29tZS4uLiBsZXNzIHRoYW4gd2VsbCBtYWRlIGZpbGVzIHdoZXJlIHRpbWVzdGFtcHMgZ28KCSAgYmFja3dhcmRzLgoKMjAxMS0xMi0wMiAyMjoyNToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICB1cGRhdGUgZm9yIGJhc2VzaW5rIGV2ZW50IGhhbmRsZXIgY2hhbmdlcwoKMjAxMS0xMi0wMiAxMjowMToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGFkZCBhIGNvbW1lbnQgYWJvdXQgYSAiaGlkZGVuIiBhc3N1bXB0aW9uIG9uIHJhbmsgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzODcKCjIwMTEtMTItMDIgMDE6NTg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbAoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmMKCjIwMTEtMTItMDEgMTg6NTU6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHVwZGF0ZSBmb3IgdGFnIEFQSSBjaGFuZ2VzCgoyMDExLTEyLTAxIDE1OjI5OjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwbGFjYXRlIGdjYyBzaW5jZSAtV2Vycm9yIGlzIHVzZWQKCSAgSW5pdGlhbGl6ZSB2YWx1ZXMgdGhhdCBHQ0MgY2Fubm90IHByb3ZlIGFyZSBub3QgdXNlZCB3aXRob3V0CgkgIGJlaW5nIGluaXRpYWxpemVkLCBhbmQgYXNzZXJ0IHRoYXQgSSBkaWQgbm90IG1lc3MgdXAgbXkgcHJvb2YuCgoyMDExLTEyLTAxIDE0OjEzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IHVwIExJQlMgb3JkZXIgc29tIG1vcmVgCgoyMDExLTEyLTAxIDEzOjIyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBmaXggbmFtZSBvZiBuZXcgcHJvcGVydHkgYW5kIHRoZSB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDM3OQoKMjAxMS0wOS0yNSAxNDo1Nzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogYWRkIGJhc2ljIGJ1ZmZlciBsaXN0IGhhbmRsaW5nCgkgIFdlIGFzc3VtZSBmb3Igbm93IHRoYXQgYWxsIGJ1ZmZlcnMgaW4gYSBidWZmZXIgbGlzdAoJICBzaG91bGQgZW5kIHVwIGluIHRoZSBzYW1lIGZpbGUgKHNvIHdlIGNhbiBncm91cCBHT1BzCgkgIGluIGJ1ZmZlciBsaXN0cywgZm9yIGV4YW1wbGUpLiBDb3VsZCBvcHRpbWlzZSB0aGlzCgkgIGEgYml0IHRvIGF2b2lkIHRoZSBtZW1jcHkuCgoyMDExLTA5LTIzIDE4OjQzOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiB3cml0ZSBzdHJlYW0taGVhZGVycyB3aGVuIHN3aXRjaGluZyB0byB0aGUgbmV4dCBmaWxlIGluIG1heC1zaXplIG1vZGUKCjIwMTEtMDktMjMgMTg6MzE6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgbmV3ICdtYXgtc2l6ZScgbW9kZSBmb3Igc3dpdGNoaW5nIHRvIHRoZSBuZXh0IGZpbGUKCjIwMTEtMDktMjMgMTc6NDk6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgIm1heC1maWxlLXNpemUiIHByb3BlcnR5IGZvciBuZXcgbmV4dC1maWxlIG1vZGUKCjIwMTEtMTItMDEgMTM6Mzg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGZvcmdldCBTU0Egc3VidGl0bGVzIGluIGxhc3QgY29tbWl0CgoyMDExLTEyLTAxIDEzOjM0OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgY2hlY2sgZm9yIG1hcmt1cCBhbmQgZXNjYXBlIGlmIG5lY2Vzc2FyeSBmb3IgcGxhaW50ZXh0IHN1YnRpdGxlcwoJICBPdGhlcndpc2Ugd2UgYnJlYWsgVVNGIGFuZCBBU1MvU1NBIHN1YnRpdGxlcy4KCjIwMTEtMTItMDEgMTM6MjM6MzMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgbXVsdGlmaWxlOiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgQWRkIC1iYXNlIGxpYnMgaW5jbHVkZXMgdG8gQ0ZMQUdTLCBmaXggb3JkZXIgb2YgTElCUyA8Y2l0Pi4KCjIwMTEtMTItMDEgMTM6MDg6MDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBmaXggZ19ta2R0ZW1wIHByZXNlbmNlIGNoZWNrIGluIG11bHRpZmlsZSB0ZXN0cwoJICBnX21rZHRlbXAgd2FzIGFkZGVkIGluIGdsaWIgMi4zMCBldmVuIHRob3VnaCB0aGUgZG9jIGNsYWltcyBpdCB3YXMgYWRkZWQgaW4KCSAgMi4yNi4KCjIwMTEtMDctMTcgMjM6NTY6MDQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBmbGFnIHRvIGN1dCBhZnRlciBhIGZvcmNlIGtleSB1bml0IGV2ZW50CgoyMDExLTEyLTAxIDEyOjQ3OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDb3B5IGFsbCBidWZmZXIgZmxhZ3Mgd2hlbiBjcmVhdGluZyBhIHN1YnRpdGxlIGJ1ZmZlciBjb3B5IGFmdGVyIHBvc3Rwcm9jZXNzaW5nCgkgIFRoaXMgYWxzbyBjb3BpZXMgdGhlIGNhcHMuIE90aGVyd2lzZSB3ZSBjb3VsZCBlbmQgdXAgcHVzaW5nCgkgIHRoZSBmaXJzdCBidWZmZXIgd2l0aG91dCBhbnkgY2Fwcywgd2hpY2ggY2F1c2VzIGRvd25zdHJlYW0KCSAgdG8gbm90IGdldCBub3RpZmllZCBhYm91dCB0aGUgY2Fwcy4KCSAgRml4ZXMgYnVnICM2NjQ4OTIuCgoyMDExLTEwLTExIDAyOjA3OjEzICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGRlZmF1bHQgZnJhbWVyYXRlIG9wdGlvbmFsIHBlciBzdHJlYW0KCSAgdGhlcmUgaXMgYXQgbGVhc3QgdHdvIHVzZSBjYXNlcyB3aGVyZSBkZWZhdWx0IGZyYW1lIHJhdGUKCSAgc2hvdWxkIG9yIG1heSBiZSBkaXNhYmxlZDoKCSAgLSB2cDggc3RyZWFtIHdpdGggYWx0cmVmIGZyYW1lIGVuYWJsZWQuIElmIGRlZmF1bHQgZnJhbWUgcmF0ZQoJICBpcyBlbmFibGVkLCBzb21lIHBsYXllcnMgd2lsbCBtaXNzaW50ZXJwcmV0ZSBpdCAoY3JpdGljYWwhKQoJICAtIGZvciB3ZWJtIGNvbnRhaW5lciwgdG8gcmVkdWNlIG1pY3JvIG92ZXJoZWFkCgkgIC0gZm9yIHN0cmVhbSB3aXRoIHZhcmlhYmxlIGZyYW1lIHJhdGUuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMTEtMzAgMjI6MTM6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSAgcmlwcGxldHY6IGZpeCBDTEFNUCBlbmQtdmFsdWVzCgoyMDExLTExLTMwIDE5OjI1OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMS0xMS0zMCAxOTowMDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmM6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuaDoKCSAgc3BsaXRmaWxlc3JjOiBzcGVjaWZ5IGZpbGVuYW1lcyB2aWEgbm9ybWFsIHdpbGRjYXJkcyBpbnN0ZWFkIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbnMKCSAgTGVzcyBjcmFja3Rhc3RpYyBpbiB0aGUgZW5kLgoKMjAxMS0xMC0xMCAxODoyODoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IGNoZWNrIGJ5dGVzIGFjdHVhbGx5IHJlYWQsIGp1c3QgaW4gY2FzZQoJICBIYW5kbGUgY29ybmVyIGNhc2Ugd2hlcmUgd2UgdHJ5IHRvIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlCgkgIGxhc3QgZmlsZSBwYXJ0LCBpbiB3aGljaCBjYXNlIHdlIHdhbnQgdG8gcmV0dXJuIGEgc2hvcnQgcmVhZC4KCSAgSWYgd2UgZ2V0IGZld2VyIGJ5dGVzIHRoYW4gZXhwZWN0ZWQgZm9yIGFueSBvdGhlciBmaWxlIHBhcnQsCgkgIHdlIHNob3VsZCBqdXN0IGVycm9yIG91dCwgc2luY2Ugc29tZXRoaW5nIGZpc2h5J3MgZ29pbmcgb24KCSAgdGhlbi4KCjIwMTEtMTAtMDYgMDg6MzM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBzZXQgb2Zmc2V0cyBvbiBidWZmZXJzCgkgIExvb2tzIGxpa2Ugc29tZSBwYXJzZXJzIChpbiBzb21lIHZlcnNpb25zIGF0IGxlYXN0KSBleHBlY3QgdGhlCgkgIG9mZnNldHMgdG8gYmUgc2V0LCBhbmQgYmVoYXZlIHdlaXJkIGlmIHRoYXQncyBub3QgdGhlIGNhc2UKCSAgKGUuZy4gb2ZmLWJ5LW9uZSBpbiBoMjY0cGFyc2UpLgoKMjAxMS0wNy0yOCAyMDoxOTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmg6CgkgIG11bHRpZmlsZTogYWRkIHNwbGl0ZmlsZXNyYyBlbGVtZW50CgkgIEFkZCBuZXcgc3BsaXRmaWxlc3JjIGVsZW1lbnQgdGhhdCBwcmVzZW50cyBtdWx0aXBsZSBmaWxlcwoJICAoc2VsZWN0YWJsZSB2aWEgYSBsb2NhdGlvbiByZWdleCkgYXMgb25lIHNpbmdsZSBjb250aWd1b3VzCgkgIGZpbGUuCgoyMDExLTExLTMwIDA3OjU3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbW92ZWQgYXVkaW8gaW50ZXJmYWNlcwoKMjAxMS0xMS0yOSAxNzozNDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIFJldmVydCAicHVsc2VhdWRpb3Npbms6IGZpeCBjYXBzIGxlYWsiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDZhOWRlOWUyYWVkYzhiNjZhYjMyMTk5MDJiNWEzN2U4ZDY1YWRhMi4KCSAgc2V0Y2FwcyBmdW5jdGlvbnMgYXJlbid0IHN1cHBvc2VkIHRvIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBjYXBzIHBhc3NlZAoKMjAxMS0xMS0yOSAxOToxMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIGZpeCBmb3IgbW92ZWQgaW50ZXJmYWNlcwoKMjAxMS0xMS0yOCAyMzoyMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzc1MjFiNTk3ZjRkYzQ5ZDhkMTY4ZjM2OGYwZTdlYmFmOThhNzIxNTYnIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMToyNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjE6Mjc6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICdhMjMzN2I4YWY0NWNiNWU4YzA5MWZmMGUxYzNlZjRiNmNjN2IyMGEzJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMTg6MjU6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgVXBkYXRlIGZvciBpbmRleGFibGUgY2hhbmdlCgoyMDExLTExLTI4IDE3OjUyOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICB1cGRhdGUgZm9yIGNsb2NrIHByb3ZpZGVyIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMjggMTY6NTc6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGZpeCBmb3IgZWxlbWVudCBmbGFnIHVwZGF0ZXMKCjIwMTEtMTEtMjggMTI6NTg6NDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI4IDEzOjA4OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI4IDExOjQ3OjExICswMTAwICBDaGFkIDxjaGFubmFAY2FsdGVjaC5lZHU+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiBzZXQgZ2FwLWF3YXJlCgkgIFRoZSBlbGVtZW50IGRvZXMgbm90IG1vZGlmeSB0aGUgZGF0YSBhbnl3YXkuCgoyMDExLTExLTI3IDIzOjMyOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgcG8gZmlsZXMKCjIwMTEtMTEtMjcgMjM6MzE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYwoKMjAxMS0xMS0yNiAyMTozOTozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogYWxzbyBzeW5jIHRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZmlsdGVyIGJhbmRzCgoyMDExLTExLTI2IDE2OjA2OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgbWF0cm9za2FkZW11eDogaW5pdGlhbGlzZSBzZWVuX21hcmt1cF90YWcgZmllbGQgb24gc3VidGl0bGUgc3RyZWFtIGNvbnRleHQKCjIwMTEtMTEtMjYgMTA6MDE6MDcgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYTogcG9ydCB0byAwLjExCgkgIFN1cHBvcnQgZm9yIFRBR19JTUFHRSBhbmQgVEFHX0FUVEFDSE1FTlQgaXMgY29tbWVudGVkIG91dDsgdGhpcyByZXF1aXJlcyBjYXBzCgkgIG9uIGJ1ZmZlcnMgd2hpY2ggaXMgZ29uZSBmcm9tIDAuMTEuCgkgIFNlZ21lbnQgaGFuZGxpbmcgaW4gdGhlIGRlbXV4ZXIgaXMgYSBiaXQgY29tcGxleDsgSSBhZGRlZCBzb21lIEZJWE1FIGNvbW1lbnRzCgkgIGluIHBsYWNlcyB3aGVyZSBJJ20gbm90IHlldCBzdXJlIGlmIEkgcG9ydGVkIGNvcnJlY3RseS4KCjIwMTEtMTEtMjYgMTM6NTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VhdWRpbzogcmVxdWlyZSBwdWxzZWF1ZGlvID49IDEuMAoKMjAxMS0xMS0yNiAxMzozNDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jCgkgIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYwoJICBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmgKCSAgZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmMKCSAgU29tZSBwb3NzaWJsZSBGSVhNRXMgcmVtYWluaW5nIGluIHRoZSBhdWRpbyBwYXJzZXIgZ2V0Y2FwcyBmdW5jdGlvbnMuCgoyMDExLTExLTI1IDE5OjI4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIGlzbWxtdXg6IFVzZSBpc28tZnJhZ21lbnRlZCBhcyB2YXJpYW50IHR5cGUKCSAgVXNpbmcgJ2lzbycgY29uZmxpY3RzIHdpdGggbXA0bXV4IHZhcmlhbnQgdHlwZSwgaXNtbG11eCBub3cKCSAgdXNlcyBpc28tZnJhZ21lbnRlZAoJICBGaXhlcyAjNjU2ODIzCgoyMDExLTExLTI0IDEyOjA1OjMzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IEltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlCgkgIFB1bHNlQXVkaW8gMS4wIHN1cHBvcnRzIHBlci1zb3VyY2Utb3V0cHV0IHZvbHVtZXMsIGFuZCB0aGlzIGV4cG9zZXMgdGhlCgkgIGZ1bmN0aW9uYWxpdHkgdmlhIHRoZSBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlLgoJICBXaGVuIGNvbXBpbGVkIGFnYWluc3QgcHJlLTEuMCBQdWxzZUF1ZGlvLCB0aGUgaW50ZXJmYWNlIGlzIG5vdAoJICBpbXBsZW1lbnRlZCwgYW5kIHRoZSAidm9sdW1lIiBvciAibXV0ZSIgcHJvcGVydGllcyBhcmUgbm90IGF2YWlsYWJsZS4KCSAgVGhpcyBiaXQgb2YgdWdsaW5lc3Mgd2lsbCBnbyBhd2F5IHdoZW4gd2UgY2FuIGRlcGVuZCBvbiBQdWxzZUF1ZGlvIDEuMAoJICBvciBncmVhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1MDU1CgoyMDExLTA5LTEwIDIxOjIxOjM4IC0wNzAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogVHJpdmlhbCBjb21tZW50IGNvcHktcGFzdGUtbyBmaXgKCjIwMTEtMTEtMTQgMTI6NDM6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBSZW1vdmUgcmVkdW5kYW50IGNvZGUKCjIwMTEtMTEtMTQgMTI6NDE6NDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBDbGVhbiB1cCByZWZjb3VudGluZyBpbiBldmVudCBwcm9iZQoJICBNYWtlcyBzdXJlIHdlIGRvbid0IGxlYWsgYSByZWZjb3VudCBpZiB0aGUgb2JqZWN0IGlzIGRpc3Bvc2VkIGJlZm9yZSBhCgkgIE5FV1NFR01FTlQgdHVybnMgdXAuCgoyMDExLTExLTI0IDE2OjMxOjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzZWVraW5nCgkgIFdoaWNoIEkgYWNjaWRlbnRhbGx5IGJyb2tlIHdoZW4gZml4aW5nIGZsdiB2aWRlb3MgYnJlYWtpbmcgb24KCSAgc3B1cmlvdXMgdGltZXN0YW1wIGRpc2NvbnRpbnVpdGllcyBpbiBicm9rZW4gZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE0MzAKCjIwMTEtMTEtMjUgMTM6MTM6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgZWZmZWN0djogcmVwYWlyIGNvbG9yIG1vZGVzIGluIHJhZGlvYWN0diBieSB0YWtpbmcgcmdiLGJnciBpbnRvIGFjY291bnQKCjIwMTEtMTEtMjUgMTE6NDQ6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkgIHJhZGlvYWN0djogYWRkIG9uZSBtb3JlIHNldCBvZiBjYXBzCgkgIEl0IGFsc28gd29yayBpbiB0aGlzIGZvcm1hdC4gQXZvaWRzIHRoZSBuZWVkIGZvciBjb252ZXJzaW9uLgoKMjAxMS0xMS0yNSAxMTo0NDoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBlZmZlY3R0djogZml4IHJldmVyc2UgbmVnb3RpYXRpb24KCSAgVGhlIHBsdWdpbnMgd2VyZSB1c2luZyBfZml4ZWRfY2Fwc18gYW5kIHRodXMgbm90IGFkanVzdGluZyB0byBuZXcgdXBzdHJlYW0KCSAgc2l6ZXMuIFNwb3R0ZWQgYnkgVGltIE3DvGxsZXIuCgoyMDExLTExLTI1IDExOjQzOjE2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICB3YXJwdHY6IHJlbW92ZSBub3QgbmVlZGVkIGlmZGVmCgoyMDExLTExLTI1IDEwOjE1OjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkgIHJpcHBsZXR2OiBjbGVhbiB1cCB0aGUgcmVuZGVyaW5nIGNvZGUgYSBiaXQKCSAgVGhpcyBpcyBjb3JycnVwdHMgdGhlIG1lbW95IHdoZW4gcmVzaXppbmcuIEFkZCBhIEZJWE1FIHRvIG1ha2UgaXQgcmVzaXplYWJsZQoJICBvbmNlIHRoYXQgaXMgc29sdmVkLgoKMjAxMS0xMS0yNCAyMTo0MTowMyArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ3N0Y2hlY2sgQVBJIGNoYW5nZQoKMjAxMS0xMS0yNCAyMDo0Mjo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0dHY6IGZpeCByZXZlcnNlIG5lZ290aWF0aW9uCgkgIFRoZSBwbHVnaW5zIHdlcmUgdXNpbmcgX2ZpeGVkX2NhcHNfIGFuZCB0aHVzIG5vdCBhZGp1c3RpbmcgdG8gbmV3IHVwc3RyZWFtCgkgIHNpemVzLiBTcG90dGVkIGJ5IFRpbSBNw7xsbGVyLgoKMjAxMS0xMS0yNCAxNDoxNDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IEZpeCBsZWFrIG9mIGZpbGVuYW1lIHN0cmluZ3MKCSAgRG8gbm90IGZvcmdldCB0byBmcmVlIHRoZSBmaWxlbmFtZSBzdHJpbmdzIHdoZW4gZGVsZXRpbmcKCSAgdGhlIGxpc3Qgb2YgZmlsZXMuCgoyMDExLTExLTI0IDE0OjExOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBmaXggYnVpbGQgb2YgdGVzdHMKCSAgVGVzdHMgZmFpbCB0byBidWlsZCBiZWNhdXNlIGdfbWtkdGVtcCBpcyBhdmFpbGFibGUgZnJvbSBnbGliIHNpbmNlCgkgIDIuMjYuCgkgIFRoaXMgcGF0Y2ggYWRkcyBhIGNvbmRpdGlvbiBhcm91bmQgdGhlIHJlZGVmaW5pdGlvbiBvZgoJICBnX21rZHRlbXAgb24gdGhlIHRlc3RzIHRvIG9ubHkgYnVpbGQgaXQgaWYgZ2xpYiBpcyBvbGRlciB0aGFuCgkgIDIuMjYuCgoyMDExLTA5LTI3IDE2OjQ5OjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc2tpcCBpZDMyIHRhZ3MKCSAgVGhpcyBhbGxvd3MgZGVjb2RpbmcgYXQgbGVhc3Qgb25lIHNhbXBsZSB3aGVyZSBzb21ldGhpbmcgaGFzCgkgIHN0dWZmZWQgc29tZSBJRDMgdGFnIGJlZm9yZSB0aGUgKHN1cHBvc2VkbHkgaW5pdGlhbCkgRk1UXCAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAyNDkKCjIwMTEtMTAtMzEgMTc6MDY6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IHRyaXZpYWwgY29tbWVudCBmaXggZm9yIGNsYXJpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTg0MQoKMjAxMS0xMC0zMSAxNzowNDoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgIGVkZ2V0djogZG9uJ3QgbGVhdmUgYml0cyBvZiB0aGUgb3V0cHV0IGJ1ZmZlciB1bmluaXRpYWxpemVkCgkgIExldCdzIGluaXRpYWxpemUgdGhlbSB0byB6ZXJvLiBJdCBsb29rcyBhbHJpZ2h0LCBidXQgdGhlbiBpdAoJICBhbHNvIGxvb2tzIGFscmlnaHQgd2l0aCB2Mywgb3Igd2l0aCB0aGUgY29ycmVzcG9uZGluZyBwaXhlbHMKCSAgZnJvbSB0aGUgc291cmNlLiBJIGRvbid0IGtub3cgd2hhdCB0aGUgb3JpZ2luYWwgaW50ZW50IHdvdWxkCgkgIGJlLCBhbmQgdGhlIG9yaWdpbmFsIGVmZmVjdHYgc291cmNlIGFsc28gaGFzIHRoaXMgYnVnL2ZlYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE4NDEKCjIwMTEtMTEtMjQgMTA6MjU6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IFVzZSB0aGUgc2lua3BhZCB0ZW1wbGF0ZSBjYXBzIGFzIGZhbGxiYWNrLCBub3QgdGhlIHNyY3BhZCBvbmVzCgoyMDExLTExLTI0IDA5OjU5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo1Nzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo1NTo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NTM6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjQ5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IE1hcmsgc29tZSBtb3JlIGZ1bmN0aW9ucyBhcyBzdGF0aWMKCjIwMTEtMTEtMjQgMDk6NDg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjQ0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IE1hcmsgc29tZSBmdW5jdGlvbnMgYXMgc3RhdGljIGFuZCByZW1vdmUgdW51c2VkIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwoKMjAxMS0xMS0yNCAwOTo0MzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDE6NDg6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHVwZGF0ZSBzb3VwIHRlc3QgZm9yIHJlbW92ZWQgaXJhZGlvLW1vZGUgcHJvcGVydHkKCjIwMTEtMTEtMjQgMDE6NDU6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGdldCByaWQgb2YgaXJhZGlvLSogcHJvcGVydGllcywgcG9zdCB0YWdzIGluc3RlYWQKCjIwMTEtMTEtMjQgMDE6NDA6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFsd2F5cyBzZW5kIGljZWNhc3QgcmVxdWVzdCBoZWFkZXIsIGRyb3AgaXJhZGlvLW1vZGUgcHJvcGVydHkKCSAgU2VydmVyIHNob3VsZCBpZ25vcmUgdW5rbm93bi91bmhhbmRsZWQgaGVhZGVycy4uCgoyMDExLTExLTI0IDAxOjE5OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBtYWtlIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkgYSBndWludDY0CgoyMDExLTExLTI0IDAwOjUyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnB5OgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5weToKCSAgcnRwbWFuYWdlcjogcmVuYW1lIGdzdHJ0cCogLT4gcnRwKgoJICBUaGlzIHdhcyBkb25lIGluIDAuMTAgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCB0aGUgcnRwIGVsZW1lbnRzIGluCgkgIGZhcnNpZ2h0LCBidXQgdGhlIGdzdC1wcmVmaXhpbmcgaXMgbm8gbG9uZ2VyIG5lZWRlZCBpbiAwLjExCgoyMDExLTExLTIzIDEwOjIzOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yMyAwOToyNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogYXZvaWQgZW5kbGVzcyBjYXBzIGxvb3AKCSAgQ2hlY2sgaWYgdGhlIGNhcHMgYXJlIHRoZSBzYW1lIGJlZm9yZSBhZGRpbmcgYSBuZXcgcHJvYmUuIEJlY2F1c2Ugb2YgcmVjb25maWd1cmUKCSAgZXZlbnRzLCB1cHN0cmVhbXMgc2VuZHMgbXVsdGlwbGUgY2FwcyBldmVudHMuCgoyMDExLTExLTIzIDAwOjU3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYXBhcnNlLmM6CgkqIHRlc3RzL2ZpbGVzL3Bpbmtub2lzZS12b3JiaXMubWt2OgoJICB0ZXN0czogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgbWF0cm9za2FwYXJzZQoKMjAxMS0xMS0yMyAwMDo1NjoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZG9uJ3QgbGVhayBzdHJlYW0gaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NTQ4CgoyMDExLTExLTIyIDAxOjQwOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIE1vcmUgcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGZpeGVzCgoyMDExLTExLTIxIDIwOjMxOjMxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncyBvbiBPUyBYIC8gNjRiaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxNQoKMjAxMS0xMS0yMSAxMzozNzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgYWN0aXZhdGlvbiBjaGFuZ2VzCgoyMDExLTExLTE4IDE3OjU5OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIG5ldyBzY2hlZHVsaW5nIHF1ZXJ5CgoyMDExLTExLTE4IDEzOjU3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGFkZCBwYXJlbnQgdG8gYWN0aXZhdGUgZnVuY3Rpb25zCgoyMDExLTExLTE3IDE3OjM2OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFjdGl2YXRlIHBhZCBiZWZvcmUgc2V0dGluZyBjYXBzCgkgIFNldGluZyBjYXBzIG9uIGFuIGluYWN0aXZlIGZsdXNoaW5nIHBhZCBkb2VzIG5vdGhpbmcuCgoyMDExLTExLTE3IDE3OjE3OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYwoKMjAxMS0xMS0xNyAxNTowMjo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgYWRkIHBhcmVudCB0byBwYWQgZnVuY3Rpb25zCgoyMDExLTExLTE3IDA4OjI0OjU4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGNvbGxlY3RwYWRzOiBwb3J0IEFQSSBjaGFuZ2VzCgoyMDExLTExLTE2IDE5OjA4OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZW5zdXJlIHRvIGZyZWUgYWxsb2NhdGVkIHBhZGRlZCBkYXRhCgoyMDExLTExLTE2IDE4OjU3OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogcmVzZXQgdGFnIHNldHRlciBpbnRlcmZhY2Ugd2hlbiBhcHByb3ByaWF0ZQoKMjAxMS0xMS0xNiAxODo1NzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlc2V0IHRhZyBzZXR0ZXIgaW50ZXJmYWNlIHdoZW4gYXBwcm9wcmlhdGUKCjIwMTEtMTEtMTYgMTc6NTQ6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgYWRkIHBhcmVudCB0byBpbnRlcm5hbCBsaW5rcwoKMjAxMS0xMS0xNiAxNzoyNzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhZGQgcGFyZW50IHRvIHF1ZXJ5IGZ1bmN0aW9uCgoyMDExLTExLTE2IDEyOjQwOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiB1cGRhdGUgZm9yIHJlbmFtZWQgZmxhZ3MKCSAgVXNlIHRoZSBfY2hlY2tfcmVjb25maWd1cmUgbWV0aG9kIGluc3RlYWQgb2YgY2hlY2tpbmcgZmxhZ3MuCgkgIERvbid0IG5lZWQgdG8gcmVmIHRoZSBwYXJlbnQgYW55bW9yZSwgY29yZSBkb2VzIHRoYXQuCgoyMDExLTExLTE1IDE4OjAxOjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgX3F1ZXJ5X3BlZXJfKigpIC0+IF9wZWVyX3F1ZXJ5XyooKQoKMjAxMS0xMS0xNSAxNzo0NTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBfYWNjZXB0X2NhcHMoKSAtPiBfcXVlcnlfYWNjZXB0X2NhcHMoKQoKMjAxMS0xMS0xNSAxNzoyOTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgX3BlZXJfZ2V0X2NhcHMoKSAtPiBfcGVlcl9xdWVyeV9jYXBzKCkKCjIwMTEtMTEtMTUgMTY6NTU6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB1cGRhdGUgZm9yIF9nZXRfY2FwcygpIC0+IF9xdWVyeV9jYXBzKCkKCjIwMTEtMTEtMTUgMTY6MzE6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGNoYW5nZSBnZXRjYXBzIHRvIHF1ZXJ5CgkgIENoYWluIHVwIGV2ZW50IGZ1bmN0aW9uIGluIHBheWxvYWRlcnMuCgoyMDExLTExLTE1IDEzOjIzOjU2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IHNwdXJpb3VzIHRpbWVzdGFtcCBkaXNjb250aW51aXR5CgkgIFdlIG5lZWQgdG8gdGVsbCB0aGUgYmFzZSBjbGFzcyB0aGF0IHdlJ3JlIGRyb3BwaW5nIGJ1ZmZlcnMsCgkgIHNvIGl0IGRyb3BzIHRoZSBpbnB1dCB0aW1lc3RhbXBzIGNvcnJlc3BvbmRpbmcgdG8gdGhlc2UuCgkgIE90aGVyd2lzZSwgdGhlIGZpcnN0IGFjdHVhbCBhdWRpbyBidWZmZXJzIHdlIG91dHB1dCB3aWxsIGJlCgkgIHN0YW1wZWQgd2l0aCB0aG9zZSAtIEdTVF9DTE9DS19USU1FU1RBTVBfTk9ORS4gVGhhdCBtaXNtYXRjaAoJICBiZXR3ZWVuIGlucHV0IGJ1ZmZlciBjb3VudCBhbmQgb3V0cHV0IGJ1ZmZlciBjb3VudCB3aWxsIHN0YXkKCSAgd2hpbGUgcGxheWluZy4gV2l0aCBlbm91Z2ggaGVhZGVycyBhbmQgbG9uZyBlbm91Z2ggYnVmZmVyCgkgIGR1cmF0aW9ucywgdGhlIHNpbmsgd2lsbCBoYXZlIHBsYXllZCBlbm91Z2ggYmVmb3JlIHJlY2VpdmluZwoJICB0aGUgZmlyc3QgdmFsaWQgdGltZXN0YW1wICh1c3VhbGx5IDApLCBhbmQgd2lsbCB0cmlnZ2VyIGFuCgkgIGF1ZGlibGUgZGlzY29udGludWl0eS4KCjIwMTEtMTEtMTQgMTU6MzQ6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBkZXRlY3Qgd2hlbiBhIGZpbGUgbGllcyBhYm91dCBmaXhlZCBibG9jayBzaXplCgkgIElmIHRoZSBzYW1wbGUvYmxvY2sgbnVtYmVyIGhhcHBlbnMgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGJsb2NrCgkgIHNpemUsIHdlIGFzc3VtZSB2YXJpYWJsZSBibG9jayBzaXplLCBhbmQgdGh1cyBjb3VudGVycyBpbiBzYW1wbGVzCgkgIGluIHRoZSBoZWFkZXJzLiBUaGlzIGNhbiBvbmx5IGdldCB1cyBhIGZhbHNlIHBvc2l0aXZlIGZvciBhIGJsb2NrCgkgIHNpemUgb2YgMSwgd2hpY2ggaXMgaW52YWxpZC4gV2UgY2FuIGdldCBmYWxzZSBuZWdhdGl2ZXMgbW9yZQoJICBvZnRlbiB0aG91Z2ggKGVnLCBpZiBub3Qgc3RhcnRpbmcgYXQgdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0pLAoJICBidXQgdGhlbiB0aGF0J3MgYWxyZWFkeSBHSUdPLgoKMjAxMS0wOS0wMiAxOToyMDowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogQWRkIHNwZWNpYWwgbW9kZSB0byB1c2UgRklSIGFzIHJlcGFpciBhcyBHb29nbGUgZG9lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTA5LTAxIDE3OjQ3OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IFNlbmQgRklSIHJlcXVlc3RzIGluIHJlc3BvbnNlIHRvIGtleSB1bml0IHJlcXVlc3RzIHdpdGggYWxsLWhlYWRlcnM9VFJVRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTA5LTAxIDE2OjI1OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IFB1dCB0aGUgUExJIHJlcXVlc3RzIGluIGVhY2ggUlRQU291cmNlCgkgIEFsc28gcmVmYWN0b3IgYSBiaXQgYW5kIHB1dCBhbGwgdGhlIGtleWZyYW1lIHJlcXVlc3QgY29kZSBpbiBvbmUKCSAgcGxhY2UgaW5zaWRlIHJ0cHNlc3Npb24uYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTA4LTMxIDE0OjM1OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBIYWNrIHRvIEZJUiBiZWNhdXNlIEdvb2dsZSBkb2Vzbid0IHNldCB0aGUgc2VuZGVyIHNzcmMgY29ycmVjdGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDgtMzAgMTk6MDY6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogUHJvY2VzcyByZWNlaXZlZCBGdWxsIEludHJhIFJlcXVlc3RzCgkgIFByb2Nlc3MgRklSIHJlcXVlc3RzIGFjY29yZGluZyB0byBSRkMgNTEwNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTExLTA3IDE4OjQzOjI2ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyB0byAxLzEKCSAgV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgc2V0dGluZyB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGZyb20gVjRMMi4gU28KCSAgc2ltcGx5IHNldCBpdCB0byBiZSAxLzEgaW4gdGhlIGNhcHMgdG8gcHJldmVudCBuZWdvdGlhdGlvbiBmYWlsdXJlcyB3aGVuCgkgIGZpeGF0aW5nIHRvIHdlaXJkIHZhbHVlcyAoZS5nLiB3aGVuIHRoZSBkb3duc3RyZWFtIGNhcHMgaGFzCgkgIHBpeGVsLWFzcGVjdC1yYXRpbyA9IFsgTUlOLCBNQVggXSApCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM1ODAKCjIwMTEtMTEtMTQgMDk6Mzk6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgdGVzdHM6IG1ha2UgaWQzZGVtdXggdGVzdCBjb21waWxlCgkgIFN0aWxsIGZhaWxzIHRob3VnaC4KCjIwMTEtMTEtMTIgMTU6NDI6MjcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IG5vIG5lZWQgdG8gZXhwbGljaXRlbHkgYWRkIGNvbnRyb2xsZWQgcHJvcGVydGllcyBhbnltb3JlCgoyMDExLTExLTEzIDIzOjQyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFVwZGF0ZSBmb3IgR3N0VVJJSGFuZGxlciBnZXRfcHJvdG9jb2xzKCkgY2hhbmdlcwoKMjAxMS0xMS0xMyAxODo1MDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBzb3VwLCBwdXNoZmlsZSwgcnRzcCwgdWRwLCB2NGwyOiB1cGRhdGUgZm9yIEdzdFVSSUhhbmRsZXIgQVBJIGNoYW5nZXMKCjIwMTEtMTEtMTEgMTk6MjQ6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCjIwMTEtMTEtMTEgMTk6MjE6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwOiBmaXggZm9yIHJ0cCBoZWFkZXIgY2hhbmdlcwoKMjAxMS0xMS0xMSAxMDowNjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBmaXggY2FwcyBsZWFrCgoyMDExLTExLTExIDE0OjU1OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkbyBub3QgbGVhayBjbGllbnRuYW1lIHdoZW4gc2V0dGluZyB1cCBwcm9wZXJ0eQoKMjAxMS0xMS0xMSAxODowNTozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IENoYWluIHVwIGRpc3Bvc2UoKSBpbiBwdWxzZWF1ZGlvc2luawoKMjAxMS0xMS0xMSAxMjozMjo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3J0cC9mbnYxaGFzaC5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHVwZGF0ZSBmb3IgYmFzZSBjbGFzcyByZW5hbWUKCjIwMTEtMTEtMTEgMTI6MjU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHVwZGF0ZSBmb3IgYmFzZSBjbGFzcyByZW5hbWUKCjIwMTEtMTEtMTEgMTI6MDE6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgdXBkYXRlIGZvciBhdWRpb2Jhc2UqIHJlbmFtZQoKMjAxMS0xMS0xMSAxMTo1Mzo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIGF1ZGlvOiB1cGRhdGUgZm9yIGJhc2UgY2xhc3MgcmVuYW1lCgoyMDExLTExLTExIDExOjMzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBmaXggZm9yIHJpbmdidWZmZXIgcmVuYW1lCgoyMDExLTExLTExIDExOjI0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICB1cGRhdGUgZm9yIHJpbmdidWZmZXIgY2hhbmdlCgoyMDExLTExLTEwIDIzOjE1OjMwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IGFwaSBjaGFuZ2VzCgoyMDExLTExLTEwIDIzOjA5OjIzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgdmFyaW91czogYWRkIG1pc3NpbmcgaW5jbHVkZXMKCjIwMTEtMTEtMTAgMjE6MzU6MjQgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNvbXBpbGF0aW9uIHdpdGggcHVsc2VhdWRpbyAwLjkKCjIwMTEtMTEtMTAgMTg6MzI6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgYWRhcHRlciBhcGkgY2hhbmdlcwoKMjAxMS0xMS0xMCAxNzoyMzo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHVwZGF0ZSBmb3IgY2hhbmdlZCBiYXNlIGNsYXNzZXMKCjIwMTEtMTEtMTAgMTM6NTA6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIGZpeCBmb3IgYXVkaW8gY2xvY2sgY2hhbmdlCgoyMDExLTExLTEwIDExOjAzOjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHVwZGF0ZSBmb3IgcmVtb3ZlZCBmaXhhdGUgZnVuY3Rpb24KCjIwMTEtMTEtMDkgMTc6NDA6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTA5IDE3OjM4OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgdXBkYXRlcyBmb3IgbmV3IGFjY2VwdGNhcHMgcXVlcnkKCjIwMTEtMTEtMDggMTU6MzU6MjYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHdyb25nIHN0cmlkZSB3aGVuIGludmVydGluZyB1bmNvbXByZXNzZWQgdmlkZW8KCSAgU3VjaCBmcmFtZXMgaGF2ZSBhIHN0cmlkZSBtdWx0aXBsZSBvZiA0LCBzZWUKCSAgaHR0cDovL2xzY3ViZS5vcmcvcGlwZXJtYWlsL2ZmbXBlZy1pc3N1ZXMvMjAxMC1BcHJpbC8wMTAyNDcuaHRtbC4KCSAgVGhpcyBzaG93ZWQgdXAgb24gYSBzYW1wbGUgdXNpbmcgYSBvZGQgd2lkdGggb2YgMjQgYml0IHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyMjg4CgoyMDExLTExLTA5IDEyOjI1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBoMjYzcHBheTogcmVwb3J0IHRvIDAuMTEKCjIwMTEtMTEtMDkgMTI6MTg6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmMKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTEtMTEtMDkgMTE6NTY6MDcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogZml4IGNvbXBpbGVyIHdhcm5pbmcgZm9yIHVuaW5pdGlhbGl6ZWQgdmFsdWVzCgoyMDExLTExLTA5IDExOjUzOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICByZW1vdmUgcXVlcnkgdHlwZXMKCjIwMTEtMTEtMDkgMTA6MzI6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1pbmltYWwgc2FuaXR5IGNoZWNrIG9uIGNyZWF0aW9uIGRhdGV0aW1lCgoyMDExLTExLTA0IDE3OjU0OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBkdG1mc3JjOiBSZWplY3Qgc3RhcnQvc3RvcCByZXF1ZXN0cyB0aGF0IGNvbWUgb3V0IG9mIG9yZGVyCgoyMDExLTEwLTI5IDE4OjI0OjI2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFBvc3QgbWVzc2FnZXMgd2hlbiBzdGFydGluZyB0byBzZW5kL3JlY2VpdmUgRFRNRgoJICBUaGlzIHdheSwgdGhlIFVJIGNhbiBkaXNwbGF5IHRoZSBEVE1GIGV2ZW50cyBhcyB0aGV5IGFzIGJlaW5nIHNlbnQuCgoyMDExLTExLTAyIDEyOjU4OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogUmV0dXJuIHRoZSBzaW5rIHBhZCB0ZW1wbGF0ZSBhcyBzaW5rIGNhcHMsIG5vdCB0aGUgc3JjJ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3Nzc4NAoKMjAwOS0wMy0xNSAxOToyNjo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogQWxzbyBpbXBsZW1lbnQgc2l6ZS9mcmFtZXJhdGUgcmVzdHJpY3Rpb25zIGluIGdldGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3Nzc4NAoKMjAwOS0wMy0wNCAyMDo1MDoxOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogSW1wbGVtZW50IGdldGNhcHMgZm9sbG93aW5nIFJGQyA0NjI5LCBwaWNrcyB0aGUgcmlnaHQgYW5uZXhlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDExLTExLTA4IDE0OjMxOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIHNldCBzZWdtZW50IHN0b3AgYXQgc3RhcnR1cCByYXRoZXIgdGhhbiBvbmx5IHBvc3Qgc2VlawoJICAuLi4gc28gYXMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgcGxheWJhY2sgd2l0aCBvciB3aXRob3V0IHNlZWssIGVzcGVjaWFsbHkKCSAgaW4gcHJlc2VuY2Ugb2Ygc29tZSBib2d1cyBlZGl0IGxpc3QgZW50cmllcy4KCjIwMTEtMTEtMDggMTE6MTg6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICB1cGRhdGUgZm9yIHByb2JlIGFwaSBjaGFuZ2VzCgoyMDExLTExLTA4IDA4OjUwOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBjb2RlIGNsZWFudXBzCgkgIE1vdmUgdmFyaWFibGVzIHRvIHRoZSBzY29wZSB3aGVyZSB0aGV5IGFyZSBuZWVkZWQuIFVzZSBvdXIgbWFjcm9zIGFuZCBmdW5jdGlvbnMKCSAgbW9yZS4KCjIwMTEtMTEtMDggMDg6NDk6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGFkZCBhIHNpbmtfcXVlcnkgdG8gZWF0IGFsbG9jYXRpb24gcXVlcmllcwoJICBXZSBzaG91bGQgbm90IGZvcndhcmQgYWxsb2NhdGlvbiBxdWVyaWVzIGZvciBhdWRpbyB0byB0aGUgdmlkZW8gc2luay4KCjIwMTEtMTEtMDIgMTc6MDI6NTQgKzAwMDAgIFJhdWwgR3V0aWVycmV6IFNlZ2FsZXMgPHJnc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICBnc3QvZmx2LzogYWRkIGFtZmRlZnMuaCB0byBub2luc3RfSEVBREVSUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMzM0CgoyMDExLTExLTA3IDE3OjE0OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZml4IGZvciBwcm9iZSB1cGRhdGVzCgoyMDExLTEwLTAzIDE3OjUwOjQzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogZGV0ZWN0IGxhcmdlIHB0cyBnYXBzIGFuZCByZXN5bmMKCSAgU2hvdWxkIHdvcmsgb24gbXVsdGlwbGUgZ2FwcywgYnV0IHRlc3RlZCBvbiBvbmx5IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTQzMAoKMjAxMS0wOC0yMiAxMDo0MDo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBvZmYgYnkgb25lIGJldHdlZW4gZ3JhbnBvcyBhbmQgbGFzdF9zdG9wCgoyMDExLTEwLTA3IDE5OjQxOjM1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IGxhc3QgZnJhbWUgdGltZXN0YW1wIGluIGZpeGVkIGJsb2NrIHNpemUgbW9kZQoJICBUaGUgbGFzdCBibG9jayBtYXkgaGF2ZSBhIGRpZmZlcmVudCBibG9jayBzaXplLCBzbyB3ZSBzaG91bGQgbm90CgkgIHVzZSBpdCB0byBzY2FsZSBvciB3ZSdsbCBlbmQgdXAgd2l0aCBhIHdyb25nIHRpbWVzdGFtcC4KCSAgU2VlIGNvbW1lbnQgYW5kIHF1b3RlIGZyb20gdGhlIEZMQUMgZm9ybWF0IGRvY3VtZW50YXRpb24gaW4gdGhlIGNvZGUuCgkgIEZpeGVzIGxvb3BlZCBwbGF5YmFjayBvZiBGTEFDIGZpbGVzICh2aWEgYWJvdXQtdG8tZmluaXNoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTIxNQoKMjAxMS0xMC0yNyAxNTo1Mjo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgIGNhaXJvdGV4dG92ZXJsYXk6IGFkZCBhICdzaWxlbnQnIHByb3BlcnR5IHRvIHNraXAgcmVuZGVyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI4NTYKCjIwMTEtMTEtMDcgMTI6MDA6MTIgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogZml4IHJlZ3Jlc3Npb24gY2F1c2luZyBtYWxmb3JtZWQgZmlsZXMKCSAgVGhpcyB3YXMgY2F1c2VkIGJ5IG1lIGluIDFiMjEzZC4gSXQgc2VlbXMgSSB3YXMgdG9vIGZvY3VzZWQgb24gMC4xMSB3aGVuIEkgZGlkCgkgIHRoaXMgYW5kIHRlc3RlZCB0aGUgd3JvbmcgYnJhbmNoLgoJICBUaGUgcHJvYmxlbSB3YXMgcmVwb3J0ZWQgYnkgQWxleGV5IEZpc2hlci4KCjIwMTEtMTEtMDQgMTg6NDE6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgbG9jYXRpb24gYW5kIGFwaQoKMjAxMS0xMS0wNCAxNzozOToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxNjoyMToxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogbW9yZSAwLjExIGZpeGluZwoJICBNYWtlIHN1cmUgdGhlIGNhcHMgZXZlbnQgZ2V0cyB0byB0aGUgc2luay4KCjIwMTEtMTEtMDQgMTU6MzU6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IHBvcnQgc29tZSBtb3JlCgkgIFJlbmFtZSBkZWNvZGViaW4yIC0+IGRlY29kZWJpbiBzb21lIG1vcmUKCSAgQ2xlYW51cCB1cCBzaW5rcGFkIGV2ZW50IGhhbmRsaW5nCgoyMDExLTExLTA0IDEzOjU2OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBwb3J0IHNvbWUgbW9yZSB0byAwLjExCgkgIFdlIG11c3Qgbm90IGZvcndhcmQgdGhlIGNhcHMgZXZlbnQuIGluc3RlYWQgd2Ugd2lsbCBkZWNpZGUgd2hhdCB0byBkbyB3aGVuIHRoZQoJICBwYWQgYmxvY2sgaXMgdGFrZW4uCgkgIFVzZSBkZWNvZGViaW4gaW5zdGVhZCBvZiBkZWNvZGViaW4yCgoyMDExLTExLTA0IDEzOjEyOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTE6NTg6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgbWFrZSAldSBpbiBhbGwgcmVxdWVzdCBwYWQgdGVtcGxhdGVzCgoyMDExLTExLTA0IDExOjAxOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmMKCjIwMTEtMTEtMDQgMTA6MzI6NDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIFBvcnQgYXBlZGVtdXgKCjIwMTEtMTEtMDMgMjM6Mjg6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwOiB1c2UgR0xpYidzIEdfQklHX0VORElBTiBkZWZpbmUgaW5zdGVhZCBvZiBCSUdfRU5ESUFOCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgb24gbWluZ3czMgoKMjAxMS0xMS0wMyAxNjo0MzowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXcgbmV0IGxpYnJhcnkKCjIwMTEtMTEtMDIgMTI6MDk6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB0YWdzOiB1cGRhdGUgZm9yIHRhZyBBUEkgcmVtb3ZhbAoKMjAxMS0xMS0wMiAxMDo0MDoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMzEgMDI6NDA6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXRidWZmZXIgYXBpIGNoYW5nZQoKMjAxMS0xMC0zMSAwMjozNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV0YWRkcmVzcyBjaGFuZ2UKCjIwMTEtMTAtMzEgMDI6MjQ6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBtZXRhIGFwaSBjaGFuZ2UKCjIwMTEtMTAtMjkgMDk6Mjk6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldyB0YXNrIGFwaQoKMjAxMS0xMC0yOSAwOTowOTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgc3RydWN0dXJlOiBmaXggZm9yIGFwaSB1cGRhdGUKCjIwMTEtMTAtMjkgMDg6MjU6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBidWZmZXJsaXN0OiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMTEtMDEgMDA6NDA6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgVXBkYXRlIGZvciBwYWQgQVBJIGNoYW5nZXMKCSAgR3N0UHJvYmVUeXBlLCBHc3RQcm9iZVJldHVybiBhbmQgR3N0QWN0aXZhdGVNb2RlIC0+IEdzdFBhZCoKCjIwMTEtMTAtMzEgMTg6Mzg6NTUgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggb2J2aW91cyBjcmFzaAoKMjAxMS0xMC0zMSAxNjoxODozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCBzaG9ydGN1dCBldmFsdWF0aW9uIHdoZW4gYWRkaW5nIHBhaXJlZCBtcDQgdGFnCgkgIEZpeGVzIChwYXJ0IG9mKSAjNjM4NzExLgoKMjAxMS0xMC0zMSAxNTo0MzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgdXNlIHVub2ZmaWNhbCBWX01KUEVHIGNvZGVjIGlkCgkgIC4uLiBidXQgYXMgbm90IHNwZWMnZWQgZXNwZWNpYWxseSwgY29uc2lkZXIgaXQgYSBWZlcgY29tcGF0aWJpbGl0eSBjYXNlLgoJICBGaXhlcyAjNjU5ODM3LgoKMjAxMS0xMC0zMCAxOTozMDoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IHJlbW92ZSBkZWFkIGNvZGUgZnJvbSBoZWFkZXIKCSAgV2UgcmVxdWlyZSBhIG5ldy1lbm91Z2ggbGliZmxhYyB0aGF0IHRoaXMgY29uZGl0aW9uIHdpbGwgbmV2ZXIgYXBwbHkuCgoyMDExLTEwLTMwIDE5OjA5OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogcGFyc2Ugc3RyZWFtIGhlYWRlcnMgZnJvbSBjYXBzIGluIHNldF9mb3JtYXQgZnVuY3Rpb24KCSAgTm90IHRoYXQgdGhpcyBzZWVtcyB0byBiZSBhY3R1YWxseSBuZWVkZWQsIGxpYmZsYWMgaGFwcGlseSBkZWNvZGVzCgkgIHN0dWZmIGV2ZW4gaWYgd2UganVzdCBkcm9wIGFsbCBoZWFkZXJzIGFuZCBuZXZlciBmZWVkIGl0IHRvIHRoZQoJICBsaWJyYXJ5LgoKMjAxMS0xMC0zMCAxODo0OToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZG9uJ3QgZXh0cmFjdCBtZXRhZGF0YSwgbGVhdmUgdGhhdCB0byB0aGUgcGFyc2VyIG9yIGNvbnRhaW5lcgoKMjAxMS0xMC0zMCAxODo0NTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogd2UgZXhwZWN0IGZyYW1lZCBpbnB1dCBub3csIHJlbW92ZSBzb21lIG1vcmUgY29kZQoKMjAxMS0xMC0wOSAxNjoxODowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogbmFpdmUgcG9ydCB0byBHc3RBdWRpb0RlY29kZXIKCSAgVGhpcyB3b3VsZCBwcm9iYWJseSBoYXZlIGJlZW4gdG9vIGludmFzaXZlIHRvIGRvIGluIHRoZSAwLjEwCgkgIGJyYW5jaCwgd2l0aCBhbGwgdGhlIHB1bGwtbW9kZSBhbmQgcGFyc2VyIGhhbmRsaW5nIGNvZGUgaW4KCSAgdGhlcmUuCgoyMDExLTEwLTMwIDExOjQ0OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGV4dCwgZ3N0OiB1cGRhdGUgZm9yIHRhZ2xpc3QgQVBJIGNoYW5nZXMKCjIwMTEtMTAtMzAgMTE6NDE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24gb2YgYXVkaW8gdGVzdHMgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTEtMTAtMjggMjE6MjY6MzMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IHNpbXBsaWZ5IGdldF91bml0X3NpemUKCjIwMTEtMTAtMjggMjE6MTk6NDIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSAgdGVzdHM6IGF1ZGlvZWNobzogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDIxOjE4OjMzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogZml4IGludGVybmFsIGJ1ZmZlciBzaXplIGNhbGN1bGF0aW9uCgoyMDExLTEwLTI4IDE0OjA1OjQ4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJICB0ZXN0czogYXVkaW9jaGViYmFuZDogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDE2OjUyOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0yOCAxNTowODoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogZml4IHBvcnRpbmcgZXJyb3JzCgkgIFRoZSBwcm9iZXMgd2VyZSBwb3J0ZWQgd3JvbmdseSBhbmQgY2F1c2VkIGRlYWRsb2Nrcy4KCjIwMTEtMTAtMjggMDk6NTc6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgc29mLW1hcmtlciB0byB0ZW1wbGF0ZSBjYXBzLCBzbyB3ZSBkb24ndCBnZXQgcGx1Z2dlZCBmb3IgbG9zc2xlc3MganBlZwoJICBqcGVnZGVjICh1c2luZyBsaWJqcGVnIDYuMi84KSBjYW4ndCBkZWNvZGUgc29tZSBsb3NzbGVzcyB0eXBlcyBvZiBKUEVHLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU2NjQ4CgoyMDExLTEwLTI4IDEzOjA2OjIwICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSAgdGVzdHM6IGF1ZGlvY2hlYmxpbWl0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMTM6MDI6NTYgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiBmaXggY3Jhc2ggaW4gcHJvY2VzcygpCgoyMDExLTEwLTI4IDExOjQ4OjMxICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkgIHRlc3RzOiBhdWRpb2FtcGxpZnk6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAxMjo1MTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogZml4IGNoZWNrIGZvciBlbXB0eSBjYXBzCgoyMDExLTEwLTI4IDEyOjMwOjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlbGFib3JhdGUgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDExLTEwLTExIDIwOjU2OjUxICswNDAwICBTdGFzIFNlcmdlZXYgPHN0c3BAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogYmUgY2FyZWZ1bCB3aXRoIG5lZ2F0aXZlIGN0cwoJICBGaXhlcyAjNjYxNDc3LgoKMjAxMS0xMC0wNiAxMzowNDo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdHVuZSBub24tdXBkYXRlIHNlZWsgaGFuZGxpbmcgY2FzZXMKCSAgRml4ZXMgIzY2MTA0OS4KCjIwMTEtMTAtMjggMTE6NDY6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmMKCjIwMTEtMTAtMjggMTE6MTY6MzggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9keW5hbWljOiBkb24ndCBzZXQgcHJvY2VzcyBmdW5jdGlvbiB0b28gZWFybHkKCSAgR3N0QXVkaW9JbmZvIGFuZCBHc3RBdWRpb0ZpbHRlciBoYXZlIGJlZW4gY2hhbmdlZCBzbyB0aGF0IHRoaXMgY29kZSBkb2Vzbid0CgkgIGNyYXNoIGFueW1vcmUgd2hlbiBhIHByb3BlcnR5IGlzIHNldCBpbiBOVUxMIHN0YXRlLgoKMjAxMS0xMC0yOCAxMDo0MjowNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJICB0ZXN0czogYXVkaW9keW5hbWljOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMDA6MjQ6MTQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICB0ZXN0czogc3BlY3RydW06IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yNyAyMzo1NzoxNyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSAgdGVzdHM6IGF1ZGlvcGFub3JhbWE6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yNyAyMzo1NjoxMiArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IGdldF91bml0X3NpemUKCjIwMTEtMTAtMjggMTA6NDA6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFVzZSB0aGUgY2xpcCBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRoZSBwcmVwYXJlX2J1ZmZlciBmdW5jdGlvbgoKMjAxMS0xMC0yOCAwOTowNToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgcnRwbWFuYWdlciwgdjRsMjogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFmdGVyIGdzdF9jYXBzX25ld19zaW1wbGUoKSBjaGFuZ2UKCjIwMTEtMTAtMjggMDk6MDE6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5ncyBhZnRlciBnc3RfY2Fwc19uZXdfc2ltcGxlKCkgY2hhbmdlCgoyMDExLTEwLTI4IDA5OjM2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXIyOiBVc2UgY29sbGVjdHBhZHMyIGZyb20gY29yZQoKMjAxMS0xMC0yNyAxOTozOToyMCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogcG9ydCB0byAwLjExIHJhdyBhdWRpbyBjYXBzCgoyMDExLTEwLTI3IDE5OjA2OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmMKCjIwMTEtMTAtMjcgMTk6MDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgbWFrZSBzb21lIG1vcmUgdGhpbmdzIGNvbXBpbGUgYWdhaW4KCjIwMTEtMTAtMjcgMTY6MDg6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgoyMDExLTEwLTI3IDE2OjAzOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgZml4IGNvbXBpbGF0aW9uCgoyMDExLTEwLTI4IDAwOjQxOjQ1ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvbid0IHBvaW50bGVzc2x5IGhvbGQgb2JqZWN0IGxvY2sgb3ZlciBjYXBzIG9wZXJhdGlvbnMKCSAgQXZvaWRzIGEgZGVhZGxvY2sgd2hlbiBnZXRjYXBzIGlzIHJlY3Vyc2l2ZSBkdWUgdG8gdGhlIGdldGNhcHMgYmVpbmcKCSAgcmVmbGVjdGVkIHVwc3RyZWFtL2Rvd25zdHJlYW0uIFRoZSBsb2NrIGlzbid0IGFjdHVhbGx5IHByb3RlY3RpbmcKCSAgYW55dGhpbmcgaGVyZS4KCjIwMTEtMTAtMjcgMDA6Mzc6MDMgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9mbHYvYW1mZGVmcy5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGFkZCBzb21lIGNvbW1lbnRzIGFuZCBkZWZpbmVzIHRvIGNsYXJpZnkgY29kZS4KCjIwMTEtMTAtMTAgMTU6MzY6MTQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgZWJtbC13cml0ZSB0byBiZSBtb3JlIDAuMTEgZnJpZW5kbHkKCSAgU3dpdGNoaW5nIHRvIGEgbW9yZSAwLjExLWZyaWVuZGx5IHBhdHRlcm4sIHdoZXJlIGdldHRpbmcgdGhlIGJ1ZmZlcidzIGRhdGEKCSAgcG9pbnRlciBhbmQgc2V0dGluZyB0aGUgc2l6ZSBtYW55IHRpbWVzIGlzIGxlc3MgbmF0dXJhbC4gVGhpcyBpcyBvZiBjb3Vyc2UgaW4KCSAgcHJlcGFyYXRpb24gdG8gdGhlIHVwY29taW5nIHBvcnQgb2YgdGhlIHBsdWdpbi4KCjIwMTEtMTAtMTEgMjE6NDU6NDYgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogcmVtb3ZlIHN0YWxlIGZsb2F0Y2FzdCBpbmNsdWRlCgkgIEdET1VCTEVfVE9fQkUgd2FzIG1vdmVkIHRvIGNvcmUgYSBsb25nIHRpbWUgYWdvLgoKMjAxMS0xMC0xMSAyMjoxMDoyNyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBwb3NzaWJsZSBjcmFzaCB3aXRoIG1hbGZvcm1lZCBkaXJhYyBjb2RlY19kYXRhCgkgIFNpbmNlIHNpemUgaXMgdW5zaWduZWQsIHdlIG5lZWQgdG8gc2FmZWd1YXJkIGFnYWluc3Qgd3JhcHBpbmcgYmVsb3cgemVyby4KCjIwMTEtMTAtMjEgMjI6MzM6MzQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IHJlbW92ZSBhdm9pZGFibGUgY2FsbCB0byBnc3Rfb2JqZWN0X3NldF9uYW1lCgoyMDExLTEwLTIxIDIyOjMyOjM4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgYXZvaWRhYmxlIGNhbGwgdG8gZ3N0X29iamVjdF9zZXRfbmFtZQoKMjAxMS0xMC0yMSAxNDo1MToyMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgIGludGVyZmFjZXM6IGNsZWFuIHVwIHRoZSB1c2Ugb2YgaWZhY2UgYW5kIGNsYXNzL2tsYXNzCgoyMDExLTEwLTIxIDExOjM3OjA1ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHNvIGl0cyBwYXJhbGVsLWluc3RhbGxhYmxlIGFuZCBvbmx5IHRyaWVzIHRvIHBhY2thZ2UgcG9ydGVkIHBsdWdpbnMKCjIwMTEtMTAtMTYgMjA6MzA6MjUgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGluY3JlYXNlIGFyYml0cmFyeSByZXNvbHV0aW9uIGxpbWl0cwoJICBBcHBhcmVudGx5IGxpYnBuZyBjYW4gdGVjaG5pY2FsbHkgZG8gdXAgdG8gMl4zMS0xIHJvd3MgYW5kIGNvbHVtbnMuIEhvd2V2ZXIgaXQKCSAgaW1wb3NlcyBhbiAoYXJiaXRyYXJ5KSBkZWZhdWx0IGxpbWl0IG9mIDEgbWlsbGlvbiAodGhhdCBjb3VsZCB0aGVvcmV0aWNhbGx5IGJlCgkgIGxpZnRlZCBieSB1c2luZyBzb21lIGFkZGl0aW9uYWwgQVBJKS4KCSAgTW92ZWQgYXJyYXkgYWxsb2NhdGlvbiB0byB0aGUgaGVhcCBub3cuCgoyMDExLTEwLTE2IDIwOjI1OjQxICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBkb24ndCB1bmNvbmRpdGlvbmFsbHkgYWxsb2NhdGUgNDA5NiBwb2ludGVycyBvbiB0aGUgc3RhY2sKCSAgSW5zdGVhZCBhbGxvY2F0ZSBhcyBtYW55IGFzIG5lZWRlZCAob24gdGhlIHN0YWNrIHN0aWxsKS4KCjIwMTEtMTAtMTYgMjA6MDU6MjggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGVuc3VyZSBzZXRjYXBzIHdhcyBjYWxsZWQgYmVmb3JlIGNoYWluIGZ1bmN0aW9uCgkgIFRoaXMgaXMgbmVlZGVkIHRvIHByb3Blcmx5IGVycm9yIG91dCBmb3IgZS5nLiAiZmFrZXNyYyAhIHBuZ2VuYyAhIGZha2VzaW5rIi4KCjIwMTEtMTAtMTYgMTk6NDQ6MjcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IHZhbGlkYXRlIGlucHV0IGJ1ZmZlciBzaXplCgkgIEp1c3QgZm9yIHNhZmV0eTsgb2YgY291cnNlIHN1Y2ggbWlzbWF0Y2ggcmVwcmVzZW50cyBhIGJ1ZyBpbiBhbm90aGVyIGVsZW1lbnQuCgoyMDExLTEwLTE2IDE5OjQxOjI4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nZW5jOiBtYWtlIHNldGNhcHMgbW9yZSByb2J1c3QsIHVzZSBnc3R2aWRlbyBmdW5jdGlvbnMKCSAgQSBzZXRjYXBzIGZ1bmN0aW9uIG5lZWRzIHRvIGFjdHVhbGx5IHZlcmlmeSB0aGUgY2FwcyBjYXJlZnVsbHkuIEluIHRoaXMgY2FzZSwKCSAgaXQgd2FzIHBvc3NpYmxlIHRvIGUuZy4gbGluayBhIHZpZGVvIGRlY29kZXIgd2l0aCBZVVYrUkdCIHRlbXBsYXRlIGNhcHMgdG8KCSAgcG5nZW5jLiAgVGhhdCB3b3VsZCBjYXVzZSBhIGNyYXNoIHdoZW4gdGhlIGRlY29kZXIgcHVzaGVzIGEgWVVWIGJ1ZmZlci4gU2FtZQoJICB0aGluZyB3aGVuIHB1c2hpbmcgYSB2YWxpZCBidWZmZXIgdGhhdCBleGNlZWRzIHRoZSByZXNvbHV0aW9uIGxpbWl0cy4KCSAgQWxzbywgbWlzc2luZyBmcmFtZXJhdGUgY2FwcyBmaWVsZCB3b3VsZCBjYXVzZSBhIGdsaWIgY3JpdGljYWwgd2FybmluZyBkdWUgdG8KCSAgaW52YWxpZCBHVmFsdWUuIFRoaXMgZmFpbHMgaGFyZCBub3cuCgoyMDExLTEwLTIxIDEwOjAxOjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIGVibWw6IHNtYWxsIGNvcnJlY3Rpb24gdG8gcHJldmlvdXMgY29tbWl0CgkgIFNpZ25hbCBhIHNob3J0IHJlYWQgd2l0aCBVTkVYUEVDVEVELCBleGFjdGx5IGxpa2UgdGhlIHBlZWtfYnl0ZXMgZnVuY3Rpb24uCgoyMDExLTEwLTE5IDEzOjA5OjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBlYm1sOiBGaXggcHVzaC1iYXNlZCBiZWhhdmlvdXIKCSAgVGhlICdwZWVrJyBtZXRob2Qgd2FzIGNvbXBsZXRlbHkgd3JvbmcgKCE/KQoKMjAxMS0xMC0xOCAxODozMToxNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IEdldCBjYXBzIGNvcnJlY3RseSBvbiBwYWQgYmxvY2sKCSAgSW5zdGVhZCBvZiBhbHdheXMgZ29pbmcgdXBzdHJlYW0sIHdlIHNob3VsZCBmaXJzdCBzZWUgaWYgYWxyZWFkeSBnb3QKCSAgY2FwcyBmcm9tIGEgc2V0Y2FwcygpIGNhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjEyNjIKCjIwMTEtMTAtMTggMTI6MjU6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBkb24ndCB1bnJlZiBidWZmZXIgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkKCjIwMTEtMTAtMTggMTI6MDU6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb25seSB1c2UgaXNfcGNtIGZvciAxLjAgb2YgcHVsc2VhdWRpbwoKMjAxMS0xMC0xOCAxMTo1ODo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBvbmx5IGRpc2FibGUgdHJpY2ttb2RlcyBmb3IgIXBjbQoJICBPbmx5IGRpc2FibGUgdHJpY2ttb2RlcyB3aGVuIHdlIGFyZSBub3QgZGVhbGluZyB3aXRoIHJhdyBQQ00gc2FtcGxlcy4KCjIwMTEtMTAtMTYgMTU6MzI6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0xNiAxNToyNjozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jCgoyMDExLTEwLTE0IDEwOjU2OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBGaXggYSBsZWFrCgkgIEJ1ZmZlcnMgd2VyZW4ndCBiZWluZyB1bnJlZidlZCBpbiBvbmUgY2FzZSBpbnNpZGUsIGNhdXNpbmcgbWVtb3J5IHVzYWdlCgkgIHRvIGJsb3cgdXAuCgoyMDExLTEwLTE0IDA5OjEwOjAxICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgc2V0IGNvbG91ciBtYXNrcyBmb3IgdmlkZW8veC1yYXctcmdiIGluIHJ0cHZyYXdkZXBheQoKMjAxMS0xMC0xMyAwMTowNToxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlLWVuYWJsZSB2aWRlb2Nyb3AgcGx1Z2luCgkgIEFscmVhZHkgcG9ydGVkIHRvIDAuMTEKCjIwMTEtMTAtMTMgMDE6MDU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkgIGFzcGVjdHJhdGlvY3JvcDogUG9ydCB0byAwLjExCgoyMDExLTEwLTEzIDAwOjM5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAxNzo0Mzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkgIHRlc3RzOiBhc3BlY3RyYXRpb2Nyb3A6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAwODoyNDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJICB0ZXN0czogYWxwaGFjb2xvcjogUG9ydCB0byAwLjExCgoyMDExLTEwLTEzIDE3OjEyOjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogUHJvcGVybHkgcmVnaXN0ZXIgdHlwZQoJICBJdCdzIGEgc3ViY2xhc3Mgb2YgR3N0QXVkaW9FbmNvZGVyIGFuZCBub3Qgb2YgR3N0RWxlbWVudAoKMjAxMS0xMC0xMyAxNjo1OTo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogRml4IGluY29ycmVjdCBnc3RfYnVmZmVyX3JlcGxhY2UoKSBjYWxsCgkgIFRoaXMgZ290IGV4cG9zZWQgd2hlbiBnc3RfYnVmZmVyX3JlcGxhY2UoKSB3YXMgY2hhbmdlZCBmcm9tIGEgbWFjcm8gdG8gYQoJICBmdW5jdGlvbi4KCjIwMTEtMTAtMTMgMDk6MzQ6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRml4IHdyb25nIHVzYWdlIG9mIGdzdF9pdGVyYXRvcl9maWx0ZXIKCSAgSXQgdGFrZXMgYSBHVmFsdWUqIGFzIHRoZSB1c2VyX2RhdGEuCgkgIEFuZCBkb24ndCBmb3JnZXQgdG8gdW5yZWYgdGhlIGRlbXV4ZXIgYmVmb3JlIHJldHVybmluZy4KCjIwMTEtMTAtMTMgMDk6MDI6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGZpeCBjb21waWxlCgoyMDExLTEwLTEzIDA4OjU4OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYwoJICBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYwoKMjAxMS0xMC0xMiAwODowOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICB0ZXN0czogY21tbGVuYzogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDA4OjAyOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgIHRlc3RzOiBjbW1sZGVjOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMDc6Mjk6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogVXNlIG5ldyBHc3RJdGVyYXRvciBBUEkgY29ycmVjdGx5CgkgIEdzdEl0ZXJhdG9yIG5vdyB1c2VzIEdWYWx1ZSwgdXNlIGl0IGNvcnJlY3RseS4KCjIwMTEtMTAtMTIgMTE6MjY6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IE9ubHkgdXNlIDI0IExTQiBmb3IgZGVwdGg9MjQgUkdCIGNhcHMKCSAgLi4uIGFuZCBpbmRlbnQgdGhlIG1hc2tzIGZvciBjbGFyaXR5CgoyMDExLTEwLTExIDE0OjU4OjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHNlZ21lbnQgaGFuZGxpbmcsIHNvIHdlIGFjdHVhbGx5IHVzZSBydW5uaW5nIHRpbWUKCSAgZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCBhZGp1c3RzIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIHJ1bm5pbmcgdGltZSB1c2luZwoJICB0aGUgc2VnbWVudCBzdG9yZWQgaW4gdGhlIHBhZCdzIGNvbGxlY3QgZGF0YS4gSG93ZXZlciwgdGhlIGV2ZW50IGhhbmRsZXIgZGlkbid0CgkgIHBhc3MgdGhlIG5ld3NlZ21lbnQgZXZlbnQgb24gdG8gY29sbGVjdHBhZHMnIGhhbmRsZXIsIHNvIHRoaXMgc2VnbWVudCB3YXMgbmV2ZXIKCSAgdXBkYXRlZCBhdCBhbGwuCgkgIFJlLWZpeGVzIGJ1ZyAjNDMyNjEyLgoKMjAxMS0xMC0xMCAxOTowMToyMyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSAgZ3N0cnRwZzcyMnBheTogQ29tcGVuc2F0ZSBmb3IgY2xvY2tyYXRlIHZzLiBzYW1wbGVyYXRlIGRpZmZlcmVuY2UKCSAgVGhlIFJUUCBjbG9jay1yYXRlIHVzZWQgZm9yIEc3MjIgaXMgODAwMCwgZXZlbiB0aG91Z2ggdGhlIHNhbXBsZXJhdGUgaXMKCSAgMTYwMDAuIENvbXBlbnNhdGUgZm9yIHRoaXMgYnkgcHJldGVuZGluZyBHNzIyIGhhcyA4IGJpdHMgcGVyIHNhbXBsZQoJICBpbnN0ZWFkIG9mIHRoZSA0IGJpdHMgYXMgaWYgaXQgd2VyZSBhIGNvZGVjIHRoYXQgcmFuIGF0IGhhbGYgdGhlIHNwZWVkLAoJICBidXQgd2l0aCB0d2ljZSB0aGUgbnVtYmVyIG9mIGJpdHMuIEZpeGVzICM2NjEzNzYKCjIwMTEtMDktMjcgMTk6MjU6NTMgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBJbXBsZW1lbnQgdXBzdHJlYW0gbmVnb3RpYXRpb24KCSAgQWRkIHVwc3RyZWFtIG5lZ290aWF0aW9uIGZvciBqcGVnZGVjLiBGaXhlcyAjNjYwMjc1CgoyMDExLTEwLTEwIDE5OjAyOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogZG9uJ3QgbGVhayBhdWRpbyBjb2RlY19kYXRhIGJ1ZmZlcgoKMjAxMS0xMC0xMCAxNzo0MToxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJICBhbHBoYTogRG9uJ3QgdXNlIHN0YXJ0KCkgdm1ldGhvZAoJICBUaGUgb25seSB0aGluZyB3ZSdyZSBkb2luZyBpcyBpbml0aWFsaXppbmcgcGFyYW1ldGVycyAuLi4KCSAgKiB3aGljaCB3b24ndCB3b3JrIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSB1cHN0cmVhbS9kb3duc3RyZWFtIGNhcHMKCSAgKiB3aGljaCB3aWxsIGJlIGluaXRpYWxpemVkIHdoZW4gOjpzZXRfY2FwcygpIGlzIGNhbGxlZAoKMjAxMS0xMC0xMCAxNDowODoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMTAgMTM6MjI6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBpZDNkZW11eDogcG9ydCB0byAwLjExCgoyMDExLTEwLTEwIDEzOjIwOjA0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgbWlzc2luZyBQTFVHSU5fQVNFX0xJQlMgdG8gTERBREQKCjIwMTEtMTAtMTAgMTI6NTQ6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogcG9ydCB0byAwLjExCgoyMDExLTEwLTEwIDEyOjI3OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgYW5ub2RleDogcG9ydCB0byAwLjExCgoyMDExLTEwLTEwIDExOjQ4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jCgoyMDExLTEwLTEwIDAwOjE4OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IHBvcnQgcHVsc2V1dGlsIHRvIDAuMTEKCjIwMTEtMTAtMDkgMjE6MTc6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogcG9ydCB0byAwLjExCgoyMDExLTEwLTA5IDE4OjU4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4aW5nIGdldGNhcHMgZnVuY3Rpb24KCSAgVXBkYXRlIGdldGNhcHMgZnVuY3Rpb24gdG8gMC4xMSBBUEkKCjIwMTEtMTAtMDkgMjE6MzE6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogb25seSBwdXNoIGhlYWRlciBidWZmZXJzIGZvbGxvd2luZyBpbml0aWFsIGV2ZW50cwoKMjAxMS0xMC0wOSAxNjoyOTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMDkgMTY6MjQ6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogdXBkYXRlIGZvciBfX2dzdF9kZWJ1Z19taW4gbmFtZSBjaGFuZ2UKCjIwMTEtMTAtMDkgMTE6MTg6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBxdG11eDogRml4IG1lbW9yeSBsZWFrIG9uIGF0b21zIHJlY292ZXJ5IGZ1bmN0aW9uCgkgIFJlbWVtYmVyIHRvIGZyZWUgdGhlIGZ0eXAgZGF0YSBhZnRlciB3cml0aW5nIGl0IHRvIGEgZmlsZS4KCSAgRml4ZXMgIzY2MDk2OQoKMjAxMS0xMC0wNiAxMjoyNjozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlcG9ydCBuZXcgYml0cwoKMjAxMS0xMC0wNiAxMjoyMzozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYwoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYwoJICBnc3QvaXNvbXA0L2F0b21zLmMKCSAgZ3N0L2lzb21wNC9nc3RxdG11eC5jCgoyMDExLTA5LTIxIDE4OjQ1OjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSBzZWdtZW50IGhhbmRsaW5nIHdpdGggbm9uLXplcm8gc3RhcnRpbmcgdGltZXN0YW1wCgkgIC4uLiBhcyB3ZWxsIGFzIHJlbGF0ZWQgaXRlbXMsIHN1Y2ggYXMgc2Vla2luZyBhbmQgcG9zaXRpb24gcmVwb3J0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5ODA4CgoyMDExLTA5LTI5IDE4OjQxOjUzICswNDAwICBTdGFzIFNlcmdlZXYgPHN0c3BAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB2NGwyLCB4aW1hZ2VzcmM6IGZpeCBzb21lIHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDE1MAoKMjAxMS0wOS0zMCAxMjo0MjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IFJlZmFjdG9yIGJpdHJhdGUgY2hlY2sgdGVzdAoJICBSZWZhY3RvciBiaXRyYXRlIGNoZWNrIHRlc3QgdG8gYWNjb21vZGF0ZSBtdWx0aXBsZSB0ZXN0cwoJICBmb3IgYml0cmF0ZQoKMjAxMS0wOS0zMCAxMzowMjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiB1cGRhdGUgZXNkcyBhdG9tIHVuZGVyIHdhdmUgYXRvbSBmb3IgYWFjIGJpdHJhdGVzCgkgIEFBQyBpbiBtb3YgZm9ybWF0IHB1dHMgYW4gRVNEUyBhdG9tIGluc2lkZSBvZiBhIFdBVkUgYXRvbSBpbgoJICBTVFNEIGF0b20sIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBiaXRyYXRlIG9uIHRoaXMgRVNEUy4gVGhpcyBwYXRjaAoJICBmaXhlcyBpdC4KCjIwMTEtMDktMzAgMTI6NDE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJICBxdG11eDogQWxzbyB1cGRhdGUgYnRydCBhdG9tCgkgIFdoZW4gcmV3cml0aW5nIGJpdHJhdGVzLCBhbHNvIHVwZGF0ZSB0aGUgYnRydCBhdG9tIHVuZGVyIHN0c2QKCjIwMTEtMDktMzAgMTA6NTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBhZGQgdGVzdHMgZm9yIGJpdHJhdGUgYXZlcmFnZSBjYWxjdWxhdGlvbgoJICBBZGRzIHRlc3RzIHRvIG1ha2Ugc3VyZSBxdG11eC9tcDRtdXggc2V0cyBhdmVyYWdlIGJpdHJhdGUKCSAgY29ycmVjdGx5CgoyMDExLTA5LTI4IDExOjQxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IENhbGN1bGF0ZSBhdmVyYWdlIGJpdHJhdGUgZm9yIHN0cmVhbXMKCSAgQ2FsY3VsYXRlIGFuZCB1c2UgYXZlcmFnZSBiaXRyYXRlIGZvciBzdHJlYW1zIHdoZW4gbm8KCSAgYml0cmF0ZSB0YWcgd2FzIHJlY2VpdmVkCgoyMDExLTA5LTI4IDEwOjQxOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEF2b2lkIGEgYnVmZmVyIG1ldGFkYXRhIGNvcHkgaWYgcG9zc2libGUKCSAgSWYgZmlyc3RfdHMgaXMgMCB0aGVyZSBpcyBubyBuZWVkIHRvIHN1YnRyYWN0LCBzbyB3ZSBtaWdodAoJICBza2lwIHNvbWUgY29weWluZyB0byBtYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUuCgoyMDExLTA5LTI5IDIzOjIxOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogaW5pdGlhbGlzZSB2YXJpYWJsZSBiZWZvcmUgYWRkaW5nIHRvIGl0CgoyMDExLTA5LTI5IDE3OjIxOjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDExLTA5LTI5IDE2OjMzOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogY2xlYW4gdXAgc29tZSB1bnVzZWQgcmVtbmFudHMKCjIwMTEtMDktMjkgMTc6MzI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yOCAxOToxMDoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGdldCByaWQgb2YgZ3JhbnVsZXBvcyBoYW5kbGluZwoJICBMZWF2ZSB0aGF0IHRvIHRoZSBwYXJzZXIgb3IgZGVtdXhlci4gVGhlcmUncyBzdGlsbCBzb21lCgkgIGNvZGUgZm9yIG9wZXJhdGluZyBpbiBERUZBVUxUIChzYW1wbGVzKSBmb3JtYXQsIGJ1dCB0aGF0CgkgIHdpbGwgYmUgcmVtb3ZlZCBsYXRlci4KCjIwMTEtMDktMjggMTg6MzI6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGdldCByaWQgb2YgcHVsbC1tb2RlIHN1cHBvcnQgYW5kIGZvY3VzIG9uIGJlaW5nIGEgZGVjb2RlcgoJICBMZWF2ZSBhbGwgdGhlIG90aGVyIHN0dWZmIHRvIGZsYWNwYXJzZS4KCjIwMTEtMDktMjggMTc6Mjk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgZmxhYywganBlZzogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDktMjggMTc6NDA6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDktMjggMTc6Mzk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jCgoyMDExLTA5LTI4IDE2OjE4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0yOCAxNjowOTo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTA5LTI3IDE1OjU5OjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYWRlbXV4OiBlbnN1cmUgbWluaW1hbCBhbGlnbm1lbnQgZm9yIGF1ZGlvL3gtcmF3LSogYnVmZmVycwoJICBTaW5jZSBtYXRyb3NrYWRlbXV4IHdpbGwgYXR0ZW1wdCB0byBwdXNoIHVuYWxpZ25lZCBidWZmZXJzLAoJICBkb3duc3RyZWFtIG1pZ2h0IGhhdmUgdHJvdWJsZSB3aXRoIHRob3NlLCBlc3BlY2lhbGx5IGlmIGRvd25zdHJlYW0KCSAgdXNlcyBPUkMsIHN1Y2ggYXMgYXVkaW9jb252ZXJ0LgoJICBFbnN1cmUgd2UgcHVzaCBidWZmZXJzIGFsaWduZWQgdG8gdGhlIGJhc2ljIHR5cGUgYXQgbGVhc3QgZm9yCgkgIHRob3NlIHJhdyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5Nzk4CgoyMDExLTA5LTI4IDEyOjQ0OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbW1vbgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYwoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jCgoyMDExLTA5LTI4IDAwOjEwOjA5ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dvb21fY29yZS5jOgoJICBnb29tMmsxOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gNjQgYml0IG1pbmd3LXc2NAoJICBGaXhlcyBidWcgIzY2MDI5NC4KCjIwMTEtMDktMjUgMTU6MTM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmg6CgkgIHNvdXA6IHJlbmFtZSBzb3VwaHR0cHNpbmsgdG8gc291cGh0dHBjbGllbnRzaW5rCgkgIFRvIGF2b2lkIGNvbmZ1c2lvbiwgYW5kIGJlY2F1c2Ugd2UgbWlnaHQgd2FudCBhIHNlcnZlcgoJICBzaW5rIGF0IHNvbWUgcG9pbnQgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5OTQ3CgoyMDExLTA5LTIzIDE2OjM5OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuaDoKCSAgc291cGh0dHBzaW5rOiBkb24ndCBjcmVhdGUgdW51c2VkIHNlY29uZCBzaW5rIHBhZCBvYmplY3QKCSAgVGhlIGJhc2UgY2xhc3Mgd2lsbCBjcmVhdGUgdGhlIHNpbmsgcGFkLgoKMjAxMS0wOS0yMyAxNTozNjozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBjb3JyZWN0bHkgY2hlY2sgZm9yIGFjMy9lLWFjMyBzd2l0Y2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTk0MwoKMjAxMS0wOS0yMSAxNDowMToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiB0byAwLjExIGJyYW5jaAoKMjAxMS0wOS0yMCAxMzozODo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGltcHJvdmUgZG93bnN0cmVhbSBmbG93IHJldHVybiBmZWVkYmFjayB0byB1cHN0cmVhbQoJICAuLi4gYWx0aG91Z2ggYmFzZXJ0cGRlcGF5IGRvZXMgbm90IHJlYWxseSBtYWtlIGl0IGVhc3kvcG9zc2libGUgdG8gZG8gc28KCSAgYWxsIHRoZSB3YXkuCgoyMDExLTA5LTIwIDEyOjExOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIHhpbWFnZXNyYzogYWRkIHhpZCBhbmQgeG5hbWUgcHJvcGVydGllcyB0byBhbGxvdyBjYXB0dXJpbmcgYSBwYXJ0aWN1bGFyIHdpbmRvdwoJICBBIHBhcnRpY3VsYXIgd2luZG93IG1heSBiZSBzZWxlY3RlZCB1c2luZyB0aGUgbmV3IHhpZCAoWC1XaW5kb3cKCSAgWElELCBlZyBhIHBvaW50ZXIpIGFuZCB4bmFtZSAod2luZG93IHRpdGxlKSBwcm9wZXJ0aWVzLiBJZiBib3RoCgkgIGFyZSBzcGVjaWZpZWQsIHRoZSBYSUQgaXMgdXNlZCBpbiBwcmVmZXJlbmNlLCBmYWxsaW5nIGJhY2sgdG8KCSAgeG5hbWUgaWYgbm90IGZvdW5kLgoJICBEZWZhdWx0IChpZiBub25lIG9mIHhpZCBhbmQgeG5hbWUgYXJlIHNwZWNpZmllZCwgb3IgaWYgbm8gc3VjaAoJICB3aW5kb3cgaXMgZm91bmQpIGlzIHRvIGNhcHR1cmUgdGhlIHJvb3Qgd2luZG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ2OTMyCgoyMDExLTA4LTAyIDE3OjM5OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IHRvIG1ha2Ugc3VyZSBlbmNvZGViaW4gcGlja3MgbXA0bXV4IGZvciB2YXJpYW50PWlzbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNDk2CgoyMDExLTA5LTE5IDEyOjE1OjExICswMjAwICBIYSBOZ3V5ZW4gPGhhbmd1eXR2QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZpeCBhIGxlYWtlZCBjbG9jayBmb3IgZWFjaCBidWZmZXJpbmcgbWVzc2FnZQoJICBGaXhlcyBidWcgIzY1OTIzNy4KCjIwMTEtMDktMTkgMTI6MTE6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcGFyc2UgZW1iZWRkZWQgSUQzMiB0YWdzCgoyMDExLTA5LTAyIDEzOjQxOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkIHNvdXJjZSBwcmVtYXR1cmUgdGltaW5nIG91dAoJICBVc2Ugc2xpZ2h0bHkgYWRqdXN0ZWQgc2VuZGVyIGludGVydmFsIHRvIGRldGVybWluZSBzZW5kZXIgdGltZW91dCByYXRoZXIgdGhhbgoJICBvdXIgb3duIHNlbmRlciBzaWRlIGludGVydmFsICh3aGljaCBtYXkgaGF2ZSBiZWVuIGZvcmNlZCBzbWFsbCkuCgoyMDExLTA4LTI1IDEyOjQwOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGF2b2lkIHRpbWluZyBvdXQgc291cmNlIHRvbyBxdWlja2x5CgkgIC4uLiBmb2xsb3dpbmcgYSBQQVVTRS9QTEFZIGN5Y2xlLCBwYXJ0aWN1bGFybHkgYXBwbGljYWJsZSB3aGVuIG9wZXJhdGluZwoJICB3aXRoIGEgc2hvcnQgUlRDUCBpbnRlcnZhbCAocG9zc2libHkgZm9yY2VkIHNvIHNlcnZlci1zaWRlKS4KCjIwMTEtMDgtMjQgMTQ6Mzc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXIvcnRwYmluOiByZWxheCBkcm9wcGluZyBydGNwIHBhY2tldHMKCSAgLi4uIHRvIGF0IGxlYXN0IGhhdmluZyBpdCB0cmlnZ2VyIGEvdiBzeW5jaHJvbml6YXRpb24sIHBvc3NpYmx5IHdpdGhvdXQKCSAgdXNpbmcgcHJvdmlkZWQgdmFsdWVzIHdoaWNoIGFyZSBzdGlsbCBub3QgY29uc2lkZXJlZCBzYW5lCgkgIChhcyBwcmV2aW91c2x5IGRyb3BwZWQpLgoKMjAxMS0wOC0yNCAxNDozNDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzb21lIG1vcmUgcmVzZXQgd2hlbiBjbGVhcmluZyBwdCBtYXAKCSAgLi4uIHdoaWNoIGluIHBhcnRpY3VsYXIgY2F0ZXJzIGZvciBzb21lIG1vcmUgcmVzZXQgZm9sbG93aW5nIGEgcG9zc2libGUKCSAgcnRzcCBQTEFZLgoKMjAxMS0wOC0yMSAyMTo1ODozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvIG5vdCBzZXQgZWxlbWVudHMgdG8gUExBWUlORyB3aGVuIGRvaW5nIHNlZWsgaW4gUEFVU0VECgoyMDExLTA5LTAxIDE0OjQ3OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG9ubHkgcmVzZXQgc2tldyBvbiBnYXAgaWYgaW5wdXQgdHMgYXZhaWxhYmxlCgoyMDExLTA4LTE4IDE0OjEyOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGNoZWNrIHNvbWUgbW9yZSBmb3IgcG9zc2libGUgcnRwIHRpbWVzdGFtcCBkaXNjb250aW51aXR5CgkgIC4uLiB3aGVuIG9wZXJhdGluZyBpbiBub24gc2xhdmUgbW9kZSwgYW5kIHJlc2V0IGlmIGRldGVjdGVkLgoJICBUaGlzIHNob3VsZCBhdm9pZCBzb21lIChsYXJnZSkgYm9ndXMgb3V0Z29pbmcgdGltZXN0YW1wIGR1ZSB0byBqdW1wcwoJICBpbiBydHAgdGltZSwgYXMgcmVzdWx0IG9mIFBBVVNFL1BMQVkgb3Igc2VlayBvciAuLi4KCjIwMTEtMDgtMDggMTI6NDg6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzd2l0Y2ggdG8gcnRwIHRpbWUgYmFzZWQgc3luY2luZyB3aGVuIGd1ZXNzZWQgYXBwcm9wcmlhdGUKCjIwMTEtMDgtMDggMTI6MTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFsdGVybmF0aXZlIGludGVyLXN0cmVhbSBzeW5jaW5nIG1ldGhvZHMKCSAgLi4uIGF0IGxlYXN0IGlmIG5vdCBzeW5jaW5nIHRvIE5QVCB0aW1lOgoJICAqIGVpdGhlciBzeW5jIHVzaW5nIFJUQ1AgU1IgZGF0YSAoYXMgY3VycmVudGx5KQoJICAqIG9ubHkgcGVyZm9ybSB0aGUgYWJvdmUgb25jZSB1c2luZyBpbml0aWFsIFJUQ1AgU1IgcGFja2V0cwoJICAqIGRpc2NhcmQgUlRDUCBhbmQgc3luYyBieSBlcXVhdGluZyBwcm92aWRlZCBzdHJlYW0ncyBjbG9jay1iYXNlIHJ0cHRpbWUsCgkgIGFzIHByb3ZpZGVkIGJ5IGppdHRlcmJ1ZmZlciAodHlwaWNhbGx5IG9idGFpbmVkIGZyb20gUlRQLUluZm8gaW4gUlRTUCkuCgoyMDExLTA4LTA4IDEyOjExOjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFsc28gcHJvdmlkZSBjbG9jay1iYXNlIHRvIHN5bmMgc2lnbmFsCgoyMDExLTA4LTA4IDEyOjA5OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhbGxvdyBjb25maWd1cmFibGUgcnRjcCBzdHJlYW0gc3luY2luZyBpbnRlcnZhbAoJICAuLi4gcmF0aGVyIHRoYW4gbmVjZXNzYXJpbHkgc3luY2luZyBhdCBlYWNoIFJUQ1AgU1IuCgoyMDExLTA4LTAxIDA4OjM1OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdHJpZ2dlciByZWNvbnNpZGVyYXRpb24gaWYgcnRjcCBpbnRlcnZhbCBzZXQKCjIwMTEtMDgtMDEgMDg6MzI6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjb25maWd1cmUgcnRjcCBpbnRlcnZhbCBpZiBwcm92aWRlZAoJICAuLi4gaW4gUExBWSByZXNwb25zZS4KCjIwMTEtMDktMTYgMTY6NTM6MjIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBGaXggYWxsb3dpbmcgemVybyBkdXJhdGlvbiB0cmFja3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzQ4NgoKMjAxMS0wOS0wNSAxMDoxMToxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcHNyYzogZXJyb3Igb3V0IHdoZW4gbm8gcHJvdG9jb2wgaXMgc3BlY2lmaWVkIGluIHRoZSB1cmkKCSAgSXQgaXMgY2VydGFpbmx5IGJldHRlciB0aGFuIHRvIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4MTc4CgoyMDExLTA5LTE5IDA5OjM3OjU4ICswMjAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZG8gbm90IHVzZSBpbnZhbGlkIGJ1ZmZlciB0aW1lc3RhbXBzCgoyMDExLTAzLTI5IDEyOjA5OjE4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IE5ldyBwdWxzZWF1ZGlvc2luayBlbGVtZW50IHRvIGhhbmRsZSBmb3JtYXQgY2hhbmdlcwoJICBUaGlzIGludHJvZHVjZXMgYSBuZXcgYmluIHdoaWNoIHdyYXBzIGFyb3VuZCBwdWxzZXNpbmsgYW5kIGRlcGVuZGluZyBvbgoJICB0aGUgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIHNpbmssIHBsdWdzIGluL291dCBhIGRlY29kZWJpbjIgYXMKCSAgcmVxdWlyZWQuIFRoaXMgYWxsb3dzIHVzZXJzIHRvIHN3aXRjaCBzaW5rcyBvbiB0aGUgc3RyZWFtIGFuZCBhZGFwdHMKCSAgYWNjb3JkaW5nbHkgKGZvciBleGFtcGxlLCB5b3UgY291bGQgd2F0Y2ggYSBtb3ZpZSBpbiBwYXNzdGhyb3VnaCBtb2RlIG9uCgkgIHlvdXIgcmVjZWl2ZXIgd2hpY2ggc3VwcG9ydHMgQUMzIGRlY29kZSwgdGhlbiBwbHVnIG91dCBhbmQgc3dpdGNoIHRvIGEKCSAgbm9uLWRpZ2l0YWwgcHJvZmlsZSB0byBjb250aW51ZSB1bmludGVycnVwdGVkIG9uIGFuYWxvZyBvdXRwdXQpLgoJICBUaGUgYmluIGlzIHJlcXVpcmVkIGJlY2F1c2UgZG9pbmcgdGhlIHNhbWUgd2l0aCBwbGF5YmluMi9wbGF5c2luayB3aWxsCgkgIHJlcXVpcmUgQVBJIGNoYW5nZXMgdGhhdCBjYW5ub3QgYmUgbWFkZSBpbiAwLjEwLiBXaXRoIDAuMTEvMS4wLCB3ZQoJICBzaG91bGQgYmUgYWJsZSB0byBhc2sgZm9yIHVwc3RyZWFtIGNhcHMgcmVuZWdvdGlhdGlvbiB0byBkZWFsIHdpdGggYWxsCgkgIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcxNzkKCjIwMTEtMDktMTYgMTU6MDM6MjMgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IEF2b2lkIHNlbmRpbmcgRU9TIHdoZW4gaW4gcGF1c2VkIHN0YXRlCgkgIENoYW5nZWQgdGhlIGVibWwgcmVhZGVyJ3MgZ3N0X2VibWxfcGVla19pZF9sZW5ndGgoKSBmdW5jdGlvbiBzbwoJICB0aGF0IGl0IHJldHVybnMgdGhlIGFjdHVhbCByZWFzb24gZm9yIHdoeSB0aGUgcGVlayBmYWlsZWQsIGluc3RlYWQKCSAgb2YgKGFsbW9zdCkgYWx3YXlzIHJldHVybmluZyBHU1RfRkxPV19VTkVYUEVDVEVELiBUaGlzIHByZXZlbnRzCgkgIHRoZSBwdWxsaW5nIHRhc2sgZnJvbSBzZW5kaW5nIEVPUyB3aGVuIGRvaW5nIGEgZmx1c2hpbmcgc2Vlay4KCjIwMTEtMDktMTUgMTU6NTM6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzdHV0dGVyaW5nIEEvVgoJICBTb21lb25lIGdvdCBoYWQgYnkgaW1wbGljaXQgcHJvbW90aW9uIHRvIHVuc2lnbmVkIGluIG9wcyB3aXRoCgkgIGEgc2lnbmVkIGFuZCBhbiB1bnNpZ25lZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTE1MwoKMjAxMS0wOS0xNCAxNjozNzoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkgIG5hdnNlZWs6IHRvZ2dsZSBwYXVzZS9wbGF5IG9uIHNwYWNlIGJhcgoJICBBIHVzZWZ1bCB0aGluZyB0byBoYXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDY1CgoyMDExLTA5LTE0IDE0OjQ2OjAwICswMjAwICBEYXZpZCBTdmVuc3NvbiBGb3JzIDxkYXZpZHNmQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBjb25maWd1cmFibGUgdGltZXN0YW1wIGdhcCBoYW5kbGluZwoJICBtYXRyb3NrYWRlbXV4IHBlcmZvcm1zIHNlZ21lbnQgdHJpY2tzIHRvIHNraXAgZ2FwcyBpbiBzdHJlYW1zLAoJICBub3RhYmx5IGF0IHN0YXJ0IGZvciBub24gMCBiYXNlZCBmaWxlcy4gIFRoZXJlIG1heSBob3dldmVyIGJlCgkgIGNhc2VzIHdoZW4gZnVsbCBwcmVzZW50YXRpb24gKGluY2x1ZGluZyBpbnRlcm1lZGlhdGUgZ2FwcykgaXMKCSAgZGVzaXJlZCwgc28gYSBwcm9wZXJ0eSBhbGxvd3MgdG8gY29uZmlndXJlIGFzIG9mIHdoaWNoIGdhcAoJICB0byBhY3QgKG9yIG5vdCBhdCBhbGwpLgoJICBBUEk6IEdzdE1hdHJvc2thRGVtdXg6Om1heC1nYXAtdGltZQoJICBGaXhlcyAjNjU5MDA5LgoKMjAxMS0wOS0xMiAwOToyMTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgdGVzdHM6IGZsdm11eDogRml4IGZsdm11eCdzIHRlc3RzIGFmdGVyIGZpeCBmb3IgcmVxdWVzdCBwYWRzIGhhbmRsaW5nCgkgIE5vdyB0aGF0IGZsdm11eCBkb2Vzbid0IHJlbGVhc2UgaXRzIHJlcXVlc3QgcGFkcyBvbiBQQVVTRUQtPlJFQURZIHRoZQoJICB0ZXN0IGRvZXNuJ3QgbmVlZCB0byByZS1yZXF1ZXN0IHRoZW0gZm9yIGV2ZXJ5IHJldXNlIHRlc3Qgc3RhcnQuCgoyMDExLTA5LTA5IDA5OjEyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBjdHRzIGdlbmVyYXRpb24gZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBzdGFydCBhdCAwIHRpbWVzdGFtcHMKCSAgU3VidHJhY3QgdGhlIGZpcnN0IHRpbWVzdGFtcCBvZiBhIHN0cmVhbSBmcm9tIGFsbCBpbnB1dCBidWZmZXJzIHRvCgkgIGdldCAwLWJhc2VkIHRpbWVzdGFtcHMgZm9yIGNyZWF0aW5nIGEgc2FuZSBjdHRzIHRhYmxlLiBXaXRob3V0IHRoaXMKCSAgcGF0Y2ggdGhlIGN0dHMgY291bGQgaGF2ZSBsYXJnZXIgdmFsdWVzIHRoYW4gbmVlZGVkLCBjYXVzaW5nIHRoZQoJICBwbGF5YmFjayB0byBoYXZlIGEgZGVsYXkgYXQgc3RhcnR1cC4KCSAgQXMgdGhlIGZpcnN0IHRpbWVzdGFtcCBpcyBvbmx5IGZvdW5kIGFmdGVyIGEgZmV3IGJ1ZmZlcnMgYXJlIHF1ZXVlZAoJICAoZHVlIHRvIHBvc3NpYmxlIHJlb3JkZXJlZCBidWZmZXJzKSwgb25jZSB3ZSBmaW5kIHRoZSBmaXJzdCB0aW1lc3RhbXAKCSAgd2Ugc3VidHJhY3QgaXQgZnJvbSBhbGwgYnVmZmVycyBvbiB0aGUgcXVldWUsIGZyb20gdGhhdCBwb2ludCBvbiwKCSAgYWxsIGJ1ZmZlcnMgaGF2ZSB0aGVpciB0aW1lc3RhbXBzIHN1YnRyYWN0IHdoZW4gdGhleSBhcmUgY29sbGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NjU5CgoyMDExLTA5LTEyIDA3OjU1OjE5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3QgcmVsZWFzZSByZXF1ZXN0IHBhZHMgZ29pbmcgUEFVU0VELT5SRUFEWQoJICBEb24ndCByZWxlYXNlIHJlcXVlc3QgcGFkcyBidXQganVzdCByZXNldCB0aGVtLiBUaGlzIG1ha2VzIHBpcGVsaW5lcyB1c2luZwoJICBmbHZtdXggcmV1c2FibGUuCgoyMDExLTA5LTA5IDEyOjM1OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHVzZSBic2lkIDkgYW5kIDEwIHRvIGNvbnRyb2wgc2FtcGxlIHJhdGUKCSAgU2VlIGh0dHA6Ly9tYXRyb3NrYS5vcmcvdGVjaG5pY2FsL3NwZWNzL2NvZGVjaWQvaW5kZXguaHRtbAoJICBUaGUgc3BlYyBpcyBzaWxlbnQgYWJvdXQgdGhpcyB0aG91Z2guLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU0NgoKMjAxMS0wOS0wNyAxNDoxMzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGVuc3VyZSBzb21lIGluaXRpYWwgc3RhdGUgdmFyaWFibGUgc2V0dXAKCSAgLi4uIHdoaWNoIG1pZ2h0IG90aGVyd2lzZSBiZSBza2lwcGVkIGlmIHRoZSBQTEFZIGNvbW1hbmQgaXMgaXNzdWVkIGJlZm9yZQoJICB0aGUgT1BFTiBjb21tYW5kIGhhZCBhIGNoYW5jZSB0byBhY3R1YWxseSBiZSBhY3RlZCB1cG9uLgoJICBGaXhlcyAjNjU3Mzc2LgoKMjAxMS0wOS0wOCAxNTowMjowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdHdlYWsgZ2FwIGhhbmRsaW5nCgkgIC4uLiBzbyBhcyB0byBhdm9pZCBidWZmZXJzIGJlZm9yZSBhbmQgYWZ0ZXIgZ2FwIHRvIGhhdmUgaWRlbnRpY2FsIHJ1bm5pbmcgdGltZS4KCjIwMTEtMDktMDggMTM6Mjg6MjQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1c2UgR1NUX1JFU09VUkNFX0VSUk9SX0JVU1kgaWYgdjRsMl9pb2N0bCBmYWlscyB3aXRoIEVCVVNZCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NDMKCjIwMTEtMDktMDcgMDg6NTQ6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIG9uZSBHX1VOTElLRUxZIGZvciB1c2VyIHByb3BlcnR5CgkgIFVzaW5nIEdfVU5MSUtFTFkgb24gdXNlciBwcm9wZXJ0aWVzIGlzbid0IG5pY2UsIHNwZWNpYWxseSB3aGVuCgkgIHRoYXQgaXMgdGhlIGRlZmF1bHQgb3B0aW9uLgoKMjAxMS0wMy0xNSAxMTowMzo1MyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBoYW5kbGUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50CgkgIC4uLiBieSBzdGFydGluZyBhIG5ldyBjbHVzdGVyIGFmdGVyIGZvcndhcmRpbmcgZXZlbnQuCgkgIEZpeGVzICM2NDQxNTQuCgoyMDExLTA5LTA3IDE0OjI3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICBjbW1sOiBVc2UgY29tcGxldGUgY21tbCBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTEtMDktMDcgMTQ6MjY6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IFVzZSBjb21wbGV0ZSBNUEVHIGNhcHMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMS0wOS0wNyAxNDoxODo1OCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogY2xlYW51cCBtYWtlZmlsZXMKCSAgUmVtb3ZlIGNvbW1lbnRlZCBvdXQgcGFydHMgdGhhdCB3ZSBkb24ndCBuZWVkLiBSZW1vdmUgInRoZSB3aW5nbyBhZGRpdGlvbiIgLSBubwoJICBzbyB1c2VmdWwgYWZ0ZXIgYWxsLiBOYXJyb3cgZG93biBmaWxlLWdsb2JzIGZvciBwbHVnaW4gZG9jcy4KCjIwMTEtMDgtMjkgMTQ6MTI6MjIgKzAyMDAgIEtvbnN0YW50aW4gTWlsbGVyIDxrb25zdGFudGluLm1pbGxlckBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgaGFuZGxlIEhUVFAgcmVzcG9uc2UgNDA3IGFzIGVycm9yIGlmIHByb3h5IGF1dGhlbnRpY2F0aW9uIGRhdGEgaXMgYXZhaWxhYmxlCgkgIEZpeGVzIGJ1ZyAjNjU3NDIyLgoKMjAxMS0wOS0wNyAxMjoxMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBBZGQgQ29udmVydGVyIHRvIHRoZSBjbGFzc2lmaWNhdGlvbiBiZWNhdXNlIGl0IGNhbiBjb252ZXJ0IGJldHdlZW4gZGlmZmVyZW50IGFsaWdubWVudHMKCSAgVGhpcyBhbGxvd3MgZGVjb2RlYmluMiB0byBsZXQgaXQgbmVnb3RpYXRlIHByb3Blcmx5LgoKMjAxMS0wOS0wNyAxMjoxMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogSW1wcm92ZSBzcmMgdGVtcGxhdGUgY2FwcwoJICBSZW1vdmUgdGhlIHBhcnNlZC9mcmFtZWQgZmllbGRzIGFuZCBhZGQgYWxsIGZpZWxkcyB0byB0aGUgdGVtcGxhdGUKCSAgY2FwcyB0aGF0IGFsd2F5cyBleGlzdC4KCjIwMTEtMDktMDYgMTU6NTk6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBwYXJzZSBjb2RlY19kYXRhIHRvIGRldGVybWluZSBudW1iZXIgb2Ygc2FtcGxlcyBwZXIgZnJhbWUKCSAgRml4ZXMgIzY1NjczNC4KCjIwMTEtMDktMDYgMjE6MjQ6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEzOWViODMgdG8gMTFmMGNkNQoKMjAxMS0wOS0wNiAxNjo1NzoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB0cnkgdG8gZGlzYWJsZSBkZWludGVybGFjZS4uCgoyMDExLTA5LTA2IDE1OjQwOjMyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDVjZDlhIHRvIGEzOWViODMKCjIwMTEtMDktMDYgMTY6Mzc6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29tbW9uCgoyMDExLTA5LTA2IDE2OjA2OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYwoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMS0wOS0wNiAxNTo0MDozMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDE1OjA1OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogbWFrZSBkZWZhdWx0IGR1cmF0aW9uIGNoZWNrIGxlc3Mgc2Vuc2l0aXZlCgkgIEZyYW1lIGR1cmF0aW9uIG1pZ2h0IHZhcnkgZm9yIDEgdXNlY29uZCwgaW4gdGhpcyBjYXNlIG1hdHJvc2thbXV4CgkgIGRlY2lkZXMgdG8gY3JlYXRlIEJMT0NLR1JPVVAgaW5zdGVhZCBvZiBTSU1QTEVCTE9DSy4KCSAgQ29udmVydCBkdXJhdGlvbiB0byB0aW1lY29kZXNjYWxlIHdoaWNoIGlzICh0eXBpY2FsbHkpIGxlc3MgcHJlY2lzZSwgYW5kCgkgIHRoZW4gYWxzbyBhbGxvdyB0aGUgZGlmZmVyZW5jZSBvZiAxLy0xIHRvIGFycmFuZ2UgZm9yIGxlc3Mgc2Vuc2l0aXZlIGNoZWNrLgoJICBCYXNlZCBvbiBwYXRjaCBieSBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIEZpeGVzICM2NTMwODAuCgoyMDExLTA5LTA2IDEzOjE4OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogaW1wcm92ZSBib2d1cyBpbnRlcmxlYXZlZCBpbmRleCBjb21wZW5zYXRpbmcKCSAgUGF0Y2ggYnkgPGd1ZGFrZUBnbWFpbC5jb20+CgkgIEZpeGVzICM2NTQ1ODUuCgoyMDExLTA5LTA2IDEzOjE2OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgLWdvb2Q6IHBvcnQgdG8gbmV3IGF1ZGlvIGNhcHMKCjIwMTEtMDktMDYgMTA6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFsbG93IHBvc2l0aXZlLCBub24tMS4wIHNlZ21lbnQgcmF0ZXMKCSAgT25seSBuZWdhdGl2ZSByYXRlcyBhcmUgbm90IHN1cHBvcnRlZC4gRml4ZXMgYnVnICM2NTgzMDUuCgoyMDExLTA5LTA1IDE1OjUwOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogcGFyc2VyczogcHJvdmlkZSBtb3JlIHJlYWwgZGF0YSB3aGVuIHRlc3RpbmcgZHJhaW5pbmcgb2YgZ2FyYmFnZQoKMjAxMS0wOS0wNSAxNTo1MDowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBmaXggYW5kIHN0cmVhbWxpbmUgdmFsaWQgZnJhbWUgY2hlY2tpbmcKCSAgLi4uIHRvIGhhbmRsZSB2YXJpb3VzIGNvbWJpbmF0aW9ucyBvZiBzeW5jIG9yIG5vdCwgYW5kIHN1ZmZpY2llbnQgZGF0YQoJICBvciBub3QgYXMgbWlnaHQgYmUgZXhwZWN0ZWQuCgkgIEZpeGVzICM2NTA3MTQuCgoyMDExLTA5LTA1IDE0OjQ5OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGF2b2lkIGFkanVzdG1lbnQgZm9yIGtleWZyYW1lIHNlZWsKCSAgLi4uIHNpbmNlIGFsbCBpbmRleCBkYXRhIG1heSBub3QgeWV0IGJlIGF2YWlsYWJsZSBhdCB0aGF0IHRpbWUuCgoyMDExLTA5LTA1IDE0OjQ4OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IG1hcmsgYWxsIGF1ZGlvIHRyYWNrIHNhbXBsZXMgYXMga2V5ZnJhbWUKCjIwMTEtMDktMDUgMTQ6NDY6MjkgKzAyMDAgIEJyaWFuIExpIDxicmlhbjcwMDNAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgcHJvcGVybHkgaW5pdCByZXR1cm4gdmFyaWFibGUgdmFsdWUKCSAgRml4ZXMgIzY1NTkxOC4KCjIwMTEtMDktMDUgMTM6MzE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgZ3RrLWRvYyBmb3IgbmV3IHNob3J0LWhlYWRlciBwcm9wZXJ0eQoKMjAxMS0wOS0wNSAxMzoxODozOSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhbGxvdyBzZW5kaW5nIHNob3J0IFJUU1AgcmVxdWVzdHMgdG8gYSBzZXJ2ZXIKCSAgU29tZSBlbmNvZGVycyAoQXJlY29udCkgZG8gbm90IGxpa2UgdGhlIGxvbmcgT1BUSU9OUyBzZW50IGF0IHN0YXJ0dXAgYXMgc2VudCBieQoJICBHU3RyZWFtZXIsIGJ1dCBkbyBhY2NlcHQgdGhlIHNob3J0IGhlYWRlciBhcyBzZW50IGJ5IExpdmU1NTUuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIGV4dGVuZGluZyB0aGUgcmVxdWVzdCBvcHRpb25hbCBieSBhZGRpbmcgYSBwcm9wZXJ0eQoJICAoc2hvcnQtaGVhZGVyKS4KCSAgRml4ZXMgIzY1NTgwNS4KCSAgQVBJOiBHc3RSVFNQU3JjOnNob3J0LWhlYWRlcgoKMjAwOS0wMy0wNCAxNDo1MTowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogU2V0IEgyNjMtMjAwMCBpZiB0aGF0cyB3aGF0IHRoZSBvdGhlciBzaWRlIHdhbnRzCgkgIFRoZSBzdGF0aWMgY2FwcyBzdGF0ZXMgdGhpcyBlbGVtZW50IHN1cHBvcnRzIEgyNjMtMjAwMCwgYnV0IHNldGNhcHMgbmV2ZXIKCSAgc2V0cyBpdCwgc28gaXQgd2FzIGxpZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMTEtMDgtMzAgMTk6MDI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEluaXRpYWxpc2UgdGhlIGxhc3Rfa2V5ZnJhbWVfcmVxdWVzdCB2YXJpYWJsZQoKMjAxMS0wOC0zMSAxNjowNDoyNCArMDIwMCAgUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogbWFrZSBhZGQvcmVtb3ZlL2NsZWFyL2dldC1zdGF0cyBhY3Rpb24gc2lnbmFscwoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc4MzAKCSAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCjIwMTEtMDgtMzEgMTg6NDU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgbXAydDogZml4IGVuY29kaW5nIG5hbWUgYWNjb3JkaW5nIHRvIFJGQzM1NTEKCjIwMTEtMDgtMzAgMTM6MzM6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwdXNoIG1vZGU7IHBlcmZvcm0gc29tZSBleHRyYSBjaGVja3MgcHJpb3IgdG8gdXBzdHJlYW0gc2Vla2luZwoKMjAxMS0wOC0zMCAxMzoyODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBtb2RlOyBmaXggYnVmZmVyZWQgc3RyZWFtaW5nCgkgIFRoYXQgaXMsIGluIGNhc2Ugd2hlcmUgbm8gc2VlayBpcyBwZWZvcm1lZCB0byBtb292LCBidXQgcHJlY2VkaW5nCgkgIGxpbWl0ZWQgbWRhdCBpcyBidWZmZXJlZC4KCjIwMTEtMDgtMzAgMTQ6MDY6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogcG9ydCB0byAwLjExCgoyMDExLTA4LTMwIDEyOjQ5OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBsYXcgaXMgcG9ydGVkIG5vdwoKMjAxMS0wOC0zMCAxMjoyNTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkgIGxhdzogcG9ydCB0byAwLjExCgoyMDExLTA4LTI5IDE5OjExOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkgIGFsYXc6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0yOSAxOToxMDozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IGNvbW1lbnQKCjIwMTEtMDgtMjkgMTg6MDI6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBwb3J0IHNvdXAgZWxlbWVudHMgdG8gMC4xMQoKMjAxMS0wOC0yOSAxNToxMzo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgb3ZlcmZsb3cgd3JhcGFyb3VuZCBpbiB0aW1lc3RhbXAgd2hlbiBhZGRpbmcgZHVyYXRpb25zCgkgIERvIHNvbWUgdHlwZSBqdWdnbGluZyB0byBhdm9pZCBvdmVyZmxvdywgd2hpbGUgc3RpbGwgYWxsb3dpbmcgZm9yICduZWdhdGl2ZScKCSAgZHVyYXRpb25zICh3aGljaCB3b3VsZCBuZWVkIGEgd3JhcGFyb3VuZCBlZmZlY3QpLgoKMjAxMS0wOC0yOSAxMzo0Mzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTEtMDgtMjYgMTQ6MjA6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgYWxsb2NhdGlvbjogZml4IGZvciB2bWV0aG9kIGNoYW5nZXMKCjIwMTEtMDgtMjUgMjM6Mzc6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBtYWtlIHRoaXMgd29yayBtb3JlIHRoYW4gb25jZSBpbiBhIHJvdwoJICBXZSB1c2VkIHRvIHNraXAgZnJhbWUgcmF0ZSBzZXR1cCBpZiB0aGUgY2FtZXJhIHdhcyBhbHJlYWR5IHNldHVwCgkgIHdpdGggdGhlIHJlcXVlc3RlZCBmcmFtZSByYXRlLiBUaGlzIGJyZWFrcyBzb21lIGNhbWVyYXMgdGhvdWdoLAoJICBjYXVzaW5nIHRoZW0gdG8gbm90IG91dHB1dCBkYXRhIChzZXZlcmFsIG1vZGVscyBvZiBUaGlua3BhZCBjYW1lcmFzCgkgIGhhdmUgdGhpcyBwcm9ibGVtIGF0IGxlYXN0KS4KCSAgU28sIGRvbid0IHNraXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzgzMDAKCjIwMTEtMDgtMjUgMTY6NDE6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHBvcnQgdG8gbmV3IHZpZGVvIGZsYWdzCgoyMDExLTA4LTI0IDE4OjQwOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogYWRkIHNvbWUgbW9yZSBjaGFubmVscwoKMjAxMS0wNy0xMiAyMTo0ODozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBBZGQgbW9yZSBkZWJ1ZwoKMjAxMS0wNy0xMiAxOTowOTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IE1heCBldmVudCB0eXBlIGlzIDE1CgoyMDExLTA0LTE0IDE1OjQ2OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogQWxpZ24gRFRNRiBzb3VuZCBidWZmZXJzIHdpdGggbGFzdC1zdG9wIGZyb20gZXZlbnQKCSAgQWxzbyBtYWtlIHN1cmUgdGhlIHRpbWVzdGFtcHMgbmV2ZXIgZ28gYmFja3dhcmRzCgoyMDExLTA3LTExIDIxOjMxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDb3JyZWN0bHkgcmVjb2duaXplIHRoZSBlbmQgb2YgYSBidWZmZXIKCjIwMTEtMDctMTEgMjA6NDc6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE1ha2Ugc3VyZSBydHBkdG1mc3JjIHRpbWVzdGFtcHMgZG9uJ3Qgb3ZlcmxhcAoKMjAxMS0wNy0xMSAyMDo0NjoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUHV0IHRoZSBpbnRlciBkaWdpdCBpbnRlcnZhbCBhdCB0aGUgZW5kLCBub3QgYXQgdGhlIHN0YXJ0CgkgIFRoZSByZWFzb24gaXMgdG8gbGV0IHJ0cGR0bWZtdXggZHJvcCBidWZmZXJzIGR1cmluZyB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwsCgkgIHRoaXMgd2F5LCB0aGVyZSB3aWxsIGJlIG1vcmUgc2lsZW5jZSBhcm91bmQgdGhlIERUTUYgdG9uZXMgc28gSVZGcyB3aWxsIGhhdmUKCSAgYSBiZXR0ZXIgY2hhbmNlIHJlY29nbml6aW5nIHRoZW0uCgoyMDExLTA0LTE0IDE3OjA4OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogU3RhcnQgYXQgdGhlIGxhc3Rfc3RvcCBmcm9tIHRoZSBzdGFydCBldmVudCBpZiB0aGVyZSB3YXMgb25lCgkgIFRoZSBnb2FsIGlzIHRvIHRyeSB0byBub3QgaGF2ZSBhIEdBUCBiZXR3ZWVuIHRoZSBhdWRpbyBhbmQgdGhlIERUTUYKCjIwMTEtMDQtMTQgMTY6NDk6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBydHBkdG1mc3JjOiBSZXNwZWN0IHB0aW1lIGZyb20gdGhlIGNhcHMKCSAgUmVzcGVjdCB0aGUgcHRpbWUgZnJvbSB0aGUgY2FwcyBmb3IgdGhlIERUTUYgcGFja2V0cwoKMjAxMS0wNy0xMSAyMTozMDoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogSnVzdCBlcnJvciBvdXQgaWYgdGhlcmUgaXMgbm8gY2xvY2sKCjIwMTEtMDgtMjQgMTQ6MTY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTIzIDEyOjEyOjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG9ubHkgcmVxdWlyZSB0d28gZnJhbWVzIGluIGEgcm93IHdoZW4gd2UgZG8gbm90IGhhdmUgc3luYwoJICBUaGlzIGF2b2lkcyBhIHNpbmdsZSBiaXQgZXJyb3IgZHJvcHBpbmcgdHdvIGZyYW1lcyB1bm5lY2Vzc2FyaWx5LgoJICBUaGUgdHdvIGNvbnNlY3V0aXZlIGZyYW1lcyBjaGVjayBpcyBzdGlsbCByZXF1aXJlZCB3aGVuIHdlIGRvbid0CgkgIGhhdmUgc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA4MAoKMjAxMS0wOC0yMyAyMTo0MToxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVHJpdmlhbCBpbmRlbnRhdGlvbiBmaXgKCjIwMTEtMDgtMjMgMTk6MDk6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZpZGVvOiBwb3J0IHRvIG5ldyBjb2xvcmltZXRyeSBpbmZvCgoyMDExLTA3LTIxIDE3OjIzOjI4IC0wNDAwICBNb250eSBNb250Z29tZXJ5IDxjbW9udGdvbUByZWRoYXQuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBDb3JyZWN0IHNhbXBsZSBudW1iZXIgcm91bmRpbmcgcmVzdWx0aW5nIGluIHRpbWVzdGFtcCBqaXR0ZXIKCSAgZmxhY2RlYyBjb252ZXJ0cyB0aGUgc3JjIHRpbWVzdGFtcCB0byBhIHNhbXBsZSBudW1iZXIsIHVzZXMgdGhhdCBpbnRlcm5hbGx5LCB0aGVuIHJlY29udmVydHMgdGhlIHNhbXBsZSBudW1iZXIgdG8gYSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVyLiAgVW5mb3J0dW5hdGVseSwgc2FtcGxlIG51bWJlcnMgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgaW4gYW4gaW50ZWdlciBudW1iZXIgb2YgbmFub3NlY29uZHMsIGFuZCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIHdhcyB0cnVuY2F0aW5nIHJhdGhlciB0aGFuIHJvdW5kaW5nLCByZXN1bHRpbmcgaW4gc2FtcGxlIG51bWJlcnMgYW5kIG91dHB1dCB0aW1lc3RhbXBzIHRoYXQgd2VyZSBvZnRlbiBvZmYgYnkgYSBmdWxsIHNhbXBsZS4KCSAgVGhpcyBjb3JyZWN0cyB0aGUgdGltZS0+c2FtcGxlIGNvbnZlc2lvbgoKMjAxMS0wOC0yMiAxMzoxMDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMjIgMTI6MjQ6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkgIGZvdXJjYzogcmVtb3ZlIGZvdXJjYyBmcm9tIGNhcHMKCjIwMTEtMDgtMjAgMTQ6NDg6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSAgYnJlYWtteWRhdGE6IGVsZW1lbnQgaXMgbm90IHBhc3N0aHJvdWdoCgoyMDExLTA3LTEzIDExOjIwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogcXVpZXQgZGVidWdnaW5nCgoyMDExLTA3LTEwIDIxOjQwOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogY2hhbmdlIGZpZWxkIGhhbmRsaW5nIHRocm91Z2ggbWV0aG9kcwoJICBUaGlzIGxpa2VseSBicmVha3Mgc3R1ZmYuICBUaGUgZ29vZDogYWxsIG9mIHRoZSBtZXRob2RzIG5vdyBjcmVhdGUKCSAgZmllbGQgaW1hZ2VzIGFsaWduZWQgd2l0aCBpbnB1dCBmcmFtZXMsIHdpdGhvdXQgdGltZXN0YW1wIG1hbmdsaW5nLgoJICBUaGUgYmFkOiB0aGlzIHRvdWNoZXMgYSBsb3Qgb2YgY29kZSwgbXVjaCBvZiB3aGljaCBpcyBoYWlyeSBhbmQgaW4KCSAgbmVlZCBvZiBjbGVhbnVwLiAgSG93ZXZlciwgYXQgdGhpcyBwb2ludCB3ZSBjYW4gcmVhc29uYWJseSBjcmVhdGUgYQoJICBQU05SLWJhc2VkIHRlc3QuCgoyMDExLTA4LTIxIDE0OjQxOjE0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiByZXNldCAtPnN0cmVhbWhlYWRlcnMgdG8gTlVMTCBvbiBfc3RvcAoJICBGaXhlcyBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgcmV1c2luZyBtdWx0aWZpbGVzaW5rCgoyMDExLTA4LTIwIDEwOjQ2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgY3V0dGVyOiBicmluZyBjdXR0ZXIgc29tZXdoYXQgaW50byB0aGlzIG1pbGxlbm5pdW0KCjIwMTEtMDgtMTkgMTY6Mjc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJnOiBmaXggY2FwcwoKMjAxMS0wOC0xOSAxNjoxMzoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBwb3J0IGFmdGVyIG1lcmdlCgoyMDExLTA4LTE5IDE2OjEyOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xOSAxNjowOTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgcG9ydCB0byBtb3JlIGF1ZGlvIGFwaSBjaGFuZ2VzCgoyMDExLTA4LTE5IDE0OjAxOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBwb3J0IG1vcmUgZWxlbWVudHMgdG8gbmV3IGF1ZGlvIGNhcHMgYW5kIEFQSQoKMjAxMS0wOC0xOSAxMTo0OTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIHBvcnQgdG8gbmV3IGF1ZGlvIEFQSSBhbmQgY2FwcwoKMjAxMS0wOC0xOCAxMzozNzozOSArMDIwMCAgRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWxsb3cgd3JpdGVzIGluIGJpZ2dlciBjaHVua3MKCSAgVGhlcmUncyBubyB1c2UgaW4gc3BsaXR0aW5nIHRoZSBpbmNvbWluZyBkYXRhIGRvd24gdG8gdGhlIHNlZ3NpemUKCSAgbGltaXQgLSBieSB3cml0aW5nIGFzIG11Y2ggYXMgcG9zc2libGUgaW4gb25lIGNodW5rLCB3ZSBpbmNyZWFzZQoJICBwZXJmb3JtYW5jZSBhbmQgYXZvaWQgUHVsc2VBdWRpbyB1bm5lY2Vzc2FyeSByZXdpbmRzLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCjIwMTEtMDgtMTggMTk6Mzc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTE4IDE5OjIxOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgIHBvcnQgdG8gbmV3IGF1ZGlvIGNhcHMuCgoyMDExLTA4LTA4IDIyOjE0OjI4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBlbnN1cmUgbm8tbW9yZS1wYWRzIGlzIGFsd2F5cyBlbWl0dGVkCgkgIEluIHBhcnRpY3VsYXIsIGRvIHNvIGV2ZW4gaWYgZmFpbGluZyB0byByZWFkIHdoaWxlIHByZXJvbGxpbmcsCgkgIHN1Y2ggYXMgd2hlbiByZWFkaW5nIGZyb20gYSBwYXJ0aWFsIGZpbGUgKGVnLCB3aGlsZSBpdCBpcyBiZWluZwoJICBkb3dubG9hZGVkKS4KCSAgVGhpcyBmaXhlcyBhIHdlZGdlIGluIHBsYXliaW4yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxOTY1CgoyMDExLTA4LTE3IDE3OjU3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBpbXByb3ZlIGZpeGF0ZSBmdW5jdGlvbgoJICBVc2UgbmV3IGNvcmUgZnVuY3Rpb24gdG8gZml4YXRlIGEgZmllbGQuCgkgIENoYWluIHVwIHRvIHBhcmVudCBmaXhhdGUgZnVuY3Rpb24uCgoyMDExLTA4LTE3IDE1OjUyOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoKMjAxMS0wOC0xNyAxNTozOToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBwb3J0IHRvIDAuMTEKCSAgQWxzbyBkaXNhYmxlIHNtb2tlIGZvciBub3cuCgoyMDExLTA4LTE2IDE3OjI3OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYXZvaWQgdGltZXN0YW1wL29mZnNldCB0cmFja2luZyBnb2luZyBvdXQgb2Ygc3luYwoJICBUaGUgbGliRkxBQyBBUEkgaXMgY2FsbGJhY2sgYmFzZWQsIGFuZCB3ZSBtdXN0IG9ubHkgY2FsbCBpdCB0bwoJICBvdXRwdXQgZGF0YSB3aGVuIHdlIGtub3cgd2UgaGF2ZSBlbm91Z2ggaW5wdXQgZGF0YS4gRm9yIHRoaXMKCSAgcmVhc29uLCBhIHNpbmdsZSBwcm9jZXNzaW5nIHN0ZXAgaXMgZG9uZSB3aGVuIHJlY2VpdmluZyBhIGJ1ZmZlci4KCSAgSG93ZXZlciwgaWYgdGhlcmUgd2VyZSBtZXRhZGF0YSBidWZmZXJzIHN0aWxsIHBlbmRpbmcsIGEgc3RlcAoJICBpbnRlbmRlZCBmb3IgdGhlIGZpcnN0IGF1ZGlvIGZyYW1lIG1pZ2h0IGVuZCB1cCB3cml0aW5nIHRoYXQKCSAgbGVmdG92ZXIgbWV0YWRhdGEuIFNpbmNlIGEgc2luZ2xlIHN0ZXAgaXMgZG9uZSBwZXIgYnVmZmVyLCB0aGlzCgkgIHdpbGwgY2F1c2UgZXZlcnkgYnVmZmVyIHRvIGJlIHdyaXR0ZW4gb25lIHN0ZXAgbGF0ZS4KCSAgVGhpcyB3b3VsZCBhZGQgc29tZSBsYXRlbmN5IChhIGJ1ZmZlcmZ1bGwncyB3b3J0aCksIHBvc3NpYmx5CgkgIGxvc2UgYSBidWZmZXIgd2hlbiBzZWVraW5nIG9yIHRoZSBsaWtlLCBhbmQgYWxzbyBjYXVzZSB0aW1lc3RhbXAKCSAgYW5kIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSB3cm9uZyBidWZmZXIsIGFzIHVwZGF0ZXMgdG8KCSAgdGhlICJjdXJyZW50IiBzZWdtZW50IGxhc3Rfc3RvcCAoZnJvbSBpbmNvbWluZyBidWZmZXIgdGltZXN0YW1wKQoJICB3aWxsIGJlIGFwcGxpZWQgdG8gYW4gb3V0cHV0IGJ1ZmZlciBvcmlnaW5hdGluZyBmcm9tIHRoZSBwcmV2aW91cwoJICBpbmNvbWluZyBidWZmZXIuCgkgIFRoaXMgZml4ZXMgdGhlIGlzc3VlIGJ5IGVuc3VyaW5nIHRoYXQsIHVwb24gcmVjZWl2aW5nIHRoZSBmaXJzdAoJICBhdWRpbyBmcmFtZSwgcHJvY2Vzc2luZyBpcyBkb25lIHRpbGwgYWxsIG1ldGFkYXRhIGlzIHByb2Nlc3NlZCwKCSAgc28gdGhlIG5leHQgInNpbmdsZSBzdGVwIiBkb25lIHdpbGwgYmUgZm9yIHRoZSBhdWRpbyBmcmFtZS4gQWZ0ZXIKCSAgdGhpcywgd2Ugc2hvdWxkIGtlZXAgdG8gMSBpbnB1dCBidWZmZXIgLT4gMSBvdXRwdXQgYnVmZmVyIGFuZCBzbwoJICBhdm9pZCBnZXR0aW5nIG91dCBvZiBzeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTYwCgoyMDExLTA4LTE3IDExOjE3OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xNiAxNTozMjowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGJhaWwgb24gcmVzZXJ2ZWQgdmFsdWUKCSAgTm93IHRoYXQgd2UgbG9vayBhdCB0aGUgcmlnaHQgYml0cywgd2UgY2FuIHRlc3QgYWdhaW5zdCB0aGUgcmVzZXJ2ZWQKCSAgdmFsdWUgYXMgd2UgZG8gZm9yIG90aGVyIGZpZWxkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNiAxNToyNzo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBiaXQgdHdpZGRsaW5nCgkgIFJpZ2h0IHNoaWZ0aW5nIGEgOCBiaXQgdmFsdWUgYnkgOCBiaXRzIGlzIHR3aWNlIHRvbyBtdWNoCgkgIHRvIGdldCB0aGUgaGlnaCA0IGJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTU6MjI6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiB3YXJuIGlmIHdlIHNlZSBhIHZhcmlhYmxlIGJsb2NrIHNpemUgd2hlcmUgdW5zdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNiAxODoyNToyOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGF2b2lkIGNyYXNoaW5nIGJ5IHJlc2V0dGluZyB0aGUgY29ycmVjdCBudW1iZXIgb2YgY2hhbm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjYwNgoKMjAxMS0wOC0xNiAxODozNTo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTEtMDgtMTYgMTM6MTY6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggb2ZmIGJ5IG9uZSBpbiBmcmFtZSBzaXplIGNoZWNrCgkgIFllcywgSSB3YXMgdHJhY2tpbmcgYW5vdGhlciBidWcgYW5kIHRoZSBzbWFsbCB0ZXN0IGZpbGUgSSBnZW5lcmF0ZWQKCSAgdG8gdGVzdCB3aXRoIGltcHJvYmFibHkganVzdCBoYXBwZW5lZCB0byB0cmlnZ2VyIHRoaXMsIHdpdGggYSBzZWNvbmQKCSAgYW5kIGxhc3QgZnJhbWUgb2YgMTYxNSBieXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0OQoKMjAxMS0wOC0xNSAxMjoxOToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBfbmVnb3RpYXRlZF9jYXBzKCkgY2hhbmdlCgoyMDExLTA4LTE0IDIwOjQ2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2Mi4zLjAuaHRtbDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1mcmFtZXMudHh0OgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLXN0cnVjdHVyZS50eHQ6CgkgIGlkM2RlbXV4OiByZW1vdmUgc3BlY3MgZnJvbSBnaXQgYXMgd2VsbCBub3cgdGhhdCBwYXJzaW5nIGNvZGUgaXMgaW4gLWJhc2UKCjIwMTEtMDctMTQgMTU6NDI6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IHVzZSAtYmFzZSBwcm92aWRlZCBpZDMgdGFnIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDM4OAoKMjAxMS0wOC0xMyAxNjo1MToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFja2F1ZGlvc3JjOiBmaXggZXJyb3IgbWVzc2FnZSBjb2RlCgkgIEFuZCBhbHNvIHBvc3QgJ25vdCBmb3VuZCcgZXJyb3IgaWYgamFja2QgaXMgbm90IGV2ZW4gaW5zdGFsbGVkLgoKMjAxMS0wOC0xMiAxNjozMjo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXRpYWxpemUgYml0cmF0ZSB2YXJpYWJsZSBhbmQgcmVzZXQgZm9yIGVhY2ggbG9vcAoJICBEb24ndCBjaGVjayBldmVudHVhbGx5IHVuc2V0IHZhcmlhYmxlIGFuZCBkb24ndCBhY2NpZGVudGlhbGx5IHVzZSB2YWx1ZXMgZnJvbSBsYXN0CgkgIGN5Y2xlLgoKMjAxMS0wOC0xMCAxMToyODoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTEtMDgtMDkgMTE6Mjg6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQcm9wZXJseSBlcnJvciBvdXQgaWYgU0RQIGNvbnRhaW5zIG5vIHN0cmVhbXMKCSAgQWxzbyBmaXhlcyB1bml0aWFsaXplZCB2YXJpYWJsZSBlcnJvciBvbiBtYWNvc3guCgoyMDExLTA4LTA5IDA5OjA1OjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogY2xlYXIgZmxhZ3Mgb24gYnVmZmVyIHJldXNlCgkgIFRoaXMgd2lsbCBlbnN1cmUgYSBsb2dpY2FsbHkgbmV3IGJ1ZmZlciBkb2VzIG5vdCBrZWVwIGZsYWdzIGZyb20KCSAgYSBwcmV2aW91cyB1c2Ugb2YgdGhhdCBidWZmZXIgKGVnLCBESVNDT05UIHdvdWxkIGJlIHNldCBvbiB0aGUgZmlyc3QKCSAgYnVmZmVyLCBhbmQgbWlzdGFrZW5seSBrZXB0IHdoZW4gcmV1c2VkKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MzcwOQoKMjAxMS0wOC0wOCAxMDo1NDoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHRha2UgY2FyZSBub3QgdG8gY2hhbmdlIHRoZSBjdXJyZW50IGZvcm1hdCB3aGVyZSBhcHByb3ByaWF0ZQoJICBTb21lIGRyaXZlcnMgYXJlIGJ1Z2d5IGFyZSB3aWxsIGNoYW5nZSB0aGUgY3VycmVudCBmb3JtYXQgd2hlbgoJICBwcm9jZXNzaW5nIFZJRElPQ19UUllfRk1ULiBTYXZlIGFuZCByZXN0b3JlIHRoZSBjdXJyZW50IGZvcm1hdAoJICB0byBlbnN1cmUgdGhlIGZvcm1hdCBpcyBrZXB0IHVuY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2NwoKMjAxMS0wOC0wOCAxNToyNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wOC0wOCAxNToyNjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgIGFhbGliOiBtYWtlIHN1cmUgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSBpcyBkZWZpbmVkCgkgIFNvIHdlIGRvbid0IGdldCB3YXJuaW5ncy4KCjIwMTEtMDgtMDggMTU6MjU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgdjRsMjogdXBkYXRlIGZvciBHc3RYT3ZlcmxheSA9PiBHc3RWaWRlb092ZXJsYXkgcmVuYW1lCgoyMDExLTA4LTA3IDEyOjIzOjI2ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogVXNlIGZyYWN0aW9uIGNvbXBhcmUgdXRpbCBmdW5jdGlvbi4KCSAgVXNlIHRoZSBmcmFjdGlvbiBjb21wYXJlIHV0aWxpdHkgdG8gY29tcGFyZSBmdW5jdGlvbiwgbm90IHRoZQoJICBoYW5kY3JhZnRlZCBvbmUuIFRoZSBoYW5kY3JhZnRlZCBvbmUgaXMgYnVnZ3kgYXMgaXQgZG9lc24ndCB0YWtlIGludG8KCSAgYWNjb3VudCByb3VuZGluZyBlcnJvci4gRm9yIGV4YW1wbGUgY29tcGFyaW5nIGEgZnJhbWVyYXRlIG9mIDIwLzEgb24gYQoJICBjYW1lcmEgY29uZmlndXJlZCBhcyAzMC8xIGZwcyB3b3VsZCB5aWVsZCB0cnVlOiAxID09ICgxICogMjApLzMwIGFuZCBub3QKCSAgcmUtY29uZmlndXJlIHRoZSBjYW1lcmEuIEZpeGVzICM2NTYxMDQKCjIwMTEtMDgtMDcgMTE6MTQ6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBhdm9pZCByYWNlIGluIHN0YXJ0aW5nCgkgIFNpbmUgdGhlIGJhc2UgY2xhc3Mgbm93IGRvZXMgdGhlIG5lZ290aWF0aW9uIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgd2UgaGF2ZQoJICB0byBiZSBjYXJlZnVsIGFuZCBjaGVjayBpZiB0aGUgc3RyZWFtIGlzIHJlYWR5IGJlZm9yZSBjaGFuZ2luZyBpdHMgY29ya2VkIHN0YXRlLgoKMjAxMS0wOC0wNSAxMjoyNzoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IFVzZSBHU1RfQ0ZMQUdTIHdoZW4gYnVpbGRpbmcgdGVzdHMKCSAgRW5zdXJlcyB3ZSBoYXZlIHRoZSBwcm9wZXIgZGVmaW5lIGZvciB1c2luZyB1bnN0YWJsZSBBUEkKCjIwMTEtMDgtMDUgMDg6NTk6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogZml4dXAgYWZ0ZXIgc21hbGwgYXBpIGNoYW5nZXMKCSAgUG9ydCB0byByZWNlbnRseSBjaGFuZ2VkIGFwaSBzbyB0aGF0IGl0IGNvbXBpbGVzIGFnYWluLgoKMjAxMS0wOC0wNSAxMTozMjo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICB5NG1lbmM6IE5vdyBkZXBlbmRzIG9uIGxpYmdzdHZpZGVvCgoyMDExLTA4LTA0IDE4OjQxOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBtb3JlIGNsZWFudXBzCgoyMDExLTA4LTA0IDE4OjE1OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzbWFsbCBjbGVhbnVwcwoKMjAxMS0wOC0wNCAxNjozNTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogY2FsbCBzZXRfY2FwcyBtZXRob2Qgb2YgYmFzZWNsYXNzCgkgIENhbGwgdGhlIGJhc2VjbGFzcyBzZXRfY2FwcyBmdW5jdGlvbiB0byBtYWtlIGl0IHNlbmQgdGhlIGNhcHMgZXZlbnQgYW5kCgkgIHByb3Blcmx5IHRyaWdnZXIgdGhlIG5lZ290aWF0aW9uIGZ1bmN0aW9ucy4KCjIwMTEtMDgtMDQgMTY6MjU6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNtYWxsIGNsZWFudXBzCgoyMDExLTA4LTA0IDE1OjI1OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IHBvcnQgdG8gbmV3IGNhcHMKCjIwMTEtMDgtMDQgMTM6NTI6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFNpemUgdmFyaWFibGUgc2hvdWxkIGJlIGEgZ3VpbnQgYW5kIG5vdCBhIGdzaXplCgoyMDExLTA4LTA0IDEyOjUwOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogYWN0aXZhdGUgdGhlIHBvb2wgaW4gZmFsbGJhY2sKCSAgV2hlbiBub2JvZHkgaXMgdXNpbmcgb3VyIHBvb2wsIGFjdGl2YXRlIGl0IG91cnNlbHZlcy4KCSAgQXZvaWQgbGVha2luZyB0aGUgYnVmZmVyIGFycmF5LgoJICBTZXQgZGVmYXVsdCBwb29sIGNvbmZpZ3VyYXRpb24gd2l0aCBjYXBzLgoJICBEb24ndCBrZWVwIGN1cnJlbnRfY2FwcywgY29yZSBkb2VzIHRoYXQgZm9yIHVzIG5vdy4KCjIwMTEtMDgtMDMgMjI6NTc6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIGZpeCBjb21waWxhdGlvbgoJICBoYWwgZWxlbWVudHMgd2VyZSByZW1vdmVkLCByZW1vdmUgdGhlbSBmcm9tIGRvY3MgdG9vCgkgIGNoYW5nZSBleGFtcGxlIGZvciBwYWQtYmxvY2sgQVBJIChhY3R1YWxseSByZW1vdmUgdGhlIHBhZCBibG9jaywgYW4gYXBwbGljYXRpb24KCSAgc2hvdWxkIG5vdCBiZSBib3RoZXJlZCB3aXRoIHdvcmtpbmcgYXJvdW5kIGJ1Z3MgaW4gZWxlbWVudHMpCgoyMDExLTA4LTAzIDE4OjM3OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHBvcnQgdG8gbmV3IEFQSQoKMjAxMS0wOC0wMyAxODoyNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmMKCjIwMTEtMDgtMDMgMjI6NTA6MDUgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thOiBSZWdpc3RlciBuZXcgZGVidWcgY2F0ZWdvcnkKCSAgUmVnaXN0ZXIgdGhlIG1hdHJvc2thcmVhZGNvbW1vbiBkZWJ1ZyBjYXRlZ29yeSB3aGVuIHRoZQoJICBwbHVnaW4gaXMgbG9hZGVkIHRvIGF2b2lkIGFzc2VydGlvbiBvdXRwdXQgd2hlbiBkZWJ1ZyBpcyB0dXJuZWQgb24uCgoyMDExLTA4LTAzIDEzOjM4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB0ZXN0L2lja2xlczogUG9ydCBnZGtwaXhidWZzaW5rIHRlc3QKCjIwMTEtMDgtMDMgMTM6MzM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgUmV2ZXJ0ICJ0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhdXRvZGV0ZWN0IHRlc3QgdGVtcG9yYXJpbHksIHNvIHRoYXQgdGhlIGJ1aWxkIGJvdHMgdXBkYXRlIC1iYWQgYW5kIHRoZSByYW5rcyBvZiB1bnIuLi4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDc1YWVkOGFmNmQyYTU3YzFkMjE0OTBjODI0ZTc1NGE2YjIzNjdhOS4KCSAgSXQgd29uJ3QgY29uc2lkZXIgZWxlbWVudHMgZnJvbSBhbnl3aGVyZSBlbHNlIGFueW1vcmUKCjIwMTEtMDgtMDMgMTM6MTA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBjaGVjazogVXBkYXRlIHBhcnNlciBtaW5pLWxpYiB0byAwLjExIEFQSQoKMjAxMS0wOC0wMyAxMzowOTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBmb3IgbW9kaWZpZWQgc291cmNlIGZpbGUgbG9jYXRpb24KCjIwMTEtMDgtMDMgMTM6MDg6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGNhaXJvX2dvYmplY3QgaXNuJ3QgcG9ydGVkIGVpdGhlcgoKMjAxMS0wOC0wMyAxMDo1OTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuaDoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmg6CgkqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuYzoKCSogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5oOgoJKiBleHQvaGFsL2hhbC5jOgoJKiBleHQvaGFsL2hhbC5oOgoJICBoYWw6IFJlbW92ZSBoYWwgcGx1Z2luCgkgIGhhbCBpcyBub3QgZGV2ZWxvcGVkIGFueW1vcmUgYW5kIG5vYm9keSBpcyB1c2luZyB0aGUgcGx1Z2luIG5vd2FkYXlzLgoKMjAxMS0wNy0yOSAxMzowMzo1NSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb2Z0ZW4gYXNzZXJ0aW9uIGNoZWNrIG9uIHN0cmVhbSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU1NzAKCjIwMTEtMDgtMDMgMTA6MDk6NDIgKzAyMDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWRkIHN1cHBvcnQgZm9yIEguMjY0IHBheWxvYWQgaW4gTUpQRUcgY29udGFpbmVyCgkgIFNlZSBodHRwOi8vd3d3LnF1aWNrY2FtdGVhbS5uZXQvdXZjLWgyNjQvVVNCX1ZpZGVvX1BheWxvYWRfSC4yNjRfMC44Ny5wZGYKCSAgRml4ZXMgYnVnICM2NTU1MzAuCgoyMDExLTA4LTAyIDIyOjA1OjA4IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBqYWNrYXVkaW9zaW5rOiBEb24ndCBjYWxsIGdfYWxsb2NhKCkgaW4gcHJvY2Vzc19jYgoJICBnX2FsbG9jYSgpIGlzIG5vdCBSVC1zYWZlLCBzbyBpbnN0ZWFkIHdlIHNob3VsZCBhbGxvY2F0ZSB0aGUKCSAgbWVtb3J5IG5lZWRlZCBpbiBhZHZhbmNlLiBGaXhlcyAjNjU1ODY2CgoyMDExLTA4LTAzIDA4OjU4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgaGFsIHRvIHRoZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMyAwODo1MzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIG1vbm9zY29wZSB0byB0aGUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDMgMDg6NTE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBGaXggdW51c2VkIGJ1dCBzZXQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDgtMDIgMjM6NDI6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGRvY3M6IGZpeCB0d28gbW9yZSBTaW5jZTogdGFncwoKMjAxMS0wNy0zMSAwNDoxOTowMCArMDMwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggU2luY2UgdGFncyBmb3IgZmllbGRhbmFseXNpcyByZWxhdGVkIG5ldyBwcm9wZXJ0aWVzCgkgIGNvbW1pdCBjMWIxMDBjZjljIGlzIGFmdGVyIDAuMTAuMjkgYW5kIDAuMTAuMzAgd2FzIGEgYnJhbmNoZWQgcmVsZWFzZS4KCSAgU28gZml4IFNpbmNlIHRhZ3MgZnJvbSAwLjEwLjI5IHRvIDAuMTAuMzEgZm9yIHRoZSBuZXcgcHJvcGVydGllcy4KCjIwMTEtMDgtMDIgMTE6NTE6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IGZpeCBwb3J0aW5nIGVycm9yCgoyMDExLTA4LTAyIDExOjI5OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEZWZpbmUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDIgMTE6Mjk6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHN1Ym1vZHVsZQoKMjAxMS0wOC0wMiAxMToxNzozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogU29ydCBBR19HU1RfQ0hFQ0tfUExVR0lOIGFscGhhYmV0aWNhbGx5CgoyMDExLTA3LTI5IDE3OjI3OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJICAtZ29vZDogZml4IGZvciBidWZmZXJwb29sIEFQSSBjaGFuZ2UKCjIwMTEtMDctMjkgMTc6MjE6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDogY2hhbmdlIGZvciBuZXcgQVBJCgoyMDExLTA3LTI5IDEzOjA1OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggdmFyaWFibGUtc2V0LWJ1dC1ub3QtdXNlZCBjb21waWxlciB3YXJuaW5nIHdpdGggb2xkZXIgcHVsc2UgdmVyc2lvbnMKCjIwMTEtMDctMjkgMTI6MDc6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBwcm9wZXJseSBpbml0IHJ0Y3BfbWluX2ludGVydmFsCgoyMDExLTAzLTA5IDExOjA0OjM2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlc2luazogQWRkIHN1cHBvcnQgZm9yIGNvbXByZXNzZWQgZm9ybWF0cwoJICBUaGlzIGFkZHMgc3VwcG9ydCBmb3IgdmFyaW91cyBjb21wcmVzc2VkIGZvcm1hdHMgKEFDMywgRS1BQzMsIERUUyBhbmQKCSAgTVAzKSBwYXlsb2FkZWQgaW4gSUVDIDYxOTM3IGZvcm1hdCAodXNlZCBmb3IgdHJhbnNtaXNzaW9uIG92ZXIgUy9QRElGLAoJICBIRE1JIGFuZCBCbHVldG9vdGgpLgoJICBUaGUgYWNjZXB0Y2FwcygpIGZ1bmN0aW9uIGFsbG93cyBiaW5zIHRvIHByb2JlIGZvciB3aGF0IGZvcm1hdHMgdGhlIHNpbmsKCSAgYmVpbmcgY29ubmVjdGVkIHRvIHN1cHBvcnQuIFRoaXMgb25seSB3b3JrcyBhZnRlciB0aGUgZWxlbWVudCBpcyBzZXQgdG8KCSAgYXQgbGVhc3QgUkVBRFkuCgkgIElmIHRoZSB1bmRlcmx5aW5nIHNpbmsgY2hhbmdlcyBhbmQgdGhlIGZvcm1hdCB3ZSBhcmUgc3RyZWFtaW5nIGlzIG5vdAoJICBhdmFpbGFibGUsIHdlIGVtaXQgYSBtZXNzYWdlIHRoYXQgd2lsbCBhbGxvdyB1cHN0cmVhbSBlbGVtZW50cy9iaW5zIHRvCgkgIGJsb2NrIGFuZCByZW5lZ290aWF0ZSBhIG5ldyBmb3JtYXQuCgoyMDExLTAzLTAxIDE1OjM0OjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VzaW5rOiBVc2UgdGhlIGV4dGVuZGVkIHN0cmVhbSBBUEkgaWYgYXZhaWxhYmxlCgkgIFRoaXMgdXNlcyB0aGUgbmV3IGV4dGVuZGVkIEFQSSBmb3IgY3JlYXRpbmcgc3RyZWFtcy4gVGhpcyB3aWxsIGFsbG93IHVzCgkgIHRvIHN1cHBvcnQgY29tcHJlc3NlZCBmb3JtYXRzIG5hdGl2ZWx5IGluIHB1bHNlc2luayBhcyB3ZWxsLgoKMjAxMS0wNy0yOSAwMDowNzo1MiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBBZGQgYSBzb3VyY2Utb3V0cHV0LWluZGV4IHByb3BlcnR5CgkgIFRoaXMgZXhwb3NlcyB0aGUgc291cmNlIG91dHB1dCBpbmRleCBvZiB0aGUgcmVjb3JkIHN0cmVhbSB0aGF0IHdlIG9wZW4KCSAgc28gdGhhdCBjbGllbnRzIGNhbiB1c2UgdGhpcyB3aXRoIHRoZSBpbnRyb3NwZWN0aW9uIGlmIHRoZXkgd2FudCAodG8KCSAgbW92ZSB0aGUgc3RyZWFtLCBmb3IgZXhhbXBsZSkuCgoyMDExLTA3LTI4IDE0OjQ0OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGtlZXAgYSByZWYgb24gdGhlIHNyYyBwYWQgd2hpbGUgdXNpbmcgaXQKCSAgUHJldmVudCBhIHBvc3NpYmxlIHJhY2UgaWYgY2xlYXJfc3NyYygpIGlzIGNhbGxlZCBiZXR3ZWVuIGdldHRpbmcgdGhlIHBhZCBhbmQKCSAgZG9pbmcgdGhlIHB1c2guCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MTYKCjIwMTEtMDUtMjQgMTE6Mjk6NTcgKzAzMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHJ0cHNzcmNkZW11eDogTWFrZSB0aGUgcGFkcyBsb2NrIHJlY3Vyc2l2ZSBhbmQgaG9sZCBpdCBhY3Jvc3MgdGhlIHNpZ25hbCBlbWl0CgkgIFdlIG5lZWQgdG8ga2VlcCB0aGUgbG9jayBoZWxkIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCBhIHB1c2ggYmVmb3JlIHRoZSAibmV3LXNzcmMtcGFkIgoJICBoYW5kbGVyIGhhcyBjb21wbGV0ZWQuIEJ1dCB3ZSBtYXkgd2FudCB0byBwdXNoIGFuIGV2ZW50IGZyb20gaW5zaWRlIHRoYXQgaGFuZGxlciwgaGVuY2UKCSAgdGhlIHJlY3Vyc2l2ZSBtdXRleC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkxNgoKMjAxMS0wNS0yNCAxMToxNzoyNSArMDMwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFVzZSBQQURzIGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkxNgoKMjAxMS0wNy0yOCAxMTowOTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiB1cGRhdGUgZm9yIHBvc2l0aW9uL3F1ZXJ5L2NvbnZlcnQgQVBJIGNoYW5nZXMKCjIwMTEtMDctMjggMTA6NTQ6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZ3N0OiB1ZHBhdGUgZm9yIHBvc2l0aW9uL2R1cmF0aW9uL2NvbnZlcnQgcXVlcnkgQVBJIGNoYW5nZXMKCjIwMTEtMDctMjggMDA6Mzc6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0YXZpZGVtdXguYzogSW4gZnVuY3Rpb24gJ2dzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtJzoKCSAgZ3N0YXZpZGVtdXguYzoxMjYxOjI0OiBlcnJvcjogJ2RhdGEnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj11bmluaXRpYWxpemVkXQoJICBnc3RhdmlkZW11eC5jOjEyMDQ6MTE6IG5vdGU6ICdkYXRhJyB3YXMgZGVjbGFyZWQgaGVyZQoKMjAxMS0wNy0yNyAxODoxNToyMCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IENvcGUgd2l0aCBGVS1BIEUgYml0IG5vdCBiZWluZyBzZXQKCSAgU29tZSBoMjY0IHBheWxvYWRlcnMgYXJlIHVuZm9ydHVuYXRlbHkgYnVnZ3kgYW5kIGRvbid0IGNvcnJlY3RseSBzZXQgdGhlCgkgIEUgYml0IGluIEZVLUEgTkFMIHdoZW4gdGhleSBoYXZlIGVuZGVkLiBXb3JrIGFyb3VuZCB0aGlzIGJ5IGFzc3VtaW5nCgkgIHN1Y2ggYSBmcmFnbWVudGF0aW9uIHVuaXQgaGFzIGVuZGVkIHdoZW4gdGhlcmUgd2FzIG5vIHBhY2tldCBsb3NzIGFuZCBhCgkgIG5ldyBOQUwgaXMgc3RhcnRlZAoKMjAxMS0wNC0xMiAxNzowMTo0NyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IFN1cHBvcnQgc3dpdGNoaW5nIGFsaWdubWVudCBvbi10aGUtZmx5CgkgIFRoaXMgYWxsb3dzIHN3aXRjaGluZyBvZiBhbGlnbm1lbnQgZm9yIEUtQUMzIHN0cmVhbXMgYXQgcnVuLXRpbWUuIFRoaXMKCSAgaXMgcmVxdWVzdGVkIGJ5IGRvd25zdHJlYW0gZWxlbWVudHMgdmlhIGEgY3VzdG9tIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMzEzCgoyMDExLTA3LTI3IDE2OjQ2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCSAgVXNlIHRoZSBtb3JlIHNwZWNpYWxpemVkIHR5cGUgZm9yIHRoZSBidWZmZXJwb29sLgoJICBVc2UgdGhlIHNpemUgZnJvbSB0aGUgZHJpdmVyIGFzIHRoZSBzaXplIG9mIHRoZSBpbWFnZSB0byByZWFkLgoJICBEb24ndCBjb25maWd1cmUgdGhlIHBvb2wgd2hlbiBjcmVhdGVkLiBUaGlzIHdpbGwgYmUgZG9uZSBpbiB0aGUgc2V0dXBfYWxsb2NhdGlvbgoJICBtZXRob2QgbGF0ZXIgb3IgYnkgdXBzdHJlYW0gZm9yIHNpbmtzLgoJICBSZW1vdmUgdW51c2VkIHByb3BlcnRpZXMgYW5kIHZhcmlhYmxlcy4gQnVmZmVycG9vbCBzaXplcyBhcmUgbm93IGNvbmZpZ3VyZWQgaW4KCSAgdGhlIGJ1ZmZlcnBvb2wgYnkgdGhlIGVsZW1lbnRzIGluIHRoZSBwaXBlbGluZS4gV2UgbWlnaHQgd2FudCB0byBpbmZsdWVuY2UgdGhlCgkgIHBvb2wgc2l6ZSBsYXRlciBzb21laG93LgoKMjAxMS0wNy0yNyAxMzo0NjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA3LTI3IDEzOjQzOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBhZGQgbWV0YWRhdGEKCjIwMTEtMDctMjcgMTM6NDE6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICBidWZmZXJwb29sOiBjaGVjayBmb3IgbWV0YWRhdGEKCSAgT25seSBhZGQgdmlkZW8gbWV0YWRhdGEgd2hlbiBpdCB3YXMgY29uZmlndXJlZCBpbiB0aGUgcG9vbC4gRmFpbCBpZiB0aGVyZSB3YXMgbm8KCSAgdmlkZW8gbWV0YWRhdGEgY29uZmlndXJlZCBhbmQgdGhlIHN0cmlkZXMgYXJlIG5vdCB0aGUgZGVmYXVsdCBvbmVzLgoKMjAxMS0wNy0yNyAxMjo0MjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICB3YXJwOiBhZGQgc3RyaWRlIHN1cHBvcnQKCjIwMTEtMDctMjcgMTI6NDE6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFkZCBjb2xvcnNwYWNlIHRvIGRlYnVnCgoyMDExLTA3LTI2IDE3OjQ1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogZml4IGNvbXBpbGF0aW9uCgoyMDExLTA3LTI2IDE2OjE1OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogcmVuYW1lIGEgdmFyaWFibGUKCSAgUmVuYW1lIHRoZSBzaXplIHZhcmlhYmxlIHRvIHNpemVpbWFnZSBhbmQgZmlsbCBpdCB3aXRoIHRoZSBzaXplIHRoYXQgaGFzIGJlZW4KCSAgZ2l2ZW4gdG8gdXNlIGJ5IHRoZSB2NGwyIGRyaXZlciBpbnN0ZWFkIG9mIG1ha2luZyBzb21ldGhpbmcgdXAuLgoKMjAxMS0wNy0yNiAxMzoxODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHVzZSBuZXcgc2V0dXBfYWxsb2NhdGlvbiB2bWV0aG9kCgoyMDExLTA3LTI2IDEwOjU2OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wbGVtZW50IG1vcmUgYml0cyBvZiBSVyBJL08gbW9kZQoJICBJbXBsZW1lbnQgdGhlIHJlbGFlc2Ugb2YgUlcgYnVmZmVycyBpbiB0aGUgcG9vbC4KCSAgV2FybiBmb3IgdW5zdXBwb3J0ZWQgd3JpdGUoKSBtb2RlIGZvciBzaW5rcy4KCjIwMTEtMDctMjYgMTA6NTQ6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGltcHJvdmUgSU8gbW9kZSBlcnJvciBoYW5kbGluZwoJICBFcnJvciBvdXQgd2hlbiBhbiB1bnN1cHBvcnRlZCBJTyBtb2RlIHdhcyBzZWxlY3RlZAoKMjAxMS0wNC0wOSAxMjoyNjo1NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBJRUMgNjE5MzcgYWxpZ25tZW50CgkgIFdoZW4gcHVzaGluZyBvdXQgYnVmZmVycyBvdmVyIFMvUERJRiBvciBIRE1JLCBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICByZXF1aXJlcyBlYWNoIGJ1ZmZlciB0byBjb250YWluIDYgYmxvY2tzIGZyb20gZWFjaCBzdWJzdHJlYW0uIFRoaXMgYWRkcwoJICBjb2RlIHRvIGNvbGxlY3QgYWxsIHRoZSBmcmFtZXMgbmVlZGVkIHRvIG1lZXQgdGhpcyByZXF1aXJlbWVudCBiZWZvcmUKCSAgcHVzaGluZyBvdXQgYSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAzMTMKCjIwMTEtMDYtMDggMTU6NTc6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWx3YXlzIHNlbmQgYXBwbGljYXRpb24gcmVxdWVzdGVkIGZlZWRiYWNrIGluIGltbWVkaWF0ZSBtb2RlCgkgIFNlbmQgYXMgbWFueSBhcHBsaWNhdGlvbiByZXF1ZXN0ZWQgZmVlZGJhY2sgbWVzc2FnZXMgaW4gaW1tZWRpYXRlIG1vZGUsIGV2ZW4gaWYgdGhleQoJICBoYXZlIGFscmVhZHkgYmVlbiBzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NTgzCgoyMDExLTA2LTA4IDE0OjQ4OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEb24ndCBsZXQgdGhlIGNvbXB1dGVkIFJUUCBiYW5kd2lkdGggZmFsbCB0b28gbG93CgkgIElmIGl0IGZhbGxzIHRvbyBsb3csIHRoZSBjb21wdXRlZCBSVENQIGJhbmR3aWR0aCB3aWxsIGJlIG5lYXIgemVybyBhbmQKCSAgdGhlIFJUQ1AgdGhyZWFkIHdpbGwgYmUgc3RvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU4MwoKMjAxMS0wNC0yNSAxNjoxMzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBXYWl0IGxvbmdlciB0byB0aW1lb3V0IFNTUkMgY29sbGlzaW9uCgkgIFVzaW5nIHRoZSBjdXJyZW50IFJUQ1AgaW50ZXJ2YWwgdG8gdGltZW91dCBTU1JDIGNvbGxpc2lvbiBjYW4gbGVhZCB0bwoJICBjb2xsaXNpb25zIGJlaW5nIHRpbWVkIG91dCBpbW1lZGlhdGVseSBpZiBhIEJZRSBwYWNrZXQgaXMgc2VudCBiZWNhdXNlCgkgIGl0IGlzIHNlbnQgaW1tZWRpYXRlbHksIHNvIHRoZSBpbnRlcnZhbCBpcyAwLiBUaGlzIGlzIG5vdCB3aGF0IHdlCgkgIHdhbnQuIFNvIGp1c3Qgc2V0IGEgc3RhdGljIDEwIHRpbWVzIHRoZSBkZWZhdWx0IFJUQ1AgaW50ZXJ2YWwsIGl0CgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODY0MgoKMjAxMS0wNy0yNSAxNTo1MToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgbWV0aG9kCgoyMDExLTA3LTI1IDE1OjM4OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggZmx1c2hpbmcgc3RhcnQgYW5kIHN0b3AKCSAgTW92ZSB0aGUgZmx1c2hpbmcgY2FsbHMgdG8gdGhlIHJpZ2h0IHBsYWNlIGluIHRoZSBidWZmZXJwb29sLgoJICBGaXggdGhlIG1pbiBhbmQgbWF4IGJ1ZmZlciBzaXplcy4KCjIwMTEtMDctMjUgMTQ6NDc6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBkZXF1ZXVlIGJ1ZmZlcnMgd2hlbiBhbGwgYXJlIHF1ZXVlZAoJICBQcmVmZXIgdG8gYWx3YXlzIHVzZSB0aGUgZGVmYXVsdCBidWZmZXJwb29sIHF1ZXVlIGZvciB0aGUgX2FjcXVpcmUgZnVuY3Rpb24KCSAgYmVjYXVzZSBpdCBwcm9wZXJseSBzdXBwb3J0cyB1bmJsb2NraW5nIHdoZW4gc2V0dGluZyBpbmFjdGl2ZSBldGMuIEFzIGEgcmVzdWx0LAoJICB3ZSBuZWVkIHRvIGRlcXVldWUgYnVmZmVycyBhbmQgcHV0IHRoZW0gYmFjayBpbiB0aGUgYnVmZmVycG9vbCBxdWV1ZSB3aGVuIHdlCgkgIGhhdmUgcXVldWVkIGFsbCBidWZmZXJzIGluIHRoZSBzaW5rLgoJICBSZW5hbWUgc29tZSB2YXJpYWJsZXMgdG8gbW9yZSBtZWFuaW5nZnVsbCBuYW1lcyB0byBhdm9pZCBhIHByb2JsZW0gd2l0aAoJICBmcmVlaW5nIHRoZSB3cm9uZyBhbW91bnQgb2YgYnVmZmVycy4KCjIwMTEtMDctMTkgMTM6Mzg6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgU09VUkNFIGZsYWcgYXQgaW5pdCB0aW1lCgkgIEZpeGVzICM2NTQ4MTYuCgoyMDExLTA3LTI1IDEwOjEwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICB2ZXJ0aWdvdHY6IGFkZCBzdHJpZGUgc3VwcG9ydAoKMjAxMS0wNy0xOSAxODoyNToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IG9ubHkgdG8gU1RSRUFNT0ZGIHdoZW4gc3RyZWFtaW5nCgkgIE9ubHkgY2FsbCBTVFJFQU1PRkYgd2hlbiB3ZSBwcmV2aW91c2x5IGNhbGxlZCBTVFJFQU1PTgoKMjAxMS0wNy0yMiAyMToyNjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgcmVwbGF5OiBmaXggZm9yIGV2ZW50IGhhbmRsZXIKCjIwMTEtMDctMjIgMjE6MTk6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkgIGZpeGVzIGZvciBldmVudCBoYW5kbGVyIGNoYW5nZXMKCjIwMTEtMDctMTggMTY6NDY6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IENvbXBsZXRlIG1lcmdlZCBBVSBvbiBtYXJrZXIgYml0CgkgIFRoZSBtYXJrZXIgYml0IG9uIGEgUlRQIHBhY2tldCBtZWFucyB0aGUgQVUgaGFzIGJlZW4gY29tcGxldGVkLCBzbyBwdXNoIGl0IG91dAoJICBpbW1lZGlhdGVseSB0byByZWR1Y2UgdGhlIGxhdGVuY3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCjIwMTEtMDctMTggMjA6Mjc6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IE9ubHkgc2V0IHRoZSBtYXJrZXIgYml0IG9uIHRoZSBsYXN0IE5BTFUgb2YgYSBtdWx0aS1OQUxVIGFjY2VzcyB1bml0CgkgIEFuIGFjY2VzcyB1bml0IGNvdWxkIGNvbnRhaW4gbXVsdGlwbGUgTkFMIHVuaXRzLCBpbiB0aGF0IGNhc2UsIG9ubHkgdGhlIGxhc3QKCSAgUlRQIHBhY2tldCBvZiB0aGUgbGFzdCBOQUxVIHNob3VsZCBoYXZlIGl0cyBtYXJrZXIgYml0IHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoKMjAxMS0wNy0yMCAwODo1Mjo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnQ6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA3LTE5IDE4OjIwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBoYW5kbGUgdW5zdXBwb3J0ZWQgZm9ybWF0cwoKMjAxMS0wNy0xOSAxNjo1OTo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBGaXggc2luayBidWZmZXJwb29sIGhhbmRsaW5nCgkgIFJlbW92ZSBvbGQgbWV0aG9kLCB1c2UgbmV3dyBfcHJvY2VzcyBtZXRob2QgZm9yIHRoZSBzaW5rLgoJICBJbmZvcm0gdGhlIHBhcmVudCBidWZmZXJwb29sIGNsYXNzIGFib3V0IHRoZSBzZXR0aW5ncyB0b28uIFRoaXMgaXMgbmVlZGVkIHRvIGxldAoJICBpdCBrbm93IGFib3V0IHRoZSBtYXgtYnVmZmVycy4KCSAgQWxsb2NhdGUgdGhlIG5lZ290aWF0ZWQgbWF4LWJ1ZmZlcnMgYW5kIGluaXRpYWxseSBtbWFwIG1pbi1idWZmZXJzLiBUaGUgaWRlYSBpcwoJICB0aGF0IHRoZSBidWZmZXJwb29sIHdpbGwgYWxsb2NhdGUgbW9yZSB3aGVuIG5lZWRlZC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIE9ubHkgcG9sbCBpbiBjYXB0dXJlIG1vZGUsIGl0IGRvZXMgbm90IHNlZW0gdG8gd29yayBpbiBwbGF5YmFjayBtb2RlIG9uIHRoaXMKCSAgYmVhZ2xlYm9hcmQuCgoyMDExLTA3LTE5IDEyOjA1OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogYXZvaWQgaGFuZ2luZyBvbiBpbnZhbGlkIHNob3J0IGlucHV0CgkgIC4uLiBhcyBpbiBzdWNoIGNhc2UgdGhlcmUgaXMgbm8gc3JjcGFkIHlldCBvbiB3aGljaCB0byBmb3J3YXJkIEVPUy4KCjIwMTEtMDctMTggMTU6MTM6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBGaXggZGVmYXVsdCB2YWx1ZSBsZWFraW5nCgkgIFJlbWVtYmVyIHRvIGZyZWUgdGhlIGRlZmF1bHQgdmFsdWUgb2YgY2xpZW50IG5hbWUsIGF2b2lkaW5nIGEKCSAgbGVhawoKMjAxMS0wNy0xOCAxODo1NDo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogTW9yZSB3b3JrIG9uIGJ1ZmZlcnBvb2xzCgkgIEFkZCBkaWZmZXJlbnQgdHJhbnNwb3J0IG1ldGhvZHMgdG8gdGhlIGJ1ZmZlcnBvb2wgKE1NQVAgYW5kIFJFQUQvV1JJVEUpCgkgIERvIG1vcmUgcGFyc2luZyBvZiB0aGUgYnVmZmVycG9vbCBjb25maWcuCgkgIFN0YXJ0IGFuZCBzdG9wIHN0cmVhbWluZyBiYXNlZCBvbiB0aGUgYnVmZmVycG9vbCBzdGF0ZS4KCSAgTWFrZSBzZXBhcmF0ZSBtZXRob2RzIGZvciBnZXR0aW5nIGEgYnVmZmVyIGZyb20gdGhlIHBvb2wgYW5kIGZpbGxpbmcgaXQgd2l0aAoJICBkYXRhLiBUaGlzIGFsbG93cyB1cyB0byBmaWxsIGJ1ZmZlcnMgZnJvbSBvdGhlciBwb29scyB0b28uIEVpdGhlciB1c2UgY29weSBvcgoJICByZWFkIHRvIGZpbGwgdXAgdGhlIHRhcmdldCBidWZmZXJzLgoJICBBZGQgcHJvcGVydHkgdG8gZm9yY2UgYSB0cmFuc2ZlciBtb2RlIGluIHY0bDJzcmMuCgkgIEluY3JlYXNlIGRlZmF1bHQgbnVtYmVyIG9mIGJ1ZmZlcnMgdG8gNC4KCSAgTmVnb3RpYXRlIGJ1ZmZlcnBvb2wgYW5kIGl0cyBwcm9wZXJ0aWVzIGluIHY0bDJzcmMuCgoyMDExLTA3LTE4IDE0OjI0OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcmVzZXQgdXBvbiBGTFVTSF9TVE9QCgkgIC4uLiB3aGljaCBpcyBwYXJ0aWN1bGFybHkgbmVlZGVkIHdoZW4gbWVyZ2luZyBOQUwgdW5pdHMsIHdoZXJlIG5vdCByZXNldHRpbmcKCSAgd291bGQgbGVhZCB0byBvdXRwdXQgb2YgYW4gb2xkZXIgKHByZS1mbHVzaCkgQVUgKHdpdGggdW5pbnRlbmRlZCB0aW1lc3RhbXApLgoKMjAxMS0wNy0xOCAxNDozMDo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG8gbm90IHVzZSBnX3NsaXN0X2ZyZWVfZnVsbAoJICAuLi4gYXMgdGhhdCBpcyBvbmx5IGluIEdMaWIgMi4yOCwgd2hpY2ggaXMgbm90IHlldCByZXF1aXJlZCBhdCB0aGlzIHRpbWUuCgoyMDExLTA3LTE4IDEwOjUyOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGFkZCBJTyBtZXRob2QgZW51bQoKMjAxMS0wNy0xOCAxMDo1MToyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGJ1ZmZlcnBvb2w6IGltcHJvdmUgX25ldyBmdW5jdGlvbgoKMjAxMS0wNy0xOCAwOTozODoyNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgbWF4LWZpbGVzIHByb3BlcnR5CgkgIEFkZCBtYXgtZmlsZXMgcHJvcGVydHkgdG8gbGltaXQgdGhlIG51bWJlciBvZiBmaWxlcyBzYXZlZCBvbiBkaXNrLgoJICBBUEk6IG11bHRpZmlsZXNpbms6Om1heC1maWxlcwoKMjAxMS0wNy0xNyAyMzozNjo1NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcmVmYWN0b3IgZmlsZSBvcGVuaW5nIGFuZCBjbG9zaW5nIGNvZGUKCjIwMTEtMDctMTYgMTk6Mzg6NTEgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIGhlYWRlciBoYXMgb25seSBvbmUgZGlzcGxheSB2YXJpYWJsZQoJICBDdXJyZW50IG1hdHJvc2thIGRlbXV4IGNhbGN1bGF0ZXMgdGhlIHBpeGVsIGFzcGVjdCByYXRpbyBvbmx5IGlmIGJvdGgKCSAgRGlzcGxheUhlaWdodCBhbmQgRGlzcGxheVdpZHRoIGFyZSBzZXQsIGJ1dCBpdCBpcyBsZWdhbCB0byB1c2Ugb25seQoJICBvbmUgdmFyaWFibGUgaWYgdGhlIG90aGVyIGlzIGVxdWFsIHRvIFBpeGVsV2lkdGggb3IgUGl4ZWxIZWlnaHQsIGF0CgkgIGxlYXN0IHRoZSBta2NsZWFuIHV0aWxpdHkgaXMgZG9pbmcgdGhhdC4gU28gdGhpcyBtYWtzZSBta2NsZWFuZWQKCSAgZmlsZXMgcGxheSBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ3NDQKCjIwMTEtMDctMTYgMjM6NDc6NTAgKzAxMDAgIEFudG9pbmUgSmFjb3V0b3QgPGFqYWNvdXRvdEBvcGVuYnNkLm9yZz4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IGZpeCBidWlsZCBvbiBQUEMgb24gb3BlbmJzZAoJICBBIG1pc3Npbmcgc3lzL3BhcmFtLmggaW5jbHVkZSByZXN1bHRzIGluOgoJICAvdXNyL2luY2x1ZGUvc3lzL3Byb2MuaDo2NDogZXJyb3I6ICdNQVhMT0dOQU1FJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhCgkgIGZ1bmN0aW9uKQoJICAvdXNyL2luY2x1ZGUvc3lzL3Byb2MuaDoyODU6IGVycm9yOiAnTUFYQ09NTEVOJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhCgkgIGZ1bmN0aW9uKQoJICB3aGVuIGNvbXBpbGluZyBnb29tIG9uIG9wZW5ic2QvcHBjLiBXZSBjYW4ganVzdCByZW1vdmUgdGhlIHR3byBzeXMvIGluY2x1ZGVzCgkgIGhlcmUsIHRoZXkgYXJlIG5vdCBuZWVkZWQgZm9yIGFueXRoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NzQ5CgoyMDExLTA3LTE1IDE3OjA2OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0xNSAxNjo1NTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wbGVtZW50IHNldHVwX2FsbG9jYXRpb24KCSAgSW1wbGVtZW50IHRoZSBzZXR1cF9hbGxvY2F0aW9uIHZtZXRob2QsIHdlJ2xsIGhvcGVmdWxseSBkbyBzb21ldGhpbmcgY2xldmVyIGluCgkgIHRoZXJlIGxhdGVyLgoKMjAxMS0wNy0xNSAxNjoyNjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaW1wcm92ZSBidWZmZXJwb29sIGNvbmZpZyBzZXR0aW5nCgkgIFBhc3MgdGhlIGNhcHMgYW5kIHRoZSBkZWZhdWx0IHZpZGVvIHNpemUgdG8gdGhlIGJ1ZmZlcnBvb2wgY29uZmlnLgoJICBEb24ndCBhY3RpdmF0ZSB0aGUgYnVmZmVycG9vbCwgdGhpcyB3aWxsIGJlIGRvbmUgYnkgdGhlIG9iamVjdCB0aGF0IGRlY2lkZXMgdG8KCSAgdXNlIHRoZSBidWZmZXJwb29sLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgZXJyb3IgcmVwb3J0aW5nLgoKMjAxMS0wNy0xNSAxMzo1MjozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGhhbmRsZSBkZXF1ZXVlaW5nIGNvcnJlY2x5CgkgIEZpcnN0IGNsZWFuIHVwIHRoZSBidWZmZXJzIGluIHRoZSBxdWV1ZSwgdGhlbiB0aGUgcmVtYWluaW5nIG9uZXMgaW4gdGhlCgkgIGRldmljZS4KCjIwMTEtMDctMTUgMTM6Mjk6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHVucmVmIGNvcGllZCBidWZmZXIKCSAgQWZ0ZXIgd2UgY29weSB0aGUgaW5jb21taW5nIGJ1ZmZlciB0byBvbmUgb2Ygb3VyIGJ1ZmZlcnBvb2wgYnVmZmVycywgdW5yZWYgdGhlCgkgIHRhcmdldCBidWZmZXIgYWZ0ZXIgcmVuZGVyaW5nIHNvIHRoYXQgaXQgaXMgcHV0IGJhY2sgaW4gdGhlIHBvb2wuCgoyMDExLTA3LTE1IDEzOjA3OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogZGVxdWV1ZSBidWZmZXJzIGZvciB0aGUgc2luawoJICBXaGVuIHdlIGhhdmUgYWxsIGJ1ZmZlcnMgcXVldWVkIGZvciBwbGF5YmFjayBhbmQgd2UgbmVlZCBhIG5ldyBlbXB0eSBidWZmZXIsCgkgIGRlcXVldWUgb25lIGFuZCByZXR1cm4gaXQuCgkgIFNldCB0aGUgcmlnaHQgc2l6ZSBmb3Igc2luayBidWZmZXJzLgoJICBJbXByb3ZlIGNvdW50aW5nIG9mIHF1ZXVlZCBidWZmZXJzLgoKMjAxMS0wNy0xNSAxMjozNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVzZSB0aGUgcGFyZW50IHF1ZXVlIGZvciB0aGUgc2luawoJICBXZSB3YW50IHRvIG1haW50YWluIGEgcXVldWUgb2YgZnJlZSBidWZmZXJzIGZvciB0aGUgc2luaywgdXNlIHRoZSBwYXJlbnQgbWV0aG9kcwoJICB0byBkbyB0aGF0LgoKMjAxMS0wNy0xNSAxMjowMDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGVycm9yIG1lc3NhZ2VzCgoyMDExLTA3LTE1IDExOjMwOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogYWRkIEFMTE9DQVRJT04gcXVlcnkgdG8gdGhlIHNpbmsKCjIwMTEtMDctMTUgMTE6Mjc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogY29udmVydCB0byBHc3RCdWZmZXJQb29sCgkgIEV4dGVuZCBmcm9tIEdzdEJ1ZmZlclBvb2wuCgkgIEhhbmRsZSB0aGUgbGlmZXRpbWUgb2YgdGhlIHBvb2wgYnVmZmVycyBjb3JyZWN0bHkgd2l0aCB0aGUgc3RhcnQvc3RvcCB2bWV0aG9kcy4KCSAgTWFwIGFjcXVpcmUgYW5kIHJlbGVhc2UgZGlyZWN0bHkgdG8gUUJVRiBhbmQgRFFCVUYuIFdlIHN0aWxsIGV4cG9zZSBhbiBleHBsaWNpdAoJICBxYnVmIGZvciB0aGUgdjRsMnNpbmsgZm9yIG5vdy4KCjIwMTEtMDctMTUgMTE6MTg6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IHJlbW92ZSBleHBlcmltZW50YWwgbWFya2VycwoKMjAxMS0wNy0xNCAyMDoxMDowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgcnRwcGNtQXBheS9kZXBheTogU3RhdGljIGNsb2NrIHJhdGVzIG9uIHN0YXRpYyBwYXlsb2FkcywgZHluYW1pYyBvbiBkeW5hbWljCgkgIFBhcnRpYWxseSByZXZlcnRzIDM5N2RjNjBiCgoyMDExLTA3LTE0IDE2OjIxOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBtZXJnZSBjb2RlCgoyMDExLTA3LTE0IDE2OjEyOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIHY0bDI6IE1vdmUgb3V0cHV0IGRldGFpbHMgdG8gZGV2aWNlIG9iamVjdAoJICBNb3ZlIHRoZSBkZXRhaWxzIG9mIGhvdyBhIGJ1ZmZlciBpcyByZW5kZXJlZCB0byB0aGUgZGV2aWNlIG9iamVjdC4KCjIwMTEtMDMtMDQgMTU6NDE6MjIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBJbXBsZW1lbnQgZ2V0Y2FwcwoJICBDb252ZXJ0IHByb2ZpbGUtbGV2ZWwtaWQgZnJvbSBSVFAgY2FwcyBpbnRvIHZpZGVvL3gtaDI2NCBzdHlsZSBjYXBzICh3aXRoIHByb2ZpbGUgYW5kIGxldmVsKQoKMjAxMS0wNy0xMyAxODozMjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBtb3ZlIGNhcHR1cmUgY29kZSB0byBkZXZpY2Ugb2JqZWN0CgkgIE1vdmUgdGhlIGRldGFpbHMgb2YgaG93IHRvIGNhcHR1cmUgdG8gdGhlIGRldmljZSBvYmplY3QuIFJlbW92ZSB0aGUKCSAgdjRsMnNyY19jYWxscy5bY2hdIGZpbGVzIGJlY2F1c2UgdGhleSBhcmUgZW1wdHkgbm93LgoJICBQcm92aWRlIHR3byBzaW1wbGUgbWV0aG9kcyB0byBnZXQgYW5kIHJldHVybiBhIGJ1ZmZlciB0byB0aGUgZGV2aWNlLgoJICBBbHNvIGRvIGEgc2xvdyBjb3B5IHdoZW4gdGhlIGJ1ZmZlciBpcyBub3QgZnJvbSBvdXIgcG9vbC4KCjIwMTEtMDctMTMgMTY6NTg6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTEtMDctMTMgMTY6NTY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBzdG9wIHN0cmVhbWluZyBpbiBSRUFEWSBhbmQgTlVMTAoKMjAxMS0wNy0xMyAxNjo0MDozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc3RhcnQgc3RyZWFtaW5nIGZvciB0aGUgb3V0cHV0IGFzIHdlbGwKCjIwMTEtMDctMTMgMTY6MzM6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogTGV0IHRoZSBkZXZpY2Ugb2JqZWN0IG1hbmFnZSB0aGUgcG9vbAoJICBSZW5hbWUgc3RhcnQgYW5kIHN0b3AgbWV0aG9kcyB0byBvcGVuIGFuZCBjbG9zZSBiZWNhdXNlIHRoYXQgaXMgd2hhdCB0aGV5IGRvLgoJICBBZnRlciBzZXR0aW5nIHRoZSBmb3JtYXQgb24gdGhlIGRldmljZSBvYmplY3QsIHNldHVwIHRoZSBidWZmZXJwb29scy4gTW92ZSB0aGlzCgkgIGNvZGUgZnJvbSB0aGUgdjRsMnNyY19jYWxscy5jIGZpbGUsIGl0IGlzIHNoYXJlZCBiZXR3ZWVuIHNvdXJjZSBhbmQgc2luay4KCSAgTWFrZSBuZXcgZGV2aWNlIHN0YXJ0IGFuZCBzdG9wIG1ldGhvZCB0aGF0IG1lcmdlcyB2YXJpb3VzIGJpdHMgb2YgY29tbW9uIGNvZGUKCSAgc3ByZWFkIG92ZXIgc2V2ZXJhbCBmaWxlcy4KCjIwMTEtMDctMTMgMTM6NTI6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogZG9uJ3Qgc3RvcmUgc3RyaWRlIGluIHRoZSB2aWRlb2luZm8KCSAgV2Ugd2FudCB0byBrZWVwIHRoZSBkZWZhdWx0IHN0cmlkZXMgaW4gdGhlIHZpZGVvaW5mby4gS2VlcCB0aGUgc3RyaWRlIG9mIHRoZQoJICB2aWRlbyBmcmFtZXMgc2VwYXJhdGUgc28gdGhhdCB3ZSBjYW4gdXNlIGJvdGggdG8gY29weSBhIHZpZGVvIGZyYW1lIGFuZCBkbwoJICBjb3JyZWN0IHN0cmlkZSBjb252ZXJzaW9uLgoKMjAxMS0wNy0xMyAxMzozODoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IFVzZSB2aWRlbyBmcmFtZSBjb3B5IGZvciByYXcgdmlkZW8KCSAgVXNlIHRoZSB2aWRlbyBmcmFtZSBjb3B5IEFQSSBmb3IgcmF3IHZpZGVvIGZyYW1lcyBzbyB0aGF0IHdlIGNvcHkgd2l0aCB0aGUgcmlnaHQKCSAgc3RyaWRlcy4KCjIwMTEtMDctMTMgMTM6Mzc6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBhZGQgdmlkZW8gbWV0YWRhdGEgdG8gcmF3IHZpZGVvIGJ1ZmZlcnMKCjIwMTEtMDctMTMgMTM6MTU6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHNtYWxsIGNsZWFudXBzCgoyMDExLTA3LTEzIDEzOjAwOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGltcHJvdmUgY2FwcyBwYXJzaW5nCgkgIFVzZSBHc3RWaWRlb0luZm8gdG8gc3RvcmUgdGhlIHBhcnNlZCBjYXBzLgoJICBSZW1vdmUgb3V0c2l6ZSBmcm9tIHRoZSBjYXBzIHBhcnNpbmcgY29kZSwgaXQncyB3cm9uZyBiZWNhdXNlIGl0IGRvZXMgbm90IHVzZQoJICB0aGUgc3RyaWRlIGdpdmVuIGJ5IHRoZSBkcml2ZXIuCgoyMDExLTA3LTEzIDExOjQwOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1c2UgZXJybm8KCjIwMTEtMDctMTMgMTE6MzY6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGhhbmRsZSBFSU5WQUwgd2l0aG91dCBwb3N0aW5nIGEgd2FybmluZwoJICBFSU5WQUwgbWVhbnMgdGhhdCBhIGNhbGwgaXMgbm90IHN1cHBvcnRlZCwgd2Ugb25seSB3YW50IHRvIHBvc3QgYSBXQVJOSU5HIHdoZW4KCSAgc29tZXRoaW5nIGlzIHJlYWxseSB3cm9uZy4KCjIwMTEtMDctMTMgMTE6Mjk6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IG9ubHkgc2V0IGZyYW1lcmF0ZSBmb3IgY2FwdHVyZSBmb3Igbm93CgoyMDExLTA3LTEzIDExOjE5OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBNb3ZlIGNvbmZpZ3VyYXRpb24gb2YgZnJhbWVyYXRlIHRvIF9zZXRfZm9ybWF0CgkgIE1vdmUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZyYW1lcmF0ZSB0byB3aGVyZSB3ZSBzZXQgdGhlIG90aGVyIGZvcm1hdAoJICBwYXJhbWV0ZXJzLgoJICBSZW1vdmUgaGFjayB0byBjaGVjayBpZiB0aGUgZGV2aWNlIGlzIGFjdGl2ZS4KCSAgU3RvcmUgc3RyZWFtcGFybSBpbiB0aGUgZGV2aWNlIGluZm8uCgkgIFVzZSBzb21lIG1hY3JvcyB0byBhY2Nlc3MgdGhlIGN1cnJlbnQgZGV2aWNlIGNvbmZpZ3VyYXRpb24uCgkgIFJlbW92ZSBzb21lIGR1cGxpY2F0ZSBmaWVsZHMgaW4gc3JjIGFuZCBzaW5rIGFuZCB1c2UgdGhlIGRldmljZSBjb25maWd1cmF0aW9uCgkgIGluc3RlYWQuCgoyMDExLTA3LTEyIDE5OjEzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggcmV0dXJuIHZhbHVlLi4uCgoyMDExLTA3LTEyIDE5OjAzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IHNpbXBsaWZ5IHNldHRpbmcgdGhlIGNhcHR1cmUgZm9ybWF0CgkgIFBhc3MgdGhlIGNhcHMgdG8gdGhlIHNldF9mb3JtYXQgZnVuY3Rpb24gYW5kIG1ha2UgX3NldF9mb3JtYXQgcGFyc2UgdGhlIGNhcHMuCgkgIEFsc28ga2VlcCB0aGUgcGFyc2VkIHZhbHVlcyBpbiB0aGUgdjRsMm9iamVjdCBzbyB0aGF0IHdlIGNhbiByZWZlciB0byB0aGVtIHdoZW4KCSAgd2Ugd2FudC4KCjIwMTEtMDctMTIgMTg6NDE6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiByZW1vdmUgbW9yZSB1bnVzZWQgcGFyYW1ldGVycwoKMjAxMS0wNy0xMiAxODoyOTozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsOiBoYW5kbGUgb2JqZWN0IG91dCBvZiB0aGUgbm9ybWFsIGZsb3cKCjIwMTEtMDctMTIgMTg6MTM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBMZXQgdGhlIGJ1ZmZlcnBvb2wgb3duIHRoZSBWNGwyT2JqZWN0CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIGZvcm1hdCBhbmQgc2V0dGluZyBpbiB0aGUKCSAgdjRsMm9iamVjdC4KCSAgUGFzcyB0aGUgdjRsMm9iamVjdCB0byB0aGUgYnVmZmVycG9vbCBjb25zdHJ1Y3RvciBzbyB0aGF0IHRoZSBidWZmZXJwb29sIGNhbgoJICBrbm93IGV2ZXJ5dGhpbmcgYWJvdXQgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIHNldHRpbmdzLiBUaGlzIGFsc28gYWxsb3dzIHVzCgkgIHRvIHJlbW92ZSBzb21lIGF3a3dhcmQgY29kZS4KCjIwMTEtMDctMTIgMTc6MDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDogcmVtb3ZlIGNhcHMgYXJndW1lbnQsIGl0J3Mgbm90IG5lZWRlZAoJICBSZW1vdmUgdGhlIGNhcHMgcGFyYW1ldGVyLCB3ZSBkb24ndCBuZWVkIGl0IGFueW1vcmUgYmVjYXVzZSB3ZSBkb24ndCBzZXQKCSAgY2FwcyBvbiBidWZmZXJzIGFueW1vcmUuCgoyMDExLTA3LTEyIDE2OjQ2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsOiBwYXNzIHRoZSBieXRlc3BlcmxpbmUgYXJvdW5kCgkgIFdoZW4gc2V0dGluZyBhIGZvcm1hdCwgcmV0dXJuIHRoZSBieXRlc3BlcmxpbmUgdG8gdGhlIGNhbGxlciBzbyB0aGF0IGl0IGNhbiBiZQoJICB1c2VkIHRvIGFsbG9jYXRlIGJ1ZmZlcnMuCgoyMDExLTA3LTEyIDE2OjQzOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgcG9vbDogbWFrZSBidWZmZXIgd3JpdGFibGUKCSAgV2UgbmVlZCB3cml0YWJsZSBidWZmZXJzIHdoZW4gd2UgbmVlZCB0byBkbyBhIHNsb3cgbWVtY3B5LgoKMjAxMS0wNy0xMiAxNTowNDozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzZWVraW5nIHJlZ3Jlc3Npb24KCSAgLi4uIGludHJvZHVjZWQgd2hlbiBzaHVmZmxpbmcgYXJvdW5kIGNvZGUgZm9yIHRoZSBhc3luYyBpbXBsZW1lbnRhdGlvbgoJICBieSBzZXR0aW5nIHN0YXRlIG9mIHNvdXJjZSAoYW5kIHVkcCBzb3VyY2VzKSBpbiBfcGxheSBiZWZvcmUgZG93bnN0cmVhbQoJICBmbHVzaGluZyBpcyB1bmRvbmUuCgoyMDExLTA3LTExIDE1OjIzOjQxICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBmaXggYnVmZmVyIGR1cmF0aW9uIG9uIGJsb2Nrcy1wZXItZnJhbWUgY2hhbmdlCgkgIFRoZSBnc3RfYmFzZV9wYXJzZV9zZXRfZnJhbWVfcmF0ZSBjYWxsIHdhcyBwcmVkaWNhdGVkIG9uIGEgY2hhbmdlIHRvCgkgIHNhbXBsZSByYXRlLCBkdXJhdGlvbiBvciBwcm9maWxlLiBIb3dldmVyLCB0aGUgYmxvY2sgY291bnQgcGVyIGZyYW1lIGNhbgoJICBhbHNvIGNoYW5nZSBiZXR3ZWVuIHBhY2tldHMsIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBpbmNvcnJlY3QgYnVmZmVyCgkgIGR1cmF0aW9ucy4KCjIwMTEtMDctMTEgMTM6NTE6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogaGFuZGxlIHBvb2xzCgkgIENyZWF0ZSBhIG5ldyBwb29sIGluIHNldGNhcHMgYW5kIHN0b3AvZGVzdHJveSB0aGUgb2xkIG9uZS4KCSAgUmVtb3ZlIGJ1ZmZlcl9hbGxvYyBmdW5jdGlvbnMuCgkgIENoZWNrIHRoYXQgd2UgaGF2ZSB2NGwyIG1ldGFkYXRhIGluIHNob3dfZnJhbWUgYW5kIGZhbGwgYmFjayB0byBtZW1jcHkgaW50byBhCgkgIGJ1ZmZlciBmcm9tIG91ciBwb29sIGlmIHdlIGRvbid0IHJlY2VpdmUgb25lIG9mIG91ciBvd24gYnVmZmVycy4KCjIwMTEtMDctMTEgMTI6MDQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogdmFyaW91cyBjbGVhbnVwcwoJICBWYXJpb3VzIGNsZWFudXBzLCBhdm9pZHMgdXNlbGVzcyBjYXN0cywgbW92ZSBlcnJvciBoYW5kbGluZyBvdXRzaWRlIG9mIHRoZSBtYWluCgkgIGNvZGUgZmxvdy4KCSAgTmVnb3RpYXRlIHRvIGEgcmVzb25hYmxlIHJlc29sdXRpb24gaW5zdGVhZCBvZiB0aGUgbWF4IHJlc29sdXRpb24uCgoyMDExLTA3LTEwIDIxOjUwOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwOiBwb3J0IHJlbWFpbmluZyB0byAwLjExCgoyMDExLTA3LTEwIDE0OjU2OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZTogcG9ydCB0byAwLjExCgoyMDExLTA3LTEwIDEzOjQ0OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtOiBwb3J0IHNvbWUgbW9yZQoJICBVc2UgdmlkZW8gaGVscGVycy4KCjIwMTEtMDctMTAgMTM6Mjg6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG06IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0xMCAxMjo0NjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgbXVsdGlwYXJ0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMTAgMTE6NDI6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTEwIDExOjQwOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSAgZGVidWc6IHBvcnQgdG8gMC4xMSwgZGlzYWJsZSBvdGhlcnMKCSAgRGlhc2FibGUgdGhlIGVmZW5jZSBhbmQgY2Fwc2RlYnVnIGVsZW1lbnRzLCBwb3J0IHRoZW0gbGF0ZXIuCgoyMDExLTA3LTA5IDE5OjIzOjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIG11bHRpZmlsZXNyYzogSW1wcm92ZSBsb29waW5nCgkgIEFkZCBzdGFydC1pbmRleCBhbmQgc3RvcC1pbmRleCBwcm9wZXJ0aWVzLgoKMjAxMS0wNi0xNiAxMzo1NzowMyArMDEwMCAgSm9ubnkgTGFtYiA8am9ubnlsYW1iQGpvbm55bGFtYi5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBtdWx0aWZpbGU6IGFkZCBsb29wIHByb3BlcnR5IHRvIG11bHRpZmlsZXNyYwoJICBGaXhlczogIzY1MjcyNwoJICBTaWduZWQtb2ZmLWJ5OiBKb25ueSBMYW1iIDxqb25ueWxhbWJAam9ubnlsYW1iLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTExLTIwIDEwOjA3OjQzICswMTAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IDE2LWJpdCBhdWRpbyBpcyBzaWduZWQsIDgtYml0IGlzIHVuc2lnbmVkLgoJICBQcmV0ZW5kaW5nIHRvIGhhbmRsZSA4LWJpdCBzaWduZWQgY2F1c2VzIGRpc3RvcnRlZCBhdWRpbyB3aGVuCgkgIGFjdHVhbGx5IGdpdmVuIHN1Y2ggYXVkaW8sIHdoaWNoIHlvdSB3aWxsIGdldCBpZiBwYXNzaW5nIDgtYml0CgkgIHVuc2lnbmVkIHRocm91Z2ggYXVkaW9jb252ZXJ0ICEgYXVkaW9yZXNhbXBsZSwgYXMgYXVkaW9yZXNhbXBsZQoJICBvbmx5IGhhbmRsZXMgOC1iaXQgc2lnbmVkLiAgRml4ZXMgIzYwNTgzNC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA4IDE2OjM3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBmaXggZ3JheSBmb3JtYXQsIHVzZSBmaWx0ZXIgaW4gZ2V0Y2FwcwoKMjAxMS0wNy0wOCAxNjoxMDo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHBvcnQgYW5kIGVuYWJsZSB2NGwyc2luawoKMjAxMS0wNy0wOCAxNDozNDo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBwb3J0IHRvIG5ldyB2aWRlbyBmb3JtYXRzCgoyMDExLTA3LTA4IDEyOjUxOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0wOCAxMjo0OToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDcgMTg6Mjc6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgYmxvY2tzIHdpdGggZHVyYXRpb249MAoJICBTb21lIHZpZGVvIGZyYW1lcywgZm9yIGV4YW1wbGUgYWx0LXJlZiBmcmFtZSBpbiBWUDgsIHdpbGwgYmUKCSAgbmV2ZXIgZGlzcGxheWVkLiBUaGlzIGlzIHdoeSBpdCBoYXMgZHVyYXRpb249MC4KCSAgVGhpcyBwYXRjaCBhbGxvdyB0byB1c2UgdGhpcyBkdXJhdGlvbi4KCSAgQnVnOiA2NTQxNzUKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNy0wNiAxNzoxODowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBkaXJlY3QgZGlyYWMgbWFwcGluZwoKMjAxMS0wNy0wNyAxNzo1OTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuaDoKCSAgZWZmZWN0djogcG9ydCBsYXN0IGVmZmVjdHYgZWxlbWVudCB0byAwLjExCgoyMDExLTA3LTA3IDE3OjQ5OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkgIGVmZmVjdHY6IHBvcnQgc3RyZWFrdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzo0MDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJICBlZmZlY3R2OiBwb3J0IHJhZGlvYWN0diB0byAwLjExCgoyMDExLTA3LTA3IDE3OjI5OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogZml4IGRvY3MKCjIwMTEtMDctMDcgMTc6Mjk6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJICBlZmZlY3R2OiBwb3J0IG9wIHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6MTg6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgZWZmZWN0djogcG9ydCBxdWFyayB0dgoKMjAxMS0wNy0wNyAxNjo1NzozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSAgZWZmZWN0djogcG9ydCByZXZ0diB0byAwLjExCgoyMDExLTA3LTA3IDE2OjQ2OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkgIGVmZmVjdHY6IHBvcnQgdmVydGlnb3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTY6Mzg6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSAgZWZmZWN0djogcG9ydCBzaGFnYWRlbGljdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxMToyMjoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IHVzZSBBTFdBWVMgc3JjIHBhZCByYXRoZXIgdGhhbiBTT01FVElNRVMKCjIwMTEtMDctMDcgMTE6MTQ6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTk6MDM6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IGJlZ2lubmluZ3Mgb2YgcG9ydGluZwoKMjAxMS0wNy0wNiAxODo1MDoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICB3YXJwdHY6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxODo1MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgZGljZToga2VlcCB0cmFjayBvZiBpbmZvCgoyMDExLTA3LTA2IDE4OjMyOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkgIGVmZmVjdHY6IHBvcnQgZGljZQoKMjAxMS0wNy0wNiAxODowOTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkgIGVmZmVjdHY6IHBvcnQgYWdpbmd0dgoKMjAxMS0wNy0wNiAxNzo1MDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkgIGFhc2luazogcG9ydCB0byBuZXcgdmlkZW8gQVBJCgoyMDExLTA3LTA2IDE3OjQwOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgIGNhY2FzaW5rOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTY6NTA6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWc6IGJlZ2lubmluZ3Mgb2YgcG9ydGluZyB0byAwLjExCgoyMDExLTA3LTA2IDE2OjMxOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdXNlIEFMV0FZUyBzb3VyY2UgcGFkIHJhdGhlciB0aGFuIFNPTUVUSU1FUwoKMjAxMS0wNy0wNiAxNjoxMDozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTY6MTA6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTI6MjI6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkanVzdCB0byB1bnNpZ25lZCBzZWdtZW50IGZpZWxkcwoKMjAxMS0wNy0wNiAxNTo1NzoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IHBvcnQgc3BlZXggZWxlbWVudHMKCjIwMTEtMDctMDYgMTI6MDU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTA2IDEwOjExOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIgYW5kIGNvcnJlc3BvbmRpbmcgcnRwIGFuZCBydGNwIGJ1ZmZlciBpbnRlcmZhY2VzCgkgICogbWlzYyBjYXBzIGFuZCBzZWdtZW50IGhhbmRsaW5nIGNoYW5nZXMKCSAgRklYTUU6IGFsc28gcmVsaWVzIG9uIGJlaW5nIGFibGUgdG8gcGFzcyBjYXBzIGFsb25nIHdpdGggYSBidWZmZXIsCgkgIHdoaWNoIGhhcyBubyBldmlkZW50IGVxdWl2YWxlbnQgeWV0LCBzbyB0aGF0IGVpdGhlciBuZWVkcyBvbmUsCgkgIG9yIHN0aWxsIG5lZWRzIHF1aXRlIHNvbWUgY29kZSBwYXRoIG1vZGlmaWNhdGlvbiB0byBkcmFnIGFsb25nIGNhcHMuCgoyMDExLTA2LTI5IDIwOjU5OjI2ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcHJldmVudCByYWNlIGNvbmRpdGlvbiBjYXVzaW5nIHJlZiBsZWFrCgkgIFNpbmNlIGNvbW1pdCA4YmZkODAsIGdzdF9wdWxzZXJpbmdidWZmZXJfc3RvcCBkb2Vzbid0IHdhaXQgZm9yIHRoZQoJICBkZWZlcnJlZCBjYWxsIHRvIGJlIHJ1biBiZWZvcmUgcmV0dXJuaW5nLiBUaGlzIGNhdXNlcyBhIHJhY2Ugd2hlbgoJICBSRUFEWS0+TlVMTCBpcyBleGVjdXRlZCBzaG9ydGx5IGFmdGVyLCB3aGljaCBzdG9wcyB0aGUgbWFpbmxvb3AuIFRoaXMKCSAgbGVha3MgdGhlIGVsZW1lbnQgcmVmZXJlbmNlIHdoaWNoIGlzIHBhc3NlZCBhcyB1c2VyZGF0YSBmb3IgdGhlIGNhbGxiYWNrCgkgIChpbnRyb2R1Y2VkIGluIGNvbW1pdCA3Y2Y5OTYsIGJ1ZyAjNjE0NzY1KS4KCSAgVGhlIGNvcnJlY3QgZml4IGlzIHRvIHdhaXQgaW4gUkVBRFktPk5VTEwgZm9yIGFsbCBvdXRzdGFuZGluZyBjYWxscyB0bwoJICBiZSBmaXJlZCAoc2luY2UgbGlicHVsc2UgZG9lc24ndCBwcm92aWRlIGEgRGVzdHJveU5vdGlmeSBmb3IgdGhlCgkgIHVzZXJkYXRhKS4gV2UgZ2V0IHJpZCBvZiB0aGUgcmVmZXJlbmNlIHBhc3NpbmcgZnJvbSA3Y2Y5OTYgYWx0b2dldGhlciwKCSAgc2luY2UgZmluYWxpemF0aW9uIGZyb20gdGhlIGNhbGxiYWNrIHdvdWxkIGFueXdheXMgbGVhZCB0byBhIGRlYWRsb2NrLgoJICBSZS1maXhlcyBidWcgIzYxNDc2NS4KCjIwMTEtMDctMDQgMDg6NTg6MTQgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc21hbGwgY2xlYW51cCBvZiBjb3B5LXBhc3RlIGNvZGUKCjIwMTEtMDYtMjkgMTk6NTA6NDIgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiByZW1vdmUgdW51c2VkIG1lbWJlciB2YXJpYWJsZSBhbmQgbWlzbGVhZGluZyBsb2cgbWVzc2FnZQoJICBXaW0gY2hhbmdlZCBpdCBpbiBjb21taXQgOGJmZDgwIHNvIHRoYXQgcGFfZGVmZXJfcmFuIGlzIG5vdCByZWFkCgkgIGFueXdoZXJlLgoJICBUaGUgbG9nIG1lc3NhZ2UgdXNlZCB0byBhbm5vdGF0ZSBhIG1haW5sb29wX3dhaXQgY2FsbCB3aGljaCBpcyBnb25lLgoKMjAxMS0wNy0wNSAxNTozNzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBmaXggY2FwcwoKMjAxMS0wNy0wNSAxMTo0MDo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJICBlZmZlY3R2OiBwb3J0IGVkZ2V0dgoKMjAxMS0wNy0wNSAxMDoxMjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCAtREdTVF9VU0VfVU5TVEFCTEVfQVBJIHRvIHRoZSBjb21waWxlciBmbGFncyB0byBhdm9pZCB3YXJuaW5ncwoKMjAxMS0wNy0wNCAxMjo1ODozOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IERvbid0IGFuc3dlciBsYW50ZW5jeSBxdWVyaWVzIGJlZm9yZSBuZWdvdGlhdGlvbgoKMjAxMS0wNy0wNCAxODoxNTo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IHBvcnQgdG8gbmV3IEFQSQoKMjAxMS0wNy0wNCAxODoxMjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiByZW1vdmUgaW1wbGVtZW50c2ludGVyZmFjZQoKMjAxMS0wNy0wNCAxODoxMDo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogZml4IGNhcHMKCjIwMTEtMDctMDQgMTg6MDY6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGE6IHBvcnQgdG8gbmV3IHZpZGVvIEFQSQoKMjAxMS0wNy0wNCAxNzowMDozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogbW9yZSBwb3J0aW5nCgoyMDExLTA3LTA0IDE2OjA5OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBwb3J0IHRvIG5ldyB2aWRlbyBhcGkKCjIwMTEtMDYtMjggMTQ6MDM6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW86IHBvcnQgdG8gbmV3IHZpZGVvIGFwaXMKCjIwMTEtMDctMDQgMTQ6MzA6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhdm9pZCBjcmFzaGluZyBvbiBpbnZhbGlkIGlucHV0IHdpdGhvdXQgY29tcG9uZW50cwoKMjAxMS0wNy0wNCAxMTowOToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgkgICogbWlzYyBzZWdtZW50IGFuZCBjYXBzIGNoYW5nZXMKCjIwMTEtMDctMDQgMTE6NDg6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoKMjAxMS0wNy0wNCAxMToyNToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHBhc3MgYWxvbmcgc2VnbWVudCBpbmZvIHRvIGNvbGxlY3RwYWRzCgkgIC4uLiBzbyBpdCBjYW4gdHJhY2sgdGhpcyBhbmQgYmUgc3Vic2VxdWVudGx5IHVzZWQgdG8gZGV0ZXJtaW5lIHJ1bm5pbmcgdGltZSBldGMuCgoyMDExLTA3LTA0IDExOjI0OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGluZGljYXRlIHJhdyBmb3JtYXQgaW4gYWFjIGNhcHMKCjIwMTEtMDctMDQgMTE6MDc6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWluZCByZXF1ZXN0ZWQgbmFtZSBmb3IgcmVxdWVzdCBwYWQKCjIwMTEtMDctMDQgMTE6MDY6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZnJlZSBzY2hlZHVsaW5nIHF1ZXJ5CgoyMDExLTA3LTAzIDE5OjUxOjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgcHVsc2U6IEluY3JlYXNlIHJhbmtzIHRvIFBSSU1BUlkgKyAxMAoJICBTbyB0aGF0IHB1bHNlc3JjL3B1bHNlc2luayBnZXQgY2hvc2VuIG92ZXIgb3RoZXIgcG9zc2libGUgUFJJTUFSWQoJICBzcmMvc2lua3MgYnkgYXV0b2F1ZGlvc2luay4gIFByZXN1bWFibHksIGlmIHB1bHNlIGlzIGF2YWlsYWJsZSwgaXQKCSAgaXMgYWx3YXlzIHByZWZlcnJlZCBvdmVyIGFub3RoZXIgc3JjL3NpbmsuCgkgIEZpeGVzOiAjNjQ3NTQwLgoKMjAxMS0wNi0zMCAxODo0Nzo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnRtdXg6IEFkZCBcclxuIHRvIHRhaWwgb2YgcHVzaGVkIGJ1ZmZlcnMKCSAgQ2xpZW50cyBzdWNoIGFzIEZpcmVmb3ggcmVxdWlyZSB0aGUgXHJcbiBhZnRlciB0aGUgcGF5bG9hZC4KCjIwMTEtMDYtMTYgMTQ6NTI6NTEgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBsb29waW5nIHdoZW4gc2VhcmNoaW5nIGZvciBjbHVzdGVycwoJICBGaXhlcyBzb21lIGJ1Z3MgdGhhdCByZXN1bHRzIGluIHRoZSBkZW11eGVyIGxvb3Bpbmcgd2hlbiBzZWFjaGluZwoJICBmb3IgY2x1c3RlcnMgaW4gbm9uLWZpbmFsaXplZCBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjE5NQoKMjAxMS0wNi0zMCAxMjozMDoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlOiBwb3J0IHRvIDAuMTAKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgkgICogbWlzYyBjYXBzIGhhbmRsaW5nCgoyMDExLTA2LTMwIDExOjM1OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGN1dHRlcjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoJICAqIG1pbm9yIG1pc2MKCjIwMTEtMDYtMzAgMTE6MTc6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmVwbGF5Z2FpbjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoKMjAxMS0wNi0zMCAxMDo1MzowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHJlbW92ZSBkZXByZWNhdGVkIHByb3BlcnR5CgoyMDExLTA2LTMwIDEwOjUxOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoKMjAxMS0wNi0zMCAxMDozODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCjIwMTEtMDYtMzAgMTA6MzA6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogcG9ydCB0byAwLjExCgoyMDExLTA2LTEwIDE4OjU0OjQ4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZml4IHJlZmVyZW5jZSBjb3VudGluZyBvZiBwYXJzZS0+c3RyZWFtaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIyODYKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTI5IDE0OjM5OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogRG9uJ3Qgcm91bmQgdXAgc2l6ZSBvZiBlbmNvZGVkIGJ1ZmZlcnMKCSAgRm9yIHNvbWUgcmVhc29uLCBpbiBjb2RlIGRhdGluZyB0byAyMDAxLCBlbmNvZGVkIGpwZWcgYnVmZmVycyB3ZXJlCgkgIHJvdW5kZWQgdXAgdG8gbXVsdGlwbGVzIG9mIDQgYnl0ZXMuICBXaXRoIHRoZSBhZGRlZCBib251cyB0aGF0IHRoZQoJICBleHRyYSBieXRlcyBhcmUgdW53cml0dGVuLCBjYXVzaW5nIHZhbGdyaW5kIGlzc3Vlcy4gIE9vcHMuICBJIGNhbid0CgkgIHRoaW5rIG9mIGFueSByZWFzb24gd2h5IEpQRUcgYnVmZmVycyBuZWVkIHRvIGJlIG11bHRpcGxlcyBvZiA0IGJ5dGVzLAoJICBzbyBJIHJlbW92ZWQgdGhlIHBhZGRpbmcuICBUaGVyZSBtaWdodCBiZSBzb21lIGNvZGUgc29tZXdoZXJlIHRoYXQKCSAgZGVwZW5kcyBvbiB0aGlzIGJlaGF2aW9yLCBzbyBpZiB0aGlzIG5lZWRzIHRvIGJlIHJldmVydGVkLCBwbGVhc2UgZml4CgkgIHRoZSB2YWxncmluZCBpc3N1ZXMuCgoyMDExLTA2LTI5IDEyOjQ2OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgaXNvbXA0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMjggMTI6NTU6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdHdlYWsgc29tZSBwb3J0ZWQgc2VnbWVudCBoYW5kbGluZwoJICAuLi4gdG8gYXZvaWQgbG9zaW5nIGR1cmF0aW9uIGR1cmluZyBwdXNoIG1vZGUgc2Vla2luZywgYW5kIHRvIHByb3Blcmx5CgkgIGFjY3VtdWxhdGUgcnVubmluZyB0aW1lIHdoZW4gc2VnbWVudCBzZWVraW5nLgoKMjAxMS0wNi0yOSAxMjowNTowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmcmVlIGRhdGUgdGFnCgoyMDExLTA2LTI4IDEyOjI2OjM3ICswMjAwICBKb25hcyBMYXJzc29uIDxqb25hcy5sYXJzc29uQGhpcS5zZT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG5vdCBzbyBncmVlZHkgbWluaW11bSBmcmFtZSBzaXplCgkgIEZpeGVzICM2NTM1NTkuCgoyMDExLTA2LTI1IDExOjM5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbm9uLXBrZy1jb25maWcgY2hlY2sgZm9yIHNob3V0CgkgIEZpeGVzOiA2NTMzMjcKCjIwMTEtMDYtMjAgMTg6NDk6NTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICBkdjEzOTRzcmM6IG1ha2UgdGhlIGludGVybmFsIGNsb2NrIHRocmVhZCBzYWZlCgkgIEZpeGVzOiAjNjUzMDkxLgoKMjAxMS0wNi0yNCAxMTo1NDoyOSArMDIwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXR1cm4gY29ycmVjdCB0eXBlIHdoZW4gYXNzZXJ0aW9uIGZhaWxzCgoyMDExLTA2LTIzIDExOjI4OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjliOTgxZiB0byA2MDVjZDlhCgoyMDExLTA2LTIyIDE2OjQxOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBmaXggZm9yIHVyaSBjaGFuZ2VzCgoyMDExLTAyLTAyIDE2OjE4OjU0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBEcm9wIHN1cHBvcnQgZm9yIFBBIHZlcnNpb25zIGJlZm9yZSAwLjkuMTYKCSAgVGhpcyBkcm9wcyBzdXBwb3J0IGZvZiBQdWxzZUF1ZGlvIHZlcnNpb25zIHByaW9yIHRvIDAuOS4xNiwgd2hpY2ggd2FzCgkgIHJlbGVhc2VkIGFib3V0IDEuNSB5ZWFycyBhZ28uIFRlc3Rpbmcgd2l0aCB2ZXJ5IG9sZCB2ZXJzaW9ucyBpcyBub3QKCSAgZmVhc2libGUgYW5kIHdlIGRvbid0IHdhbnQgdG8gbWFpbnRhaW4gMiBpbmRlcGVuZGVudCBjb2RlLXBhdGhzLgoKMjAxMS0wNi0yMSAxODoyNDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbAoKMjAxMS0wNi0yMSAxODoxOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggZm9yIGhlYWRlciBjbGVhbnVwcwoKMjAxMS0wNi0yMSAxNToxNTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IGZpeCBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcHMgaW4gY2FzZSBvZiBtdWx0aXBsZSBmcmFtZXMKCjIwMTEtMDYtMjAgMTY6NDc6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRoZSBzaWduYWwgaGFzIDUgYXJndW1lbnRzLCBub3QgNAoKMjAxMS0wNi0yMCAxMjoxMzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdXNlIHN0cmluZyBmb3IgdmlkZW8gZm9ybWF0IG5vdwoKMjAxMS0wNi0yMCAxMjowNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgIGF2aTogbGluayBhZ2FpbnN0IGdzdHZpZGVvIG5vdwoKMjAxMS0wNi0yMCAxMjowMzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogcG9ydCB0byBuZXcgY2FwcwoKMjAxMS0wNi0xOCAxMzo0MzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBCdW1wIGdpdCB2ZXJzaW9uIGFmdGVyIHVucGxhbm5lZCAwLjEwLjMwIHJlbGVhc2UKCSAgTWVyZ2UgYnJhbmNoICcwLjEwLjMwJwoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWwKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDExLTA2LTE3IDEwOjM3OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBzdW5hdWRpbzogZml4IHR5cG8gaW4gY29tbWVudAoKMjAxMS0wNi0xNyAxODoxMjo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDYtMTcgMTg6MTE6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBmaXggY2FwcwoKMjAxMS0wNi0xNiAxNTozODoxMCArMDIwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5kZWJldGhlbmNvdXJ0QGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCB1bnVzZWQtYnV0LXNldC1jb21waWxlciB3YXJuaW5ncwoJICBSZW1vdmUgdW5uZWNlc3NhcnkgcmVzIHZhcmlhYmxlcywgY29yZSBjaGVja3MgZXhpc3RhbmNlCgkgIGFuZCB0eXBlIG9mIHRoZXNlIGZpZWxkcyBmb3IgdXMgYWxyZWFkeSB2aWEgdGhlIHRlbXBsYXRlCgkgIGNhcHMsIGFuZCB3ZSBrbm93IHRoYXQgdGhlc2UgZmllbGRzIGV4aXN0IGJlY2F1c2Ugd2UndmUKCSAgZml4YXRlZCB0aGVtIGJlZm9yZSBpbiBfbmVnb3RpYXRlKCkuCgoyMDExLTA2LTE3IDAzOjA3OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBmaXggcGFyYW0gZmxhZ3MKCSAgSWYgdGhlIHBhcmFtZXRlciBjYW5ub3QgYmUgY2hhbmdlZCBpbiBwYXVzZWQmcGxheWluZywgaXQgaXMgbm90IGNvbnRyb2xhYmxlLiBTZXQKCSAgdGhlIGFwcHJvcHJpYXRlIG11dGFiaWxpdHkgZmxhZyBpbnN0ZWFkLgoKPT09IHJlbGVhc2UgMC4xMC4zMCA9PT0KCjIwMTEtMDYtMTUgMjM6NTc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjMwCgkgIFRoaXMgaXMgYW4gYWQtaG9jIHJlbGVhc2UgdGhhdCBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIDAuMTAuMjk6CgkgICogd29yayBhcm91bmQgR0xpYiBhdG9taWMgb3BzIEFQSSBjaGFuZ2UKCSAgKiBiZXR0ZXIgaGFuZGxpbmcgb2YgbWFsZm9ybWVkIGJ1ZmZlcnMgaW4gUlRQIGRlcGF5bG9kZXJzCgkgICogc29tZSBtaW5vciBjb21waWxhdGlvbiBmaXhlcwoKMjAxMS0wNi0wOCAxODozMzoxMCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gbWluZ3ctdzY0CgkgIEZpeGVzOiAjNjUyMTQ0LgoJICBnc3R1ZHBuZXR1dGlscy5oOjMyOjA6IGVycm9yOiAiV0lOVkVSIiByZWRlZmluZWQKCSAgL3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2luY2x1ZGUvX21pbmd3Lmg6MjMxOjA6IG5vdGU6IHRoaXMgaXMgdGhlCgkgIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCgoyMDExLTA2LTA0IDEzOjQ5OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogV29yayBhcm91bmQgY2hhbmdlcyBpbiBnX2F0b21pYyBBUEkKCSAgU2VlICM2NTE1MTQgZm9yIGRldGFpbHMuCgoyMDExLTA1LTE4IDEyOjM2OjQwICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICBydHA6IEZpeCBzZWdtZW50YXRpb24gZmF1bHQgcHJvY2Vzc2luZyBwYXlsb2FkIGJ1ZmZlcnMKCSAgVGhpcyBjb21taXQgY2hlY2tzIGlmIHRoZSB2YWx1ZSByZXR1cm5lZCBieQoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9idWZmZXIgYW5kCgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX3N1YmJ1ZmZlciBpcyBOVUxMIGJlZm9yZSB1c2luZyBpdC4KCjIwMTEtMDUtMTYgMDk6MDQ6MzEgKzAyMDAgIFBpbm8gVG9zY2FubyA8dG9zY2Fuby5waW5vQHRpc2NhbGkuaXQ+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBEZWZpbmUgUEFUSF9NQVggaWYgaXQgaXNuJ3QgZGVmaW5lZAoJICBHTlUgSHVyZCBmb3IgZXhhbXBsZSBkb2Vzbid0IGRlZmluZSBpdC4KCjIwMTEtMDQtMjkgMDg6NTU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBbGxvdyBzZXRjYXBzIHRvIGJlIGNhbGxlZCBhZnRlciBhIGZvcm1hdCB3YXMgbmVnb3RpYXRlZCBpZiBpdCdzIGNvbXBhdGlibGUKCSAgT3RoZXJ3aXNlIHdhdmVuYyB3aWxsIGZhaWwgaWYgdXBzdHJlYW0gZGVjaWRlcyB0byBzZXQgZXF1aXZhbGVudCBjYXBzIG9yIGNhcHMKCSAgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGxhdGVyLgoJICBUaGFua3MgdG8gQWxleGFuZGVyIFNjaHJlbW1lciBmb3IgZmluZGluZyB0aGlzIGJ1Zy4KCjIwMTEtMDYtMTUgMTU6MDY6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2Rtb24uaDoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9lc2QvZXNkc2luay5oOgoJKiBleHQvZXNkL2dzdGVzZC5jOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9hcy1hcnRzLm00OgoJKiBtNC9lc2QubTQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBSZW1vdmUgZXNvdW5kL2VzZHNpbmsgcGx1Z2luCgoyMDExLTA2LTE1IDE0OjM3OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9nc3RnY29uZi5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5oOgoJKiBnY29uZi8uZ2l0aWdub3JlOgoJKiBnY29uZi9NYWtlZmlsZS5hbToKCSogZ2NvbmYvZ3N0cmVhbWVyLnNjaGVtYXMuaW46CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2djb25mLTIubTQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGdjb25mIGVsZW1lbnRzIGFuZCBwbHVnaW4KCSAgR0NvbmYgd2FzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIEdTZXR0aW5ncyBldGMuCgoyMDExLTA2LTE1IDE1OjE3OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggdW5pdGlhbGl6ZWQgYWNjZXNzCgoyMDExLTA2LTA5IDIxOjA2OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGFkZCBtaXNzaW5nIHN0ZGlvIGluY2x1ZGUgZm9yIHNzY2FuZgoKMjAxMS0wNi0xMyAxOTowODozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDYtMTMgMTc6NTE6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgLWdvb2Q6IHBvcnQgc29tZSBtb3JlIHBsdWdpbnMKCjIwMTEtMDYtMTMgMTc6MTQ6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGZpeCBmb3IgZmx1c2hfc3RvcCBBUEkgY2hhbmdlCgoyMDExLTA2LTEzIDE3OjE0OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgbW9yZSAoZGUpcGF5bG9hZGVyCgoyMDExLTA2LTEzIDE3OjA1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IG5vdCBzbyBncmVlZHkgbWluaW11bSBmcmFtZSBzaXplCgkgIC4uLiB3aGljaCB3aWxsIGJlIGRldGVybWluZWQgYnkgcGFyc2luZyBhbnl3YXksIGFuZCBhdm9pZHMgaW50cm9kdWNpbmcKCSAgcmVkdW5kYW50IGFkZGl0aW9uYWwgbGF0ZW5jeS4KCjIwMTEtMDYtMTMgMTY6MzM6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgLWdvb2Q6IHVwZGF0ZSBmb3IgYnVmZmVyIEFQSSBjaGFuZ2UKCjIwMTEtMDYtMTMgMTY6MzM6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogcG9ydCB0byAwLjExCgoyMDExLTA2LTEzIDEzOjI1OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cDogZml4IGZvciBBUEkgY2hhbmdlcyBpbiB0aGUgYmFzZSBjbGFzc2VzCgoyMDExLTA2LTEzIDEzOjA3OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1c2UgY2FwcyBldmVudCBmb3IgbmVnb3RpYXRpb24KCjIwMTEtMDYtMTMgMTM6MDc6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggZm9yIGZsdXNoIHN0b3AgZXZlbnQgY2hhbmdlcwoKMjAxMS0wNi0wOCAxODozMzoxMCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gbWluZ3ctdzY0CgkgIEZpeGVzOiAjNjUyMTQ0LgoJICBnc3R1ZHBuZXR1dGlscy5oOjMyOjA6IGVycm9yOiAiV0lOVkVSIiByZWRlZmluZWQKCSAgL3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2luY2x1ZGUvX21pbmd3Lmg6MjMxOjA6IG5vdGU6IHRoaXMgaXMgdGhlCgkgIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCgoyMDExLTA2LTExIDE4OjU4OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggZm9yIGJ1ZmZlcnBvb2wgdXBkYXRlCgoyMDExLTA2LTEwIDE4OjA1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiB1cGRhdGUgZm9yIGFsaWdubWVudCBjaGFuZ2UKCjIwMTEtMDYtMDkgMTc6NTY6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBwb3J0IHNvbWUgbW9yZQoKMjAxMS0wNi0wOSAxNzo1MjozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcDogcG9ydCB0byAwLjExCgoyMDExLTA2LTA5IDE3OjUwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMDkgMTE6Mzc6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogcmVnaXN0ZXIgdGVtcGxhdGUgYW5kIGtsYXNzIGNvcnJlY3RseQoKMjAxMS0wNi0wOSAxMDo1MDo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBnb29tOiBwb3J0IGdvb20KCjIwMTEtMDYtMDggMTg6MDY6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA2LTA4IDE4OjA1OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhc3Npbms6IHBvcnQgYWFzaW5rIHRvIDAuMTEKCjIwMTEtMDYtMDcgMTI6MDY6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJICBkZWJ1Z3V0aWxzOiBTd2l0Y2ggZnJvbSBHU1RfQk9JTEVSUExBVEUgdG8gR19ERUZJTkVfVFlQRQoKMjAxMS0wNi0wNyAxMToyNToxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmlsdGVyOiBVc2UgbmV3IEdzdEJhc2VUcmFuc2Zvcm06OnRyYW5zZm9ybV9jYXBzIEFQSQoKMjAxMS0wNi0wNyAxMToyMzo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IERvbid0IHVzZSBHU1RfQk9JTEVSUExBVEUKCjIwMTEtMDYtMDcgMTE6MjI6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEJ1ZmZlcnMgbm8gbG9uZ2VyIGhhdmUgY2FwcwoKMjAxMS0wNi0wNyAxMToyMDowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGE6IFVzZSBuZXcgdHJhbnNmb3JtX2NhcHMgdm1ldGhvZCAod2l0aCBmaWx0ZXIpCgoyMDExLTA2LTA2IDIwOjQzOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBmaXggc29tZSBtb3JlIHBhcnNlcnMKCjIwMTEtMDYtMDYgMTg6MjE6MDQgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfY2hhcHRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNiAxNDo0NzoyNyArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2F0dGFjaG1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDYgMTI6NDM6MTQgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfYXR0YWNoZWRfZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDIyOjQ1OjU1ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDEwOjE1OjIzICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfbWV0YWRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAwOTo1NDo0MiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9tZXRhZGF0YV9pZF90YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAwMjoyNDo0MSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDYgMTI6NDI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldCBzdGF0ZSB0cmFja2luZyB2YXJpYWJsZSB3aGVuIGFwcHJvcHJpYXRlCgkgIC4uLiBzbyB3ZSBkb24ndCBlbmQgdXAgaW50ZXJydXB0aW5nIGFuIG9wZXJhdGlvbiB0aGF0IHNob3VsZCBub3QgYmUgaW50ZXJydXB0ZWQKCSAgYmFzZWQgb24gdGhlIGluZGljYXRpb24gb2YgYSBwcmV2aW91cyBpbnRlcnJ1cHRhYmxlIG9wZXJhdGlvbi4KCjIwMTEtMDYtMDQgMTM6NDk6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBXb3JrIGFyb3VuZCBjaGFuZ2VzIGluIGdfYXRvbWljIEFQSQoJICBTZWUgIzY1MTUxNCBmb3IgZGV0YWlscy4KCjIwMTEtMDYtMDQgMTM6NDM6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5oOgoJICBzb3VwaHR0cHNpbms6IGNvZGUgY2xlYW51cAoKMjAxMS0wNi0wNSAwMjowMDowOCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IFVzZSBBUlRJU1QgdGFnIGluc3RlYWQgb2YgQVVUSE9SIGZvciBHU1RfVEFHX0FSVElTVAoJICBBVVRIT1Igb25seSBleGlzdGVkIGluIGFuIG9sZCB2ZXJzaW9uIG9mIHRoZSBzcGVjIGFuZCBBUlRJU1QgaXMKCSAgdGhlIG5ldyByZXBsYWNlbWVudCBmb3IgdGhpcy4gV2UgYXJlIHN0aWxsIHJlYWRpbmcgYm90aCB0byBzdGlsbAoJICBiZSBjb21wYXRpYmxlIHdpdGggb2xkIGZpbGVzLgoJICBGaXhlcyBidWcgIzY0NDg3NS4KCjIwMTEtMDYtMDIgMTg6NTE6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmMKCjIwMTEtMDYtMDIgMTg6NDc6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmk6IHBvcnQgQVZJIGVsZW1lbnRzIHRvIG5ldyBBUEkKCjIwMTEtMDYtMDIgMTM6Mzg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRmlyc3QgcXVlcnkgdGhlIHBlZXIgZHVyYXRpb24gaW4gdGhlIHJlcXVlc3RlZCBmb3JtYXQgYmVmb3JlIGNvbnZlcnRpbmcgdG8gQllURVMKCSAgRml4ZXMgdXNhZ2Ugb2YgZHZkZW11eCBhZnRlciBhbm90aGVyIGRlbXV4ZXIsIGUuZy4gbXhmZGVtdXguCgkgIEZpeGVzIGJ1ZyAjNjUwNTAzLgoKMjAxMS0wNi0wMiAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSAgc291cGh0dHBzaW5rOiBGaXggcmVmY291bnRpbmcgb2YgdGhlICJzZXNzaW9uIiBwcm9wZXJ0eQoJICBQcm9wZXJ0aWVzIHNob3VsZCBuZXZlciB0YWtlIG93bmVyc2hpcCBvZiB0aGUgdmFsdWVzCgkgIHBhc3NlZCB0byB0aGVtLgoKMjAxMS0wNi0wMSAxNzowNDoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGb3Igc3RyZWFtaW5nIGZpbGVzLCBwdXNoIHRhZ3MgZmlyc3QKCjIwMTEtMDUtMjQgMTQ6NTI6MDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBBZGQgc291cGh0dHBzaW5rCgoyMDExLTA2LTAxIDEwOjE5OjMxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhbGxvdyBza2lwLWZpcnN0LWJ5dGVzIG9mIGZ1bGwgYnVmZmVyIHNpemUKCjIwMTEtMDUtMzAgMTg6MzE6NTAgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2hlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTMwIDEyOjA5OjMxICswMjAwICBBbnRvbmlvIEZyZWRpYW5pIDxhbnRvbmlvLmZyZWRpYW5pQGlud2luZC5pdD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBHU1RfVEFHX0lNQUdFIGZvciBjb3ZlcmFydCB0b28KCSAgRml4ZXMgYnVnICM2MzgxMDcuCgoyMDExLTA1LTMwIDEwOjQwOjA4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9nZXRfc2Vla190cmFjawoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3Jlc2V0X3N0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yOCAyMjowNDozNCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYXtkZW11eCxwYXJzZX1fZm91bmRfZ2xvYmFsX3RhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI4IDEwOjU5OjA5ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2FfaW5kZXhfc2Vla19maW5kCgkgIC0gZ3N0X21hdHJvc2the2RlbXV4LHBhcnNlfV9kb19pbmRleF9zZWVrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMjM6MTU6MjMgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fdHJhY2tudW1iZXJfdW5pcXVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMjA6Mjg6MTkgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZGVjb2RlX2RhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNyAxOTozMDo0OCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9nZXRfbGVuZ3RoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMDk6MTc6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBSZXZlcnQgMWE5MGE2YzQgYW5kIGRyb3AgRGlyYWMgc3VwcG9ydCBhZ2FpbgoJICBJdCBkb2VzIG5vdCB3b3JrIGF0IGFsbCAoQS9WIHN5bmMgaXNzdWVzKSwgaXMgbm90IHZlcnkgdXNlZnVsLAoJICBvdGhlciBjb250YWluZXJzIHdvcmsgbXVjaCBiZXR0ZXIgd2l0aCBEaXJhYyBhbmQgRGlyYWMgaW4gQVZJCgkgIGlzIG5vdCBzdXBwb3J0ZWQgYnkgb3RoZXIgc29mdHdhcmUuCgkgIEZpeGVzIGJ1ZyAjNTQxMjE1LgoKMjAxMS0wNS0yNiAyMzozNTo1MiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZW5jb2RpbmdfY21wCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcmVhZF90cmFja19lbmNvZGluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19pZF9sZW5ndGhfcHVsbAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfaWRfbGVuZ3RoX3B1c2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfYWRhcHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI2IDEyOjQ4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4dmltYWdlc2luazogRmFsbGJhY2sgdG8gbm9uLVhTaG0gbW9kZSBpZiBhbGxvY2F0aW5nIHRoZSBYU2htIGltYWdlIGZhaWxlZAoJICBGaXhlcyBidWcgIzYzMDQ1Ni4KCjIwMTEtMDUtMjYgMTI6MjI6NTIgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogRGVwcmVjYXRlZCBzZW5kLWNvbmZpZyBwcm9wZXJ0eSBhbmQgcmVwbGFjZSBieSBjb25maWctaW50ZXJ2YWwKCSAgRml4ZXMgYnVnICM2MjI0MTIuCgoyMDEwLTA2LTIzIDExOjEyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFVURi04IHN1YnRpdGxlcyBtYXkgaGF2ZSBtYXJrdXAKCSAgRml4ZXMgIzYxNjkzNi4KCjIwMTEtMDEtMjMgMTU6NTY6NDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBmb3J3YXJkIG5ldyBzZWdtZW50IGV2ZW50cyBmcm9tIHRoZSBzaW5rIHRvIHRoZSBzb3VyY2UKCSAgTm90IGRvaW5nIHNvIHdpbGwgY2F1c2UgYnVmZmVycyB0byBiZSByZWNlaXZlZCBieSBkb3duc3RyZWFtIHdpdGhvdXQKCSAgYSB0aW1lIGJhc2Ugc2V0LgoJICBXZSB1c2UgdGhlIHNhbWUgbWV0aG9kIGF2aW11eCB1c2VzIHRvIGdldCBhY2Nlc3MgdG8gdGhlIGV2ZW50IHdoZW4KCSAgY29sbGVjdHBhZHMgZ290IHRoZSBzaW5rIGV2ZW50IGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMzIzCgoyMDExLTAxLTI0IDExOjExOjQ4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICB0ZXh0b3ZlcmxheTogZm9yd2FyZCBzb3VyY2UgZXZlbnRzIHRvIHNpbmtzCgkgIEV2ZW50cyBhcmUgcGFzc2VkIHRvIHRoZSB2aWRlbyBzaW5rLCBhbmQgdG8gdGhlIHRleHQgc2luayBpZiBpdCBpcwoJICBsaW5rZWQuCgkgIFRoaXMgd2lsbCBhbGxvdyBzZWVraW5nLCBmb3IgaW5zdGFuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODY0NTAKCjIwMTEtMDUtMjUgMjE6MTI6MTIgKzAyMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBBZGQgcHJvcGVydHkgdG8gYXNzdW1lIGEgc2luZ2xlIHN0cmVhbSBhbmQgZW1pdCBuby1tb3JlLXBhZHMKCSAgRml4ZXMgYnVnICM2MTY2ODYuCgoyMDExLTA1LTI1IDE0OjUwOjI2ICswMjAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdW5pZm9ybSB1bmtub3duIG1lc3NhZ2UgaGFuZGxpbmcKCSAgRG8gdGhlIHNhbWUgcHJvY2Vzc2luZyBpbiBhbGwgdGhlIGNhc2VzIHdoZW4gYW4gdW5rbm93biBtZXNzYWdlIGlzIHJlY2VpdmVkLgoJICBUaGF0IGlzLCBnaXZlIGEgd2FybmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTA1OQoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX3B1bGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfYnl0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZW5jb2Rpbmdfb3JkZXJfdW5pcXVlCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcmVhZF90cmFja19lbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI0IDE4OjI3OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogcG9ydCB0byBuZXcgQVBJCgoyMDExLTA1LTI0IDE3OjM0OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYwoJICBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmMKCSAgZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmMKCjIwMTEtMDUtMjQgMTM6MTI6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgcGNtdWRlcGF5OiBhbGxvdyB2YXJpYWJsZSBzYW1wbGUgcmF0ZQoKMjAxMS0wNS0yNCAxMzoxMTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICBwY21hZGVwYXk6IGFsbG93IHZhcmlhYmxlIHNhbXBsZSByYXRlCgoyMDEwLTA0LTA0IDA2OjQzOjQxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFkZCBub3JtIHByb3BlcnR5CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgR3Vlbm5hZGkgTGlha2hvdmV0c2tpLgoJICB2MjogdXBkYXRlcyBiZWNhdXNlIEkgZm9yZ290IHRvIGFkZCBHc3RUdW5lciBpbnRlcmZhY2UgdG8gdjRsMnNpbmsKCSAgdjM6IHVwZGF0ZSB0byBhZGQgYWxsIHBvc3NpYmxlIHZhbHVlcyB0byBub3JtIGVudW0KCjIwMTEtMDUtMjMgMjA6NDY6MDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGZpeGVkIGNvcHlyaWdodCBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV9kZWNvZGVfY29udGVudF9lbmNvZGluZ3MKCSAgLSBnc3RfbWF0cm9za2FfZGVjb21wcmVzc19kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6NDg6NTcgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IG1vdmUgR3N0TWF0cm9za2F7RGVtdXgsUGFyc2V9OjpzdGF0ZSB0byBHc3RNYXRyb3NrYVJlYWRDb21tb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNCAwOTo0ODo1NiArMDIwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXMubGFyc3NvbkBoaXEuc2U+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGJ1ZmZlciBsZWFrIHdpdGggY29ycnVwdGVkIGZpbGVzCgkgIEZpeGVzIGJ1ZyAjNjUwOTEyLgoKMjAxMS0wNS0yMyAwMjo0NjozOCAtMDcwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBwYXJhbWV0ZXIgdHlwZSBpbiB0cmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTM3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIFJlcGxhY2UgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgd2l0aCB0aGVpciBnc3RfbWF0cm9za2FfcmVhZF9jb21tb25fKgoJICBjb3VudGVycGFydHM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfaW5kZXgKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9za2lwCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fc3RyZWFtX2Zyb21fbnVtCgkgIEludHJvZHVjZSBHc3RNYXRyb3NrYVJlYWRDb21tb24gdG8gY29udGFpbiB0aG9zZSBtZW1iZXJzIG9mCgkgIEdzdE1hdHJvc2thRGVtdXggYW5kIEdzdE1hdHJvc2thUGFyc2UgdGhhdCB3ZXJlIHVzZWQgYnkgdGhlIGFib3ZlCgkgIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxMzo1MDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHRlbGwgYmFzZXBhcnNlIHRoZSBkdXJhdGlvbiBpbiBzYW1wbGVzIGZvciBiZXR0ZXIgYWNjdXJhY3kKCSAgVGVsbCBHc3RCYXNlUGFyc2UgdGhlIGR1cmF0aW9uIGluIHNhbXBsZXMgaW5zdGVhZCBvZiB0aW1lLCBzbyB0aGF0CgkgIGEgZHVyYXRpb24gcXVlcnkgaW4gREVGQVVMVCBmb3JtYXQgd2lsbCByZXR1cm4gdGhlIGNvcnJlY3QgbnVtYmVyCgkgIG9mIHNhbXBsZXMgd2l0aG91dCByb3VuZGluZyBlcnJvcnMuIEJhc2VwYXJzZSB3aWxsIGNvbnZlcnQgdGhpcwoJICBpbnRvIHRpbWUgaXRzZWxmIHdoZW4gbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwNzg1CgoyMDExLTA1LTIzIDEzOjI1OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYWxzbyB0cnkgdXBzdHJlYW0gZmlyc3QgZm9yIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA3ODUKCjIwMTEtMDUtMjMgMTM6MjM6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtYWtlIGNvbnZlcnNpb24gZnJvbSBUSU1FIHRvIERFRkFVTFQgZm9ybWF0IChzYW1wbGVzKSB3b3JrCgkgIEZpeCBjb3B5J24ncGFzdGUgZXJyb3IgaW4gdGhlIHByZXZpb3VzIGNvbW1pdC4KCjIwMTEtMDUtMjMgMTE6MzY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbXBsZW1lbnQgY29udmVyc2lvbnMgYmV0d2VlbiBUSU1FIGFuZCBERUZBVUxUIGZvcm1hdAoJICBGaXhlcyBidWcgIzY1MDc4NS4KCjIwMTEtMDUtMjIgMTg6NTA6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkb24ndCBlcnJvciBvdXQgb24gaW52YWxpZCBtaW5pbXVtX2Jsb2Nrc2l6ZSB2YWx1ZSBpbiBzdHJlYW1pbmZvIGhlYWRlcgoJICBXZSBkb24ndCB1c2UgaXQsIHNvIG1heSBqdXN0IGFzIHdlbGwgYWNjZXB0IGFuIGludmFsaWQgdmFsdWUKCSAgb2YgMCBoZXJlLCB3aGljaCBpcyBsaWtlbHkgaW5jb25zZXF1ZW50aWFsIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDY5MQoKMjAxMS0wNS0yMCAxMDozNDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHA6IGZpeCBzdGF0aWMgYXJyYXkgb3ZlcnJ1bnMgaW4gYSBuaWNlciB3YXkKCSAgVXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIHRoZSBhcnJheSBzaXplLgoKMjAxMS0wNS0yMCAwMDo1Mzo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHA6IGZpeCBzdGF0aWMgYXJyYXkgb3ZlcnJ1bnMKCSAgWWVzIGFycmF5WzEwXSBoYXMgZWxlbWVudHMgZnJvbSAwLi4uOS4KCjIwMTEtMDUtMTkgMjM6MzE6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGludHJvc3BlY3Rpb24gZGF0YQoJICBOb3cgbW9yZSBmaWxlcyBhcmUgbWVyZ2VkIGFuZCBwcm9kdWNlZCBpbiBhIGNhbm9uaWNhbCBmYXNoaW9uLCB3aGljaCBob3BlZnVsbHkKCSAgY3JlYXRlcyBsZXNzIG9yIG5vIGRlbHRhIGluIHRoZSBmdXR1cmUuCgoyMDExLTA1LTE5IDIyOjU3OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDllNWJiZDUgdG8gNjliOTgxZgoKMjAxMS0wNS0xOSAxODoyMTozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBtaXNzaW5nIGJyZWFrCgoyMDEwLTExLTA4IDE0OjA2OjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgZGVpbnRlcmxhY2luZyB1c2luZyBidWZmZXIgY2Fwcy9mbGFncwoJICBXaGVuIG5vdCB1c2luZyB0aGUgZmllbGRhbmFseXNpcyBlbGVtZW50IGltbWVkaWF0ZWx5IHVwc3RyZWFtIG9mIGRlaW50ZXJsYWNlLAoJICBiZWhhdmlvdXIgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuIGZpZWxkYW5hbHlzaXMgd2lsbCBzZXQgdGhlIGNhcHMgYW5kIGZsYWdzIG9uCgkgIHRoZSBidWZmZXJzIHN1Y2ggdGhhdCB0aGV5IGNhbiBiZSBpbnRlcnByZXRlZCBhbmQgYWN0ZWQgdXBvbiB0byBwcm9kdWNlCgkgIHByb2dyZXNzaXZlIG91dHB1dC4KCSAgVGhlcmUgYXJlIHR3byBtYWluIG1vZGVzIG9mIG9wZXJhdGlvbjoKCSAgLSBQYXNzaXZlIHBhdHRlcm4gbG9ja2luZwoJICBQYXNzaXZlIHBhdHRlcm4gbG9ja2luZyBpcyBhIG5vbi1ibG9ja2luZywgbG93LWxhdGVuY3kgbW9kZSBvZiBvcGVyYXRpb24gdGhhdAoJICBpcyBzdWl0YWJsZSBmb3IgY2xvc2UtdG8tbGl2ZSB1c2FnZS4gSW5pdGlhbGx5IGEgdGVsZWNpbmUgc3RyZWFtIHdpbGwgYmUKCSAgb3V0cHV0IGFzIHZhcmlhYmxlIGZyYW1lcmF0ZSB3aXRoIG5hw692ZSB0aW1lc3RhbXAgYWRqdXN0bWVudC4gV2l0aCBlYWNoCgkgIGluY29taW5nIGJ1ZmZlciwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGxvY2sgb250byBhIHBhdHRlcm4uIFdoZW4gYSBsb2NrIGlzCgkgIG9idGFpbmVkLCB0aGUgc3JjIHBhZCBhbmQgb3V0cHV0IGJ1ZmZlciBjYXBzIHdpbGwgcmVmbGVjdCB0aGUgcGF0dGVybiBhbmQKCSAgdGltZXN0YW1wcyB3aWxsIGJlIGFjY3VyYXRlbHkgaW50ZXJwb2xhdGVkIGJldHdlZW4gcGF0dGVybiByZXBlYXRzLiBUaGlzCgkgIG1lYW5zIHRoYXQgaW5pdGlhbGx5IGFuZCBhdCBwYXR0ZXJuIHRyYW5zaXRpb25zIHRoZXJlIHdpbGwgYmUgc2hvcnQgcGVyaW9kcwoJICBvZiBpbmFjY3VyYXRlIHRpbWVzdGFtcGluZy4KCSAgLSBBY3RpdmUgcGF0dGVybiBsb2NraW5nCgkgIEFjdGl2ZSBwYXR0ZXJuIGxvY2tpbmcgaXMgYSBibG9ja2luZywgaGlnaC1sYXRlbmN5IG1vZGUgb2Ygb3BlcmF0aW9uIHRoYXQgaXMKCSAgdGFyZ2V0ZWQgYXQgdXNlLWNhc2VzIHdoZXJlIHRpbWVzdGFtcCBhY2N1cmFjeSBpcyBwYXJhbW91bnQuIEJ1ZmZlcnMgd2lsbCBiZQoJICBxdWV1ZWQgdW50aWwgZW5vdWdoIGFyZSBwcmVzZW50IHRvIG1ha2UgYSBsb2NrLiBXaGVuIGxvY2tlZCwgdGltZXN0YW1wcyB3aWxsCgkgIGJlIGFjY3VyYXRlbHkgaW50ZXJwb2xhdGVkIGJldHdlZW4gcGF0dGVybiByZXBlYXRzLiBPcnBoYW4gZmllbGRzIGNhbiBiZQoJICBkcm9wcGVkIG9yIGRlaW50ZXJsYWNlZC4gSWYgbm8gbG9jayBjYW4gYmUgb2J0YWluZWQsIGEgc2luZ2xlIGZpZWxkIG1pZ2h0IGJlCgkgIHB1c2hlZCB0aHJvdWdoIHRvIGJlIGRlaW50ZXJsYWNlZC4KCSAgTG9ja2luZyBjYW4gYWxzbyBiZSBkaXNhYmxlZCBvciAnYXV0bycgY2hvb3NlcyBiZXR3ZWVuIHBhc3NpdmUgYW5kIGFjdGl2ZQoJICBsb2NraW5nIG1vZGVzIGRlcGVuZGluZyBvbiB3aGV0aGVyIHVwc3RyZWFtIGlzIGxpdmUuCgoyMDExLTA1LTEwIDE2OjI1OjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgY29uZmlnIHNjcmlwdCBjaGVjayBmb3IgY2FjYQoKMjAxMS0wNS0xOCAxMjozNjo0MCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwOiBGaXggc2VnbWVudGF0aW9uIGZhdWx0IHByb2Nlc3NpbmcgcGF5bG9hZCBidWZmZXJzCgkgIFRoaXMgY29tbWl0IGNoZWNrcyBpZiB0aGUgdmFsdWUgcmV0dXJuZWQgYnkKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfYnVmZmVyIGFuZAoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9zdWJidWZmZXIgaXMgTlVMTCBiZWZvcmUgdXNpbmcgaXQuCgoyMDExLTA1LTE4IDE2OjEwOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkMzUwNzMgdG8gOWU1YmJkNQoKMjAxMS0wNS0xOCAxMjo1MjozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBlbnN1cmUgMC1wYWRkaW5nIHdoZW4gY29ycmVjdGluZyBkdWJpb3VzIGxpc3Qgc2l6ZQoKMjAxMS0wNS0xOCAxMjoyNDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NmRmY2VhIHRvIGZkMzUwNzMKCjIwMTEtMDUtMTggMTA6MjI6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIEVJTlZBTCBmb3IgbWlzc2luZyB1cmwgcGFyYW1ldGVyCgkgIEZpeGVzIGdjYyB3YXJuaW5nIGFib3V0IHVzaW5nIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgJ3JlcycuCgoyMDExLTA0LTI4IDE1OjM3OjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICB2YXJpb3VzOiBmaXggYXV0aG9yIHRhZyBpbiBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDQtMjAgMTU6MjU6NTggLTA0MDAgIENocmlzIEUgSm9uZXMgPGNocmlzQGNocmlzZWpvbmVzLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogaW1wbGVtZW50IHNlZWtpbmcKCSAgSW1wbGVtZW50IHNlZWtpbmcgYW5kIHNlZWtpbmcgcXVlcnkuIEZpeGVzICM2NDQ1MTIKCjIwMTEtMDUtMTcgMTY6MTM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA0LTA2IDE2OjA1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBhbGxvdyBQQVVTRSB0byBiZSBpbnRlcnJ1cHRlZAoJICAuLi4gYXMgaXQgaXMgb24gdGhlIHdheSBvdXQgdG8gTlVMTC4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE1OjUxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZW5zdXJlIHByb3BlciBjbG9zaW5nIGFuZCBjbGVhbnVwCgkgIC4uLiBzaW5jZSB0aGUgVEVBUkRPV04gc2VxdWVuY2UgbWlnaHQgbm90IGhhdmUgaGFkIGEgY2hhbmNlIHRvIGV2ZW4gc3RhcnQsCgkgIGJ1dCBhdCBsZWFzdCBjb25uZWN0aW9ucyBzaG91bGQgYmUgY2xvc2VkIChzeW5jaHJvbm91c2x5KSBhbmQgc3RhdGUgY2xlYW5lZCB1cC4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE1OjQ5OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmaXggYW5kIGltcHJvdmUgYXN5bmMgaGFuZGxpbmcKCSAgU2ltcGxpZnkgdGhlIGNvbW1hbmQgaGFuZGxpbmc7IHBhc3NpbmcgYSBjb21tYW5kIHRvIHRocmVhZCBtZWFucyB3ZSByZWFsbHkKCSAgd2FudCBpdCB0byBnZXQgdGhlIG1lc3NhZ2UsIHdoaWNoIG1lYW5zIHRvIGFsd2F5cyBmbHVzaCBwcm92aWRlZCB0aGUgY29tbWFuZAoJICBjYW4gaGFuZGxlIGJlaW5nIGludGVycnVwdGVkLiAgQ29tbWFuZCB0aHJlYWQgaW5kaWNhdGVzIHdoZXRoZXIgY29tbWFuZAoJICBhbGxvd3MgaW50ZXJydXB0aW9uIGFuZCBlbnN1cmUgbm9uLWZsdXNoaW5nIGNvbm5lY3Rpb24gYXMgaXQgc3Vic2VxdWVudGx5CgkgIG5lZWRzIGl0LgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGFsc28gbWFrZXMgdGhlIFRFQVJET1dOIHNlcXVlbmNlIGludGVycnVwdGFibGUKCSAgYW5kIGFsc28gcHJldmVudHMgcmFjZXMgd2hlcmUgX2xvb3BfIGNvdWxkIG1pc3MgYSBjb21tYW5kIGFuZCB3b3VsZAoJICBjb250aW51ZSByZWNlaXZpbmcgKG9yIGF0IGxlYXN0IHRyeWluZyB0bykuCgkgIFNlZSAjNjMyNTA0LgoKMjAxMS0wNC0wNiAxNDo1MzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHR3ZWFrIHBvc3Qtc2VlayBsb29wIGhhbmRsaW5nCgoyMDExLTAxLTEwIDEyOjQ2OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IG9wZW4gb24gcGxheSBhbmQgcGF1c2Ugd2hlbiBub3QgZG9uZSB5ZXQKCSAgV2l0aCB0aGUgYXN5bmMgc3RhdGUgY2hhbmdlcywgaXQgaXMgcG9zc2libGUgdGhhdCB3ZSBuZWVkIHRvIG9wZW4gdGhlIHN0cmVhbQoJICBiZWZvcmUgcGxheSBhbmQgcGF1c2UuCgkgIEFsc28gbWFrZSBzdXJlIHdlIHJlbWVtYmVyIGEgcHJldmlvdXMgb3BlbiBmYWlsdXJlIHNvIHRoYXQgd2UgZG9uJ3Qga2VlcCB0cnlpbmcKCSAgYWdhaW4uCgoyMDExLTAxLTEwIDExOjQ1OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXByb3ZlIGFzeW5jIGhhbmRsaW5nCgkgIFNpbXBsaWZ5IHRoZSBjb21tYW5kIGhhbmRsaW5nLCBvbmx5IGNvbnRpbnVlIGxvb3Bpbmcgd2hlbiB3ZSBoYXZlIG5vdCByZWNlaXZlZAoJICBhbm90aGVyIGNvbW1hbmQgb3Igd2hlbiB0aGUgcHJldmlvdXMgbG9vcCB3YXMgc3VjY2Vzc2Z1bGwuCgkgIEF2b2lkIGxvb3Bpbmcgb24gYSBkaXNjb25uZWN0ZWQgc29ja2V0LgoKMjAxMS0wMS0wNyAxODowMjo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmV3b3JrIHJlY29ubmVjdCBjb2RlCgkgIFVzZSB0aGUgc2FtZSBhc3luYyBjb2RlIHBhdGggdG8gaW1wbGVtZW50IHJlY29ubmVjdHMuCgkgIE1ha2Ugc3VyZSB3ZSBvbmx5IHBvc3QgcHJvZ3Jlc3MgbWVzc2FnZXMgd2hlbiBkb2luZyBhc3luYyB0aGluZ3MuCgoyMDExLTAxLTA3IDE3OjE5OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzbWFsbCBjbGVhbnVwcwoJICBNYWtlIHN1cmUgd2UgY2FuY2VsIHRoZSBwcmV2aW91cyB0YXNrIHdoZW4gcXVldWluZyBhIG5ldyBvbmUuCgkgIE1vdmUgdGhlIG1lc3NhZ2VzIHRvIGEgY2VudHJhbCBwbGFjZSBzbyB3ZSBjYW4gbW9yZSBlYXNpbHkgcG9zdCB0aGVtLgoKMjAxMS0wMS0wNyAxNToxNTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcG9zdCBlcnJvcnMgd2hlbiBpbnRlcnJ1cHRpbmcKCjIwMTEtMDEtMDcgMTM6NDM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wbGVtZW50IG1vcmUgYXN5bmMgaGFuZGxpbmcKCSAgUmVtb3ZlIHNvbWUgb2xkIGxvY2tzLgoJICBNYWtlIHN1cmUgd2UgbmV2ZXIgZ28gaW50byB0aGUgbG9vcCBmdW5jdGlvbiB3aGVuIGZsdXNoaW5nLgoKMjAxMS0wMS0wNyAxMTo0MDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZmlyc3QgYXR0ZW1wdCBhdCBhc3luYyBpbXBsZW1lbnRhdGlvbgoKMjAxMS0wMS0wNyAxMTo0MDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc21hbGwgaGVhZGVyIGNsZWFudXBzCgoyMDExLTA1LTE3IDEwOjQ3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgZm9yIChwcmUtKSByZWxlYXNlcyB0b28KCjIwMTEtMDQtMjggMTU6NTc6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0czogT25seSBhbGxvdyBtcGVnLXRzIG9uIHNvdXJjZSBvYmplY3RzCgkgIFVnbHkgZml4IGZvciAjNjQ4MzEyCgoyMDExLTA1LTE3IDA5OjI0OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDUtMDYgMTk6MDk6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IEltcGxlbWVudCBpdGVyYXRlIGludGVybmFsIGxpbmtzIGZvciBzaW5rIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0wNiAxODo0MTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogaXRlcmF0ZSBwYWQgZnVuY3Rpb24gaXMgb25seSB2YWxpZCBmb3Igc3JjIHBhZHMKCSAgVGhlIGl0ZXJhdGUgZnVuY3Rpb24gaXMgb25seSB1c2VkIGZvciBzcmMgcGFkcywgc28gbWFyayBpdCBhcyBzdWNoIGFuZCByZW1vdmUKCSAgZGVhZCBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NjE3CgoyMDExLTA1LTA2IDE4OjEyOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHNpZ25hbAoJICBJZiB0aGUgbG9jayBpcyBub3QgcmVsZWFzZWQgYmVmb3JlIGVtaXR0aW5nIGEgc2lnbmFsLCBpdCBtYXkgY2F1c2UgYSBkZWFkbG9jawoJICBpZiBhbnkgb3RoZXIgZnVuY3Rpb24gaW4gdGhlIGVsZW1lbnQgaXMgY2FsbGVkLgoJICBBbHNvIHJlbW92ZWQgYW4gdW51c2VkIHRpbWVzdGFtcCBwYXJhbWV0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0xNSAyMzoyNToxNSArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGNhbGN1bGF0ZSBzZWdtZW50IGR1cmF0aW9uIGFmdGVyIHBhcnNpbmcgYWxsIHRoZSBJRHMKCSAgU2luY2UgdGhlIHNlZ21lbnQgZHVyYXRpb24gaXMgZ2l2ZW4gaW4gdGVybXMgb2YgdGhlCgkgIEdTVF9NQVRST1NLQV9JRF9USU1FQ09ERVNDQUxFIHdlIHNob3VsZCBvbmx5IGNvbnZlcnQgaXQgaW50bwoJICBuYW5vc2Vjb25kcyB3aGVuIHdlIGFyZSBzdXJlIHRoYXQgYW55IHNjYWxlIHNwZWNpZmllZCBpbiB0aGUgZmlsZSBoYXMKCSAgYmVlbiByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMjU4CgoyMDExLTA1LTE2IDE3OjUyOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wNS0xNiAxNzo1MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICAtZ29vZDogZml4IGZvciBuZXcgQVBJCgoyMDExLTA1LTA0IDExOjU1OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGRpdGlvbmFsIGxvY2sgc2FmZXR5CgkgIEZpeGVzICM2MTk1OTAuCgoyMDExLTA0LTI2IDE2OjA2OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNoZWNrIGZvciBiaXRyYXRlIGluZm8gaW4gY2FwcwoKMjAxMC0wNS0yNSAwMTowNDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGd1ZXNzIGJpdHJhdGUgaWYgb25seSBvbmUgc3RyZWFtJ3MgYml0cmF0ZSBpcyB1bmtub3duCgkgIElmIHRoZSBiaXRyYXRlcyBmb3IgYWxsIGJ1dCBvbmUgYXVkaW8vdmlkZW8gc3RyZWFtcyBhcmUga25vd24sIGFuZCB0aGUKCSAgdG90YWwgc3RyZWFtIHNpemUgYW5kIGR1cmF0aW9uIGNhbiBiZSBkZXRlcm1pbmVkLCB0aGlzIGNhbGN1bGF0ZXMgdGhlCgkgIHVua293biBiaXRyYXRlIGFzIChzdHJlYW0gc2l6ZSAvIGR1cmF0aW9uKSAtIChzdW0gb2Yga25vd24gYml0cmF0ZXMpLgoJICBXaGlsZSB0aGlzIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIHZlcnkgYWNjdXJhdGUsIGl0IHNob3VsZCBiZSBnb29kCgkgIGVub3VnaCBmb3IgbW9zdCBwdXJwb3Nlcy4KCSAgRm9yIGV4YW1wbGUsIHRoaXMgaXMgdXNlZnVsIGZvciBILjI2MyArIEFBQyBzdHJlYW1zIHdoZXJlIG5vICdidHJ0JyBhdG9tCgkgIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHZpZGVvIHBvcnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk1NDgKCjIwMTAtMDUtMzEgMjM6NTk6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBtYXggYml0cmF0ZSBmb3IgQU1SLU5CLy1XQiBzdHJlYW1zCgkgIFRoaXMgcGFyc2VzIHRoZSAnZGFtcicgYXRvbSBpZiBwcmVzZW50LCBhbmQgZXhwb3J0cyB0aGUgbWF4aW11bSBiaXRyYXRlCgkgIG9mIHRoZSBzdHJlYW0gdXNpbmcgdGhlIG1vZGUgc2V0IGZpZWxkIHRvIGRldGVybWluZSB0aGUgaGlnaGVzdCBiaXRyYXRlCgkgIGZyYW1lIHR5cGUgdGhhdCBtaWdodCBiZSBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMTg2CgoyMDExLTA1LTE2IDA5OjA0OjMxICswMjAwICBQaW5vIFRvc2Nhbm8gPHRvc2Nhbm8ucGlub0B0aXNjYWxpLml0PgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogRGVmaW5lIFBBVEhfTUFYIGlmIGl0IGlzbid0IGRlZmluZWQKCSAgR05VIEh1cmQgZm9yIGV4YW1wbGUgZG9lc24ndCBkZWZpbmUgaXQuCgoyMDExLTA1LTE1IDIzOjI1OjE1ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2FsY3VsYXRlIHNlZ21lbnQgZHVyYXRpb24gYWZ0ZXIgcGFyc2luZyBhbGwgdGhlIElEcwoJICBTaW5jZSB0aGUgc2VnbWVudCBkdXJhdGlvbiBpcyBnaXZlbiBpbiB0ZXJtcyBvZiB0aGUKCSAgR1NUX01BVFJPU0tBX0lEX1RJTUVDT0RFU0NBTEUgd2Ugc2hvdWxkIG9ubHkgY29udmVydCBpdCBpbnRvCgkgIG5hbm9zZWNvbmRzIHdoZW4gd2UgYXJlIHN1cmUgdGhhdCBhbnkgc2NhbGUgc3BlY2lmaWVkIGluIHRoZSBmaWxlIGhhcwoJICBiZWVuIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAyNTgKCjIwMTEtMDUtMDkgMTk6MDA6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogQWRkIHN1cHBvcnQgZm9yIG1wZWd2ZXJzaW9uIDIsIHdoaWNoIGlzIGFsc28gQUFDCgoyMDExLTA1LTExIDEwOjI1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBTZW5kIEVPUyB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGVuZCBvZiBmaWxlIGluc3RlYWQgb2YgZmFpbGluZwoJICBGaXhlcyBidWcgIzY0OTc4MC4KCjIwMTEtMDQtMjkgMDg6NTk6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBTZXQgZml4ZWRjYXBzIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlIHNpbmtwYWQKCSAgd2F2ZW5jIGRvZXMgbm90IGFsbG93IHRvIGNoYW5nZSB0aGUgY2FwcyBkdXJpbmcgcGxheWJhY2sKCSAgYW5kIGFsd2F5cyByZXR1cm5pbmcgdGhlIHRlbXBsYXRlIGNhcHMgaXMganVzdCB3cm9uZy4KCjIwMTEtMDQtMjkgMDg6NTU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBbGxvdyBzZXRjYXBzIHRvIGJlIGNhbGxlZCBhZnRlciBhIGZvcm1hdCB3YXMgbmVnb3RpYXRlZCBpZiBpdCdzIGNvbXBhdGlibGUKCSAgT3RoZXJ3aXNlIHdhdmVuYyB3aWxsIGZhaWwgaWYgdXBzdHJlYW0gZGVjaWRlcyB0byBzZXQgZXF1aXZhbGVudCBjYXBzIG9yIGNhcHMKCSAgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGxhdGVyLgoJICBUaGFua3MgdG8gQWxleGFuZGVyIFNjaHJlbW1lciBmb3IgZmluZGluZyB0aGlzIGJ1Zy4KCjIwMTEtMDUtMTQgMTA6MDI6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yOSA9PT0KCjIwMTEtMDUtMTAgMTA6MDQ6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjkKCSAgSGlnaGxpZ2h0czoKCSAgLSBhbXJwYXJzZSwgYWFjcGFyc2UsIGFjM3BhcnNlLCBmbGFjcGFyc2UsIG1wZWdhdWRpb3BhcnNlLCBkY2FwYXJzZSBhdWRpbyBwYXJzZXJzIChtb3ZlZCBmcm9tIC1iYWQpCgkgIC0gbXV4ZXJzIG5vdyBtdXggYmFzZWQgb24gcnVubmluZyB0aW1lCgkgIC0gSVNPIE1QNCBtdXhlcnM6IG1wNG11eC8zZ3BwbXV4L3F0bXV4L21qMm11eCAobW92ZWQgZnJvbSAtYmFkKQoJICAtIG5ldyBtYXRyb3NrYXBhcnNlIGVsZW1lbnQKCSAgLSBuZXcgdjRsMnJhZGlvIGVsZW1lbnQKCSAgLSBydHBzZXNzaW9uOiBzdXBwb3J0IFJUQ1AgRWFybHkgRmVlZGJhY2sgKHRoZSBBVlBGIHByb2ZpbGUpCgkgIC0gb3JjIDAuNC4xNCBvciBuZXdlciByZWNvbW1lbmRlZAoJICAtIG1hbnkgb3RoZXIgZml4ZXMgYW5kIGltcHJvdmVtZW50cwoKMjAxMS0wNS0wNSAxMzoyNDoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggc2lnbmVkIGZsb2F0aW5nIHBvaW50IHZhbHVlcyB3cml0aW5nCgkgIFlvdSB3b3VsZCBlbmQgdXAgb24gc29tZSBhcmNoaXRlY3R1cmVzIHdpdGggMCBiZWluZyB3cml0dGVuIG91dAoJICBpbnN0ZWFkIG9mIHRoZSBwcm9wZXIgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk0NDkKCjIwMTEtMDUtMDQgMTI6MDQ6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYXZvaWQgYnVpbGRpbmcgaW5kZXggd2hlbiBzdHJlYW1hYmxlCgkgIC4uLiBhcyBpdCB3aWxsIG5vdCBiZSB3cml0dGVuIGFueXdheS4KCSAgRml4ZXMgIzY0ODkzNyAoPykuCgoyMDExLTA1LTAyIDEyOjA5OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIG9sZCBxdGRlbXV4L3F1aWNrdGltZSBkaXJlY3RvcmllcyB0byBDUlVGVF9ESVJTIGFuZCBDUlVGVF9GSUxFUwoKMjAxMS0wNS0wMSAwMDowNDowMyAtMDQwMCAgVG9tIEphbmlzemV3c2tpIDx0b20uamFuaXN6ZXdza2lAYWxjYXRlbC1sdWNlbnQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCBvdmVyd3JpdGUgbWV0YWRhdGEgdGFnIHdpdGggZHVyYXRpb24gaW4gc3RyZWFtaW5nIG1vZGUKCSAgQSBkdXJhdGlvbiB0YWcgZ2V0cyBpbnNlcnRlZCBvbmx5IGZvciBzdHJlYW1hYmxlPWZhbHNlLCBzbyBvbmx5CgkgIHVwZGF0ZS93cml0ZSB0aGUgZHVyYXRpb24gbGF0ZXIgaWYgd2UgYWN0dWFsbHkgaW5zZXJ0ZWQgdGhhdCB0YWcsCgkgIG90aGVyd2lzZSB3ZSB3cml0ZSBnYXJiYWdlIGludG8gb3RoZXIgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2MAoKMjAxMS0wNC0zMCAxODoxNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBwby9mci5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI4LjQgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMzAgMTc6NDY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L2lzb21wNC9MRUdBTDoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuaDoKCSogZ3N0L2lzb21wNC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L2lzb21wNC9xdHBhbGV0dGUuaDoKCSogZ3N0L3F1aWNrdGltZS9MRUdBTDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC1kb2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC52Y3Byb2o6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0cGFsZXR0ZS5oOgoJKiBnc3QvcXVpY2t0aW1lL3F1aWNrdGltZS5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcXVpY2t0aW1lOiByZW5hbWUgcGx1Z2luIHRvIGlzb21wNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDA0CgoyMDExLTA0LTI5IDE3OjU1OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBmaXggc29tZSBwYXJzZXJzCgoyMDExLTA0LTI5IDE3OjU0OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmaXggZXJyb3IgY2F1c2VkIGJ5IG1lcmdpbmcKCjIwMTEtMDQtMjkgMTU6NDk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCjIwMTEtMDQtMjkgMTU6NDY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiBmaXggcGFkX2FsbG9jCgoyMDExLTA0LTI3IDEyOjQ1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBwby9iZy5wbzoKCSogcG8vamEucG86CgkqIHBvL25sLnBvOgoJKiBwby9ydS5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI4LjMgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMjYgMTU6NTg6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGZpeCBidWZmZXIgbGVhawoKMjAxMS0wNC0yNiAxNTo1ODoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZml4IGJ1ZmZlciBsZWFrCgoyMDExLTA0LTI2IDE1OjQyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogcG9ydCBqYWNrIGVsZW1lbnRzCgoyMDExLTA0LTI1IDEwOjA0OjUyICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb2N1bWVudGF0aW9uIHR5cG8gImpwZWdkZGVjIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4NTg5CgoyMDExLTA0LTI1IDE4OjE0OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgbW9yZSBlbGVtZW50cwoKMjAxMS0wNC0yNSAxNzoyNzo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgcnRwOiBwb3J0IG1vcmUgdG8gMC4xMQoKMjAxMS0wNC0yNSAxMzoxNjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBydHA6IHBvcnQgc29tZSBtb3JlIChkZSlwYXlsb2FkZXJzCgoyMDExLTA0LTI1IDEyOjQ5OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBwb3J0IHNvbWUgbW9yZSBlbGVtZW50cyB0byAwLjExCgoyMDExLTA0LTI1IDExOjM4OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNC0yNCAxNjo0NTowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGF2aW11eCxtYXRyb3NrYW11eDogQWRkIHN0cmVhbS1mb3JtYXQgdG8gaDI2NCBjYXBzCgkgIEZpeGVzICM2MDY2NjIuCgoyMDExLTAyLTIwIDEyOjEzOjQ5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogUmVtb3ZlIHRlbXBvcmFyeSBjb2RlCgkgIE5vdyB0aGF0IHdlIGRlcGVuZCBvbiAod2hhdCB3aWxsIGJlKSAtYmFzZS0wLjEwLjMzLgoKMjAxMS0wNC0yNCAxNDowMzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZG9uJ3QgcGFzcyAtV2FkZHJlc3MgdG8gT2JqQyBjb21waWxlciBvbiBPU1ggd2hlbiBjb21waWxpbmcgb3N4dmlkZW9zaW5rCgkgIFRlbXBvcmFyeSB3b3JrYXJvdW5kIHVudGlsIHdlIGZpeCB0aGlzIHByb3Blcmx5IGFuZCBjaGVjayBmb3IKCSAgdGhlIE9iakMgd2FybmluZy9lcnJvciBmbGFncyBpbnN0ZWFkIG9mIGp1c3QgcGFzc2luZyBDRkxBR1MgdG8gdGhlCgkgIE9iakMgY29tcGlsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM5MzkKCjIwMTEtMDQtMjQgMTM6Mjk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSAgcXVpY2t0aW1lOiByZW5hbWUgcGx1Z2luIGZpbGVuYW1lIGZyb20gKnF0ZGVtdXgqIHRvICpxdWlja3RpbWUqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMDQKCjIwMTEtMDQtMjQgMTQ6MDM6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjM2NhZmUxIHRvIDQ2ZGZjZWEKCjIwMTEtMDQtMjEgMjM6MzA6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LWRvYy5oOgoJICBkb2NzOiBhZGQgdmFyaW91cyBxdG11eCB2YXJpYW50cyB0byBkb2N1bWVudGF0aW9uCgoyMDExLTA0LTIxIDIyOjUxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgIHF1aWNrdGltZTogcmVnaXN0ZXIgM2dwcG11eCBlbGVtZW50IGluIGFkZGl0aW9uIHRvIHRoZSBtaXNuYW1lZCBncHBtdXgKCjIwMTEtMDQtMTggMTg6MDg6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFJlbW92ZSBpbmNvbXBsZXRlIHN1cHBvcnQgZm9yIFJUQ1AgRklSCgkgIFJlbW92ZSBiaXRzIHRoYXQgd2VyZSBtZWFudCB0byBzdXBwcG9ydCBSVENQIEZJUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MTYwCgoyMDExLTA0LTE5IDE4OjU1OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogcG9ydCB0byAwLjExCgoyMDExLTA0LTE5IDE3OjM1OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1c2UgR19ERUZJTkVfVFlQRSBzb21lIG1vcmUKCjIwMTEtMDQtMTkgMTc6MjA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpOiB1c2UgR19ERUZJTkVfVFlQRQoKMjAxMS0wNC0xOSAxNzowNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIHVzZSBHX0RFRklORV9UWVBFCgoyMDExLTA0LTE5IDE2OjI1OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNC0xOSAxNDozMzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL2luZGV4LmM6CgkgIHRlc3RzOiBhZGQgZ2VuZXJpYyBzZXRfaW5kZXggdGVzdAoKMjAxMS0wNC0xOSAxNDozMzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggZGVhZGxvY2sgb24gc2V0dGluZyBpbmRleCBvbiBmbHZkZW11eAoKMjAxMS0wNC0xOSAxNDoxNjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgdGVzdHM6IGFkZCBpbmRleC1zZXR0aW5nIHRlc3QgZm9yIGJhc2VwYXJzZS9mbGFjcGFyc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjgxMQoKMjAxMS0wNC0xOCAxMToyOToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB3YXZwYWNrOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6MTQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB3YXZlbmM6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMToxMTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRhZ3NjaGVja2luZzogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjEwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTA6NTQ6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBwb3J0IG1vcmUgcGx1Z2lucyB0byAwLjExCgoyMDExLTA0LTE4IDEwOjIzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGFuZHJvaWQvYXBldGFnLm1rCgkgIGFuZHJvaWQvYXZpLm1rCgkgIGFuZHJvaWQvZmx2Lm1rCgkgIGFuZHJvaWQvaWN5ZGVtdXgubWsKCSAgYW5kcm9pZC9pZDNkZW11eC5tawoJICBhbmRyb2lkL3F0ZGVtdXgubWsKCSAgYW5kcm9pZC9ydHAubWsKCSAgYW5kcm9pZC9ydHBtYW5hZ2VyLm1rCgkgIGFuZHJvaWQvcnRzcC5tawoJICBhbmRyb2lkL3NvdXAubWsKCSAgYW5kcm9pZC91ZHAubWsKCSAgYW5kcm9pZC93YXZlbmMubWsKCSAgYW5kcm9pZC93YXZwYXJzZS5tawoJICBjb25maWd1cmUuYWMKCjIwMTEtMDQtMTcgMDE6Mjk6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4ICd2YXJpYWJsZSBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyB3YXJuaW5ncyBjYXVzZWQgYnkgLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTA0LTE2IDE4OjUwOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkgIDAuMTAuMjguMiBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNiAxODo0OToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICBnc3Q6IHVwZGF0ZSBkaXN0ZWQgb3JjIGJhY2t1cCBjb2RlCgoyMDExLTA0LTE2IDE4OjI5OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNiAxODoyNzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vaWQucG86CgkqIHBvL3NsLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wNC0xNiAxODoxNzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZ1c2UgaW5jb21wbGV0ZSBsZWdhY3kgaDI2NCBjYXBzCgkgIFJlZnVzZSBoMjY0IGNhcHMgd2l0aG91dCBzdHJlYW0tZm9ybWF0IGFuZCBjb2RlY19kYXRhIGZpZWxkcyBmb3IKCSAgbm93LCB0byBhdm9pZCBjcmVhdGluZyBicm9rZW4gZmlsZXMuIFRoaXMgbWlnaHQgY2F1c2Ugc29tZSBwaXBlbGluZXMKCSAgdGhhdCB3b3JrZWQgcHJldmlvdXNseSB0byBmYWlsLiBIb3dldmVyLCB0aGUgbW92ZSBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaXMgb3VyIG9ubHkgY2hhbmNlIHRvIGZpeCB0aGlzIHVwLCBzbyBtYWtlIGl0IHN0cmljdCBmb3Igbm93LiBXZSBjYW4KCSAgYWx3YXlzIGNoYW5nZSBpdCBiYWNrIHRvIGJlIGxlc3Mgc3RyaWN0IGluIGZ1dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzkxOQoKMjAxMS0wNC0xNiAxODoxNjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZml4IGFub3RoZXIgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZwoKMjAxMS0wNC0xNiAxODoxMDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgcHVsc2UsIHNwZWV4ZW5jLCBydHBnc21wYXk6IGRvbid0IHVzZSBnX2Fzc2VydCgpIGZvciBlcnJvciBoYW5kbGluZwoJICBEb24ndCB1c2UgZ19hc3NlcnQoKSBmb3IgZXJyb3IgaGFuZGxpbmcsIGV2ZW4gaWYgdGhleSdyZSBoaWdobHkgdW5saWtlbHkuCgkgIEVpdGhlciB3ZSAqa25vdyogdGhhdCBzb21ldGhpbmcgY2FuJ3QgaGFwcGVuLCBpbiB3aGljaCBjYXNlIHdlCgkgIHNob3VsZCBqdXN0IG5vdCBoYW5kbGUgaXQsIG9yIHdlIHRoaW5rIHNvbWV0aGluZyBjYW4gaGFwcGVuLCBidXQgaXQgaXMKCSAgdmVyeSB2ZXJ5IHVubGlrZWx5IHRoYXQgaXQgd2lsbCBldmVyIGhhcHBlbiwgaW4gd2hpY2ggY2FzZSB3ZSBzaG91bGQKCSAgaGFuZGxlIGl0IGxpa2UgYW55IG90aGVyIGVycm9yIGluc3RlYWQgb2YgYXNzZXJ0aW5nLgoJICBnX2Fzc2VydCgpIGlzIGJlc3QgbGVmdCBmb3IgY29uZGl0aW9ucyB3ZSBoYXZlIGNvbnRyb2wgb2YsIGxpa2UgY2hlY2tpbmcKCSAgaW50ZXJuYWwgY29uc2lzdGVuY3kgb2Ygb3VyIGNvZGUsIG5vdCBjaGVja2luZyByZXR1cm4gdmFsdWVzIG9mIGV4dGVybmFsCgkgIGNvZGUuCgkgIEZpeGVzIGEgYnVuY2ggb2Ygd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQ6CgkgIGdzdHJ0cGdzbXBheS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3J0cF9nc21fcGF5X2hhbmRsZV9idWZmZXInOgoJICBnc3RydHBnc21wYXkuYzoxMzA6MTc6IHdhcm5pbmc6IHZhcmlhYmxlICdydHBnc21wYXknIHNldCBidXQgbm90IHVzZWQKCSAgZ3N0c3BlZXhlbmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9zcGVleF9lbmNfZW5jb2RlJzoKCSAgZ3N0c3BlZXhlbmMuYzo5MDQ6MTk6IHdhcm5pbmc6IHZhcmlhYmxlICd3cml0dGVuJyBzZXQgYnV0IG5vdCB1c2VkCgkgIHB1bHNlc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X3B1bHNlc2lua19jaGFuZ2Vfc3RhdGUnOgoJICBwdWxzZXNpbmsuYzoyNzI1Ojk6IHdhcm5pbmc6IHZhcmlhYmxlICdyZXMnIHNldCBidXQgbm90IHVzZWQKCSAgcHVsc2VzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9wdWxzZXNyY19jaGFuZ2Vfc3RhdGUnOgoJICBwdWxzZXNyYy5jOjEyNTM6Nzogd2FybmluZzogdmFyaWFibGUgJ2UnIHNldCBidXQgbm90IHVzZWQKCjIwMTEtMDQtMTYgMTg6MDc6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSAgZXhhbXBsZXM6IGZpeCBzb21lIHdhcm5pbmdzIGluIHJ0cCBleGFtcGxlCgkgIENhdXNlZCBieSAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDQtMTYgMTc6NTc6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBleGFtcGxlczogZG9uJ3QgcHV0IGNvZGUgd2l0aCBzaWRlLWVmZmVjdHMgaW50byBnX2Fzc2VydCgpCgkgIE90aGVyd2lzZSB0aGluZ3Mgd29uJ3Qgd29yayB0b28gd2VsbCB3aGVuIGNvbXBpbGluZyB3aXRoCgkgIC1ER19ESVNBQkxFX0FTU0VSVCAoYXMgd2UgZG8gZm9yIHByZS1yZWxlYXNlcyBhbmQgcmVsZWFzZXMpLgoKMjAxMS0wNC0xNiAxNjo1MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBkZWludGVybGFjZSwgbWF0cm9za2E6IGZpeCB0d28gdmFyaWFibGUtbWF5LWJlLXVzZWQtdW5pbml0aWFsaXplZCBjb21waWxlciB3YXJuaW5ncwoJICBXZSB1c2UgLURHX0RJU0FCTEVfQVNTRVJUIGZvciB0aGUgcHJlLXJlbGVhc2VzLCB3aGljaCBtYWtlcyB0aGVzZQoJICB3YXJuaW5ncyBwb3AgdXAgaW4gY2FzZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgY292ZXJlZCBieSBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgkgIGFuZCB0aGUgbGlrZToKCSAgdHZ0aW1lL2dyZWVkeWguYzo4MDE6MTQ6IHdhcm5pbmc6ICdzY2FubGluZScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgkgIG1hdHJvc2thLW11eC5jOjUwMToxOTogd2FybmluZzogJ2NvbnRleHQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMS0wNC0xNiAxNDo0NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIGFwZWRlbXV4OiBQb3J0IHRvIDAuMTEKCjIwMTEtMDQtMTYgMTM6MzM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjLTQuNgoKMjAxMS0wNC0xNiAxMzoyMzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGV4YW1wbGVzOiBmaXggJ2NvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24nIHdhcm5pbmcgaW4gY2Fpcm8gZXhhbXBsZQoKMjAxMS0wNC0xNSAxNTo0NzoyNCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlCgkgIFRoZSB2NGwyb2JqZWN0IGZvcm1hdHMgbGlzdCB3YXMgYmVpbmcgb2J0YWluZWQgaW50byBhIGxvY2FsIHZhcmlhYmxlIGFuZAoJICB0aGVuIHN0aWxsIHVzZWQgZnJvbSB0aGUgY29udGV4dC4gTWFrZSB1c2Ugb2YgdGhlIGxvY2FsIHZhcmlhYmxlLgoKMjAxMS0wNC0xNSAxNToxNzozNCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBvc3M0OiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42LnggY29tcGxhaW5zIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuIFVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICB3ZXJlIHJlbW92ZWQgZXhjZXB0IHRoYXQgZ3N0X29zczRfbWl4ZXJfc2xpZGVyX3NldF9tdXRlICgpIG5vdyByZXR1cm5zCgkgIHRoZSB2YWx1ZSBmcm9tIHRoZSBjYWxsIHRvIGdzdF9vc3M0X21peGVyX3NldF9jb250cm9sX3ZhbCAoKS4KCjIwMTEtMDQtMTUgMTU6MTQ6MTMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBqcGVnZW5jOiBwdWxzZXNpbms6IHJhdzEzOTQ6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHVzYWdlIG9mIHZhcmlhYmxlcy4gVGhlIHZhcmlhYmxlcyBpbgoJICByYXcxMzk0IHdlcmUgbWFya2VkIHdpdGggR19HTlVDX1VOVVNFRCBhcyB0aGlzIHNlZW1lZCBvbXJlIGFwcHJvcHJpYXRlLgoJICBUaGUgb3RoZXJzIHdlcmUgcmVtb3ZlZC4KCjIwMTEtMDQtMTUgMTU6MTI6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuY29kZTogc2hhcGV3aXBlOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42LnggY29tcGxhaW5zIGFib3V0IHN1Y2ggdXNhZ2UuCgoyMDExLTA0LTE1IDE1OjExOjM1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHRlc3RzOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB1c2FnZSBvZiB2YXJpYWJsZXMuCgoyMDExLTA0LTE1IDE1OjM2OjQxICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBhcmdiL3JnYmEgb3ZlcmxheSBvcmMgY29kZQoJICBSZW1vdmUgc29tZSByZWR1bmRhbnQgb3BlcmF0aW9ucyAoY29udnVidykgYW5kIHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSwKCSAgdDIsIGluIHRoZSBvcmNfb3ZlcmxheV9iZ3JhIGZ1bmN0aW9uLgoKMjAxMS0wNC0xNSAxNTozMzozNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCB2YXJpYWJsZXMgdGhhdCBhcmUgc2V0IGJ1dCB1bnVzZWQuIFN1Y2gKCSAgdmFyaWFibGVzIGhhdmUgYmVlbiByZW1vdmVkIGluIGJsZW5kLCBjb2xsZWN0cGFkczIgYW5kIHZpZGVvbWl4ZXIyLgoKMjAxMS0wNC0xNSAxNDo1NzoyMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cCwgcnRwbWFuYWdlcjogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHZhcmlhYmxlcyB0aGF0IGFyZSB1bnVzZWQgYnV0IHNldC4gU3VjaAoJICB2YXJpYWJsZXMgaGF2ZSBiZWVuIHJlbW92ZWQgd2hlcmUgdHJpdmlhbCBidXQgd2l0aCBjb21tZW50cyBsZWZ0IGJlaGluZAoJICBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBpbiBzb21lIGNhc2VzLgoJICBnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwICgpIHdhcyBjaGFuZ2VkIGluIGNvbW1pdCA0OTAxMTNkNAoJICB0byBhbHdheXMgcmV0dXJuIEdTVF9GTE9XX09LIGluc3RlYWQgb2YgdGhlIHJldHVybiB2YWx1ZSBvZgoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3AgKCksIHNvIHdlJ2xsIGtlZXAgaXQgdGhhdCB3YXkuCgoyMDExLTA0LTE1IDExOjI5OjMwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LmM6CgkgIHF1aWNrdGltZTogUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4gTm90ZSB0aGF0IHNvbWUKCSAgY2FsY3VsYXRpb25zIGFyZSBsZWZ0IGFzIGNvbW1lbnRzIGZvciBpbmZvcm1hdGl2ZSBwdXJwb3Nlcy4KCjIwMTEtMDQtMTUgMTE6MjM6MzggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuCgoyMDExLTA0LTE1IDExOjE5OjI2ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCBkdXJhdGlvbiB2YXJpYWJsZQoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4KCjIwMTEtMDQtMTUgMTE6MTg6MTkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx4ZGVtdXg6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCBrZXlmcmFtZSB2YXJpYWJsZXMKCSAgVGhlIEZJWE1FcyBhYm91dCB0aGUga2V5ZnJhbWUgZmxhZyBuZXZlciBiZWluZyB1c2VkIGFyZSBsZWZ0IGZvciBsYXRlcgoJICBmaXhpbmcsIGF0IHdoaWNoIHBvaW50IHRoZSBrZXlmcmFtZSB2YXJpYWJsZXMgY291bGQgYmUgYWRkZWQgYmFjay4KCjIwMTEtMDQtMTUgMTE6MTY6NDIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgaGVpZ2h0IHZhcmlhYmxlCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHZhcmlhYmxlcy4KCjIwMTEtMDQtMTUgMTg6NTE6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1cGRhdGUgZm9yIGdzdF9iYXNlX3BhcnNlX2ZyYW1lX2luaXQoKSBBUEkgY2hhbmdlCgoyMDExLTAyLTAxIDE1OjU3OjAxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBleGlzdGluZyBmdW5jdGlvbnMgdG8gcGFyc2UgUlRDUCBGQiBwYWNrZXRzCgkgIFVzZSBleGlzdGluZyBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBGQ0kgZnJvbSBGQiBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNTUzCgoyMDExLTAyLTAxIDE2OjIzOjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG1hcnNoYWwgR3N0QnVmZmVyIGFzIGEgTWluaU9iamVjdCBpbnN0ZWFkIG9mIGEgcG9pbnRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNTUzCgoyMDExLTA0LTE0IDIzOjI0OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBCZXR0ZXIgY2FsY3VsYXRpb24gb2YgZnJhbWVyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDc4MzMKCjIwMTEtMDQtMTMgMTI6Mzc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZGVmYXVsdCB0byBkdHMtbWV0aG9kPXJlb3JkZXIgYW5kIHByZXNlbnRhdGlvbi10aW1lPXRydWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjY5OQoKMjAxMS0wNC0xNSAxMjo0Nzo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IHRlc3QgdmFyaW91cyBkdHMtbWV0aG9kcwoKMjAxMS0wNC0xNSAxMjozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggY29ybmVyIGNhc2UgYnVmZmVyIGhhbmRsaW5nIGZvciByZW9yZGVyIG1ldGhvZAoKMjAxMS0wNC0xNCAxMzo0NzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBsZWFrIHRoZSBTRUVLSU5HIHF1ZXJ5CgoyMDExLTA0LTE0IDEzOjQzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuaDoKCSAgcXRtb292cmVjb3ZlcjogRG9uJ3QgbGVhayB0aGUgc3RhdGljIHJlY3Vyc2l2ZSBtdXRleAoKMjAxMS0wNC0xNCAxMzozNzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSAgdjRsMnJhZGlvOiBGcmVlIHZpZGVvZGV2IHN0cmluZyBiZWZvcmUgcmVwbGFjaW5nIGl0CgoyMDExLTA0LTE0IDEzOjI0OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBBbGxvdyB3ZWJtIGFuZCBtYXRyb3NrYSBjYXBzIGFuZCBkb24ndCBsZWFrIGNhcHMKCjIwMTEtMDQtMTQgMDc6MzU6MjkgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEFkZCBwYXJzZXIgcGx1Z2luCgoyMDExLTA0LTEzIDIxOjU4OjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZjogTW92ZSBkdXBsaWNhdGUgI2RlZmluZXMgaW50byBhIGNvbW1vbiBpbmNsdWRlCgkgIENlbnRyYWxpemUgZHVwbGljYXRlZCBjb25zdGFudHMgc28gdGhleSBoYXZlIHRoZSBzYW1lIHZhbHVlLgoJICBBbHNvIHN0YW5kYXJkaXNlIG1pbmltdW0gdG9uZSBkdXJhdGlvbiB0byAyNTBtcyBhbmQgbWluaW11bSBpbnRlci10b25lCgkgIGludGVydmFsIHRvIDEwMG1zLgoKMjAxMS0wMy0yNCAxNDozNDoyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAZW50cm9weXdhdmUuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEFkZCBjb25kaXRpb25hbHMgb24gV0FWRV9GT1JNQVRfRE9MQllfQUMzX1NQRElGCgoyMDExLTA0LTExIDIwOjA5OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTEgMjA6MDU6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcgd2l0aCBnY2MgNC42CgkgIE1vc3QgbGlrZWx5IGEgbGVmdG92ZXIgZnJvbSB3aGVuIHRoZSBpbmRleCBwYXJzaW5nIGNvZGUgd2FzIHJld3JpdHRlbi4KCjIwMTEtMDQtMTEgMTk6NTQ6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcgd2l0aCBnY2MgNC42CgoyMDExLTA0LTExIDE5OjUwOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBmaXggaGFuZGxpbmcgb2YgWVVWIGltYWdlcyB3aXRoICdvZGQnIHdpZHRocwoJICBGaXhlcyB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYuCgoyMDExLTA0LTExIDE5OjQ5OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTEzIDE4OjExOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5je2JhbmQsbGltaXR9OiBGaXggY2hlY2sgZm9yIGRpdmlzb24gYnkgemVybwoKMjAxMS0wNC0xMyAxODowMTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb3dzaW5jYmFuZDogRml4IHJhbmdlIG9mIGtlcm5lbCBlbGVtZW50cyAobGltIC0+IGxpbS0xKQoKMjAxMS0wNC0xMyAxODowMDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBBZGQgc29tZSBtb3JlIGJyYWNlcyB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUKCjIwMTEtMDQtMTEgMTg6NDA6MzAgLTA1MDAgIEpvcmRpIEJ1cmd1ZXQtQ2FzdGVsbCA8am9yZGkuYnVyZ3VldC1jYXN0ZWxsQGxpZ28ub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pdDogRml4IHJhbmdlIG9mIGtlcm5lbCBlbGVtZW50cyAobGltIC0+IGxpbS0xKSBpbiBoaWdoL2xvdy1wYXNzIGZpbHRlcnMKCjIwMTEtMDQtMTMgMTc6NDk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IEFkZCBuZXcgd2luZG93aW5nIGZ1bmN0aW9uczogZ2F1c3NpYW4sIGNvcyBhbmQgaGFubgoKMjAxMS0wNC0xMSAxODo0MTo0MyAtMDUwMCAgSm9yZGkgQnVyZ3VldC1DYXN0ZWxsIDxqb3JkaS5idXJndWV0LWNhc3RlbGxAbGlnby5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWltdDogQWRkIG5ldyB3aW5kb3dzIHRvIGhpZ2gvbG93LXBhc3MgZmlsdGVyczogZ2F1c3NpYW4sIGNvc2luZSwgaGFubgoKMjAxMS0wNC0xMyAxNjo0NzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2V0IHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0gb24gaDI2NCBjYXBzIGlmIHRoZXJlJ3Mgbm8gY29kZWMgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDExLTA0LTEzIDE2OjM3OjA3ICswMTAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogcmVzdHJpY3QgaDI2NCBzb21lIG1vcmUgdG8gb25seSBhY2NlcHQgQVUtYWxpZ25lZCBBVkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMS0wNC0xMyAxNzoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBUaGUgVkJSSSBoZWFkZXIgaXMgYWx3YXlzIGF0IG9mZnNldCAweDIwLCBpbmRlcGVuZGVudCBvZiBNUEVHIHZlcnNpb24KCSAgQWxzbyBjbGVhbiB1cCBhZHZhbmNpbmcgb2YgdGhlIGRhdGEgcG9pbnRlciBhIGJpdC4KCSAgRml4ZXMgYnVnICM2NDc2NTkuCgoyMDExLTA0LTEzIDE1OjE4OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IGFkZCB2YXJpYW50LWxlc3MgdmlkZW8vcXVpY2t0aW1lIHRvIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2FwcwoJICBUaGlzIGlzIG5lZWRlZCBmb3IgYXV0b21hdGljIHRyYW5zY29kaW5nIHVzaW5nIGVuY29kZWJpbi4gT3VyIHR5cGVmaW5kZXIKCSAgZG9lcyBub3QgYWx3YXlzIGFkZCBhIHZhcmlhbnQgdG8gdGhlIGZvdW5kIGNhcHMsIGFuZCBlbmNvZGViaW4gbmVlZHMKCSAgYW4gKmV4YWN0KiBtYXRjaCB0byB0aGUgY2FwcyBvbiB0aGUgc291cmNlIHBhZCB0ZW1wbGF0ZSwgc28gd2UgbmVlZAoJICB0byBhZGQgdGhlIHZhcmlhbnQtbGVzcyB2aWRlby9xdWlja3RpbWUgY2FwcyB0byB0aGUgdGVtcGxhdGUgYXMgd2VsbAoJICBmb3IgZW5jb2RlYmluIHRvIGJlIGFibGUgdG8gZmluZCBpdC4gQWRkIHVuaXQgdGVzdCBmb3IgdGhpcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyODc5CgoyMDExLTA0LTEzIDE2OjE3OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogUHJvcGVybHkgaW50ZXJwcmV0ZSB0aGUgcmVzdWx0IG9mIHN0cmNtcCgpCgoyMDExLTA0LTEzIDE2OjA5OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogRG9uJ3Qgc3RvcmUgaW1hZ2UgdGFncyBpbnNpZGUgdGhlIHZvcmJpc2NvbW1lbnRzIGFuZCB0aGUgZmxhYyBtZXRhZGF0YQoJICBJbnN0ZWFkIG9ubHkgc3RvcmUgdGhlbSBpbnNpZGUgdGhlIGZsYWMgbWV0YWRhdGEuIFRoZXJlJ3MKCSAgbm8gcG9pbnQgaW4gc3RvcmluZyB0aGVtIHR3aWNlIGFuZCB0aGUgZmxhYyBtZXRhZGF0YSBpcwoJICBzdGlsbCB0aGUgb2ZmaWNpYWwgd2F5IHRvIHN0b3JlIGltYWdlIHRhZ3MgaW5zaWRlIGZsYWMuCgoyMDExLTA0LTEzIDEyOjM4OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIG5ldyBxdG11eC1yZWxhdGVkIHRlc3QgYmluYXJpZXMKCjIwMTEtMDQtMTMgMTE6MjU6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4cGx1Z2luLmM6CgkqIGdzdC9xdWlja3RpbWUvcXVpY2t0aW1lLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBxdWlja3RpbWU6IG1vdmUgcXRtdXggcGx1Z2luIGZyb20gLWJhZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Njk5CgoyMDExLTA0LTEyIDE2OjQyOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIGxlZnRvdmVyIE1BRU1PX0JST0tFTiBkZWZpbmVzCgkgIFJlbW92ZSBkZWZpbmVzIHRvIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gb2xkIE1hZW1vIHJlbGVhc2VzCgoyMDExLTA0LTA0IDEyOjIxOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vcmUgaGVscGZ1bCBkZWJ1ZyBlcnJvciBtZXNzYWdlIHdoZW4gbm8gbmVlZGVkIGR1cmF0aW9uIG9uIGlucHV0IGJ1ZmZlcnMKCSAgRml4ZXMgIzY0NjI1Ni4KCjIwMTEtMDMtMjEgMTA6NTY6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlCgkgIEFkZHMgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZSBzdXBwb3J0IHRvIHF0bXV4CgoyMDExLTAzLTIyIDIwOjUzOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBTZWUgYWxzbyAjNDMyNjEyLgoKMjAxMS0wMy0xMCAxNjowMzo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIGZvciBQVFMgbWV0YWRhdGEgd2hlbiBzbyBjb25maWd1cmVkCgkgIC4uLiBhbmQgbm90IG9ubHkgd2hlbiBzb3J0LW9mIGZlZWxpbmcgbGlrZSBpdC4KCSAgSW4gYW55IGNhc2UsIGlmIGl0IHR1cm5zIG91dCBhbGwgcmVhbGx5IGlzIGluIG9yZGVyLAoJICBhbmQgcHJlc3VtYWJseSBEVFMgPT0gUFRTLCB0aGVuIG5vIGN0dHMgd2lsbCBiZSBwcm9kdWNlZCBhbnl3YXkuCgoyMDExLTAzLTEwIDE2OjAyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsc28gdHJhY2sgb3JpZ2luYWwgUFRTIGJ1ZmZlciB0aW1lc3RhbXAgaW4gcmVvcmRlciBkdHMtbWV0aG9kCgoyMDExLTAyLTIxIDEyOjE0OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgUmV2ZXJ0ICJDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZkODc0MDQ3NmNjZDNhMzQ5OGRjNGYxOGMxOTczMzY0MzgyNWM3YjguCgkgIERlcGVuZHMgb24gYSBjb3JlIGNvbW1pdCB0aGF0IHdhcyByZXZlcnRlZAoKMjAxMS0wMi0yMCAyMzo1NzoxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIENoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQKCSAgVGhlIGNvcmUgbm93IGNhbGxzIHJlbGVhc2UgcGFkIGZyb20gZmluYWxpemUsIGF0IHdoaWNoIHBvaW50CgkgIHRoZSBjb2xsZWN0cGFkcyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBmcmVlZC4KCjIwMTEtMDEtMTMgMTE6Mjg6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdDogcXRtdXg6IFRlc3RzIHF0bXV4IHJldXNlCgkgIEZvcmNlcyB0aGUgdXNlIG9mIHF0bXV4IGFmdGVyIGl0IGhhcyBiZWVuIHB1dCB0byBQTEFZSU5HIGFuZCBiYWNrCgkgIHRvIE5VTEwgb25jZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTEzIDE1OjI3OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBzcmMgcGFkcyB3aGVuIHN0YXJ0aW5nIGZpbGUKCSAgLi4uIHJhdGhlciB0aGFuIGF0IF9pbml0IHRpbWUsIHNvIHRoZXkgYXJlIGFsc28gYXZhaWxhYmxlIGZvbGxvd2luZyBhCgkgIHBhZCAoZGUpYWN0aXZhdGlvbiBjeWNsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0wMyAxNzoyNDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkanVzdCBuYXN0eSBjYXNlIHRpbWVzdGFtcCB0cmFja2luZwoJICBUaGF0IGlzLCBhbGwgc29ydHMgb2YgcHJvYmxlbXMgYXJpc2Ugd2l0aCByZS1vcmRlcmVkIGlucHV0IHRpbWVzdGFtcHMgdGhhdAoJICB0ZW5kIHRvIGRlZnkgYXV0b21hZ2ljIGhhbmRsaW5nIGZvciBldmVyeSBjYXNlLCBzbyBhbGxvdyBmb3IgYSBmZXcgdmFyaWF0aW9ucwoJICB0aGF0IGNhbiBiZSB0cmllZCBkZXBlbmRpbmcgb24gY2lyY3Vtc3RhbmNlcy4KCSAgQWxzbyB0cnkgdG8gZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgkgIEFsc28gZml4ZXMgIzYzODI4OC4KCjIwMTAtMTItMzAgMjE6NDg6NDEgKzAyMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZ2V0IHJpZCBvZiB0aW1lc3RhbXAgb3ZlcnByb3RlY3RpdmVuZXNzCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKMjAxMS0wMS0wMyAxNjo1Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNpbXBsaWZ5IGFuZCBmaXggcHRzX29mZnNldCBzdG9yaW5nCgkgIEluIHBhcnRpY3VsYXIsIG9ubHkgd3JpdGUgYSBjdHRzIGF0b20gaWYgYW5kIG9ubHkgaWYgZXZlciBhIG5vbi16ZXJvIG9mZnNldC4KCjIwMTEtMDEtMDMgMTA6NDM6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHNvbWUgbW9yZSBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE1OjIzOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHJlbW92ZSBsYXJnZS1maWxlIHByb3BlcnR5CgkgIFJhdGhlciwgYXV0by1kZXRlcm1pbmUgaWYgNjQtYml0cyBmaWVsZHMgYXJlIG5lZWRlZCBmb3IgYSB2YWxpZCByZXN1bHQsIGFuZAoJICBzdGljayB0byBwbGFpbiAzMi1iaXRzIGlmIG5vdCBuZWVkZWQuCgkgIEFQSTogR3N0UVRNdXg6bGFyZ2UtZmlsZSAocmVtb3ZlZCkKCjIwMTAtMTItMTkgMTI6NTM6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSBBdG9tSW5mbyBzdHJ1Y3RzCgoyMDEwLTEyLTE5IDEyOjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgdGFnIHN0cmluZyBhZnRlciB1c2UKCjIwMTAtMTItMTkgMTI6MTI6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0YWdzY2hlY2tpbmc6IEZpeCBzb21lIG1vcmUgbWVtb3J5IGxlYWtzCgoyMDEwLTEyLTE3IDE5OjQxOjI1ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbGxvdyB6ZXJvIGR1cmF0aW9uIHRyYWNrcwoKMjAxMC0xMi0wMyAxODowOTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMSAxMDo0NTo0OSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXN2YyBmdHJ1bmNhdGUgaW5jb21wYXRpYmlsaXR5CgkgIEZpeGVzICM2MzYxODUuCgoyMDEwLTExLTI3IDE2OjA3OjE5IC0wNjAwICBBbGVqYW5kcm8gR29uemFsZXogPGFnb256YWxlekBkZXh0cmF0ZWNoLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdzdF9xdG11eF9jaGVja19kaWZmZXJlbmNlIHZlcmlmeSBiZWZvcmUgc3VidHJhY3QKCSAgQXZvaWQgbmVnYXRpdmUgb3ZlcmZsb3cgYnkgY2hlY2tpbmcgdGhlIG9yZGVyIG9mIG9wZXJhbmRzCgkgIG9uIHN1YnRyYWN0aW9uIG9mIHVuc2lnbmVkIGludGVnZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1ODc4CgoyMDEwLTExLTE5IDE3OjU1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSByZW1uYW50IG9mIG9ic29sZXRlIHByb3BlcnR5CgoyMDEwLTExLTE5IDE1OjE4OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWxzbyB1bml0IHRlc3QgZnJhZ21lbnRlZCBmaWxlIGNhc2VzCgoyMDEwLTA3LTMwIDEyOjQ4OjI5ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWxsb3cgc3BlY2lmeWluZyB0cmFrIHRpbWVzY2FsZQoJICBUaGlzIGlzIG1haW5seSBiZWNhdXNlIFNtb290aHN0cmVhbWluZyBjbGllbnQgYXJlIGJyb2tlbiBhbmQgZG9uJ3QKCSAgdGFrZSB0aGUgVGltZVNjYWxlIHByb3BlcnR5IGludG8gYWNjb3VudC4KCjIwMTAtMTEtMTkgMTc6NDE6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluY2x1ZGUgc2R0cCBhdG9tcyBmb3IgaXNtdiBmcmFnbWVudGVkIGZpbGVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0xOSAxOToxNzo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmFibGUgZGVmYXVsdCBmcmFnbWVudGVkIGZpbGUgZm9yIGlzbWxtdXgKCjIwMTAtMDktMDIgMTM6NTg6MDUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgcXRtdXg6IGFkZCBpc21sbXV4LCBmb3IgZnJhZ21lbnRlZCBpc21sIG1ham9yIGJyYW5kCgoyMDEwLTExLTE5IDE0OjQ0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpbmFsaXplIHNpbmtwYWRzIGxpc3QKCjIwMTAtMDctMjIgMTk6NDA6MDcgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG1vb3YgaW4gc3RyZWFtaGVhZGVyCgoyMDEwLTA4LTA2IDEzOjI2OjI3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWRkIHN0cmVhbWFibGUgcHJvcGVydHkgdG8gYXZvaWQgYnVpbGRpbmcgZnJhZ21lbnRlZCBtZnJhIGluZGV4CgoyMDEwLTExLTE4IDE2OjQ4OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBtZnJhIHRvIGZyYWdtZW50ZWQgZmlsZQoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTUgMTU6MTc6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogb3B0aW9uYWxseSBjcmVhdGUgZnJhZ21lbnRlZCBmaWxlCgkgIEluIHRoaXMgbW9kZSwgYW4gaW5pdGlhbCBlbXB0eSBtb292IChjb250YWluaW5nIG9ubHkgc3RyZWFtIG1ldGFkYXRhKSBpcyB3cml0dGVuLAoJICBmb2xsb3dlZCBieSBmcmFnbWVudHMgY29udGFpbmluZyBhY3R1YWwgZGF0YSAoYWxvbmcgd2l0aCByZXF1aXJlZCBtZXRhZGF0YSkuCgkgIE5ldyBmcmFnbWVudHMgYXJlIHN0YXJ0ZWQgZWl0aGVyIGF0IGtleWZyYW1lIChpZiBzdWNoIGFyZSBzcGFyc2UpIG9yIHdoZW4KCSAgcHJvcGVydHkgY29uZmlndXJlZCBkdXJhdGlvbiBleGNlZWRlZC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgkgIEZpeGVzICM2MzI5MTEuCgoyMDEwLTExLTE1IDE1OjEyOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHVzZSBoZWxwZXIgdG8gc2V0IGF0b20gZmxhZ3MgZnJvbSBnaXZlbiB1aW50CgoyMDEwLTExLTA5IDE2OjQ5OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGNvbmZpZ3VyaW5nIGFuZCBzZW5kaW5nIG9mIG1vb3YKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTA5IDE1OjU0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGV4dHJhIHRvcC1sZXZlbCBhdG9tIGhhbmRsaW5nCgkgIEFsc28gY2hlY2sgYSBiaXQgbW9yZSBmb3IgcG9zc2libGUgZXJyb3JzLCBhbmQgZnJlZSBwcm9wZXIgaXRlbXMgaW4gc3VjaCBjYXNlLgoKMjAxMC0xMS0wOSAxNTowMToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBzbGlnaHRseSB1c2luZyBidWZmZXIgaGVscGVyCgoyMDEwLTExLTA1IDEzOjQ4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgY29tbWVudAoKMjAxMC0xMS0wNSAxMjowODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZGVsZWdhdGUgbXZleCBoYW5kbGluZyB0byBhdG9tcwoJICAuLi4gd2hpY2gga2VlcHMgcXRtdXggc2ltcGxlci4KCjIwMDktMDktMjggMTY6MTE6MzUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtdmV4L3RyZXggaW4gaGVhZGVyIGlmIGZyYWdtZW50ZWQKCSAgT25lICJ0cmV4IiBpcyBhZGRlZCBwZXIgInRyYWsiLiBXZSBkb24ndCBzdXBwb3J0IGRlZmF1bHQgdmFsdWVzLAoJICBidXQgdGhlICJ0cmV4IiBib3ggaXMgbWFuZGF0b3J5LgoKMjAwOS0wOS0yOCAxMzowMTozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICBxdG11eDogYWRkIGEgY291cGxlIG9mIGZvdXJjYyBmb3IgZnJhZ21lbnRlZCBtcDQKCjIwMTAtMTEtMDUgMTE6MDg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgcmVtb3ZpbmcgdGVtcCBmaWxlIHdoZW4gZXJyb3Igb2NjdXJyZWQKCjIwMDktMDktMzAgMTc6MTY6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdHJ1bmNhdGUgYnVmZmVyIGZpbGUgYWZ0ZXIgZWFjaCBzZW5kCgoyMDA5LTA5LTI4IDE2OjUzOjUxICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSB0ZW1wIGZpbGUgd2hlbiByZXNldC9maW5hbGl6ZQoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTMgMTc6NDc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gYWRqdXN0aW5nIGZyYW1lcmF0ZQoJICBGaXhlcyAjNjMyMDcwLgoKMjAxMC0xMC0wMyAyMzo0NTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byBxdG11eCBwcm9wZXJ0aWVzCgoyMDEwLTA5LTE1IDE3OjU0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEZvbGxvdyB4bXAgc2VyaWFsaXphdGlvbiBndWlkZWxpbmVzIGNsb3NlcgoJICBxdCBhbmQgaXNvbSB2YXJpYW50cyBoYXZlIGRpZmZlcmVudCB3YXlzIG9mIHNlcmlhbGl6aW5nCgkgIHhtcCwgZm9sbG93IHRoZXNlIGd1aWRlbGluZXMuCgkgIFRob3NlIGNhbiBiZSBmb3VuZCBpbiBBZG9iZSdzIHhtcCBkb2NzLgoKMjAxMC0wOC0xNiAxMjozNjoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdXRvZGV0ZWN0IG91dC1vZi1vcmRlciBpbnB1dCB0aW1lc3RhbXBzIGFuZCBkZXRlcm1pbmUgRFRTIGFjY29yZGluZ2x5CgkgIEZhdm91ciB1c2luZyBpbnB1dCBidWZmZXIgdGltZXN0YW1wcyBmb3IgRFRTLCBidXQgZmFsbGJhY2sgdG8gdXNpbmcgYnVmZmVyCgkgIGR1cmF0aW9uIChhY2N1bXVsYXRpb24pIGlmIGlucHV0IHRzIGRldGVjdGVkIG91dC1vZi1vcmRlci4KCSAgRml4ZXMgIzYyNDIxMi4KCjIwMTAtMDctMjggMTY6MTU6NTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNhcHMgYml0cmF0ZSBhdCBsYXN0IGNoYW5jZQoJICBJZiB3ZSBkaWRuJ3QgZ2V0IHRoZSBzdHJlYW0ncyBiaXRyYXRlIGZyb20gb25lIG9mIHRoZSBhdG9tcywKCSAgdHJ5IGdldHRpbmcgaXQgZnJvbSB0aGUgY2FwcyBhcyBhIGxhc3QgcmVzb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTI4IDE2OjEyOjExICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGJ0cnQgLSBtYXggYml0cmF0ZSBiZWZvcmUgYXZlcmFnZQoJICBBY2NvcmRpbmcgdG8gaXNvIGJhc2UgbWVkaWEgZmlsZSBmb3JtYXQsIHRoZSBtYXggYml0cmF0ZQoJICBpcyBiZWZvcmUgdGhlIGF2ZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTA2IDE0OjQ4OjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSAnYnRydCcgYXRvbSBmb3IgSC4yNjQgbWVkaWEgaWYgcG9zc2libGUKCSAgVGhpcyB3cml0ZXMgb3V0IHRoZSBvcHRpb25hbCAnYnRydCcgYXRvbSAoTVBFRzRCaXRyYXRlQm94KSBmb3IgSC4yNjQKCSAgbWVkaWEgaWYgZWl0aGVyIG9yIGJvdGggb2YgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlIGFyZSBhdmFpbGFibGUgZm9yCgkgIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDUgMTQ6MDk6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogV3JpdGUgYXZnL21heCBiaXRyYXRlIHRvIEVTRFMgaWYgYXZhaWxhYmxlCgkgIFRoaXMgY29sbGVjdHMgdGhlICdiaXRyYXRlJyBhbmQgJ21heGltdW0tYml0cmF0ZScgdGFncyBvbiB0aGUKCSAgY29ycmVzcG9uZGluZyBwYWQgYW5kIHVzZXMgdGhlc2UgdG8gcG9wdWxhdGUgdGhlc2UgZmllbGRzIGluIHRoZSBFU0RTCgkgIHdoZXJlIGFwcGxpY2FibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDIgMTI6NDU6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB1c2UgYm9ndXMgY29kZWMvZm9ybWF0IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM2NQoKMjAxMC0wNi0yNSAyMDoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSB1aW50IHRhZ3MgdGhhdCBkb24ndCBoYXZlIGEgY29tcGxlbWVudAoJICBXcml0ZSB1aW50IHRhZ3MgdGhhdCBoYXZlIGNvbXBsZW1lbnRzIChlLmcuIHRyYWNrLW51bWJlci8KCSAgdHJhY2stY291bnQpIGV2ZW4gd2hlbiB3ZSBvbmx5IGhhdmUgb25lIG9mIHRoZW0gYXZhaWxhYmxlCgkgIGFuZCBzZXQgdGhlIG90aGVyIG9uZSB0byAwLgoJICBGaXhlcyAjNjIyNDg0CgoyMDEwLTA2LTIxIDE5OjM5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogUmVtb3ZlIHRoZSBwYWQgZnJvbSBvdXIgaW50ZXJuYWwgbGlzdCBiZWZvcmUgY2FsbGluZyBjb2xsZWN0cGFkcwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIGVuZCB1cCB3aXRoIHRoZSBjb2xsZWN0cGFkZGF0YSBzdHJ1Y3R1cmUgYWxyZWFkeSBmcmVlZC4KCSAgVGhpcyB3b3VsZCByZXN1bHQgaW4gYSBib2d1cyBpdGVyYXRpb24gb2YgbXV4LT5zaW5rcGFkcyAoYWxsIHRoZQoJICBHc3RRVFBhZCBiZWluZyBmcmVlZCkgYW5kIGl0IHdvdWxkbid0IGJlIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QuCgkgIEZpbmFsbHksIGR1ZSB0byBpdCBub3QgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdCwgd2Ugd291bGQgZW5kIHVwCgkgIGNhbGxpbmcgYSBib2d1cyBnc3RfcXRfbXV4X3BhZF9yZXNldCBvbiB0aG9zZSBzdHJ1Y3R1cmVzID0+IFNFR0ZBVUxUCgoyMDEwLTA1LTEyIDE4OjUwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIFZQOAoKMjAxMC0wNS0xMSAxMzoxNTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBkb24ndCBmYWlsIHRhZ3NjaGVja2luZyB0ZXN0IGlmIHF0ZGVtdXggaXMgbm90IGF2YWlsYWJsZSBvciB0b28gb2xkCgoyMDEwLTAzLTI3IDA5OjQ2OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IHVzZSBHU3RyZWFtZXIgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4gaW4gdGhlIHBsdWdpbiBpbmZvCgoyMDEwLTAzLTIzIDE3OjM0OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogTmV3IHRhZ3MgdGVzdHMKCSAgQWRkcyBuZXcgdGFncyBjaGVja2luZyB0ZXN0cy4KCjIwMTAtMDMtMjUgMDA6MjA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQKCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTM6MTY6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzCgkgIGFuZCBmaXggaXRzIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0xMiAxMToyODo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IEltcHJvdmVtZW50cyBhbmQgbmV3IGdlby1sb2NhdGlvbiB0ZXN0cwoJICBNYWtlcyBzb21lIGltcHJvdmVtZW50cyB0byB0YWdzY2hlY2tpbmcuYywgbWFraW5nIGl0IHVzZQoJICBmYWtlc3JjIGluc3RlYWQgb2YgdmlkZW90ZXN0c3JjIGFuZCBhbGxvd2luZyB0byBzZXQgaW5wdXQKCSAgY2FwcyBzbyB0aGF0IG1vcmUgbXV4ZXJzIGNhbiBiZSB1c2VkLiBQcmV2aW91c2x5IHdlIGNvdWxkCgkgIG9ubHkgdXNlIHRob3NlIHRoYXQgYWNjZXB0ZWQgcmF3IHZpZGVvIGNhcHMuCgkgIEFsc28gYWRkcyBzb21lIHRlc3RzIGZvciBnZW8tbG9jYXRpb24gdGFncwoKMjAxMC0wMy0xMiAxMDo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgeG1wIG9uIG1wNG11eCBhbmQgZ3BwbXV4IHRvbwoJICBEbyBub3QgcmVzdHJpY3QgeG1wIHRvIHF0bXV4LCBidXQgdXNlIGl0IHRvbwoJICBvbiBtcDRtdXggYW5kIGdwcG11eAoKMjAxMC0wMy0wNSAxMzozMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGNoZWNrOiB0YWdzY2hlY2tpbmc6IHRlc3RzIGZvciB0YWdzIHNlcmlhbGl6YXRpb24gaW4gbXV4ZXJzCgkgIEFkZHMgYSBjaGVjayB1bml0IHRlc3QgdGhhdCBhaW1zIHRvIHRlc3QgdGFncyBzZXJpYWxpemF0aW9uCgkgIGFuZCBkZXNlcmlhbGl6YXRpb24gY29uc2lzdGVuY3kgKGluIG11eGVycykuIEl0IHByb3ZpZGVzIGEKCSAgYmFzaWMgZnVuY3Rpb24gdGhhdCBhbGxvd3Mgb25lIHRvIGVhc2lseSBzcGVjaWZ5IHRhZ3MsIGEKCSAgbXV4ZXIgYW5kIGEgZGVtdXhlciBhbmQgYSB0ZXN0IHdpbGwgYmUgZG9uZSB0byBjaGVjayBpZgoJICB0aGUgdGFncyBoYXZlIGJlZW4gY29uc2lzdGVudGx5IG11eGVkIGFuZCBkZW11eGVkCgoyMDEwLTAyLTIyIDE2OjQ1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgeG1wIHN1cHBvcnQKCSAgQWRkcyB4bXAgbWV0YXRhZ3MgYWRkaW5nIHRvIHF0bXV4LgoJICBGaXhlcyAjNjA5NTM5CgoyMDEwLTAzLTExIDE3OjE3OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlCgkgIFdlIG5lZWQgdG8gcGFzcyAoTlVMTCkgcmF0aGVyIHRoYW4gTlVMTCBmb3IgZW1wdHkgYXJndW1lbnRzLgoKMjAxMC0wMy0xMCAxMDoyMzoyMyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggY29tcGlsZSBlcnJvcgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoyNjg6IHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAyLTIyIDE5OjM4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IFJlbmFtZSAnYXZjLXNhbXBsZScgdG8gJ2F2YycgaW4gY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAyLTI2IDExOjUwOjI1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFRha2UgbG9jayBhcm91bmQgdXNlIG9mIChub24tdGhyZWFkc2FmZSkgdGFnc2V0dGVyIGludGVyZmFjZS4KCjIwMTAtMDItMjIgMTY6NTE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogd3JpdGUgYWxsIHVkdGEgY2hpbGRyZW4gYXRvbXMKCSAgVURUQSBtaWdodCBoYXZlIE1FVEEgYW5kIG90aGVyIGNoaWxkcmVuIGF0b21zCgkgIHRvZ2V0aGVyLCB3cml0ZSB0aGVtIGFsbC4KCjIwMTAtMDItMjIgMTA6NDg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBVc2UgaW50ZXJuYWwgc2luayBwYWRzIGxpc3QKCSAgRHVlIHRvIEdzdENvbGxlY3RQYWRzIHNpbmsgcGFkcyBsaXN0IGJlaW5nIG5vdCByZWxpYWJseQoJICBpdGVyYXRhYmxlICh3aGVuIG5vdCBpbnNpZGUgdGhlIGNvbGxlY3RlZCBmdW5jdGlvbikgdGhpcwoJICBwYXRjaCBhZGRzIGEgc2luayBwYWRzIGxpc3QgdG8gcXRtdXggdG8gYmUgdXNlZCB3aGVuIGl0ZXJhdGluZwoJICBzaW5rIHBhZHMgb24gcmVzZXQgZnVuY3Rpb24uCgkgIEZpeGVzICM2MDkwNTUKCjIwMTAtMDItMTYgMTc6MTM6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogcHJldmVudCBsZWFraW5nIGhkbHIgbmFtZQoKMjAxMC0wMi0xNiAxNjoyNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBBTEFDCgkgIEZpeGVzICM1ODA3MzEuCgoyMDEwLTAyLTE2IDE0OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGJ1aWxkaW5nIHN0c2QgZW50cnkgJ3dhdmUnIGV4dGVuc2lvbgoKMjAxMC0wMi0wOCAxMTo1MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IGF0b21zcmVjb3Zlcnk6IEZpeCBjb21waWxhdGlvbiBwcm9ibGVtCgkgIEZpeGVzIGEgY29tcGlsYXRpb24gZXJyb3IgZHVlIHRvIHVudXNlZCBmdW5jdGlvbiByZXN1bHQuCgoyMDA5LTEyLTEyIDE2OjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IEFkZHMgbW9vdiByZWNvdmVyeSBmZWF0dXJlCgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgdG8gcXRtdXggdGhhdCBzZXRzIGEgcGF0aCB0byBhIGZpbGUgdG8gd3JpdGUKCSAgYW5kIHVwZGF0ZSBkYXRhIGFib3V0IHRoZSBtb292IGF0b20gKHRoYXQgaXMgbm90IHdyaXRlbiB0aWxsIHRoZQoJICBlbmQgb2YgdGhlIGZpbGUpLiBJZiB0aGUgcGlwZWxpbmUvYXBwIGNyYXNoZXMgZHVyaW5nIGV4ZWN1dGlvbiBpdAoJICBtaWdodCBiZSBwb3NzaWJsZSB0byByZWNvdmVyIHRoZSBtb3ZpZSB1c2luZyB0aGUgcXRtb292cmVjb3ZlciBlbGVtZW50LgoJICBxdG1vb3ZyZWNvdmVyIGlzIGFuIGVsZW1lbnQgdGhhdCBpcyBhbHNvIGEgcGlwZWxpbmUuIEl0IGlzIG5vdAoJICBtZWFudCB0byBiZSB1c2VkIHdpdGggb3RoZXIgZWxlbWVudHMgKGl0IGhhcyBubyBwYWRzKS4gSXQgaXMgbWVyZWx5CgkgIGEgdG9vbC91dGlsaXRhcnkgdG8gcmVjb3ZlciB1bmZpbmlzaGVkIHF0bXV4IGZpbGVzLgoJICBGaXhlcyAjNjAxNTc2CgoyMDEwLTAxLTI3IDE5OjA2OjUzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGZvciBmaXhlZC1zYW1wbGUgc2l6ZSBzdHJlYW1zIChQQ00gYXVkaW8sIGV0YykgZG9uJ3QgYWxsb2NhdGUgYW4gZW5vcm1vdXMgYnVmZmVyIHRoYXQgd2UgdGhlbiB3b24ndCB1c2UgYXQgYWxsLgoKMjAxMC0wMS0yNyAxNTozNzozNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXV4aW5nIGFkcGNtIGNvcnJlY3RseS4KCjIwMTAtMDEtMjIgMTM6MzY6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogU2V0IHRoZSBtZGlhIGhkbHIgbmFtZSBmaWVsZCB0byB3aGF0IHF1aWNrdGltZSB1c2VzLiBGaXggd3JpdGluZyBpdCBzaW5jZSBpdCdzIG5vdCBudWxsLXRlcm1pbmF0ZWQuIEltcHJvdmVzIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGhhcmR3YXJlIHBsYXllcnMuCgoyMDEwLTAxLTIyIDEzOjMwOjA3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuZGlhbm5lc3MgaW4gZ3N0cmVhbWVyIGlzIGFuIGludCwgbm90IGJvb2xlYW4uCgoyMDEwLTAxLTI2IDE3OjU0OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICBxdG11eDogc3RyZWFtbGluZSBtb292IGRhdGEgbWVtb3J5IHN0b3JhZ2UKCSAgSW4gcGFydGljdWxhciwgdXNlIGFycmF5cyByYXRoZXIgdGhhbiAoZG91YmxlKSBsaW5rZWQgbGlzdHMuCgoyMDEwLTAxLTI2IDEzOjQ0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdfZnJlZSBpcyBOVUxMIHNhZmUKCjIwMTAtMDEtMjAgMTM6MzA6NDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgW2NsZWFudXBdIFZhcmlvdXMgc3R5bGUgYW5kIGNsZWFudXBzCgkgIFZhcmlvdXMgZml4ZXMgZm9yIGd0ay1kb2Mgd2FybmluZ3MgYW5kIG1ha2luZyBmdW5jdGlvbnMgd2l0aG91dAoJICBhcmd1bWVudHMgdGFrZSB2b2lkIGFzIHBhcmFtZXRlci4KCjIwMTAtMDEtMTQgMDg6MDk6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY3R1YWxseSB1c2UgbmV3IGNhcHMgaW5mbyBvbiByZW5lZ290aWF0aW9uCgkgIEZvbGxvd2luZyB0aGUgcHJldmlvdXMgcXRtdXggY29tbWl0LCB0aGlzIHBhdGNoIHRyaWVzCgkgIHRvIHVzZSB0aGUgbmV3IGluZm8gYWRkZWQgdG8gdGhlIGNhcHMgdG8gZmlsbCB0aGUgJ3RyYWsnCgkgIGF0b20ncyBmaWVsZHMgYW5kIGNoaWxkcmVuIGF0b21zLiBUaGlzIHdheSBxdG11eCB3aWxsCgkgIHVzZSB0aGUgbGF0ZSBhZGRlZCAnY29kZWNfZGF0YScgd2hlbiBoMjY0cGFyc2UgYWRkcwoJICBpdCBpbiB0aGUgZm9sbG93aW5nIHBpcGVsaW5lOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTEzIDIzOjMzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gY2FwcyByZW5lZ290aWF0aW9uIHdoZW4gaXQgb25seSBhZGRzIGZpZWxkcwoJICBRdG11eCBjYW4gYWNjZXB0IGNhcHMgcmVuZWdvdGlhdGlvbiBpZiB0aGUgbmV3IGNhcHMgaXMgYQoJICBzdXBlcnNldCBvZiB0aGUgb2xkIG9uZSwgbWVhbmluZyB1cHN0cmVhbSBhZGRlZCBuZXcgaW5mbyB0bwoJICB0aGUgY2Fwcy4gVGhpcyBwYXRjaCBzdGlsbCBkb2Vzbid0IG1ha2UgcXRtdXggdXBkYXRlIGFueQoJICBhdG9tcyBpbmZvIGZyb20gdGhlIG5ldyBpbmZvLCBidXQgYXQgbGVhc3QgaXQgZG9lc24ndAoJICByZWplY3QgdGhlIG5ldyBjYXBzIGFueW1vcmUuCgkgIEEgcGlwZWxpbmUgdGhhdCByZXByb2R1Y2VzIHRoaXMgdXNlIGNhc2UgaXM6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTMgMTk6MzA6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSByZXF1ZXN0IHBhZHMgdW5kZXIgd2lkZXIgY29uZGl0aW9ucwoJICBGaXhlcyAjNjA2ODU5LgoKMjAxMC0wMS0xMyAxMDozNTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBhdmMtc2FtcGxlIGgyNjQKCSAgcXRtdXggYW5kIG1wNG11eCBzaG91bGQgb25seSBhY2NlcHQgaDI2NCBpbiBhdmMtc2FtcGxlCgkgIGZvcm1hdAoKMjAxMC0wMS0xMSAxMzoxMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgUmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgJ25vbmUnIHRvICdyYXcnCgkgIFJlbmFtZXMgYWFjJ3Mgc3RyZWFtLWZvcm1hdCBmcm9tIHByZXZpb3VzIGNvbW1pdHMgZnJvbSBub25lIHRvCgkgIHJhdwoKMjAxMC0wMS0xMSAxMDozNDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IHN0cmVhbS1mb3JtYXQ9J25vbmUnIGFhYwoJICBPbmx5IGFjY2VwdCByYXcgYWFjIHN0cmVhbXMgKHN0cmVhbS1mb3JtYXQ9bm9uZSkgdG8gYXZvaWQKCSAgZ2VuZXJhdGluZyBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyAjNjA0OTI1CgoyMDA5LTEyLTI4IDExOjM0OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbHNvIGFkZCAuaCBmaWxlIGNoYW5nZXMgdG8gdW5icmVhayB0aGUgYnVpbGQKCjIwMDktMTItMjcgMjM6NTE6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjb3JyZWN0IG5hbWVzIGZyb20gdGVtcGxhdGUgZm9yIHJlcXVlc3QgcGFkcwoJICBUaGUgcGFkcyB3aGVyZSBuYW1lcyBwYWQwLCBwYWQxLCAuLi4KCjIwMDktMTItMjcgMjM6MzI6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vdmUgZXJyb3JzIF9uZXdfcGFkIHRvIHRoZSBlbmQKCjIwMDktMTItMjEgMTM6NTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWNjZXB0IG5vbi1wYWlyZWQgdWludCB0YWdzCgkgIEFkZHMgc3VwcG9ydCBmb3IgdW5wYWlyZWQgdW5zaWduZWQgaW50ZXJnZXIgdGFncwoKMjAwOS0xMi0yMSAxMjowNTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRzIG5ldyB0YWdzCgkgIE1hcHMgbW9yZSB0YWdzIHRoYXQgYXJlIGFscmVhZHkgcG9zdGVkIGJ5IHF0ZGVtdXgKCSAgRml4ZXMgIzU5OTc1OQoKMjAwOS0xMi0xMCAyMjoyMDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgbW9yZSBvZiBqMmsKCSAgUmVhZHMgdGhlIG5ldyBjYXBzIGFkZGVkIHRvIHF0ZGVtdXggYnkgY29tbWl0CgkgIGM5MTdkNjVlNmRmMGI1ZDU4NWY5MDVjN2FkNzhhOGEwYTQ0YjJjYjAKCSAgYW5kIGFkZHMgaXRzIGNvcnJlc3BvbmRpbmcgYXRvbXMuCgkgIEFsc28gYWRkcyBzdXBwb3J0IGZvciBpbWFnZS94LWpwYyBhcyBpdCBpcyB0aGUgc2FtZQoJICBhcyBpbWFnZS94LWpwMiwgZXhjZXB0IHRoYXQgdGhlIGJ1ZmZlcnMgbmVlZCB0byBiZQoJICBib3hlZCBpbnNpZGUgYSBqcDJjIGlzb20gYm94IGJlZm9yZSBtdXhpbmcuIFRvIHNvbHZlCgkgIHRoaXMgdGhlIFFUUGFkcyBub3cgaGF2ZSBhIGZ1bmN0aW9uIHRoYXQgKGlmCgkgIG5vdCBOVUxMKSBpcyBjYWxsZWQgd2hlbiBhIGJ1ZmZlciBpcyBjb2xsZWN0ZWQuIFRoaXMKCSAgZnVuY3Rpb24gcmV0dXJucyBhIHJlcGxhY2VtZW50IHRvIHRoZSBjdXJyZW50IGNvbGxlY3RlZAoJICBidWZmZXIuCgkgIEZpeGVzICM1OTg5MTYKCjIwMDktMTItMTAgMTY6NTM6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBNYXBzICdjbGFzc2lmaWNhdGlvbicgdGFnIGZvciAzZ3BwIGZpbGVzCgkgIEFkZHMgdGhlIG1hcHBpbmcgb2YgJ2NsYXNzaWZpY2F0aW9uJyB0YWdzIHRvIHdyaXRpbmcgb2YKCSAgJ2Nsc2YnIGF0b21zIGZvciBncHBtdXguCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCjIwMDktMTItMDggMTc6NTk6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgYysrIGNvbW1lbnRzIGFuZCBhZGQgc29tZSBtb3JlIGNvbW1lbnRzLgoKMjAwOS0xMi0wOCAxNzo1NTo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgaW1hIGFkcGNtIHN1cHBvcnQKCjIwMDktMTEtMjUgMjE6NDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVwbGFjZSBfc2NhbGUgd2l0aCBfc2NhbGVfcm91bmQKCSAgVXNlIHRoZSByb3VuZGluZyB2ZXJzaW9uIGZvciBpbXByb3ZlZCBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCSAgU21hbGwgdmFyaWF0aW9ucyBpbiB0aGUgZHVyYXRpb24gd2hlbiBtdXhpbmcgbWlnaHQgbGVhZCB0bwoJICBjdW11bGxhdGl2ZSB3cm9uZyB0aW1lc3RhbXBpbmcgd2hlbiBkZW11eGluZy4KCSAgRml4ZXMgIzYwMjkzNgoKMjAwOS0xMS0yNCAxNjoxNjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgdGltZXN0YW1wcyBmb3IgbXV4aW5nCgkgIFRyeSB0byB1c2UgdGltZXN0YW1wcyBldmVuIHdoZW4gdGhlIHN0cmVhbSBoYXMgb3V0IG9mIG9yZGVyCgkgIHRpbWVzdGFtcHMsIG9ubHkgZmFsbCBiYWNrIHRvIGR1cmF0aW9ucyB3aGVuIHdlIGRldGVjdCBhbgoJICBvdXQgb2Ygb3JkZXIgYnVmZmVyLiBJbXByb3ZlcyBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCjIwMDktMTEtMTkgMTg6Mjg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCSAgQWRkcyBhIG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCjIwMDktMTEtMTkgMTE6MzY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMTEtMTkgMTE6MTQ6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZW5zdXJlIHdyaXRhYmxlIGJ1ZmZlciBtZXRhZGF0YSBiZWZvcmUgc2V0dGluZyBjYXBzCgoyMDA5LTEwLTI5IDA4OjM2OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIFNWUTMKCSAgQWRkcyBzdXBwb3J0IGZvciBtdXhpbmcgU1ZRMyBjb250ZW50LiBVc3VhbGx5IHRoaXMgZm9ybWF0CgkgIGhhcyBkZWNvZGVyIGluZm8gdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB0aGUgJ3NlcWgnIGZpZWxkCgkgIGluIHRoZSBjYXBzLiBJdCBpcyBhbHNvIGdvb2QgdG8gYWRkIHRoZSBnYW1hIGF0b20gdG8gbWFrZQoJICBxdWlja3RpbWUgbm90IGNyYXNoLgoJICBGaXhlcyAjNTg3OTIyCgoyMDA5LTExLTE3IDA5OjI2OjA1IC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRvIG5vdCBsZWFrIGEgc3RyaW5nCgkgIEZyZWVzIGEgc3RyaW5nIGFmdGVyIHVzZS4gQWxzbyBkb2VzIHNvbWUgY29kZSBvcmdhbml6YXRpb24KCjIwMDktMTEtMTYgMTQ6NTc6NTMgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogZG8gbm90IGFkZCBzaXplIHRvIHRoZSBwb2ludGVyIHZhcmlhYmxlCgkgIERvIG5vdCB3cm9uZ2x5IGFkZCB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUKCSAgcG9pbnRlciB0byB0aGUgYnVmZmVyIHNpemUuIEluc3RlYWQsIGNoZWNrIHRoZSByZXN1bHQKCSAgdG8gc2VlIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBvay4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogIkNhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPiIKCSAgRml4ZXMgIzYwMjEwNgoKMjAwOS0xMS0wNiAxMDozNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBoYW5kbGUgJ2xhdGUnIHN0cmVhbXMKCSAgV2hlbiBtdXhpbmcgc3RyZWFtcywgc29tZSBjYW4gc3RhcnQgbGF0ZXIgdGhhbiBvdGhlcnMuIHF0bXV4CgkgIG5vdyBoYW5kbGUgdGhpcyBieSBhZGRpbmcgYW4gZW1wdHkgZWR0cyBlbnRyeSB3aXRoIHRoZQoJICBkdXJhdGlvbiBvZiB0aGUgJ2xhdGVuZXNzJyB0byB0aGUgc3RyZWFtJ3MgdHJhay4KCSAgSXQgdG9sZXJhdGVzIGEgc3RyZWFtIHRvIGJlIHVwIHRvIDAuMXMgbGF0ZS4KCSAgRml4ZXMgIzU4Njg0OAoKMjAwOS0xMS0wNSAyMTozNTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgcXRtdXg6IGFkZHMgdGhlIEVEVFMgYW5kIEVMVFMgYXRvbXMgdG8gYXRvbXMuYwoJICBUaGVzZSBhdG9tcyB3aWxsIGJlIHVzZWZ1bCBmb3Igc2lnbmFsaW5nIHN0cmVhbXMKCSAgdGhhdCBzdGFydCBsYXRlciBpbiB0aGUgZmlsZS4gQXMgd2VsbCBmb3IgYWRkaW5nCgkgIGVkaXQgbGlzdHMgaWYgbmVlZGVkIHNvbWV0aW1lIGxhdGVyLgoKMjAwOS0xMS0wNiAwMDo0NjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBzb21lIGlmcyBmb3IgcHJvdGVjdGlvbgoJICBBZGRpbmcgc29tZXMgaWZzIHRvIHByb3RlY3QgYWdhaW5zdCB3YXJuaW5nIGNvbmRpdGlvbnMKCSAgdGhhdCBtaWdodCBoYXBwZW4gd2hlbiB1cHN0cmVhbSBlbGVtZW50IGlzIG5vdCBzYW5lCgkgIEZpeGVzICM2MDA4OTUKCjIwMDktMTAtMTYgMTA6NDc6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICBncHBtdXg6IEFkZCBzdXBwb3J0IGZvciAzZ3I2CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGNodW5rIGR1cmF0aW9ucyB0byBiZSBhYmxlIHRvIGFkZCAzZ3I2CgkgIGJyYW5kIGlmIGl0IGlzIGEgZmFzdHN0YXJ0IGZpbGUgYW5kIHRoZSBsb25nZXN0IGNodW5rIGlzCgkgIHNtYWxsZXIgdGhhbiBhIHNlYy4gSW1wbGVtZW50ZWQgYWNjb3JkaW5nIHRvIDNncHAKCSAgVFMgMjYuMjQ0IHY2LjQuMCAoMjAwNS0wOSkKCSAgRml4ZXMgIzU4NDM2MQoKMjAwOS0xMC0xNSAyMToxMToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IHB1c2ggZnR5cCBsYXRlciAoaW4gZmFzdHN0YXJ0IG1vZGUpCgkgIEluIGZhc3RzdGFydCBtb2RlLCB0aGVyZSBpcyBubyBuZWVkIHRvIHNlbmQgdGhlIGZ0eXAKCSAgcmlnaHQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtLiBXYWl0aW5nIGFuZCBzZW5kaW5nIGl0CgkgIG9ubHkgbGF0ZXIgKHdoZW4gdGhlIG1vb3YgYXRvbSBpcyByZWFkeSB0byBiZSBzZW50KSBwcm92aWRlcwoJICB1cyB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0cmVhbSBhbmQgd2UgY2FuIGJldHRlcgoJICBzZWxlY3QgdGhlIGNvbXBhdGlibGUgYnJhbmRzLgoKMjAwOS0xMC0xNSAxNzo1MTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbXByb3ZlIGVycm9yIG1lc3NhZ2UKCSAgSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3QgZ2V0IG9yIGVzdGltYXRlIHRoZQoJICB0aW1lc3RhbXAvZHVyYXRpb24gb2YgYSBidWZmZXIKCjIwMDktMDktMjkgMTU6NDc6MTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogZml4IGZsYWdzX2FzX3VpbnQgdG8gZmxhZ3NbXQoKMjAwOS0wOC0wNCAxMjo1ODozNSArMDIwMCAgSmFuIFVyYmFuc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgcmVxdWlyZSBlbmRpYW5uZXNzIGZpZWxkIGZvciA4IGJpdCByYXcgYXVkaW8KCSAgRml4ZXMgYnVnICM1OTAzNjAuCgoyMDA5LTA2LTI1IDA4OjM4OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDYtMjUgMDg6Mzg6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wNi0xMSAxNTo1NDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogb25seSB1c2UgKDY0LWJpdCkgZXh0ZW5kZWQgKG1kYXQpIGF0b20gc2l6ZSBpZiBuZWVkZWQuICBGaXhlcyAjNTg1MzE5LgoKMjAwOS0wNi0xMCAxNDo0NjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgZGVmYXVsdCBtb3ZpZSB0aW1lc2NhbGUgdG8gbWljcm9zZWNvbmQgdW5pdHMKCjIwMDktMDYtMTAgMTM6MjQ6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogY29tcHJlc3Mvb3B0aW1pemUgc3RzYyB3cml0aW5nCgoyMDA5LTA2LTEwIDEyOjQyOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCAzR1Agc3R5bGUgdGFnZ2luZyAoYW5kIHJlZmFjdG9yIGFwcHJvcHJpYXRlbHkpCgoyMDA5LTA2LTAxIDIzOjAwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4IChhbmQgdmFyaWFudHMpOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvLiAgRml4ZXMgIzU4NDM1OC4KCjIwMDktMDYtMDEgMjI6NDI6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBlbmhhbmNlIGZ0eXAgYnJhbmQgaGV1cmlzdGljLiAgRml4ZXMgIzU4NDM2MC4KCjIwMDktMDUtMjggMTM6NTY6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGRpZmZlcmVudCBzdHNkIGF0b20gdHlwZSBmb3IgSDI2MyBmb3IgSVNPIGFuZCBRVCB2YXJpYW50cwoJICBGaXhlcyAjNTg0MTE0LgoKMjAwOS0wNS0xNSAwMTo1NDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIFtxdG11eF0gRml4ZXMgc2VnZmF1bHQgd2hlbiBhZGRpbmcgYSBibG9iIGFzIGZpcnN0IHRhZy4KCSAgTW92ZXMgdGFncyBkYXRhIGluaXRpYWxpemF0aW9uIHRvIHRoZSBmdW5jdGlvbiB0aGF0IGFjdHVhbGx5IGFwcGVuZHMKCSAgdGhlIHRhZ3MgdG8gdGhlIGxpc3QuIEZpeGVzICM1ODI3MDIKCSAgQWxzbyBmaXhlcyBzb21lIHN0eWxlIGNhdWdodCBieSB0aGUgcHJlLWNvbW1pdCBob29rLgoKMjAwOS0wNS0xMCAyMToyMTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogQWRkIE1QRUctNCBwYXJ0IDIgdG8gc3VwcG9ydGVkIGZvcm1hdHMuICBGaXhlcyAjNTgxNTkzLgoKMjAwOS0wNS0wNyAxNzo1Mzo0MiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBBZGQgcmFua3MgdG8gdmFyaW91cyBtdXhlcnMgYW5kIGVuY29kZXJzIGluIC1iYWQKCjIwMDktMDQtMzAgMTQ6NDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogY2hhbmdlcyBjYXBzIG9mIHNyYyBwYWRzIHRvIHZpZGVvL3F1aWNrdGltZSwgdmFyaWFudD1zb21ldGhpbmcKCSAgVGFrZSBhIGxvb2sgYXQgYnVnICM1ODAwMDUgZm9yIGZ1cnRoZXIgaW5mby4KCjIwMDktMDQtMjQgMTg6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBtcDRtdXg6IENoYW5nZXMgc3JjIGNhcHMgdG8gYXBwbGljYXRpb24veC1pc28tbXA0CgkgIEZpeGVzICM1ODAwMDUKCjIwMDktMDMtMjUgMjE6MjQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IHJldXNpbmcgZWxlbWVudAoJICBTdGF0ZSBjaGFuZ2UgdG8gUkVBRFkgYW5kIHRoZW4gYmFjayB0byBQQVVTRUQgc2hvdWxkIHN0aWxsIHByb3ZpZGUKCSAgdGhlIHByb3BlciBzdHJ1Y3R1cmVzIGFzIGFyZSBvdGhlcndpc2UgZnJlc2hseSBhdmFpbGFibGUgZm9sbG93aW5nCgkgIGEgcmVxdWVzdF9uZXdfcGFkLgoJICBQb2ludGVkIG91dCBieSBUaGlhZ28gU2FudG9zLgoKMjAwOS0wMy0yMyAxMToxNzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBpbmNsdWRlcyBmb3IgbHNlZWsKCSAgLS0KCjIwMDktMDMtMjAgMTQ6MjA6MTYgKzAxMDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICB3aW4zMjogZml4IHNlZWtpbmcgaW4gbGFyZ2UgZmlsZXMKCSAgVXNlIF9sc2Vla2k2NCgpIG9uIFdpbmRvd3MgdG8gc2VlayBpbiBsYXJnZSBmaWxlcy4KCSAgRml4ZXMgIzU3NjAyMS4KCjIwMDktMDMtMDIgMTA6NTc6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBCZSBhIGJpdCBtb3JlIHZlcmJvc2UgaW4gb3VyIGRlYnVnIG1lc3NhZ2Ugd2hlbiBmYWlsaW5nIHRvIHJlbmVnb3RpYXRlCgoyMDA5LTAxLTI4IDEzOjI1OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgQWRkaXRpb25hbCBtZWRpYSB0eXBlIHN1cHBvcnQgaW4gcXRtdXggKGFuZCBmcmllbmRzKS4KCSAgU3VwcG9ydCBBTVIgYW5kIEgyNjMgZm9yIGJvdGggcXRtdXggYW5kIGdwcG11eCwKCSAgYW5kIGFkZCBleHRlbnNpb25zIGluIHNhbXBsZSB0YWJsZSBkZXNjcmlwdGlvbi4KCjIwMDktMDEtMDkgMjE6NTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydAoJICB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1NjY5NTgKCjIwMDgtMTItMTkgMTg6NTM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoKMjAwOC0xMi0xOSAxODozMzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgoyMDA4LTEyLTE2IDE2OjI2OjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcwoJICB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoKMjAwOC0xMi0wMSAxNjozNzo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lL2F0b21zLmM6IEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOiAoYnVpbGRfanAyaF9leHRlbnNpb24pOgoJICBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgoyMDA4LTExLTE4IDAxOjA5OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkKCSAgYWRkZWQuCgoyMDA4LTExLTE1IDAyOjU2OjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguKjogVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoKMjAwOC0xMS0xNCAyMToyNDo1MSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIFJldmVydCBwcmV2aW91cyBjb21taXQuCgoyMDA4LTExLTE0IDIwOjM4OjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgoyMDA4LTExLTE0IDIwOjE3OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6IChidWlsZF9lc2RzX2V4dGVuc2lvbiksCgkgIChidWlsZF9tb3ZfYWFjX2V4dGVuc2lvbiksIChidWlsZF9qcDJoX2V4dGVuc2lvbiksCgkgIChidWlsZF9jb2RlY19kYXRhX2V4dGVuc2lvbik6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hdWRpb19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9xdF9tdXhfdmlkZW9fc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOiAoZ3N0X3F0X211eF9tYXBfZm9ybWF0X3RvX2hlYWRlcik6CgkgIEN1dCBkZXRvdXIgaW4gc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbiBjb25zdHJ1Y3Rpb24uCgkgIEFsc28gYWN0dWFsbHkgaW1wbGVtZW50IElTTyBKUEVHMjAwMCBtajIgZm9ybWF0LgoKMjAwOC0xMS0xMSAxOTozMTozNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX3F0bXV4KSwgKGNsZWFudXBfcXRtdXgpLAoJICAoY2hlY2tfcXRtdXhfcGFkKSwgKEdTVF9TVEFSVF9URVNUKSwgKHF0bXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCjIwMDgtMTEtMTEgMTk6MjQ6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYWRkX21ldGFkYXRhX3RhZ3MpOgoJICBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgoyMDA4LTExLTA4IDAyOjAwOjU4ICswMDAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkgIENvcHkgcXRtdXggZnJvbSByZXZpc2lvbiAxNDggb2YgdGhlIGdzdC1xdG11eCByZXBvc2l0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgRml4ZXMgIzU1MDI4MC4KCjIwMTEtMDQtMTIgMTg6MjU6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBnc3QvcXRkZW11eC9MRUdBTDoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC52Y3Byb2o6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfbGFuZy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L3F0ZGVtdXgvcXRwYWxldHRlLmg6CgkqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJKiBnc3QvcXVpY2t0aW1lL0xFR0FMOgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L3F1aWNrdGltZS9xdHBhbGV0dGUuaDoKCSogZ3N0L3F1aWNrdGltZS9xdWlja3RpbWUuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIHF0ZGVtdXg6IHJlbmFtZSBkaXJlY3RvcnkgdG8gcXVpY2t0aW1lIHRvIG1hdGNoIHBsdWdpbiBuYW1lCgkgIEluIHByZXBhcmF0aW9uIGZvciBxdG11eCBtb3ZpbmcgdG8gLWdvb2QuCgoyMDExLTA0LTEyIDExOjQ5OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNpbXBsaWZ5IGZyYW1lcmF0ZSBmcmFjdGlvbiBjYWxjdWxhdGlvbgoKMjAxMS0wMS0yNCAxNTo0NToyOCAtMDYwMCAgTGVvbmFyZG8gU2FuZG92YWwgPGxzYW5kb3ZhbEB0aS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IGFkZCB3aWR0aCwgaGVpZ2h0IGFuZCBmcmFtZXJhdGUgdG8gY2FwcyB3aGVuIHByZXNlbnQgb24gb25NZXRhRGF0YQoJICBGaXhlcyAjNjQwNDgzLgoKMjAxMC0wOC0yNCAxMzo1Nzo1NSArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBVbmtub3duIFNTUkMgaXMgbm90IGZhdGFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NjYKCjIwMTAtMDgtMjQgMTM6NTQ6NTggKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBOdW1iZXIgb2YgYWN0aXZlIHNvdXJjZXMgc2hvdWxkIGJlIHVwZGF0ZWQgd2hlbmV2ZXIgdGhlIHN0YXR1cyBvZiB0aGUgc291cmNlIGNoYW5nZXMgdG8gYWN0aXZlCgkgIEZvcndhcmQtcG9ydGVkIGJ5IE9saXZpZXIgQ3LDqnRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NjUKCjIwMTAtMDYtMjMgMTE6Mjk6NTggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogaWdub3JlIGEgQllFIGlmIGl0IGlzIHNlbnQgd2l0aCBvdXIgaW50ZXJuYWwgU1NSQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTY0CgoyMDEwLTAxLTI5IDA5OjQ5OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkcyBtb3JlIGgyNjQgZmllbGRzIHRvIGl0cyBjYXBzCgkgIEFkZHMgYWxpZ25tZW50PWF1IGFuZCBzdHJlYW0tZm9ybWF0PWF2YyB0byBoMjY0IGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMS0wNC0xMSAxMjo0NDoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhbHNvIGhhbmRsZSBkZXByZWNhdGlvbnMgZm9yIGphY2sgMS45LjcKCSAgSmFjayAxLjkuNyB3YXMgcmVsZWFzZWQgMjAuTWFyLjIwMTEsIG5lZWQgdG8gaGFuZGxlIHRoZSBkZXByZWNhdGVkIGFwaSBmb3IgdGhpcwoJICB2ZXJzaW9uIHRvby4KCjIwMTEtMDQtMTEgMDA6MzY6MzUgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IG1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wNC0xMCAxODo1Njo1MiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hcGV0YWcubWs6CgkqIGFuZHJvaWQvYXZpLm1rOgoJKiBhbmRyb2lkL2Zsdi5tazoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9pY3lkZW11eC5tazoKCSogYW5kcm9pZC9pZDNkZW11eC5tazoKCSogYW5kcm9pZC9xdGRlbXV4Lm1rOgoJKiBhbmRyb2lkL3J0cC5tazoKCSogYW5kcm9pZC9ydHBtYW5hZ2VyLm1rOgoJKiBhbmRyb2lkL3J0c3AubWs6CgkqIGFuZHJvaWQvc291cC5tazoKCSogYW5kcm9pZC91ZHAubWs6CgkqIGFuZHJvaWQvd2F2ZW5jLm1rOgoJKiBhbmRyb2lkL3dhdnBhcnNlLm1rOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogTWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZTogaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTA0LTA1IDIxOjE0OjQzICswMjAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZGVjbGFyZSBmcmFnX29mZnNldCB0byBob2xkIDMyYml0cy4KCSAgQXMgc3BlY2lmaWVkIGluIGRvY3VtZW5hdGlvbiBhYm92ZSBhbmQgYmVsb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NTQKCjIwMTEtMDQtMDkgMTI6NDE6NDggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IHdyb25nbHkgYXBwbGllZCBwYXRjaAoJICBPYnZpb3VzbHkgcmVjdl9ydHBfc2luayBkb2VzIG5vdCBoYXZlIG11Y2ggdG8gZG8gd2l0aCBzZW5kX3J0Y3Bfc3JjLi4uCgkgIFNlZSBjb21taXQgMDQ2ZmYxNzAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDcyNjMKCjIwMTEtMDQtMDggMTU6NTk6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIGZvciBzZXRfZnJhbWVfcHJvcHMgLT4gc2V0X2ZyYW1lX3JhdGUgQVBJIGNoYW5nZQoKMjAxMS0wNC0wOCAwMDowMzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGhvb2sgdXAgYXVkaW9wYXJzZXIgdW5pdCB0ZXN0cwoKMjAxMS0wNC0wNyAxODozMDo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZWxheCBzeW5jIG1hdGNoIGEgYml0IHdoZW4gZHJhaW5pbmcKCSAgLi4uIHRvIGF0IGxlYXN0IGFsbG93IGluaXRpYWwgY2FwcyBjaGFuZ2UgKGJ1dCBubyBmdXJ0aGVyIGNhcHMgaml0dGVyKS4KCSAgRml4ZXMgdW5pdCB0ZXN0IGFnYWluIGFmdGVyIHByZXZpb3VzIGNoYW5nZS4KCjIwMTEtMDQtMDcgMTU6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBjaGFuZ2VzIGluIGdpdAoKMjAxMS0wNC0wNyAxNToyMDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkgIGRvY3M6IGFkZCBhdWRpb3BhcnNlcnMgdG8gZG9jcwoKMjAxMS0wNC0wNyAxNTowNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogZ3N0X2Zvb3BhcnNlX3h5eiAtPiBnc3RfZm9vX3BhcnNlX3h5eiB0byBtYXRjaCBHc3RGb29QYXJzZQoJICBTZWUgbW92aW5nLXBsdWdpbnMgY2hlY2tsaXN0LgoKMjAxMS0wNC0wNyAxNDo0Mzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaG9vayB1cCB0byBidWlsZAoKMjAxMS0wNC0wNyAxMzoyNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogcG9ydCB0byBuZXcgR3N0QmFzZVBhcnNlIGluIGNvcmUKCjIwMTEtMDQtMDQgMjA6NTU6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVxdWlyZSB0aWdodGVyIHN5bmMgbWF0Y2ggd2hlbiBkcmFpbmluZwoKMjAxMS0wNC0wMSAxNDo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBhcnNlIGVuY29kZXIgZGVsYXkgYW5kIGVuY29kZXIgcGFkZGluZyBmcm9tIHRoZSBMQU1FIGhlYWRlciBpZiBwcmVzZW50CgoyMDExLTAzLTA5IDIzOjA2OjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGRjYXBhcnNlOiBCdW1wIHJhbmsgdG8gcHJpbWFyeSsxCgkgIFNlZW1zIHRvIHdvcmsgZmluZSB3aXRoIGEgcmVhc29uYWJseSB3aWRlIHJhbmdlIG9mIG1lZGlhLCBzbyBidW1waW5nCgkgIHJhbmsuCgoyMDExLTAzLTIzIDIyOjAyOjM3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGZyYW1lIHNpemUgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIHNpemUgb2YgdGhlIGZyYW1lIChudW1iZXIgb2YgYnl0ZXMgZnJvbSBvbmUgc3luYyBwb2ludAoJICB0byB0aGUgbmV4dCkgYXMgdGhlICJmcmFtZV9zaXplIiBmaWVsZCBpbiBjYXBzLgoKMjAxMS0wMy0wOSAyMzowMzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBibG9jayBzaXplIGluIGNhcHMKCSAgVGhpcyBzZXRzIHRoZSAiYmxvY2tfc2l6ZSIgZmllbGQgb24gY2FwcyBhcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMKCSAgZW5jb2RlZCBpbiBvbmUgZnJhbWUuCgoyMDExLTAzLTE2IDE1OjUzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCBGSVhNRSBmb3IgbWFraW5nIHRoZSBiYXNlIGNsYXNzIHVzZSB4aW5nIHNlZWsgdGFibGVzIGJldHRlcgoKMjAxMS0wMy0xNCAxODoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEFkZCBkZXB0aCBhbmQgZW5kaWFubmVzcyB0byB0aGUgY2FwcwoJICBTb21lIGRlY29kZXJzIGNhbiBvbmx5IGhhbmRsZSBzcGVjaWZpYyBlbmRpYW5uZXNzIG9yIGEgZml4ZWQKCSAgZGVwdGggYW5kIHRoaXMgYWxsb3dzIGJldHRlciBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgYnVnICM2NDQyMDguCgoyMDExLTAyLTI2IDEzOjUzOjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDliODlkNWM1YTEyNDRmYTBkY2I4YmI0OTk2ZTM4ZmI5YmZmOWU1LgoKMjAxMS0wMi0yMyAxNzoyNTowMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkCgoyMDEwLTEwLTEzIDE2OjEyOjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogZml4IGJhc2VwYXJzZSB0ZXN0CgoyMDEwLTEwLTEzIDE1OjM5OjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBiYXNlcGFyc2U6IENyZWF0ZSBiYXNlcGFyc2UgbGlicmFyeQoKMjAxMS0wMi0wNyAxNDo0Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgUVVFUllfU0VFS0lORyByZXNwb25zZQoJICBFdmVuIGlmIHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBhIGR1cmF0aW9uIHlldCwgYXNzdW1lIHNlZWthYmxlIGlmCgkgIGl0IGxvb2tzIGxpa2Ugd2UnbGwgbGlrZWx5IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGl0IGxhdGVyIG9uCgkgICh3aGljaCBjb2luY2lkZXMgd2l0aCBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcGVyZm9ybSBzZWVraW5nKS4KCSAgRml4ZXMgIzY0MTA0Ny4KCjIwMTEtMDItMDggMjM6Mzk6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBVcGRhdGUgbWluL21heCBiaXRyYXRlIGJlZm9yZSBmaXJzdCBwb3N0aW5nIHRoZW0KCSAgVGhpcyBhdm9pZHMgcG9zdGluZyBhbiBpbml0aWFsIG1pbi1iaXRyYXRlIG9mIEdfVUlOVE1BWCBhbmQgbWF4LWJpdHJhdGUKCSAgb2YgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1NwoKMjAxMS0wMi0wOCAyMzo1MDoxMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBvc3QgQ0JSIGJpdHJhdGUgYXMgbm9taW5hbCBiaXRyYXRlCgkgIEV2ZW4gaWYgVkJSIGhlYWRlcnMgYXJlIG1pc3NpbmcsIHdlIGNhbid0IGd1YXJhbnRlZSB0aGF0IGEgc3RyZWFtIGlzIGluCgkgIGZhY3QgYSBDQlIgc3RyZWFtLCBzbyBpdCdzIHNhZmVyIHRvIGxldCBiYXNlcGFyc2UgY2FsY3VsYXRlIHRoZSBhdmVyYWdlCgkgIGJpdHJhdGUgcmF0aGVyIHRoYW4gYXNzdW1lIGEgQ0JSIHN0cmVhbS4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZQoJICAvc29tZS8gbWV0YWRhdGEgYXZhaWxhYmxlIGJlZm9yZSB0aGUgcmVxdWlzaXRlIG51bWJlciBvZiBmcmFtZXMgaGF2ZQoJICBiZWVuIHBhcnNlZCwgdGhpcyBwb3N0cyB0aGUgYml0cmF0ZSBmcm9tIHRoZSBub24tVkJSIGhlYWRlcnMgYXMgdGhlCgkgIG5vbWluYWwgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1OAoKMjAxMC0wOS0wNiAxNDoxMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBhIHZhbGlkIGFtci13YiBmcmFtZSBzaG91bGQgbm90IGhhdmUgcmVzZXJ2ZWQgZnJhbWUgdHlwZSBpbmRleAoJICBTZWUgIzYzOTcxNS4KCjIwMTEtMDEtMjcgMTY6NTI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBoYW5kbGluZyBvZiBkZXBlbmRlbnQgc3Vic3RyZWFtIGZyYW1lcwoJICBJbiBwYXJ0aWN1bGFyLCB0aW1lc3RhbXBzIG9mIHRoZXNlIHNob3VsZCB0cmFjayBtYWluLXN0cmVhbSB0aW1lc3RhbXBzLgoKMjAxMS0wMS0yMSAxNDo1MzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgZGVmYXVsdCBkdXJhdGlvbiBlc3RpbWF0ZSB1cGRhdGUgaW50ZXJ2YWwKCSAgUmF0aGVyIHRoYW4gYSBmaXhlZCBkZWZhdWx0IGZyYW1lIGNvdW50LCBlc3RpbWF0ZSBmcmFtZSBjb3VudCB0byBhaW0gZm9yCgkgIGFuIGludGVydmFsIGR1cmF0aW9uIGRlcGVuZGluZyBvbiBmcHMgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIG9sZAoJICBmaXhlZCBkZWZhdWx0LgoKMjAxMS0wMS0xNCAxNToxNjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVyc2UgcGxheWJhY2s7IG1pbmQga2V5ZnJhbWVzIGZvciBmcmFnbWVudCBib3VuZGFyeQoKMjAxMS0wMS0xMyAxNToyNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBwcm9wZXJseSBjaGVjayBmb3Igc3VmZmljaWVudCBhdmFpbGFibGUgZGF0YSBwcmlvciB0byBhY2Nlc3MKCjIwMTEtMDEtMTIgMTQ6NDA6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgbm9uLWVtcHR5IGNhbmRpZGF0ZSBmcmFtZXMKCjIwMTEtMDEtMTEgMTU6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjbGFyaWZ5IHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMS0xMSAxNToyNDowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3Blcmx5IHRyYWNrIHVwc3RyZWFtIHRpbWVzdGFtcHMKCSAgLi4uIHJhdGhlciB0aGFuIHdpdGggYSBkZWxheS4KCjIwMTEtMDEtMTEgMTU6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBuZWVkIHByb3BlciBmcmFtZSBkdXJhdGlvbiB0byBvYnRhaW4gc2Vuc2libGUgZnJhbWUgYml0cmF0ZQoKMjAxMS0wMS0xMSAxNToyMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBpbml0aWFsIHZhbHVlcyBmb3IgaW5kZXggdHJhY2tpbmcgdmFyaWFibGVzCgoyMDExLTAxLTExIDEyOjA1OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXJyYW5nZSBmb3IgY29uc2lzdGVudCBldmVudCBoYW5kbGluZwoKMjAxMS0wMS0xMCAxNjo1OTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGhlYWRlciBzdHlsZSBjbGVhbmluZwoKMjAxMS0wMS0xMCAxNzowNzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgc29tZSBtb3JlIGluaXRpYWwgZnJhbWUgbWV0YWRhdGEgaW4gcGFyc2VfZnJhbWUKCSAgLi4uIGFuZCBkb2N1bWVudCBhY2NvcmRpbmdseS4KCjIwMTEtMDEtMTAgMTY6NTY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHBhc3N0aHJvdWdoIGludG8gZm9ybWF0IGZsYWdzCgkgIEFsc28gYWRkIGEgZm9ybWF0IGZsYWcgdG8gc2lnbmFsIGJhc2VwYXJzZSB0aGF0IHN1YmNsYXNzL2Zvcm1hdCBjYW4gcHJvdmlkZQoJICAocGFyc2VkKSB0aW1lc3RhbXAgcmF0aGVyIHRoYW4gYW4gZXN0aW1hdGVkIG9uZS4gIEluIHBhcnRpY3VsYXIsIHN1Y2ggInN0cm9uZyIKCSAgdGltZXN0YW1wIHRoZW4gYWxsb3dzIHRvIGUuZy4gZGV0ZXJtaW5lIGR1cmF0aW9uLgoKMjAxMS0wMS0xMCAxNTozNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbnRyb2R1Y2UgYSBiYXNlcGFyc2UgZnJhbWUgdG8gc2VydmUgYXMgY29udGV4dAoJICAuLi4gYW5kIGFkanVzdCBzdWJjbGFzcyBwYXJzZXJzIGFjY29yZGluZ2x5CgoyMDExLTAxLTA3IDE2OjM5OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVzdHJpY3QgZHVyYXRpb24gc2Nhbm5pbmcgdG8gcHVsbCBtb2RlIGFuZCBhdm9pZCBleHRyYSBzZXRfY2FwcyBjYWxsCgoyMDExLTAxLTA3IDE1OjU4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDExLTAxLTA2IDExOjQxOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWxsb3cgaW5jcmVhc2luZyBtaW5fc2l6ZSBmb3IgY3VycmVudCBmcmFtZSBwYXJzaW5nIG9ubHkKCSAgQWxzbyBjaGVjayB0aGF0IHN1YmNsYXNzIGFjdHVhbGx5IGVpdGhlciBkaXJlY3RzIHRvIHNraXAgYnl0ZXMgb3IKCSAgaW5jcmVhc2VzIGV4cGVjdGVkIGZyYW1lIHNpemUgdG8gYXZvaWQgZ29pbmcgbm93aGVyZSBpbiBib2d1cwoJICBpbmRlZmluaXRlIGxvb3BpbmcuCgoyMDExLTAxLTE0IDE1OjI2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhZXNwYXJzZTogZml4IHJlZmFjdG9yIHJlZ3Jlc3Npb24gaW4gbG9vcCBiYXNlZCBwYXJzaW5nCgoyMDExLTAxLTA2IDExOjE2OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGFzcyBhbGwgYXZhaWxhYmxlIGRhdGEgdG8gc3ViY2xhc3MgcmF0aGVyIHRoYW4gbWluaW11bQoJICBBbHNvIHJlZHVjZSBzb21lIGFkYXB0ZXIgY2FsbHMgYW5kIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMi0xMCAxNTo1OTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCByZXZlcnNlIHBsYXliYWNrIGhhbmRsaW5nCgoyMDEwLTEyLTEwIDE0OjU2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgdHlwbyBhbmQgZGVidWcgc3RhdGVtZW50IGNsZWFudXAKCjIwMTAtMTItMTAgMTQ6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZWR1Y2UgbG9ja2luZwoJICAuLi4gd2hpY2ggaXMgZWl0aGVyIGFscmVhZHkgbXV0ZSBhbmQvb3IgaW1wbGljaXRseSBoYW5kbGVkIGJ5IFNUUkVBTV9MT0NLLgoKMjAxMS0wMS0xNCAxNDowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIGxvb3AgaW4gZnJhbWUgbG9jYXRpbmcgaW50ZXJwb2xhdGlvbgoKMjAxMS0wMS0xOSAxODoyNjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbmQgZ3N0X2J1ZmZlcl91bnJlZiBub3QgbGlraW5nIE5VTEwKCSAgRml4ZXMgIzYzOTk1MC4KCjIwMTEtMDEtMTQgMTY6MzA6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBiYXNlcGFyc2U6IEJlIGNhcmVmdWwgdG8gbm90IGxvc2UgdGhlIGV2ZW50IHJlZgoJICBEb24ndCB1bnJlZiB0aGUgZXZlbnQgaWYgaXQgaGFzbid0IGJlZW4gaGFuZGxlZCwgYmVjYXVzZSB0aGUgY2FsbGVyCgkgIGFzc3VtZXMgaXQgaXMgc3RpbGwgdmFsaWQgYW5kIG1pZ2h0IHJldXNlIGl0LgoJICBJIHJhbiBpbnRvIHRoaXMgcHJvYmxlbSB3aGVuIHRyYW5zY29kaW5nIGFuIEFWSSAod2l0aCBtcDMgaW5zaWRlKQoJICB0byBncHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1NTUKCjIwMTEtMDEtMTMgMTc6MTA6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogZml4IHN5bmMgd29yZCBmb3IgMTQtYml0IGxpdHRsZSBlbmRpYW4gY29kaW5nCgkgIEZpeCBjb3B5J24ncGFzdGUgYnVnIHRoYXQgbWFkZSB1cyBsb29rIGZvciB0aGUgcmF3IGxpdHRsZSBlbmRpYW4KCSAgc3luYyB3b3JkIHR3aWNlIGluc3RlYWQgb2YgbG9va2luZyBmb3IgdGhlIDE0LWJpdCBMRSBzeW5jIHdvcmQKCSAgYXMgd2VsbC4gRml4ZXMgcGFyc2luZyBvZiBzdWNoIHN0cmVhbXMgKHNlZSAjNjM2MjM0IGZvciBzYW1wbGUgZmlsZSkuCgoyMDExLTAxLTEzIDE2OjI3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGRvY3M6IG1pbm9yIGJhc2VwYXJzZSBkb2NzL2NvbW1lbnQgZml4ZXMKCSAgUmVtb3ZlIGNvcHknbidwYXN0ZSBsZWZ0b3ZlcnMuCgoyMDExLTAxLTA2IDEyOjQ5OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMC0xMi0xMyAxNToxNzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZWxheCBic2lkIGNoZWNraW5nCgkgIC4uLiB0byB0aGUgd2lkZXN0IHBvc3NpYmxlIHNwZWMgaW50ZXJwcmV0YXRpb24uCgkgIEZpeGVzICM2MzcwNjIuCgoyMDEwLTEyLTAzIDE4OjExOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMS0wOCAxOTo1ODozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGluY3JlYXNlIGtleWZyYW1lIGF3YXJlbmVzcwoJICAuLi4gd2hpY2ggaXMgbm90IHBhcnRpY3VsYXIgcmVsZXZhbnQgZm9yIGF1ZGlvIHBhcnNpbmcsIGJ1dCBtb3JlIHNvCgkgIGluIHZpZGVvIGNhc2VzLiAgSW4gcGFydGljdWxhciwgYXV0by1kZXRlcm1pbmUgaWYgZGVhbGluZyB3aXRoIHZpZGVvIChjYXBzKS4KCjIwMTAtMTItMDEgMTU6Mjg6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiB1c2UgcHJvcGVyIEVBQy0zIGNhcHMKCjIwMTAtMTEtMzAgMTU6NDE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCB1bmV4cGVjdGVkIHN0cmF5IG1ldGFkYXRhCgoyMDEwLTExLTMwIDE1OjQwOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIHByb3BlciBfTk9ORSBvdXRwdXQgdmFsdWUgd2hlbiBhcHBsaWNhYmxlCgoyMDEwLTExLTI1IDE4OjU2OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTc6MTQ6MjMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU3ODYKCjIwMTAtMTEtMTcgMTY6MjM6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgY29ycmVjdCBvZmZzZXQgd2hlbiBhZGRpbmcgaW5kZXggZW50cnkKCSAgLi4uIGJlYXJpbmcgaW4gbWluZCB0aGF0IEJVRkZFUl9PRkZTRVQgaXMgbWVkaWEgc3BlY2lmaWMgYW5kIG1heSBub3QKCSAgcmVmbGVjdCB0aGUgYmFzaWMgb2Zmc2V0IGFmdGVyIGhhdmluZyBiZWVuIHBhcnNlZC4KCjIwMTAtMTEtMTcgMTQ6MzA6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbmhhbmNlbWVudHMgZm9yIHRpbWVzdGFtcCBtYXJrZWQgZnJhbWVkIGZvcm1hdHMKCSAgVGhhdCBpcywgYXMgc3VjaCBmb3JtYXRzIGFsbG93IHN1YmNsYXNzIHRvIGV4dHJhY3QgcG9zaXRpb24gZnJvbSBmcmFtZSwKCSAgaXQgaXMgcG9zc2libGUgdG8gZXh0cmFjdCBkdXJhdGlvbiAoaWYgbm90IG90aGVyd2lzZSBwcm92aWRlZCkKCSAgZnJvbSAobmVhcikgbGFzdCBmcmFtZSwgYW5kIGEgc2VlayBjYW4gZmFpcmx5IGFjY3VyYXRlbHkgdGFyZ2V0IHRoZSByZXF1aXJlZAoJICBwb3NpdGlvbi4KCSAgRml4ZXMgIzYzMTM4OS4KCjIwMTAtMTEtMTYgMTc6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBmcmFtZSBzY2FubmluZyBwZWZvcm1lZCBieSBfbG9vcAoKMjAxMC0xMS0xNiAxODowNDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNsaWdodGx5IG9wdGltaXplIHNlbmRpbmcgb2YgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMC0xMS0xNiAxNzowNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCSAgQXJyYW5nZSBmb3IgdXBzdHJlYW0gYXMgd2VsbCBhcyBkb3duc3RyZWFtIGZsdXNoaW5nIHdoZW4gc2Vla2luZy4KCSAgQWxzbyBkZXRlcm1pbmUgdXBzdHJlYW0gc2l6ZSBhcyB3ZWxsIGFzIHNlZWthYmlsaXR5LiAgQWRqdXN0IHNvbWUgY29tbWVudHMKCSAgdG8gcmVhbGl0eSBhbmQgZW1wbG95IGRlYnVnIHN0YXRlbWVudCBpbiBwcm9wZXIgb3JkZXIuCgoyMDEwLTExLTE3IDE1OjMzOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1pbm9yIGNsZWFudXBzCgoyMDEwLTExLTE3IDE1OjI0OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIEFESUYgc3JjIGNhcHMgc2V0dGluZwoKMjAxMC0xMS0xNiAxMjoxMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IHBhcnNlIHNlZWt0YWJsZQoJICBGaXhlcyAjNjMxMzg5IChwYXJ0aWFsbHkpLgoKMjAxMC0xMS0xNiAxMjowODo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGFuZCBlbmFibGUgZGVmYXVsdCBiYXNlcGFyc2Ugc2VnbWVudCBjbGlwcGluZwoKMjAxMC0xMS0wOSAxOTozODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggc2lsbHkgbGVhayBpbiBfcmVzZXQKCjIwMTAtMTAtMjkgMTQ6MDg6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2Ugb25seSB1cHN0cmVhbSBkdXJhdGlvbiBpZiBpdCBwcm92aWRlcyBvbmUKCjIwMTAtMTAtMjUgMTQ6MTU6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZsb3cgdXBkYXRlX2JpdHJhdGUgY29kZQoJICAuLi4gd2hpY2ggbWFrZXMgbG9jYWwgdmFyaWFibGVzIHJlcHJlc2VudCByZWFsIHN0YXRlIGJldHRlciwgYW5kIGF2b2lkcwoJICB0cmlnZ2VyaW5nIHVubmVlZGVkIHVwZGF0ZXMvYWN0aW9ucy4KCjIwMTAtMTAtMjUgMTQ6MTM6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEwLTEwLTE5IDIzOjI1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGluaXQgdmFyaWFibGUgdG8gbWFrZSBvc3ggYnVpbGQgYm90IGhhcHB5CgkgIGdzdGRjYXBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfZGNhX3BhcnNlX2NoZWNrX3ZhbGlkX2ZyYW1lJzoKCSAgZ3N0ZGNhcGFyc2UuYzoyNDY6IHdhcm5pbmc6ICdiZXN0X3N5bmMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMC0xMC0xOSAwMDoxNToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgdmVyeSBiYXNpYyBkdHMvZGNhIHBhcnNlcgoJICBTdGlsbCBzb21lIGlzc3VlcywgZS5nLiB3aXRoIHNlZWthYmxlIHF1ZXJpZXMgaW4gdG90ZW0sIGJ1dCBhbHNvCgkgIHByb2Nlc3NpbmcgYWxyZWFkeS1jaHVua2VkIGlucHV0IChjcmVhdGVkIHdpdGggbWF0cm9za2FkZW11eCAhIGdkcHBheSkuCgoyMDEwLTEwLTE0IDE2OjQ4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByb3Blcmx5IHBhcnNlIGUtYWMzIGZyYW1lIGhlYWRlcgoJICBBbHNvIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMC0xMyAxMTowMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHR3ZWFrIHNldHRpbmcgYnVmZmVyIG1ldGFkYXRhOyBhdm9pZCB0aW1lc3RhbXAgaml0dGVyCgkgIEZpeGVzICM2MzE5OTMuCgoyMDEwLTEwLTEyIDE4OjA3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogc3RyZWFtbGluZSBzcmMgY2FwcyBzZXR0aW5nCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gc2V0IHNyYyBjYXBzIHdoZW5ldmVyIGNoYW5nZXMgaW4gc3RyZWFtIHdhcnJhbnQgZG9pbmcgc28uCgoyMDEwLTEwLTEyIDEwOjI4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEFkanVzdCB1bml0IHRlc3RzIHRvIG5ldyBmbGFjcGFyc2UgYmVoYXZpb3VyCgkgIEdhcmJhZ2UgYWZ0ZXIgZnJhbWVzIGlzIG5vdyBpbmNsdWRlZCBpbiB0aGUgZnJhbWVzIGJlY2F1c2UgZmxhY3BhcnNlCgkgIGhhcyBubyBlYXN5IHdheSB0byBkZXRlY3QgdGhlIHJlYWwgZW5kIG9mIGEgZnJhbWUuIERlY29kZXJzIGFyZQoJICBleHBlY3RlZCB0byBldmVyeXRoaW5nIGFmdGVyIHRoZSBmcmFtZSBiZWNhdXNlIG9ubHkgZGVjb2RpbmcgdGhlCgkgIGJpdHN0cmVhbSB3aWxsIHJldmVhbCB0aGUgcmVhbCBlbmQgb2YgdGhlIGZyYW1lLgoJICBGaXhlcyBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTIgMTA6Mjc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBEb24ndCBkcm9wIHRoZSBsYXN0IGZyYW1lIGlmIGl0IGlzIGZvbGxvd2VkIGJ5IGdhcmJhZ2UKCSAgU2VlIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMSAxNzo0OTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBlcmZvcm0gYml0cmF0ZSBoYW5kbGluZyBhbmQgcG9zdGluZyBhZnRlciBuZXdzZWdtZW50IHNlbmRpbmcKCjIwMTAtMTAtMTEgMTc6MzY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbW1lZGlhdGVseSBwb3N0IHN1YmNsYXNzIHByb3ZpZGVkIGJpdHJhdGUKCjIwMTAtMTAtMTEgMTc6MDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGFyc2luZyB3aXRoIHVua25vd24gZnJhbWVzaXplcwoJICBGaXhlcyAjNjMxODE0IChtb3N0bHkpLgoKMjAxMC0xMC0wNyAyMzozNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFNpbXBsaWZ5IGZyYW1lIGhlYWRlciBwYXJzaW5nIGJ5IHVzaW5nIGxvb2t1cCB0YWJsZXMKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBGZWxpcGUgQ29udHJlcmFzLgoJICBTZWUgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA3IDIzOjI4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogRG9uJ3QgcGFyc2UgdGhlIGNvbXBsZXRlIEZMQUMgZnJhbWVzIGJ1dCBvbmx5IGxvb2sgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMKCSAgVGhhbmtzIHRvIEZlbGlwZSBDb250cmVyYXMgZm9yIHRoZSBzdWdnZXN0aW9uLiBUaGlzIGlzIHBhcnRpYWxseQoJICBiYXNlZCBvbiBoaXMgcGF0Y2hlcyBhbmQgbWFrZXMgZmxhY3BhcnNlIG1vcmUgdGhhbiAzLjUgdGltZXMgZmFzdGVyLgoJICBMb29raW5nIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzIGlzIHVubGlrZWx5IHRvIGdpdmUgZmFsc2UgcG9zaXRpdmVzCgkgIGJlY2F1c2UgZXZlcnkgZnJhbWUgaGVhZGVyIGlzIGF0IGxlYXN0IDkgYnl0ZXMgbG9uZywgY29udGFpbnMgYQoJICAxNCBiaXQgc3luYyBjb2RlIGFuZCBhIDggYml0IGNoZWNrc3VtIG92ZXIgdGhlIGZpcnN0IDggYnl0ZXMuCgkgIEZpeGVzIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNiAxODozMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFJlYWxseSBwb3N0IHRhZ3Mgb25seSBhZnRlciB0aGUgaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50CgkgIFRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50IHdpbGwgYmUgc2VuZCBieSB0aGUgZmlyc3QgY2FsbCB0bwoJICBnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlcigpIGlmIG5lY2Vzc2FyeSwgcG9zdGluZyB0aGUgdGFncwoJICBiZWZvcmUgdGhhdCBpcyBub3QgYSBnb29kIGlkZWEuIEluc3RlYWQgZG8gaXQgZnJvbSB0aGUKCSAgR3N0QmFzZVBhcnNlOjpwcmVfcHVzaF9idWZmZXIgdmZ1bmMuCgoyMDEwLTEwLTA1IDExOjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIFJldmVydCAiYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNWEzZDYwMzYzZDgzN2ExMGYwNTMzYzE0MWVjOTNkMTBiNzQyMzEyLgoJICBSZXZlcnRpbmcgdGhpcyBmb3Igbm93LCBzaW5jZSBubyBvbmUgcmVhbGx5IHNlZW1zIHRvIHJlbWVtYmVyIHdoeSB0aGlzCgkgIHByb3BlcnR5IGV4aXN0cyBvciB3aGF0IGl0IGNvdWxkIHBvc3NpYmx5IGJlIGdvb2QgZm9yLiBJdCBzZWVtcyB0byBoYXZlCgkgIGJlZW4gaW4gdGhlIG9yaWdpbmFsIG1wM3BhcnNlIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGltZSBhbmQgd2FzIGJhY2stCgkgIHBvcnRlZCBmcm9tIHRoZXJlLgoKMjAxMC0xMC0wNCAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZywgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGlmIHRoZXkgd2VyZQoJICBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMDktMTQgMDI6NDg6NTggKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGljdHVyZSBwYXJzaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFB1c2ggdGFncyBiZWZvcmUgdGhlIGhlYWRlciBidWZmZXJzIGFyZSBwdXNoZWQKCjIwMTAtMDgtMDIgMjA6NTA6MjEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0cml2aWFsIGNhcHMgZml4CgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1MDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcjogTGV0IHRoZSBmb3JtYXQgc3RyaW5nIGFncmVlIHdpdGggdGhlIHBhcmFtZXRlcnMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTAtMDMgMTU6NDE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogVXNlIHVuY2hlY2tlZCB2ZXJzaW9ucyBvZiB0aGUgYml0cmVhZGVyIGdldCBmdW5jdGlvbnMKCSAgV2UgZGlkbid0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWVzIGFueXdheS4uLgoKMjAxMC0wOS0yMiAxNTo0NDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBkZWJ1ZyBvdXRwdXQKCSAgV2UgbG9zZSB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIgZ3N0X3BhZF9wdXNoKCksIHNvIHRoZSBkZWJ1ZwoJICBwcmludCBzaG91bGQgaGFwcGVuIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0xMC0wMSAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBmbGFjcGFyc2UgdW5pdCB0ZXN0CgkgIC4uLiBhbmQgdHdlYWsgcGFyc2VyIHRlc3QgaGVscGVyIGluIHRoZSBwcm9jZXNzLgoKMjAxMC0wOS0yOSAxNjoxMjo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN1cHBvcnQgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gaW4gcHVsbCBtb2RlIG9yIHVwc3RyZWFtIGRyaXZlbi4KCjIwMTAtMDktMjcgMTI6MTY6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgZG9uZSBUT0RPcyBhbmQgdXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMjUgMTQ6NDA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgZGV0ZXJtaW5lZCBzZWVrYWJpbGl0eSBpbiBhbnN3ZXJpbmcgU0VFS0lORyBxdWVyeQoKMjAxMC0wOS0yNSAxNDozMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5CgoyMDEwLTA5LTI1IDEzOjU5OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGFjM3BhcnNlIGFuZCBtcGVnYXVkaW9wYXJzZSB1bml0IHRlc3QKCjIwMTAtMDktMjUgMTM6NTk6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgLi4uIGFkZXF1YXRlbHkgZXF1aXZhbGVudCB0byBtcDNwYXJzZSwgc28gbGV0cyBib2xkbHkgc2V0IGl0CgkgIHRvIGhpZ2hlciByYW5rLgoKMjAxMC0wOS0yNSAxNDowMTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgbWluaW11bSBmcmFtZSBzaXplIGF0IF9zdGFydAoJICAuLi4gcmF0aGVyIHRoYW4gb25lIHRpbWUgYXQgX2luaXQuCgoyMDEwLTA5LTI1IDEzOjUwOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiByZWZhY3RvciBleGlzdGluZyB1bml0IHRlc3RzIHVzaW5nIGNvbW1vbiBoZWxwZXIKCjIwMTAtMDktMjIgMTU6MDc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9mcmFtZV9wcm9wcyB0byBjb25maWd1cmUgZnJhbWUgbGVhZF9pbiBhbmQgbGVhZF9vdXQKCSAgLi4uIHByb3ZpZGVkIGEgY29ycmVzcG9uZGluZyBkZWNvZGVyIHdpdGggc3VmZmljaWVudCBsZWFkaW5nIGFuZCBmb2xsb3dpbmcKCSAgZnJhbWVzIHRvIGNhcnJ5IG91dCBmdWxsIGRlY29kaW5nIGZvciBhIHBhcnRpY3VsYXIgc2VnbWVudC4KCjIwMTAtMDktMjIgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9kdXJhdGlvbiB0byBjb25maWd1cmUgZHVyYXRpb24gdXBkYXRlIGludGVydmFsCgkgIC4uLiBhcyBpdCBsb2dpY2FsbHkgYmVsb25ncyB0aGVyZSBhcyBvbmUgb3IgdGhlIG90aGVyOyBlaXRoZXIgc3ViY2xhc3MKCSAgY2FuIHByb3ZpZGUgYSBkdXJhdGlvbiwgb3IgYW4gZXN0aW1hdGUgbXVzdCBiZSBtYWRlIChyZWd1YXJseSB1cGRhdGVkKS4KCjIwMTAtMDktMjIgMTM6NTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBsb2NhbGl6ZSB1c2Ugb2YgcHJvdmlkZWQgZnBzIGluZm9ybWF0aW9uCgoyMDEwLTA5LTIyIDEyOjEzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2VlayB0YWJsZSBhbmQgYWNjdXJhdGUgc2VlayBzdXBwb3J0CgoyMDEwLTA5LTIxIDEzOjU3OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGFuZCBtb3JlIGV4dGVuZGVkIHNlZ21lbnQgYW5kIHNlZWsgaGFuZGxpbmcKCSAgVGhhdCBpcywgbG9vcCBwYXVzZSBoYW5kbGluZywgc2VnbWVudCBzZWVrIHN1cHBvcnQsIG5ld3NlZ21lbnQgZm9yIGdhcHMsIGV0YwoKMjAxMC0wOS0yMSAxMDo1NzowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBpbmRleCBzdXBwb3J0CgoyMDEwLTA5LTIxIDA5OjU5OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3Igc3RhdGUgcmVzZXQKCjIwMTAtMDktMjAgMTY6Mzk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZGVmaW5pdGUgcmVzeW5jaW5nCgoyMDEwLTA5LTIwIDEzOjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3BlY2lmaWMgRU9TIGhhbmRsaW5nIGlmIG5vIG91dHB1dCBzbyBmYXIKCjIwMTAtMDktMjAgMTM6MzE6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3QgX3NldF9mcmFtZV9wcm9wIGRvY3VtZW50YXRpb24gYW5kIHNldCBkZWZhdWx0IGFzIGNsYWltZWQKCjIwMTAtMDktMjAgMTM6MzA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggYml0cmF0ZSBjb3B5LWFuZC1wYXN0ZSBhbmQgdXBkYXRlIGhldXJpc3RpYwoKMjAxMC0wOS0xNyAxODozMzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBvc3QgZHVyYXRpb24gbWVzc2FnZSBpZiBhdmVyYWdlIGJpdHJhdGVzIGlzIHVwZGF0ZWQKCjIwMTAtMDktMTcgMTg6MjQ6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBpc19zZWVrYWJsZSB2bWV0aG9kIGFuZCB1c2UgYSBzZXRfc2VlayBpbnN0ZWFkCgkgIFNlZWthYmlsaXR5LCBsaWtlIGR1cmF0aW9uLCBldGMgaXMgdW5saWtlbHkgdG8gY2hhbmdlIChmcmVxdWVudGx5KSwgYW5kCgkgIHRoZSBkZWZhdWx0IGFzc3VtcHRpb24gY292ZXJzIG1vc3QgY2FzZXMsIHNvIGxldCBzdWJjbGFzcyBzZXQgd2hlbiBuZWVkZWQuCgkgIEF0IHRoZSBzYW1lIHRpbWUsIGFsbG93IHN1YmNsYXNzIHRvIGluZGljYXRlIGlmIGl0IGhhcyBzZWVrLW1ldGFkYXRhICh0YWJsZSkKCSAgYXZhaWxhYmxlLCBhbmQgcG9zc2libHkgaGF2ZSBpdCBwcm92aWRlIGFuIGF2ZXJhZ2UgYml0cmF0ZS4KCjIwMTAtMDktMTcgMTc6MzU6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBkZWZhdWx0IGlzX3NlZWthYmxlCgoyMDEwLTA5LTE3IDE3OjIxOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGFub3RoZXIgaG9vayBmb3Igc3ViY2xhc3MgcHJpb3IgdG8gcHVzaGluZyBidWZmZXIKCSAgLi4uIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBwZXJmb3JtIGN1c3RvbSBzZWdtZW50IGNsaXBwaW5nLCBvciB0bwoJICBlbWl0IHRhZ3Mgb3IgbWVzc2FnZXMgYXQgdGhpcyB0aW1lLgoKMjAxMC0wOS0xNyAxNzoxOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IDAgY29udmVydHMgdG8gMCBieSBkZWZhdWx0CgoyMDEwLTA5LTE2IDE4OjU2OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXNlOiByZWZhY3RvciBjb252ZXJzaW9uIHVzaW5nIGhlbHBlciBmdW5jdGlvbiBhbmQgZXhwb3J0IGRlZmF1bHQgY29udmVydAoKMjAxMC0wOS0xNiAxODozNTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN0cmVhbWxpbmUgcXVlcnkgaGFuZGxpbmcKCjIwMTAtMDktMTYgMTE6NTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjbGVhbnVwIHN0cnVjdCBhbmQgcmVtb3ZlIHVudXNlZCBtZW1iZXIKCjIwMTAtMDgtMTYgMTE6MDQ6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBpbmNyZWFzZSByYW5rcyB0byBlbmFibGUgYXV0by1wbHVnZ2luZwoJICBCZWNhdXNlIHdlIGNhbiwgYW5kIHNob3VsZCwgaGF2ZSBzb21lIHNoYWtlZG93biB0ZXN0aW5nIGJlZm9yZSBoYXZpbmcKCSAgdGhlc2UgbWFrZSBpdCBpbnRvIC1nb29kIGxhdGVyIG9uIC4uLgoKMjAxMC0wOS0yMiAxNjowNzoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEFsbG93IGNoYWluaW5nIG9mIHN1YmNsYXNzIGV2ZW50IGhhbmRsZXJzCgkgIFRoaXMgYWxsb3dzIHRoZSBjaGlsZCBjbGFzcyB0byBjaGFpbiBpdHMgZXZlbnQgaGFuZGxlciB3aXRoCgkgIEdzdEJhc2VQYXJzZSwgc28gdGhhdCBzdWJjbGFzc2VzIGRvbid0IGhhdmUgdG8gZHVwbGljYXRlIGFsbCB0aGUgZGVmYXVsdAoJICBldmVudCBoYW5kbGluZyBsb2dpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0wOC0yNyAxODozNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFsc28gZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBVTkVYUEVDVEVEIGFuZCBkbyBpdAoJICBmb3IgTk9UX0xJTktFRC4KCjIwMTAtMDktMDYgMTQ6MTI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBub24tVElNRSBzZWVrIGV2ZW50IGlzIHNpbXBseSBub3QgaGFuZGxlZAoKMjAxMC0wNi0xNSAxNTozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGV2ZW50IHJlZiBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgYXJpdGhtZXRpYyBvdmVyZmxvd3MgaW4gcHVsbCBtb2RlIGJ1ZmZlciBjYWNoZSBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGhhbmRsaW5nCgkgIEFsbG93IGEgZmV3IG1vcmUgc2VlayBldmVudCB0eXBlIGNvbWJpbmF0aW9ucywgYW5kIHJlYWxseSB1c2UgdGhlIHJlc3VsdAoJICBvZiBnc3Rfc2VnbWVudF9zZXRfc2VlayB0byBwZXJmb3JtIHRoZSBzZWVrLiAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDQtMTIgMTg6MDc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBjaGVjazogRG9uJ3QgcmUtZGVjbGFyZSAnR0xpc3QgKmJ1ZmZlcnMnIGluIHRoZSB0ZXN0cwoJICBJdCdzIGFuIGV4dGVybmFsIHdoaWNoIGxpdmVzIGluIGdzdGNoZWNrLmMuIFJlZGVjbGFyaW5nIGl0IG1ha2VzIHNvbWUKCSAgY29tcGlsZXJzL2FyY2hpdGVjdHVyZXMgdGhpbmsgdGhlICdidWZmZXJzJyBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cyBhcmUKCSAgYSBkaWZmZXJlbnQgc3ltYm9sLi4uIGFuZCB0aGVyZWZvcmUgd2UgZW5kIHVwIGNvbXBhcmluZyBob2xvZGVja3Mgd2l0aAoJICBvcmFuZ2VzLgoKMjAxMC0wMy0yNiAxODo1Njo0OSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IGVtaXQgYml0cmF0ZSB0YWdzIHRvbyBlYXJseQoJICBXZSB3YWl0IHRvIHBhcnNlIGEgbWluaW11bSBudW1iZXIgb2YgZnJhbWVzICgxMCwgYXJiaXRyYXJpbHkpIGJlZm9yZQoJICBlbWl0aW5nIGJpdHJhdGUgdGFncyBzbyB0aGF0IG91ciBlYXJseSBlc3RpbWF0ZXMgYXJlIG5vdCB3aWxkbHkKCSAgaW5hY2N1cmF0ZSBmb3Igc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGggYSBzaWxlbmNlLiBJZiB0aGUgc3RyZWFtIGVuZHMKCSAgYmVmb3JlIHRoYXQsIHdlIGp1c3QgZW1pdCB0aGUgdGFncyBhbnl3YXkuCgkgIFdoaWxlIGl0IF93b3VsZF8gYmUgbmljZXIgdG8gYmUgc3BlY2lmeSB0aGUgdGhyZXNob2xkIHRvIHN0YXJ0IHB1c2hpbmcKCSAgdGhlIHRhZ3MgaW4gdGVybXMgb2YgZHVyYXRpb24sIHRoaXMgd291bGQgaW50cm9kdWNlIG1vcmUgY29tcGxleGl0eSB0aGFuCgkgIHRoaXMgbWVyaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTkxCgoyMDEwLTAzLTI2IDE4OjU4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogT3B0aW9uYWxseSBjaGVjayB0aGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgdG9vIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIGlzIG9wdGlvbmFsIGJlY2F1c2UgaXQncyBhIHF1aXRlIGV4cGVuc2l2ZSBvcGVyYXRpb24gYW5kIGl0J3MgdmVyeQoJICB1bmxpa2VseSB0aGF0IGEgbm9uLWZyYW1lIGlzIGRldGVjdGVkIGFzIGZyYW1lIGFmdGVyIHRoZSBoZWFkZXIgQ1JDIGNoZWNrCgkgIGFuZCBjaGVja2luZyBhbGwgYml0cyBmb3IgdmFsaWQgdmFsdWVzLiBUaGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgYXJlCgkgIG1haW5seSB1c2VmdWwgdG8gZGV0ZWN0IGluY29uc2lzdGVuY2llcyBpbiB0aGUgZW5jb2RlZCBwYXlsb2FkLgoKMjAxMC0wMy0yNiAxODo0MjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IENoZWNrIHRoZSBDUkMtOCBvZiB0aGUgaGVhZGVycyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBtYWtlcyBmYWxzZS1wb3NpdGl2ZXMgZHVyaW5nIHNlZWtpbmcgbXVjaCBsZXNzIGxpa2VseSBhbmQgZGV0ZWN0aW9uIG9mCgkgIHRoZW0gbXVjaCBmYXN0ZXIuCgoyMDEwLTAzLTI2IDE4OjIwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2V0IHRoZSBsYXN0IHN0b3AgdG8gdGhlIGJ1ZmZlciBzdGFydHRpbWUgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQKCSAgLi4uaW5zdGVhZCBvZiBub3Qgc2V0dGluZyBpdCBhdCBhbGwuCgoyMDEwLTAzLTI2IDE4OjE5OjAwICswMTAwICBKb3NodWEgTS4gRG9lIDxqb3NoQGpvc2hkb2UuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZW5kIE5FV1NFR01FTlQgZXZlbnQgd2l0aCBjb3JyZWN0IHN0YXJ0IGFuZCBwb3NpdGlvbgoJICBJbnN0ZWFkIG9mIHRha2luZyB0aGUgbGFzdCBzdG9wICh3aGljaCBjb3VsZCBiZSBidWZmZXIgZW5kdGltZSBpbnN0ZWFkCgkgIG9mIHN0YXJ0dGltZSkgYWx3YXlzIHRha2UgdGhlIGJ1ZmZlciBzdGFydHRpbWUuCgkgIEZpeGVzIGJ1ZyAjNjE0MDE2LgoKMjAxMC0wMy0yNiAxNjo0OTowMSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBidWZmZXIgcmVmY291bnQgaXNzdWUKCSAgV2hlbiBjYWxsZWQgZnJvbSB0aGUgR1NUX0ZMQUNfUEFSU0VfU1RBVEVfSEVBREVSUyBjYXNlLAoJICBnc3RfZmxhY19wYXJzZV9oYW5kX2hlYWRlcnMoKSBkb2VzIGEgZ3N0X2J1ZmZlcl9zZXRfY2FwcygpIG9uIGEgYnVmZmVyCgkgIHdpdGggcmVmY291bnQgPiAxLiBUaGlzIGNoYW5nZSBoYW5kbGVzIHRoaXMgY2FzZSBieSBtYWtpbmcgdGhlIGJ1ZmZlcgoJICBtZXRhZGF0YV9Xcml0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDAzNwoKMjAxMC0wMy0yNSAxNzowOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSB1bnVzZWQgR3N0QmFzZVBhcnNlQ2xhc3NQcml2YXRlIHN0cnVjdHVyZQoKMjAxMC0wMy0yNSAxMjo1NTowMiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE1ha2UgYml0cmF0ZSBlc3RpbWF0aW9uIG1vcmUgYWNjdXJhdGUKCSAgVGhpcyBpbXBsZW1lbnRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgbWFrZSBtb3JlIGFjY3VyYXRlIGJpdHJhdGUgZXN0aW1hdGVzLgoKMjAxMC0wMy0yNSAxMTo0ODo0NiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYml0cmF0ZSBjYWxjdWxhdGlvbgoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgbWluL2F2Zy9tYXggYml0cmF0ZXMgZm9yIGFhY3BhcnNlLgoJICBOb3RlOiBUaGUgYml0cmF0ZSB3YXMgYmVpbmcgaW5jb3JyZWN0bHkgY2FsY3VsYXRlZCBmb3IgQURUUyBzdHJlYW1zCgkgIChpdCdzIG5vdCBpbiB0aGUgaGVhZGVyIGFzIHRoZSBjb2RlIHN1Z2dlc3RzKS4KCjIwMTAtMDMtMjUgMTE6MjI6NTggKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBBZGQgYml0cmF0ZSBjYWxjdWxhdGlvbiB0byBiYXNlcGFyc2UKCSAgVGhpcyBtYWtlcyBiYXNlcGFyc2Uga2VlcCBhIHJ1bm5pbmcgYXZlcmFnZSBvZiB0aGUgc3RyZWFtIGJpdHJhdGUsIGFzCgkgIHdlbGwgYXMgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gYml0cmF0ZXMuIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIGEKCSAgdmZ1bmMgdG8gbWFrZSBzdXJlIHRoYXQgcGVyLWZyYW1lIG92ZXJoZWFkIGZyb20gdGhlIGNvbnRhaW5lciBpcyBub3QKCSAgYWNjb3VudGVkIGZvciBpbiB0aGUgYml0cmF0ZSBjYWxjdWxhdGlvbi4KCSAgV2UgdGFrZSBjYXJlIG5vdCB0byBvdmVycmlkZSB0aGUgYml0cmF0ZSwgbWluaW11bS1iaXRyYXRlLCBhbmQKCSAgbWF4aW11bS1iaXRyYXRlIHRhZ3MgaWYgdGhleSBoYXZlIGJlZW4gcG9zdGVkIHVwc3RyZWFtLiBXZSBhbHNvCgkgIHJhdGUtbGltaXQgdGhlIGVtaXNzaW9uIG9mIGJpdHJhdGUgc28gdGhhdCBpdCBpcyBvbmx5IHRyaWdnZXJlZCBieSBhCgkgIGNoYW5nZSBvZiA+MTAga2Jwcy4KCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDEtMTQgMTE6NTA6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgYmFzZXBhcnNlIEdUeXBlIG5hbWUgdG8gYXZvaWQgcG9zc2libGUgY29uZmxpY3RzCgoyMDEwLTAxLTEyIDE4OjU1OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbml0aWFsaXplIHZhcmlhYmxlcy4KCSAgRml4ZXMgYnVpbGQgb24gJCNAKiggbWFjb3N4CgoyMDEwLTAxLTExIDIyOjQxOjU3ICswMzAwICDQ8/Hr4O0gyObh8+vg8u7iIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICB3aW4zMjogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZS4gRml4IG1wZWdkZW11eCBMSUJBREQKCSAgQmVjYXVzZSBjb25maWcuaCBkZWZpbmVzIF9fTVNWQ1JUX1ZFUlNJT05fXywgd2hpY2ggc2hvdWxkIGJlIGRlZmluZWQKCSAgYmVmb3JlIGluY2x1c2lvbiBvZiBhbnkgc3lzdGVtIGhlYWRlci4KCSAgQWxzbyBmaXhlcyBtcGVnZGVtdXggTWFrZWZpbGUuYW0gTElCQUREIHR5cG8uCgkgIEZpeGVzICM2MDY2NjUKCjIwMTAtMDEtMTEgMTM6MjA6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWxzbyBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIERvIG5vdCBmb3JnZXQgdG8gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBvZmYgYWFjcGFyc2UKCjIwMTAtMDEtMTEgMTM6MTM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBSZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCAnbm9uZScgdG8gJ3JhdycKCSAgUmVuYW1lcyBhYWMncyBzdHJlYW0tZm9ybWF0IGZyb20gcHJldmlvdXMgY29tbWl0cyBmcm9tIG5vbmUgdG8KCSAgcmF3CgoyMDEwLTAxLTExIDEyOjEwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiB1cGRhdGUgdGVzdHMgdG8gc3RyZWFtLWZvcm1hdCBjaGFuZ2VzCgkgIFVwZGF0ZXMgYWFjcGFyc2UgdW5pdCB0ZXN0cyB0byBjaGVjayBmb3Igc3RyZWFtLWZvcm1hdAoJICBjb3JyZWN0bmVzcyBhcyB3ZWxsLgoKMjAxMC0wMS0xMSAxMDo1MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzIHN0cmVhbS1mb3JtYXQgZmllbGQgdG8gb3V0cHV0IGNhcHMKCjIwMTAtMDEtMDUgMTU6MDU6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAxMC0wMS0wNSAxNTowNDozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMS0wNSAxNDo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDA5LTEyLTIxIDE4OjI5OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAxMC0wMS0wNSAxNjozNTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCAobXVsdGlwbGUgY2hhbm5lbCkgZnJhbWUgcGFyc2luZwoKMjAxMC0wMS0wNSAxNjozNTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRlY2xhcmUgdW5wYXJzZWQgaW5wdXQgYW5kIHBhcnNlZCBvdXRwdXQKCjIwMDktMTItMjEgMTg6MTk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHNjYW5uaW5nIGZvciBuZXh0IHN5bmN3b3JkCgoyMDA5LTEyLTIxIDE4OjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IHNlZWsgaGFuZGxpbmcgYW5kIG5ld3NlZ21lbnQgc2VuZGluZwoJICBQZXJmb3JtIHNhbml0eSBjaGVjayBvbiB0eXBlIG9mIHNlZWssIGFuZCBvbmx5IHBlcmZvcm0gb25lIHRoYXQgaXMKCSAgYXBwcm9wcmlhdGVseSBzdXBwb3J0ZWQuICBBZGp1c3QgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50CgkgIHRvIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdGhhdCBpcyBzZW50IGRvd25zdHJlYW0uCgoyMDA5LTEyLTIxIDExOjU5OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgcmVmYWN0b3IgY2xlYW51cAoJICBBbHNvIGFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTEyLTE4IDIxOjA1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbG9jYXRlIG5leHQgc3luYyBjb2RlIG1vcmUgZWZmaWNpZW50bHkKCjIwMDktMTItMTggMjE6MDQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBiYXNlcGFyc2UgdGFrZXMgY2FyZSBvZiBoYW5kbGluZyBsZWZ0b3ZlciBwaWVjZXMKCjIwMDktMTItMTggMjE6MDI6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbXBsZW1lbnQgbGVmdG92ZXIgZHJhaW5pbmcgaW4gcHVsbCBtb2RlCgoyMDA5LTEyLTE3IDEyOjQ1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2V0IF9PRkZTRVQgYW5kIF9PRkZTRVRfRU5EIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMTItMTcgMTI6NDQ6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdmbGFjcGFyc2UnIGludG8gaXQKCjIwMDktMTItMTYgMTg6Mzg6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIGRlZmF1bHQgY29udmVyc2lvbiB1c2luZyBicHMgaWYgbm8gZnBzIGF2YWlsYWJsZQoJICBBbHNvIHN0b3JlIGVzdGltYXRlZCBkdXJhdGlvbiBhcyBzdWNoLCByYXRoZXIgdGhhbiBwcmV0ZW5kaW5nIG90aGVyd2lzZQoJICAoZS5nLiBzZXQgYnkgc3ViY2xhc3MpLgoKMjAwOS0xMi0xOCAxMzozMDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGNoZWNrIGZvciByZW1haW5pbmcgZGF0YSB3aGVuIGRyYWluaW5nIGluIHB1c2ggbW9kZQoKMjAwOS0xMi0xOCAxMzozMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBwdWxsIG1vZGUgY2FjaGUgc2l6ZSBjb21wYXJpc29uCgoyMDA5LTEyLTE4IDEzOjAxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwOS0xMi0xNyAxNDo0NjowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIHNwZWMgZmlsZSBhbmQgZml4IGFjM3BhcnNlciBoZWFkZXIgbGlzdGluZyBpbiBNYWtlZmlsZS5hbQoKMjAwOS0xMi0xMSAxMDoyNToxNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggYSBmb3JtYXQgc3RyaW5nIGFzIHJlcG9ydGVkIG9uIGlyYy4KCjIwMDktMTEtMjMgMTY6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgZm9yIHBhcnNpbmcKCjIwMDktMTAtMjkgMTU6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZXh0cmFjdCBhbmQgdXNlIHNvbWUgbW9yZSBkZXRhaWxzIGZvciBFbmhhbmNlZCBBYy0zIHN0cmVhbXMKCjIwMDktMTAtMjkgMTU6MTg6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjdXN0b20gYnVmZmVyZmxhZyBpbmRpY2F0ZXMgbm90IHRvIGNvdW50IGZyYW1lIGluIHN0YXRzCgoyMDA5LTEwLTI4IDE0OjA4OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMDktMTAtMjggMTQ6MDc6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW5mb3JtIGJhc2UgcGFyc2VyIG9mIGZyYW1lIGR1cmF0aW9uCgoyMDA5LTEwLTI3IDE2OjE2OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgc3JjIGNhcHMgc2V0dGluZ3MKCjIwMDktMTEtMjcgMTc6NTk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFjM3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgTUFSR0lOQUwgcmFuayBmb3Igbm93OyBtaWdodCB0YWtlIHNvbWUgdGltZSBmb3Igc29tZSAodXNlZnVsKQoJICBmcmFtZWQ9dHJ1ZS9mYWxzZSB0byBhcHBlYXIgaGVyZSBhbmQgdGhlcmUuCgoyMDA5LTExLTI2IDE4OjM0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTEtMjYgMTg6MTU6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnYW1ycGFyc2UnIGludG8gaXQKCjIwMDktMTEtMjcgMTc6Mjc6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZWZlcmVuY2UgR3N0QmFzZVBhcnNlIG5vdyBsaXZlcyBoZXJlCgoyMDA5LTExLTI4IDE4OjEzOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgJ2FhY3BhcnNlJyBwbHVnaW4gdG8gZ2VuZXJpYyAnYXVkaW9wYXJzZXJzJyBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJICBhYWNwYXJzZTogc2VwYXJhdGUgcGx1Z2luIHJlZ2lzdHJhdGlvbiBhbmQgcmVuYW1lIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGJlZm9yZSBhY2Nlc3NpbmcKCjIwMDktMTEtMDUgMTQ6MzE6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTAtMjkgMTU6MTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXh1cCBjb21tZW50cyB0byBDLXN0eWxlCgoyMDA5LTEwLTI5IDE2OjA1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXNldCBwYXNzdGhyb3VnaCBtb2RlIHRvIGRlZmF1bHQgKGRpc2FibGVkKSBvbiBhY3RpdmF0aW9uCgoyMDA5LTEwLTI5IDE1OjE2OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlCgoyMDA5LTEwLTI4IDE0OjA2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGZpeC9lbmhhbmNlIERJU0NPTlQgbWFya2luZwoJICBJbiBwYXJ0aWN1bGFyLCBjb25zaWRlciBESVNDT05UID09ICFzeW5jLCBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcXVlcnkKCSAgc3luYyBzdGF0ZSwgYXMgaXQgbWF5IHdhbnQgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIGNoZWNrcyBkZXBlbmRpbmcKCSAgb24gd2hldGhlciBzeW5jIHdhcyBhY2hpZXZlZCBlYXJsaWVyIG9uLgoJICBBbHNvIGFycmFuZ2UgZm9yIHN1YmNsYXNzIHRvIHF1ZXJ5IHdoZXRoZXIgbGVmdG92ZXIgZGF0YSBpcyBiZWluZyBkcmFpbmVkLgoKMjAwOS0xMS0yMyAxNTo0ODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgdGltZXN0YW1wIGhhbmRsaW5nLCBhbmQgZGVmYXVsdCBjb252ZXJzaW9uCgkgIEluIHBhcnRpY3VsYXIsIChvcHRpb25hbGx5KSBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGEgbm90aW9uIG9mIGZyYW1lcyBwZXIgc2Vjb25kCgkgIChhbmQgdGhlcmVmb3JlIGFsc28gZnJhbWUgZHVyYXRpb24pIGFuZCBoYXZlIGl0IHRyYWNrIGZyYW1lIGFuZCBieXRlIGNvdW50cy4KCSAgVGhpcyB3YXksIHN1YmNsYXNzIGNhbiBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGZwcyBhbmQgaGF2ZSBpdCBwcm92aWRlIGRlZmF1bHQKCSAgYnVmZmVyIHRpbWUgbWV0YWRhdGEgYW5kIGNvbnZlcnNpb25zLCB0aG91Z2ggc3ViY2xhc3MgY2FuIHN0aWxsIGluc3RhbGwKCSAgY2FsbGJhY2tzIHRvIGhhbmRsZSBzdWNoIGl0c2VsZi4KCjIwMDktMTAtMjggMTI6MDI6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMDktMTAtMjggMTI6MDA6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZV9maXhlZF9jYXBzIGZvciBzcmMgcGFkCgkgIEFmdGVyIGFsbCwgc3RyZWFtIGlzIGFzLWlzLCBhbmQgdGhlcmUgaXMgbGl0dGxlIG1vbGRpbmcgdG8gZG93bnN0cmVhbSdzCgkgIHRhc3RlIHRoYXQgY2FuIGJlIGRvbmUuICBJZiBzdWJjbGFzcyBjYW4gYW5kIHdhbnRzIHRvIGRvIHNvLCBpdCBjYW4KCSAgc3RpbGwgb3ZlcnJpZGUgYXMgc3VjaC4KCjIwMDktMTEtMjAgMTc6MzI6MTMgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncwoKMjAwOS0xMC0xMSAxMToyMjoxMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTA5LTI1IDE3OjAyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IGZvcmVnbyAoYm9ndXMpIHBhcnNpbmcgb2YgYWxyZWFkeSBwYXJzZWQgKHJhdykgaW5wdXQKCjIwMDktMDgtMDcgMTM6MDc6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGRyYWluaW5nCgoyMDA5LTA4LTA3IDEzOjA2OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggbWlub3IgbWVtb3J5IGxlYWsKCjIwMDktMDctMTQgMTQ6MDg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBBZGQgZnVuY3Rpb24gZm9yIHRoZSBiYXNlcGFyc2Ugc3ViY2xhc3MgdG8gcHVzaCBidWZmZXJzIGRvd25zdHJlYW0KCSAgQWxzbyBoYW5kbGUgdGhlIGNhc2UgZ3JhY2VmdWxseSB3aGVyZSB0aGUgc3ViY2xhc3MgZGVjaWRlcyB0byBkcm9wCgkgIHRoZSBmaXJzdCBidWZmZXJzIGFuZCBoYXMgbm8gY2FwcyBzZXQgeWV0LiBJdCdzIHN0aWxsIHJlcXVpcmVkIHRvCgkgIGhhdmUgdmFsaWQgY2FwcyBzZXQgd2hlbiB0aGUgZmlyc3QgYnVmZmVyIHNob3VsZCBiZSBwYXNzZWQgZG93bnN0cmVhbS4KCjIwMDktMDctMTQgMTQ6MDc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzZWVrIGV2ZW50IGxlYWtpbmcKCjIwMDktMDYtMTggMTI6MTM6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBRElGOiBkbyBub3Qgc2VuZCBib2d1cyB0aW1lc3RhbXBzLCBsZWF2ZSB0byBkb3duc3RyZWFtIChkZWNvZGVyKQoKMjAwOS0wNi0wMSAxNTo1MzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBzYW1wbGUgcmF0ZSBleHRyYWN0aW9uIGZyb20gY29kZWMgZGF0YQoJICBJbiBvbmUgY2FzZSB3ZSBleHRyYWN0ZWQgdGhlIHNhbXBsZSByYXRlIGluZGV4IGZyb20gdGhlIGNvZGVjIGRhdGEKCSAgYW5kIHNhdmVkIGl0IGFzIHNhbXBsZSByYXRlIHJhdGhlciB0aGFuIGdldHRpbmcgdGhlIHJlYWwgc2FtcGxlCgkgIHJhdGUgZnJvbSB0aGUgdGFibGUuIEZpeCB0aGF0LCBhbmQgYWxzbyBtYWtlIHN1cmUgd2UgZG9uJ3QgYWNjZXNzCgkgIG5vbi1leGlzdGFudCB0YWJsZSBlbnRyaWVzIGJ5IGFkZGluZyBhIHNtYWxsIGhlbHBlciBmdW5jdGlvbiB0aGF0CgkgIGd1YXJkcyBhZ2FpbnN0IG91dC1vZi1ib3VuZHMgYWNjZXNzIGluIGNhc2Ugb2YgaW52YWxpZCBpbnB1dCBkYXRhLgoKMjAwOS0wNi0wMSAxNDowMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2UsIGFtcnBhcnNlOiByZW1vdmUgYm9ndXMgZ3N0X3BhZF9maXhhdGVfY2FwcygpIGNhbGxzCgoyMDA5LTA2LTAxIDEzOjU2OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wYWdhdGUgcmV0dXJuIHZhbHVlIG9mIEdzdEJhc2VQYXJzZTo6c2V0X3NpbmtfY2FwcygpCgkgIGdzdF9iYXNlX3BhcnNlX3Npbmtfc2V0Y2FwcygpIHByZXN1bWFibHkgc2hvdWxkIGZhaWwgaWYgdGhlIHN1YmNsYXNzCgkgIHJldHVybnMgRkFMU0UgZnJvbSBpdHMgOjpzZXRfc2lua19jYXBzKCkgZnVuY3Rpb24uCgoyMDA5LTA2LTAxIDEzOjQ3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb24ndCB0cnkgdG8gR1NUX0xPRyBhbiBhbHJlYWR5LWZyZWVkIGNhcHMgc3RyaW5nCgkgIFRoZSBwcm9wZXIgd2F5IHRvIGxvZyBjYXBzIGlzIHZpYSBHU1RfUFRSX0ZPUk1BVCBhbnl3YXkuCgoyMDA5LTA2LTAxIDEzOjA1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIG91dHB1dCBjYXBzLCBhbmQga2VlcCBjb2RlY19kYXRhCgkgIENyZWF0ZSBvdXRwdXQgY2FwcyBmcm9tIGlucHV0IGNhcHMsIHNvIHdlIG1haW50YWluIGFueSBmaWVsZHMgd2UKCSAgbWlnaHQgZ2V0IG9uIHRoZSBpbnB1dCBjYXBzLCBzdWNoIGFzIGNvZGVjX2RhdGEgb3IgcmF0ZSBhbmQgY2hhbm5lbHMuCgkgIFNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgd2UgZG9uJ3QgaGF2ZSBpbnB1dCBjYXBzCgkgIG9yIHRoZXkgZG9uJ3QgY29udGFpbiBzdWNoIGZpZWxkcy4gV2UgZG8gdGhpcyBwYXJ0bHkgYmVjYXVzZSB3ZSBjYW4sCgkgIGJ1dCBhbHNvIGJlY2F1c2Ugc29tZSBtdXhlcnMgbmVlZCB0aGlzIGluZm9ybWF0aW9uLiBUYWdyZWFkYmluIHdpbGwKCSAgYWxzbyBiZSBoYXBweSBhYm91dCB0aGlzLgoKMjAwOS0wNS0yNiAxOTo0Mzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGRlYnVnIGNhdGVnb3J5CgoyMDA5LTA0LTI3IDIyOjM5OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggKHJlZ3Jlc3Npb24gaW4pIG5ld3NlZ21lbnQgaGFuZGxpbmcKCSAgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKS4gIEZpeGVzICM1ODAxMzMuCgoyMDA5LTA0LTA3IDA0OjUzOjAyICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzbGlnaHRseSBicm9rZW4gYnVmZmVyLWluLXNlZ21lbnQgY2hlY2sgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKQoKMjAwOS0wNC0wNSAwMzo1MDoxOSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggcHVzaCBtb2RlIHNlZWtpbmcgKGFhY3BhcnNlLCBhbXJwYXJzZSkKCSAgU2VuZGluZyB0aGUgZmx1c2gtc3RhcnQgZXZlbnQgZm9yd2FyZCBiZWZvcmUgdGFraW5nIHRoZSBzdHJlYW0gbG9jayBhY3R1YWxseQoJICB3b3JrcywgaW4gY29udHJhc3QgdG8gZGVhZGxvY2tpbmcgaW4gZG93bnN0cmVhbSBwcmVyb2xsX3dhaXQgKGh1bmsgMSkuCgkgIEFmdGVyIHRoYXQgd2UgZ2V0IHRoZSBjaGFpbiBmdW5jdGlvbiBiZWluZyBzdHVjayBpbiBhIGJ1c3kgbG9vcC4gVGhpcyBpcyBmaXhlZAoJICBieSB1cGRhdGluZyB0aGUgbWluaW11bSBmcmFtZSBzaXplIGluc2lkZSB0aGUgc3luY2hyb25pemF0aW9uIGxvb3AgYmVjYXVzZSB0aGUKCSAgc3ViY2xhc3MgYXNrcyBmb3IgbW9yZSBkYXRhIGluIHRoaXMgd2F5IChodW5rIDIpLgoJICBGaW5hbGx5LCB0aGlzIGxlYWRzIHRvIGEgdmVyeSBwcm9iYWJsZSBjcmFzaCBiZWNhdXNlIHRoZSBzdWJjbGFzcyBjYW4gZmluZCBhCgkgIHZhbGlkIGZyYW1lIHdpdGggYSBzaXplIGdyZWF0ZXIgdGhhbiB0aGUgY3VycmVudGx5IGF2YWlsYWJsZSBkYXRhIGluIHRoZQoJICBhZGFwdGVyLiBUaGlzIG1ha2VzIHRoZSBzdWJzZXF1ZW50IGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyIGNhbGwgcmV0dXJuIE5VTEwsCgkgIHdoaWNoIGlzIG5vdCBleHBlY3RlZCAoaHVuayAzKS4KCjIwMDktMDMtMzEgMTY6MDc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERlbGF5IG5ld3NlZ21lbnQgYXMgbG9uZyBhcyBwb3NzaWJsZS4KCSAgSWYgbmV3c2VnbWVudCBpcyBzZW50ICh0b28pIGVhcmx5LCBjYXBzIG1heSBub3QgeWV0IGJlIGZpeGVkL3NldCwKCSAgYW5kIGRvd25zdHJlYW0gbWF5IG5vdCBoYXZlIGJlZW4gbGlua2VkLgoKMjAwOS0wMy0xOSAwMToxNzoyNSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJ1c3lsb29wIHdoZW4gc2Vla2luZy4gRml4ZXMgIzU3NTM4OAoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IGFmdGVyIGEgZGlzY29udCwgc2V0X21pbl9mcmFtZV9zaXplKDEwMjQpIGlzIGNhbGxlZCB3aGVuCgkgIGRldGVjdF9zdHJlYW0gcmV0dXJucyBGQUxTRS4gSG93ZXZlciwgZGV0ZWN0X3N0cmVhbSBjYWxscyBjaGVja19hZHRzX2ZyYW1lCgkgIHdoaWNoIHNldHMgdGhlIGZyYW1lIHNpemUgb24gaXRzIG93biB0byBzb21ldGhpbmcgbGFyZ2VyIHRoYW4gMTAyNC4gVGhpcyBpcyB0aGUKCSAgc2FtZSBzaXR1YXRpb24gYXMgaW4gdGhlIGJlZ2lubmluZywgc28gdGhlIGJhc2UgY2xhc3MgZW5kcyB1cCBjYWxsaW5nCgkgIGNoZWNrX3ZhbGlkX2ZyYW1lIGluIGFuIGVuZGxlc3MgbG9vcC4KCjIwMDktMDMtMTkgMDA6MzI6NDAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFJlZmFjdG9yIGNoZWNrX3ZhbGlkX2ZyYW1lIHRvIGV4cG9zZSBicm9rZW4gY29kZQoJICBKdXN0IG1vdmluZyBjb2RlIGFyb3VuZCBhbmQgcmVtb3ZpbmcgYW4gdW5oZWxwZnVsL21pc2xlYWRpbmcgY29tbWVudC4KCjIwMDktMDItMjcgMTE6MjQ6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnQgbGFzdCBjaGFuZ2UgYW5kIHByb3Blcmx5IGZpeAoJICBCYXNlcGFyc2UgaW50ZXJuYWx5IGJyZWFrcyB0aGUgc2VtYW50aWNzIG9mIGEgX2NoYWluIGZ1bmN0aW9uIGJ5IGNhbGxpbmcgaXQgd2l0aAoJICBidWZmZXI9PU5VTEwuIFRoZSByZXNvbiBJIGJlbGl2ZWQgaXQgd2FzIG9rYXkgdG8gcmVtb3ZlIGl0IHdhcyB0aGF0IHRoZXJlIGlzCgkgIGFsc28gYW4gdW5jaGVja2VkIGFjY2VzcyB0byBidWZmZXIgbGF0ZXIgaW4gX2NoYWluLiBBY3R1YWxseSB0aGF0IGNvZGUgaXMgd3JvbmcsCgkgIGFzIGl0IG1vc3QgcHJvYmFibHkgd2FudHMgdG8gc2V0IGRpc2NvbnQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlci4KCjIwMDktMDItMjYgMTE6MDI6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgY2hlY2tzIGZvciBidWZmZXI9PU5VTEwKCSAgQWNjb3JkaWZuIHRvIGRvY3MgZm9yIEdzdFBhZENoYWluRnVuY3Rpb24gYnVmZmVyIGNhbm5vdCBiZSBOVUxMLiBJZiB3ZSB3b3VsZAoJICBsZWF2ZSB0aGUgY2hlY2ssIHdlIHdvdWxkIGFsc28gbmVlZCBtb3JlIHN1Y2ggY2hlY2sgYmVsb3cuCgoyMDA5LTAyLTExIDAwOjE1OjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggbGljZW5zZSBzcGVjaWZpZWQgaW4gcGx1Z2luIGRldGFpbHMuCgoyMDA5LTAxLTMwIDE4OjE4OjEwICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24uCgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uIGluIGJvdGgKCSAgY29waWVzIG9mIEdzdEJhc2VQYXJzZQoKMjAwOS0wMS0yMyAxNjowMDoxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIExvZyBhYWMgZGV0YWlscyBmb3VuZCBpbiBjb2RlY19kYXRhLgoKMjAwOC0xMS0xMyAxNzoyNDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoKMjAwOC0xMS0xMyAxNToyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoKMjAwOC0xMS0xMyAxNDoyMTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoKMjAwOC0xMS0xMyAxMjo1OTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCjIwMTEtMDMtMjAgMDE6MDg6MzggKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IE1ha2Ugc3JjX3F1ZXJ5IE1ULXNhZmUKCSAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgZWxlbWVudCBtaWdodCBiZSBnb2luZyBkb3duIHdoaWxlIHRoZSBldmVudCBhcnJpdmVzCgoyMDExLTA0LTA4IDE1OjIyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogVW5yZWYgZXZlbnQgaWYgdGhlIHBhcmVudCBlbGVtZW50IGRpc2FwcGVhcmVkCgoyMDExLTA0LTA4IDE1OjIyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFVucmVmIGV2ZW50IGlmIHRoZSBwYXJlbnQgZWxlbWVudCBkaXNhcHBlYXJlZAoKMjAxMS0wMy0yMSAxNjowNDozNCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBNYWtlIHVwc3RyZWFtIGV2ZW50cyBNVC1zYWZlCgoyMDExLTAzLTIxIDE2OjA0OjM0ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBNYWtlIHVwc3RyZWFtIGV2ZW50cyBNVC1zYWZlCgoyMDExLTA0LTA4IDE1OjIwOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cDogVW5yZWYgZXZlbnRzIGlmIHRoZSBwYXJlbnQgZWxlbWVudCBkaXNhcHBlYXJlZAoKMjAxMS0wMS0wNiAxODoyNDozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cG1hbmFnZXI6IGZpeCBwYWQgY2FsbGJhY2tzIHNvIHRoZXkgaGFuZGxlIHdoZW4gcGFyZW50IGdvZXMgYXdheQoJICAxKSBXZSBuZWVkIHRvIGxvY2sgYW5kIGdldCBhIHN0cm9uZyByZWYgdG8gdGhlIHBhcmVudCwgaWYgc3RpbGwgdGhlcmUuCgkgIDIpIElmIGl0IGhhcyBnb25lIGF3YXksIHdlIG5lZWQgdG8gaGFuZGxlIHRoYXQgZ3JhY2VmdWxseS4KCSAgVGhpcyBpcyBuZWNlc3NhcnkgaW4gb3JkZXIgdG8gc2FmZWx5IG1vZGlmeSBhIHJ1bm5pbmcgcGlwZWxpbmUuIEhhcyBiZWVuCgkgIG9ic2VydmVkIHdoZW4gYSBzdHJlYW1pbmcgdGhyZWFkIGlzIGRvaW5nIGEgYnVmZmVyX2FsbG9jKCkgd2hpbGUgYW4KCSAgYXBwbGljYXRpb24gdGhyZWFkIHNlbmRzIGFuIGV2ZW50IG9uIGEgcGFkIGZ1cnRoZXIgZG93bnN0cmVhbSwgYW5kIGZyb20KCSAgd2l0aGluIGEgcGFkIHByb2JlIChob2xkaW5nIFNUUkVBTV9MT0NLKSBjYXJyaWVzIG91dCB0aGUgcGlwZWxpbmUgcGx1bWJpbmcKCSAgd2hpbGUgdGhlIHN0cmVhbWluZyB0aHJlYWQgaGFzIGl0cyBidWZmZXJfYWxsb2MoKSBpbiBwcm9ncmVzcy4KCjIwMTAtMTEtMjYgMTU6MjA6MDQgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbWFrZSBpdGVyYXRlX2ludGVybmFsX2xpbmtzIE1ULXNhZmUKCjIwMTEtMDQtMDggMTQ6MzU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBSZXZlcnQgIlB1bHNlc2luazogQWxsb3cgY2h1bmtzIHVwIHRvIGJ1ZnNpemUgaW5zdGVhZCBvZiBzZWdzaXplIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFlMmMxNDY3YWUwNDJhM2M2YmIxYTZiYzBjMDdhZWZmMTNlYzVlZGIuCgkgIFRoZSBjb21taXQgY2F1c2VzIHB1bHNlc2luayB0byBpZ25vcmUgdGhlIGxhdGVuY3ktdGltZSBiYXNlYXVkaW9zaW5rIHByb3BlcnR5LgoKMjAxMS0wNC0wOCAxMToxMzowNyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBydHBzcGVleHBheTogRG8gbm90IHRyYW5zbWl0dCBzYW1wbGVzIHdpdGggR0FQIGZsYWcKCSAgSWYgd2UgZ2V0IEdBUCBzYW1wbGVzLCB0aGVyZSBpcyBubyBuZWVkIHRvIHRyYW5zbWl0dCBpdC4KCSAgSW4gc29tZSBzaXR1YXRpb25zLCBtaWNyb3Bob25lIGlzIG11dGVkLCB3ZSBjYW4gZHJvcCBuZXQgdHJhZmZpY2sKCSAgdXNhZ2UgdG8gfjEga2JpdC9zLiBXaXRob3V0IHBhdGNoIGl0IHdpbGwgc3RheSB+MjAga2JpdC9zCgoyMDExLTA0LTA4IDExOjExOjU4ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IFVzZSBzcGVleCBpbnRlcm4gc2lsZW5jZSBkZXRlY3Rpb24KCSAgU3BlZXggaGFzIGJ1aWxkIGluIHNpbGVuY2UgZGV0ZWN0aW9uLiBJZiBzcGVleF9lbmNvZGVfaW50IHJldHVybnMgMCwKCSAgdGhhbiB0aGVyZSBpcyBzaWxlbmNlIGFuZCBzYW1wbGUgZG8gbm90IG5lZWQgdG8gYmUgdHJhbnNtaXR0ZWQuCgkgIFRoaXMgd29yayBvbmx5IGlmIHZicj0xIGFuZCBkdHg9MSBvcHRpb25hcyBhcmUgZW5hYmxlZC4KCSAgU28gaWYgd2UgZ2V0IDAsIHdlIGFkZCBHQVAgZmxhZyB0byB0aGUgc2FtcGxlLgoKMjAxMS0wNC0wNyAxOTowNDozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJICBydHA6IHBvcnQgc29tZSBwYXkvZGVwYXlsb2FkZXJzCgoyMDExLTA0LTA1IDE5OjE1OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogaGFuZGxlIHNjYXRoZXIgZ2F0aGVyIGZyb20gYnVmZmVycwoJICBJdGVyYXRlIHRoZSBtZW1vcnkgYmxvY2tzIG9uIHRoZSBidWZmZXIgYW5kIHNlbmQgdGhlbSB1c2luZyBzZW5kbXNnLgoKMjAxMS0wNC0wNSAxNzoyNjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IHJlc2V0IHN0cnVjdHVyZSBiZWZvcmUgdXNlCgoyMDExLTA0LTA1IDE3OjIwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYwoKMjAxMS0wNC0wNSAxNzoxMjoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlICogY29udHJvbCBjb3JyZWN0bHkKCSAgUGFyc2Ugc2Vzc2lvbiBjb250cm9sIGF0dHJpYnV0ZXMgd2hlbiBubyBtZWRpYSBjb250cm9sIGF0dHJpYnV0ZSBpcwoJICBwcmVzZW50LiBUaHJlYXQgKiBjb250cm9sIGF0dHJpYnV0ZXMgYXMgYW4gZW1wdHkgc3RyaW5nLCBqdXN0IGxpa2UgdGhlCgkgIHNwZWMgc2F5cy4KCSAgRml4ZXMgIzY0NjgwMAoKMjAxMS0wNC0wNSAxNzowNjo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBydHNwL3VkcDogcG9ydCB0byAwLjExCgoyMDExLTA0LTA1IDE0OjI4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBBLUxhdyBhbmQgwrUtTGF3CgkgIEZpeGVzIGJ1ZyAjNjQ2NTY3LgoKMjAxMS0wNC0wNSAwOTo0NDowMSArMDIwMCAgSm9uIE5vcmRieSA8am9ub25vckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEZpeCBidWlsZCB3aXRoIGphY2sgMC4xMjAuMQoJICA5NTQ0NjIyNjc0YzBkMGEzMTQ3YTliNTExNDUxNTliMDJlZWM2OGU5IGNoZWNrZWQKCSAgZm9yIDAuMTIwLjIgYW5kIGxhdGVyLCBidXQgdGhlIGRlcHJlY2F0aW9uIHdhcyBpbnRyb2R1Y2VkIGluCgkgIDAuMTIwLjEKCjIwMTEtMDQtMDUgMTE6MTM6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIGF2aTogbW9yZSBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMDQtMDUgMTI6MDU6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICBkb2NzOiBmaXggZG9jdWVtbnRhdGlvbiB3YXJuaW5ncyAoYW5kIHJlaW5kZW50KQoKMjAxMS0wNC0wNCAxOToxNzo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpOiBwb3J0IHRvIDAuMTEgQVBJCgoyMDExLTA0LTA0IDE3OjM0OjE3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiB1cGRhdGUgb3JjIGRpc3QgZmlsZXMKCjIwMTEtMDQtMDQgMTU6NTc6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWNjYmUwOSB0byBjM2NhZmUxCgoyMDExLTAzLTAxIDE0OjA4OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBBbHdheXMgY2FsbCBwYV9zdHJlYW1fbmV3X3dpdGhfcHJvcGxpc3QoKQoJICBwYV9zdHJlYW1fbmV3X3dpdGhfcHJvcGxpc3QoKSBjYW4gdGFrZSBhIE5VTEwgcHJvcGxpc3QsIHNvIHdlIGRvbid0IG5lZWQKCSAgdG8gY29uY2VybiBvdXJzZWx2ZXMgd2l0aCB3aGV0aGVyIGl0J3MgTlVMTCBvciBub3QuCgoyMDExLTA0LTA0IDExOjMzOjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGVyZm9ybSBwb3N0LWZsdXNoIHN0YXRlIHRyaWNrcyBkb3duc3RyZWFtIHRvIHVwc3RyZWFtCgkgIC4uLiBzbyBkb3duc3RyZWFtIGlzIHNldCB3aGVuIHVwc3RyZWFtIHJlc3VtZXMgZGF0YSBmbG93LgoKMjAxMS0wNC0wNCAxMToyNzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRpc3RyaWJ1dGUgbmV3IGJhc2VfdGltZSB0byBtYW5hZ2VyIGNoaWxkcmVuIGZvbGxvd2luZyBmbHVzaCBzZWVrCgkgIC4uLiBieSBmb3JjaW5nIGEgc3RhdGUgY2hhbmdlZCB0byBQTEFZSU5HLCB3aGljaCBzaG91bGQgb3RoZXJ3aXNlIGJlIGEKCSAgbm8tb3AgYXMgZWxlbWVudHMgc2hvdWxkIGFscmVhZHkgYmUgaW4gdGhhdCBzdGF0ZS4KCSAgSW4gcGFydGljdWxhciwgaml0dGVyYnVmZmVyIG5lZWRzIG5ldyBiYXNlX3RpbWUgYXMgc29vbiBhcyBwb3NzaWJsZSB0byBwZXJmb3JtCgkgIHByb3BlciB0aW1pbmcgKGUuZy4gZW9zIHRpbWVvdXQgaGFuZGxpbmcpIGFuZCBjYW4ndCB3YWl0IGZvciB0aGUgbmV3IGJhc2VfdGltZQoJICB0aGF0IHdpbGwgYmUgZGlzdHJpYnV0ZWQgd2hlbiB0aGUgd2hvbGUgcGlwZWxpbmUgcmV0dXJucyB0byBQTEFZSU5HLgoJICBTZWUgYnVnICM2NDYzOTcuCgoyMDExLTA0LTA0IDExOjM1OjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgImppdHRlcmJ1ZmZlcjogcmVzZXQgZWxlbWVudCBiYXNlX3RpbWUgdXBvbiBmbHVzaCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmODRiOGE2OWNiYTljNTM4ZjU1NDY4NjljYjRlZjQ1NGFkNWVmYjlkLgoJICBGaXhlcyBidWcgIzY0NjM5Ny4KCjIwMTEtMDQtMDQgMTA6MzE6NDQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogU3BlY2lmeSB0aGUgb25seSBwb3NzaWJsZSBzdHJlYW0tZm9ybWF0IGZvciBoMjY0IGluIHRoZSBwYWQgdGVtcGxhdGVzLgoKMjAxMS0wNC0wNCAxMDowNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGZvciBpbnZhbGlkIChlbXB0eSkgY2xhc3NpZmljYXRpb24gaW5mbyBlbnRpdHkgc3RyaW5ncwoJICBPdGhlcndpc2UgdGhlIGNsYXNzaWZpY2F0aW9uIHN0cmluZyBjYW4gYmUgZW1wdHkgYW5kIGdzdF90YWdfbGlzdF9hZGQoKSB3aWxsCgkgIGNvbXBsYWluIG9yIGhhdmUgYSBcMCBpbiB0aGUgZmlyc3QgZm91ciBieXRlcywgd2hpY2ggaXMgd3JvbmcgdG9vLgoKMjAxMS0wNC0wNCAxMDowMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFllYXIgMCBpcyBub3QgYSB2YWxpZCB5ZWFyIGZvciBHRGF0ZSBhbmQgdGhlIHByb2xlcHRpYyBncmVnb3JpYW4gY2FsZW5kYXIKCjIwMTEtMDQtMDEgMTM6MTg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNRVRBREFUQV9CTE9DS19QSUNUVVJFIGJsb2NrcyBmb3IgR1NUX1RBR19JTUFHRSBhbmQgR1NUX1RBR19QUkVWSUVXX0lNQUdFCgoyMDExLTA0LTAxIDExOjMzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlclsyXTogVXNlIG9yY19tZW1zZXQoKSBpbnN0ZWFkIG9mIG1lbXNldCgpCgoyMDExLTAxLTE5IDE4OjA2OjQ1IC0wNzAwICBMYW5lIEJyb29rcyA8ZGlyanVkQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBBZGQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBvcHRpb24gZm9yIGFscGhhIGNoYW5uZWwgZm9ybWF0cwoKMjAxMS0wMS0xOSAxMjowNzoxNyAtMDcwMCAgTGFuZSBCcm9va3MgPGRpcmp1ZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBBZGQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBvcHRpb24gZm9yIGFscGhhIGNoYW5uZWwgZm9ybWF0cwoJICBUaGlzIG9wdGlvbiBhbGxvd3MgdGhlIHZpZGVvbWl4ZXIyIGVsZW1lbnQgdG8gb3V0cHV0IGEgdmFsaWQgYWxwaGEKCSAgY2hhbm5lbCB3aGVuIHRoZSBpbnB1dHMgY29udGFpbiBhIHZhbGlkIGFscGhhIGNoYW5uZWwuIFRoaXMgYWxsb3dzCgkgIG1peGluZyB0byBvY2N1ciBpbiBtdWx0aXBsZSBzdGFnZXMgc2VyaWFsbHkuCgkgIFRoZSBmb2xsb3dpbmcgcGlwZWxpbmUgc2hvd3MgYW4gZXhhbXBsZSBvZiBzdWNoIGEgcGlwZWxpbmU6CgkgIGdzdC1sYXVuY2ggdmlkZW90ZXN0c3JjIGJhY2tncm91bmQtY29sb3I9MHgwMDAwMDAgcGF0dGVybj1iYWxsICEgdmlkZW8veC1yYXcteXV2LGZvcm1hdD1cKGZvdXJjY1wpQVlVViAhIHZpZGVvbWl4ZXIyIGJhY2tncm91bmQ9dHJhbnNwYXJlbnQgbmFtZT1taXgxICEgdmlkZW9taXhlcjIgbmFtZT1taXgyICEgZmZtcGVnY29sb3JzcGFjZSAhIGF1dG92aWRlb3NpbmsgIHZpZGVvdGVzdHNyYyAhIHZpZGVvL3gtcmF3LXl1dixmb3JtYXQ9XChmb3VyY2NcKUFZVVYgISBtaXgyLgoJICBUaGUgZmlyc3QgdmlkZW90ZXN0c3JjIGluIHRoaXMgcGlwZWxpbmUgY3JlYXRlcyBhIG1vdmluZyBiYWxsIG9uIGEKCSAgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC4gSXQgaXMgdGhlbiBwYXNzZWQgdG8gdGhlIGZpcnN0IHZpZGVvbWl4ZXIyLgoJICBQcmV2aW91c2x5LCB0aGlzIHZpZGVvbWl4ZXIyIHdvdWxkIGhhdmUgZm9yY2VkIHRoZSBhbHBoYSBjaGFubmVsIHRvCgkgIDEuMCBhbmQgZ2l2ZW4gYSBiYWNrZ3JvdW5kIG9mIGNoZWNrZXIsIGJsYWNrLCBvciB3aGl0ZSB0byB0aGUKCSAgc3RyZWFtLiBXaXRoIHRoaXMgcGF0Y2gsIGhvd2V2ZXIsIHlvdSBjYW4gbm93IHNwZWNpZnkgdGhlIGJhY2tncm91bmQKCSAgYXMgdHJhbnNwYXJlbnQsIGFuZCB0aGUgYWxwaGEgY2hhbm5lbCBvZiB0aGUgaW5wdXQgd2lsbCBiZQoJICBwcmVzZXJ2ZWQuIFRoaXMgYWxsb3dzIGZvciBmdXJ0aGVyIG1peGluZyBkb3duc3RyZWFtLCBhcyBpcyBzaG93biBpbgoJICB0aGUgYWJvdmUgcGlwZWxpbmUgd2hlcmUgdGhlIGEgc2Vjb25kIHZpZGVvbWl4ZXIyIGlzIHVzZWQgdG8gbWl4IGluIGEKCSAgYmFja2dyb3VuZCBvZiBhbiBzbXB0ZSB2aWRlb3Rlc3RzcmMuIFNvIHRoZSByZXN1bHQgaXMgYSBiYWxsIGhvdmVyaW5nCgkgIG92ZXIgdGhlIHNtcHRlIHRlc3Qgc291cmNlLiBUaGlzIGNvdWxkLCBvZiBjb3Vyc2UsIGhhdmUgYmVlbgoJICBhY2NvbXBsaXNoZWQgd2l0aCBhIHNpbmdsZSBtaXhlciBlbGVtZW50LCBidXQgc3RhZ2VkIG1peGluZyBpcyB1c2VmdWwKCSAgd2hlbiBpdCBpcyBub3QgY29udmVuaWVudCB0byBtaXggYWxsIHZpZGVvIGF0IG9uY2UgKGUuZy4gYSBwaXBlbGluZQoJICB3aGVyZSBhIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgYmluIGV4aXN0IGFuZCBhcmUgbWl4ZWQgYXQgdGhlIGZpbmFsCgkgIG91dHB1dCwgYnV0IHRoZSBmb3JlZ3JvdW5kIGJpbiBuZWVkcyBhbiBpbnRlcm5hbCBtaXhlciB0byBjcmVhdGUKCSAgdHJhbnNpdGlvbnMgYmV0d2VlbiBjbGlwcykuCgkgIEZpeGVzIGJ1ZyAjNjM5OTk0LgoKMjAxMS0wMy0zMSAxMzoyNTowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWxzbyB1bmNvcmsgZHVyaW5nIEVPUyB3YWl0aW5nIChhbmQgYWZ0ZXIgRU9TIGlzIHJlbmRlcmVkKQoJICBQdWxzZXNpbmsgd2FzIHJlY2VudGx5IGNoYW5nZWQgdG8gZGVmZXIgdW5jb3JraW5nIHVudGlsIHRoZXJlIGlzIGRhdGEKCSAgdG8gd3JpdGUuIFRoaXMgY29uZGl0aW9uIHdpbGwgaG93ZXZlciBuZXZlciBvY2N1ciB3aGVuIEVPUyBpbiBiZWluZwoJICByZW5kZXJlZCAoc2luY2UgdGhhdCBtYXJrcyB0aGUgZW5kIG9mIGRhdGEpLiBDaGFuZ2luZyB0byBQQVVTRUQgc3RhdGUKCSAgd2hpbGUgRU9TIGlzIGJlaW5nIHdhaXRlZCBvbiByZXN1bHRzIGluIGEgaGFuZzogcGF1c2luZyBjb3JrcyB0aGUKCSAgc3RyZWFtLCB3aGljaCB3aWxsIG5ldmVyIGJlIHVuZG9uZSBzaW5jZSB0aGVyZSBpcyBubyBtb3JlIGRhdGEgd2hlbgoJICBnb2luZyBiYWNrIHRvIFBMQVlJTkcuIElmIHB1bHNlc2luayBpcyB0aGUgY2xvY2sgcHJvdmlkZXIsIGRlYWRsb2NrCgkgIGVuc3VlcyBzaW5jZSB0aW1lIGRvZXNuJ3QgY29udGludWUgaW4gY29ya2VkIHN0YXRlIGFuZCB0aGUgY2xvY2sgaWQKCSAgZm9yIEVPUyB3YWl0IG5ldmVyIGZpcmVzLgoJICBGaXhlcyAjNjQ1OTYxLgoKMjAxMS0wMy0yOSAxNjozMzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBEb24ndCB0cnkgdG8gcmVxdWVzdCB0aGUgc2FtZSByZXF1ZXN0IHBhZCB0d2ljZQoKMjAxMS0wMy0yOCAyMzo0Njo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZml4IGlzc3VlcyB3aXRoIGxhcmdlIG1ldGFkYXRhIGJsb2NrcyB3aGVuIHN0cmVhbWluZyB1bmZyYW1lZCBmbGFjCgkgIFBhcnNlIG1ldGFkYXRhIGJsb2NrcyB3aGVuIGhhbmRsaW5nIHVucGFyc2VkIGZsYWMgaW4gcHVzaCBtb2RlLiBUaGlzCgkgIHdvcmtzIGFyb3VuZCBhIGJ1bmNoIG9mIGlzc3VlcyB3aXRoIHRoZSBmbGFjIGRlY29kZXIgd2hlbiBoYW5kbGluZwoJICBtZXRhZGF0YSBibG9ja3MgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIG1heC4gZmxhYyBmcmFtZXNpemUsIHdoaWNoCgkgIGNvdmVyYXJ0IGJsb2NrcyBvZnRlbiBhcmUuIFdlIG5lZWQgdG8gaGF2ZSBhbGwgdGhlIGRhdGEgZm9yIHRoZXNlCgkgIGJsb2NrcyBhdmFpbGFibGUgd2hlbiB3ZSBwYXNzIGRhdGEgdG8gbGliZmxhYy4KCSAgaHR0cDovL2dzdHJlYW1lci1kZXZlbC45NjYxMjUubjQubmFiYmxlLmNvbS9GbGFjLWZpbGVzLXRoYXQtd2lsbC1wbGF5YmFjay1idXQtbm90LXN0cmVhbS10ZDMzMzgxOTguaHRtbCNhMzM5NTI3NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY2NzY5CgoyMDExLTAzLTI4IDIxOjA1OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBwbHVnaW5zOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDExLTAzLTI4IDIwOjUwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMS1mZG8KCjIwMTEtMDMtMjcgMjE6Mzk6NTAgKzAyMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IERvIG5vdCBidWlsZCBhbiBpbmRleCBpZiB1cHN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgQW4gaW5kZXggaXMgbm90IHVzZWZ1bCBpZiB1cHN0cmVhbSBjYW5ub3QgaGFuZGxlIHNlZWtzIGFuZCBidWlsZGluZyBpdAoJICBmb3IgaW5maW5pdGUgZmlsZXMsIGZvciBpbnN0YW5jZSBGTFYgc3RyZWFtcywgcmVzdWx0cyBpbiBhIG1lbW9yeSBsZWFrLgoKMjAxMS0wMy0yNyAwMToxOTo1OCArMDMwMCAgQWxleGV5IENoZXJub3YgPDRlcm5vdkBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uaDoKCSAgdjRsMjogbmV3IHY0bDJyYWRpbyBlbGVtZW50IHRvIGNvbnRyb2wgYW5hbG9nIHJhZGlvIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDExOAoKMjAxMS0wMy0yNSAyMjoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5M2I3MTcgdG8gMWNjYmUwOQoKMjAxMS0wMy0yNSAxNDo1NjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNzdlMmJmIHRvIDE5M2I3MTcKCjIwMTEtMDMtMjUgMTI6NTM6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm86IGZpeCB0aGUgbmFtZSBvZiB0aGUgKi1tYXJzaGFsbC5saXN0IGZpbGUgdG8gdW5icmVhayBtYWtlIGRpc3RjaGVjawoKMjAxMS0wMy0yNSAwOTozMTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ4ODE0YjYgdG8gYjc3ZTJiZgoKMjAxMS0wMy0yNSAwOTowNjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYWEyODYgdG8gZDg4MTRiNgoKMjAxMS0wMy0yNSAwMDoxMDo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogcmVmYWN0b3IgcHJvY2Vzc2luZyBsb29wIGZvciBibG9jayBiYXNlZCBvcGVyYXRpb24KCSAgUHJldmlvdXNseSB0aGUgY2hhaW4gZnVuY3Rpb24gd2FzIHdvcmtpbmcgc2FtcGxlIGZyYW1lIGJhc2VkLiBJbiBlYWNoIGN5Y2xlIGl0CgkgIHdhcyBjaGVja2luZyBpZiBpdCBpcyB0aW1lIHRvIHJ1biBhIGZmdCBvciBpZiBpdCBpcyB0aW1lIHRvIHNlbmQgYSBtZXNzYWdlLgoJICBOb3cgd2UgY2hhbmdlZCB0aGUgZGF0YSB0cmFuc2Zvcm0gZnVuY3Rpb25zIHRvIHdvcmsgb24gYSBibG9jayBvZiBkYXRhIGFuZAoJICBjYWxjdWxhdGUgdGhlIG1heCBsZW5ndGggdW50aWwgZWl0aGVyIHtlbmQtb2YtZGF0YSwgZG8tZmZ0LCBkby1tc2d9LiBUaGlzIGFsbG93cwoJICB1cyBhbHNvIHRvIGF2b2lkIHRoZSBkdXBsaWNhdGVkIGNvZGUgZm9yIHRoZSBzaW5nbGUgYW5kIG11bHRpLWNoYW5uZWwgY2FzZSAoYXMKCSAgdGhlIHRyYW5zZm9ybWVycyBoYXZlIHRoZSBzYW1lIHNpZ25hdHVyZSBub3cpLgoKMjAxMS0wMy0yNCAyMzo0NzozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBqYWNrOiB1bmJyZWFrIHRoZSBidWlsZCBmb3IgamFjazIgdXNlcnMKCSAgSmFjazIgKHZlcnNpb25zIDEuWC5YKSBkb2VzIG9ubHkgaGF2ZSB0aGF0IEFQSSBpbiBzdm4uIExpbW1pdCB0aGUgdXNlIG9mIHRoZSBuZXcKCSAgQVBJIGZvciBqYWNrMSB2ZXJzaW9ucy4KCjIwMTEtMDMtMjQgMTg6NDk6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFlYzZiOSB0byA2YWFhMjg2CgoyMDExLTAzLTI0IDE0OjE0OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGZpeCB0aGUgZXJyb3IgYWNjdW11bGF0aW9uIGFuZCBmcmFtZXNfdG9kbyBoYW5kbGluZwoJICBFdmVuIHRob3VnaCB3ZSB3cmFwIGFyb3VuZCB0aGUgYWNjdW11bGF0ZWQgc2Vjb25kLCB3ZSBzdGlsbCBuZWVkIHRvIGFkZCB0aGUKCSAgZXJyb3IgaW4gdGhlIHNhbWUgY3ljbGUuIEluY3JlYXNlIHRoZSB0b2RvIGluIHRoZSBzYW1lIGNvbmRpdGlvbmFsIGFzIGFmdGVyd2FyZHMKCSAgdGhlIGFjY3VtdWxhdGVkIGVycm9yIHdpbGwgYmUgYmVsb3cgb25lIHNlY29uZC4KCjIwMTEtMDMtMjQgMTM6NTM6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZml4IGJyb2tlbiBjb2RlIHJlc3VsdGluZyBmb3IgYSB3cm9uZyBzcGxpdHVwIG9mIGNoYW5nZXMKCjIwMTEtMDMtMjIgMTY6Mjk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHNpbXBsaWZ5IHRoZSBoYXZlX2ludGVydmFsIGNhbGN1bGF0aW9uCgkgIE1vdmUgc29tZSBvZiB0aGUgY29uZGl0aW9ucyB0byB0aGUgcGxhY2VzIHdoZXJlIHRoZSBkZXBlbmRlbnQgdmFyaWFibGVzIGNoYW5nZS4KCjIwMTEtMDMtMjIgMTY6MjY6NDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogdXNlIGxvY2FsIHZhciBmb3IgaW5wdXRfZGF0YSBmdW5jdGlvbgoJICBBdm9pZCBkZXJlZmVyZW5jaW5nIHRoZSBpbnB1dF9kYXRhIGZyb20gdGhlIGluc3RhbmNlIGZyb20gd2l0aGluIGFuIGlubmVyIGxvb3AuCgoyMDExLTAzLTIzIDE2OjM0OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IEdldCBhbmQgdXNlIHN0cmVhbWhlYWRlciBmcm9tIHRoZSBjYXBzIGlmIHBvc3NpYmxlCgkgIFRoaXMgYWxsb3dzIHBsYXliYWNrIG9mIHN0cmVhbXMgd2hlcmUgdGhlIHN0cmVhbWhlYWRlciBidWZmZXJzCgkgIHdlcmUgZHJvcHBlZCBmcm9tIHRoZSBzdHJlYW0gZm9yIHNvbWUgcmVhc29uLgoKMjAxMS0wMy0yMiAxOTozNjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBGaXhlcyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxOTozNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgRml4ZXMgIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTk6MzU6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgU2VlIGJ1ZyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxMjo1MzoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkKCSAgY2xlYW5lZCB0aGUgcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpIGluIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMy0xOCAxOTozNDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW46IHdpbmdvIHNpZ25lZCBjb21tZW50CgoyMDExLTAzLTE2IDEwOjQzOjQ3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2thdWRpb3Npbms6IEZpeCB0eXBvIGZyb20gOTU0NDYyMjY3NGMwZDBhMzE0N2E5YjUxMTQ1MTU5YjAyZWVjNjhlOQoKMjAxMS0wMy0xNiAwOTozODo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogTWFyayB0YWcgbWFwcGluZyB0YWJsZXMgYXMgc3RhdGljIGNvbnN0CgoyMDExLTAzLTE2IDA5OjM3OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSBBUlRJU1QgaW5zdGVhZCBvZiBBVVRIT1IgZm9yIEdTVF9UQUdfQVJUSVNUCgoyMDExLTAzLTE2IDA5OjM1OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBBUlRJU1QgTWF0cm9za2EgdGFnIGluc3RlYWQgb2YgQVVUSE9SIGZvciBHU1RfVEFHX0FSVElTVAoJICBBVVRIT1Igb25seSBleGlzdGVkIGluIGFuIG9sZCB2ZXJzaW9uIG9mIHRoZSBzcGVjIGFuZCBBUlRJU1QgaXMKCSAgdGhlIG5ldyByZXBsYWNlbWVudCBmb3IgdGhpcy4gV2UgYXJlIHN0aWxsIHJlYWRpbmcgYm90aCB0byBzdGlsbAoJICBiZSBjb21wYXRpYmxlIHdpdGggb2xkIGZpbGVzLgoJICBGaXhlcyBidWcgIzY0NDg3NS4KCjIwMTEtMDMtMTUgMjA6MTk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdGVzdHM6IGVuYWJsZSBtb3JlIGZvcm1hdHMgaW4gdmlkZW9maWx0ZXIgdW5pdCB0ZXN0LCBjaGVjayBtb3JlIHJlc29sdXRpb25zCgoyMDExLTAzLTE0IDE5OjE0OjA3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEZpeCBidWZmZXIgb3ZlcmZsb3cgYnVnIGZvciBvZGQgcmVzb2x1dGlvbnMgYW5kIFk0MjIgY29sb3JzcGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDc3MwoKMjAxMS0wMy0xNSAxOTozNjowMSArMDIwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHNpbGVuY2Ugd2FybmluZyBtZXNzYWdlIHdoZW4gYXBwcm9wcmlhdGUKCSAgSWYgd2UgZGlkIG5vdCBrbm93IGhvdyBtYW55IGZyYW1lcyB0byBleHBlY3QsIHRoZW4gd2UgZ2V0IGFuIHVuZXhwZWN0ZWQKCSAgZW5kIG9mIHN0cmVhbSB3aGVuIHRyeWluZyB0byBkZWNvZGUgbW9yZSBmcmFtZXMgdGhhdCBhcmUgdGhlcmUsIGlmIHRoZXJlCgkgIGFyZSBsZWZ0b3ZlciBiaXRzIHRvIHBhZCB0byB0aGUgbmV4dCBieXRlCgoyMDExLTAzLTE0IDE5OjE0OjA3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBVVllWIGFuZCBZVllVIGNvbG9yc3BhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ3NzMKCjIwMTEtMDMtMTUgMDk6NDM6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdGVzdHM6IGluIHZpZGVvZmlsdGVyIHVuaXQgdGVzdCBhbHNvIGNoZWNrIHdpdGggJ29kZCcgd2lkdGhzIGFuZCBoZWlnaHRzCgkgIEFuZCBvbmx5IHVzZSBvbmUgdGVzdCBzdWl0ZS4KCjIwMTEtMDMtMTQgMTk6Mjg6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBBbHdheXMgcHJvY2VzcyB0aGUgbnVtYmVyIG9mIGZyYW1lcyBwZXIgcGFja2V0IGFzIHNwZWNpZmllZCBpbiB0aGUgaGVhZGVyCgkgIExvb2tpbmcgYXQgdGhlIHJlbWFpbmluZyBiaXRzIGluIHRoZSBiaXRzdHJlYW0gYWZ0ZXIgZGVjb2RpbmcgYQoJICBzaW5nbGUgZnJhbWUgY2FuJ3QgYmUgdXNlZCBhcyBsb29wIGNvbmRpdGlvbi4gVGhlIHJlbWFpbmluZwoJICBiaXRzIG1pZ2h0IG5vdCBnaXZlIGEgY29tcGxldGUgZnJhbWUgYW5kIHRoZSBzcGVleCBkZWNvZGVyIHdpbGwKCSAgdGhlbiBvdXRwdXQgbm90aGluZyBidXQgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LCB3aGljaCBsZWFkcwoJICB0byB2YWxncmluZCB3YXJuaW5ncy4KCSAgRml4ZXMgYnVnICM2NDQ2NjkuCgoyMDExLTAzLTE0IDE1OjQ2OjUwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZXR1cm4gVFJVRSBmcm9tIHNpbmsgcGFkIGV2ZW50IGZ1bmN0aW9uIGZvciB0YWcgZXZlbnRzLCB3aGljaCBhcmUgaGFuZGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NzMwCgoyMDExLTAzLTEyIDAwOjQ0OjMxICswNTMwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEJldHRlciBmaXggZm9yIGRlYWRsb2NrIG9uIGZhaWxlZCBjb25uZWN0CgkgIFRoaXMgcmV2ZXJ0cyB0aGUgcHJldmlvdXMgZml4IHRoYXQgd291bGQgY2F1c2UgYSBkb3VibGUtdW5sb2NrIHdoZW4gdGhlCgkgIHN0cmVhbSBjb25uZWN0IGZhaWxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDUxMAoKMjAxMS0wMy0xMSAyMzowNjozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4IGRlYWRsb2NrIGlmIGNvbm5lY3RpbmcgdG8gUEEgZmFpbHMKCSAgQ29tbWl0IGRkNGVjMjJlIGludHJvZHVjZWQgYSBkZWFkbG9jayBpbiB0aGUgZmFpbHVyZSBwYXRoIHdoaWxlIHRyeWluZwoJICB0byBjb25uZWN0IHRvIFB1bHNlQXVkaW8uIFRoaXMgbWFrZXMgc3VyZSB3ZSBkcm9wIHRoZSBsb2NrIG9uIHRoZQoJICByZXNvdXJjZSBtdXRleCB0byBhdm9pZCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NTEwCgoyMDExLTAzLTExIDE2OjU5OjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG9yZGVyIHN0YXRlLXRlc3QgYmxhY2tsaXN0IGFuZCBhZGQgamFjayBlbGVtZW50cwoJICBKYWNrIGF1ZGlvIHNyYy9zaW5rIGVsZW1lbnRzIHJlY2VudGx5IGdvdCBtb3ZlZCBmcm9tIGJhZCBhbmQgc2hvdWxkIGJlIGV4Y2x1ZGVkCgkgIGZyb20gdGhlIHRlc3QgKGxpa2UgdGhlIG90aGVyIGRldmljZSBzcGVjaWZpYyBzb3VyY2UgYW5kIHNpbmtzKS4KCSAgRml4ZXMgIzY0NDI4OAoKMjAxMS0wMy0xMSAxMzo0NzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyA6OnNlbmRfZXZlbnQgZm9yIG5vbi1zZWVrIGV2ZW50cwoKMjAxMS0wMy0xMSAxMzo0NjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBGaXggcmVmY291bnQgaXNzdWVzIHdpdGggdGhlIHNlZWsgZXZlbnQKCSAgRml4ZXMgYnVnICM2NDI5NjMuCgoyMDExLTAzLTExIDA5OjU0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgZG9jczogZml4IHB1bHNlc2luayBndGstZG9jIG1hcmt1cAoKMjAxMS0wMy0xMSAxMDoyOTowOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IGJ1aWxkIGFnYWluc3QgamFjayAwLjEyMC4yCgkgIGphY2tfcG9ydF9nZXRfdG90YWxfbGF0ZW5jeSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YKCSAgamFja19wb3J0X2dldF9sYXRlbmN5X3JhbmdlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ0NzcKCjIwMTEtMDMtMTAgMTQ6Mjk6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogbW9yZSBjb21tZW50cyBhbmQgdHVuZSBhbmQgbG9nZ2luZwoKMjAxMS0wMy0xMCAxNDoxNTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhdm9pZCB1bm5lY2Nlc2FyeSBleHRyYSBmZnQgcnVucwoJICBCZWZvcmUgaXQgd2FzIHBvc3NpYmxlIHRoYXQgd2UgcnVuIGFuIGV4dHJhIGZmdCB3aGVuIHRoZSB0aW1lIGZvciBzZW5kaW5nIGEgbmV3CgkgIG1lc3NhZ2UgaXMgZHVlLiBPbmx5IGRvIHRoaXMgaWYgd2UgaGF2ZSBub3QgcnVuIHRoZSBmZnQgZm9yIHRoZSBpbnRlcnZhbCBhdCBhbGwuCgoyMDExLTAzLTEwIDE0OjEyOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IG9ubHkgc2NhbGUgdGhlIHZlY3RvcnMgdGhhdCB3ZSBhcmUgcHJvY2Vzc2luZwoJICBQaGFzZSBpcyBub3QgcHJvZHVjZWQgYnkgZGVmYXVsdCwgc28gbGV0cyBub3Qgc2NhbGUgaXQgdW5jb25kaXRpb25hbGx5IHRvIHNhdmUgYQoJICBmZXcgY3ljbGVzLgoKMjAxMS0wMy0xMCAxNDoxMDoyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogcHV0IG51bWJlciBvZiBjaGFubmVscyB0byBpbnN0YW5jZSB2YXJpYWJsZQoJICBXaGVuIGZyZWVpbmcgZGF0YSB0aGUgZm9ybWF0IG1pZ2h0IGhhdmUgY2hhbmdlZC4gVGh1cyB3ZSBuZWVkIHRvIHJlbWVtYmVyIGZvcgoJICB3aGljaCBmb3JtYXQgd2UgYWxsb2NhdGVkIG1lbW9yeS4KCjIwMTEtMDMtMTAgMTA6Mjc6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogdXBkYXRlIGRvYyByZXZpZXcgc3RhbXAKCjIwMTEtMDMtMTAgMTA6MjI6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHVzZSBmdW5jdGlvbiBwb2ludGVycyBmb3IgZGF0YSByZWFkZXJzCgkgIERvbid0IGNoZWNrIHRoZSBmb3JtYXQgZm9yIGVhY2ggc2FtcGxlIGZyYW1lIHRvIHJlYWQuIFdlIGNhbiBtYWtlIHRoYXQgZGVjaXNzaW9uCgkgIGluIF9zZXR1cCBhbHJlYWR5LiBUaGlzIGlzIHN0aWxsIG5vdCBpZGVhbCBhcyB3ZSBjYWxsIHRoZSBmdW5jdGlvbiBwZXIgZnJhbWUuCgkgIElkZWFsbHkgd2UgZGV0ZXJtaW5lIGhvdyBtYW55IHNhbXBsZXMgd2UgY2FuIGNvcHkgYW5kIGhhdmUgYSBsb29wIGluIHRoZSBpbnB1dAoJICByZWFkZXIuIEFzIGFuIGFsdGVybmF0aXZlIHdlIG1pZ2h0IGFsc28gY29uc2lkZXIgdG8gdXNlIHRoZSBmZnQgdmFyaWFudHMgZm9yIHRoZQoJICB2YXJpb3VzIGZvcm1hdHMgYW5kIG5vdCBjb252ZXJ0IHRvIGZsb2F0IGZvciBhbGwgY2FzZXMgLSB3ZSB3b3VsZCBzdGlsbCBuZWVkIHRvCgkgIG1peCBvciBkZWludGVybGVhdmUgdGhvdWdoLgoKMjAxMS0wMy0wOSAxNzowNzo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wcm92ZSByZWNvdmVyeSBmcm9tIGZhaWxlZCBzZWVrCgkgIEluIGNhc2Ugc2VydmVyLXNpZGUgZmFpbHMgdG8gcGVyZm9ybSBzZWVrLCBpLmUuIFBMQVkgYXQgbm9uLXplcm8gcmVxdWVzdGVkCgkgIHBvc2l0aW9uLCByZWNvdmVyeSBzbyBmYXIgd291bGQgYXJyYW5nZSBmb3Igc3RyZWFtaW5nIHRvIGNvbnRpbnVlLCBhbGJlaXQKCSAgaGF2aW5nIGxvc3QgcG9zaXRpb24gdHJhY2tpbmcgaW4gdGhlIHByb2Nlc3MuICBTbywgcXVlcnkgcG9zaXRpb24gcHJpb3IKCSAgdG8gc2VlayBhbmQgdXNlIHVwb24gZmFpbGVkIHNlZWsuCgoyMDExLTAzLTA5IDE2OjUxOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSBwb3NpdGlvbiBxdWVyeQoKMjAxMS0wMy0wOSAxNjo1NzoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogIG11bHRpLWNoYW5uZWwgc3VwcG9ydAoJICBBZGQgYSBib29sZWFuIG11bHRpLWNoYW5uZWwgcHJvcGVydHkgd2l0aCBhIGRlZmF1bHQgb2YgRkFMU0UuIFdoZW4gc2V0IHRvIFRSVUUKCSAgdGhlIGVsZW1lbnQgd29uJ3QgbWl4IGFsbCBpbnB1dCBjaGFubmVscyB0byBtb25vLCBidXQgaW5zdGVhZCBydW4gYSBGRlQgb24gZWFjaAoJICBjaGFubmVsLiBJbiB0aGF0IGNhc2UgdGhlIHJlc3VsdCBtZXNzYWdlIHdvdWxkIGNvbnRhaW4gYSAyIGRpbWVuc2lvbmFsIGFycmF5CgkgIG9mIGNoYW5uZWwgeCBkYXRhIGZvciBtYWduaXR1ZGUgYW5kIHBoYXNlLgoJICBBUEk6IEdzdFNwZWN0cnVtOm11bHRpLWNoYW5uZWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MzQ4MgoKMjAxMS0wMy0wOSAxNjo1NTo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBtb3JlIHhyZWZzIGluIHRoZSBkb2NzCgoyMDExLTAzLTA5IDEyOjQxOjE1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGZhY3RvciBvdXQgdGhlIGNvZGUgdGhhdCBhY2N1bXVsYXRlZCBzYW1wbGVzIGludG8gdGhlIHJpbmctYnVmZmVyCgkgIFVzZSBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvIHJlYWQgYSBzYW1wbGUgZnJhbWUgaW50byBhIHJpbmdidWZmZXIgc2xvdC4gSW4gdGhlCgkgIGZ1dHVyZSB3ZSBjYW4gdXNlIGZvcm1hdC1zcGVjaWZpYyBmdW5jdGlvbiBwb2ludGVyIHRvIGF2b2lkIHRoZSByZW9jY3VyaW5nCgkgIGZvcm1hdCBjaGVja3MuCgoyMDExLTAzLTA5IDEyOjM4OjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHB1bGwgZm9ybWF0IHRvIHRlbXAgdmFyIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgbGluZXMgdXNpbmcgaXQKCjIwMTEtMDMtMDkgMTI6MjA6MTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY29kZSBjbGVhbnVwIGZvciBjb3B5aW5nIGRhdGEgdG8gcmluZy1idWZmZXIKCSAgUmVuYW1lIGZwIHRvIGlzX2Zsb2F0IGFuZCByZXN0cnVjdHVyZSBpZi1lbHNlIHBhcnQgZm9yIGhhbmRsaW5nIHRoZSBkaWZmZXJlbnQgZm9ybWF0cy4KCjIwMTEtMDMtMDkgMTE6NDA6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IGFkZCBhIEdzdFNwZWNydHVtQ2hhbm5lbCBjb250ZXh0IHN0cnVjdHVyZQoJICBXZSBub3cga2VlcCB0aGUgZmZ0IGRhdGEgdGhhdCBpcyByZWxhdGVkIHRvIG9uZSBjaGFubmVsIGluIGEgc2VwYXJhdGUgc3RydWN0dXJlCgkgIHRvIHByZXBhcmUgZm9yIG11bHRpY2hhbm5lbCBzdXBwb3J0LiBXZSBhbHNvIHJlZmFjdG9yIHRoZSBjb2RlIHRvIG9wZXJhdGUgbW9yZQoJICBvZnRlbiBvbiB0aGUgY2hhbm5lbCBjb250ZXh0LgoKMjAxMS0wMy0wOSAxMToxODoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBjYWxsIHRoZSBpbnN0YW5jZSB2YXIgc3BlY3RydW0gaW5zdGVhZCBvZiBmaWx0ZXIKCjIwMTEtMDMtMDkgMTE6MTQ6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZG9uJ3QgdmFsdWUgd2UgYWxyZWFkeSB0b29rIGZyb20gdGhlIGd2YWx1ZQoKMjAxMS0wMy0wOCAxNzoyNjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCjIwMTEtMDMtMDggMTc6MDI6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIG1ldGE6IHVwZGF0ZSBmb3IgbmV3IEFQSQoKMjAxMS0wMy0wOCAxNjoyODoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBhZC1ob2MgcmVsZWFzZSBicmFuY2ggJzAuMTAuMjgnCgo9PT0gcmVsZWFzZSAwLjEwLjI4ID09PQoKMjAxMS0wMy0wOCAxNTo0Nzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yOAoJICBBZC1ob2MgcmVsZWFzZSB0byBmaXggYnVpbGQgaXNzdWUgd2l0aCBuZXdlciBrZXJuZWxzLgoKMjAxMS0wMy0wMyAwMDoxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IHJlbW92ZSB1bm5lY2Vzc2FyeSBsaW51eC92aWRlb2Rldi5oIGluY2x1ZGUKCSAgQ2F1c2VzIGNvbXBpbGF0aW9uIGlzc3VlcyB3aXRoIG5ld2VyIGtlcm5lbCBoZWFkZXJzIHdoZXJlIHRoZSBvbGQKCSAgdjRsIGludGVyZmFjZSBoYXMgYmVlbiByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzNzE2CgoyMDExLTAzLTA4IDEwOjE0OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtCgoyMDExLTAzLTA3IDE2OjU2OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFsc28gZXN0aW1hdGUgZW9zIGlmIHZlcnkgbmVhciBlb3MKCjIwMTEtMDMtMDcgMTY6NTY6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXZvaWQgdHJ5aW5nIHRvIGJ1ZmZlciBtb3JlIHRoYW4gaXMgYXZhaWxhYmxlLgoJICBUaGF0IGlzLCBpbiBjYXNlIG9mIHNob3J0IChvciBuZWFyIGVvcyBvZikgc3RyZWFtLCBkZWFkbG9jayAodW50aWwgdGltZW91dCkKCSAgd291bGQgb2NjdXIgdHJ5aW5nIHRvIGJ1ZmZlciBtb3JlIHRoYW4gaXMgeWV0IGZvcnRoY29taW5nLgoKMjAxMS0wMy0wNyAxMTowMTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCBlbGVtZW50IGJhc2VfdGltZSB1cG9uIGZsdXNoCgkgIC4uLiB0byBhcnJhbmdlIGZvciBwcm9wZXJseSBzY2hlZHVsZWQgdGltZW91dCAoZm9sbG93aW5nIHNlZWspLgoKMjAxMS0wMy0wNyAxMDo1NDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogQWRkIGEgYnVzIGhhbmRsZXIgdG8gdGhlIGV4YW1wbGUgdG8gaGFuZGxlIEVPUy9FUlJPUi9XQVJOSU5HCgkgIEFsc28gY2xlYW4gdXAgdGhlIHBpcGVsaW5lIHByb3Blcmx5LgoKMjAxMS0wMy0wNyAxMDo0NzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEFsd2F5cyBkaXN0IHRoZSBjYWlybyBleGFtcGxlCgoyMDExLTAzLTA3IDEwOjQ2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICBjYWlyb292ZXJsYXk6IFVzZSBMREFERCBpbnN0ZWFkIG9mIExERkxBR1MgZm9yIGxpYnMgYW5kIGFkZCAkKEdTVF9MSUJTKQoKMjAxMS0wMy0wNSAyMzoyMjo1OCArMDAwMCAgSm9uIE5vcmRieSA8am9ub25vckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBSZW1vdmUgdW5uZWNlc3NhcnkgZ3RrL2d0ay14MTEgdXNlIGluIGV4YW1wbGUuCgkgIFRoaXMgcmVtb3ZlcyBjb2RlLCBhbmQgYWxsb3dzIHRoZSBleGFtcGxlIHRvIGJlIHVzZWQgb24gYW55IHBsYXRmb3JtLgoJICBGaXhlcyBidWcgIzY0Mzk4MS4KCjIwMTEtMDMtMDQgMTg6Mzc6MzggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBVc2UgI2lmZGVmcyBmb3IgVjRMMl9QSVhfRk1UX1BKUEcKCSAgSXQncyBvbmx5IHJlY2VudGx5IGFkZGVkIHRvIGtlcm5lbCBoZWFkZXJzLgoKMjAxMS0wMi0yMyAxNjo1MDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiB0dW5lIG91dHB1dCBtYXggYnVmZmVyIHNpemUgdG8gbWF0ZXJpYWwKCSAgLi4uIHRvIGF2b2lkIGVuZGluZyB1cCB3aXRoIHRvbnMgb2Ygc2hvcnQgdGltZSBidWZmZXJzIGZvciBlLmcuIGhpZ2ggc2FtcGxlCgkgIHJhdGUgYXVkaW8uCgoyMDExLTAzLTA0IDE3OjA0OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBkb24ndCB1c2UgaGFyZGNvZGVjIDAuMTAKCjIwMTEtMDMtMDQgMTY6MzA6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAzLTA0IDE1OjUwOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGEgZG9jIGV4YW1wbGUgZm9yIHNldHRpbmcgc3RyZWFtLXByb3BlcnRpZXMKCjIwMTEtMDMtMDQgMTU6NDI6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggdGhlIHhtbCBpbiB0aGUgZG9jcwoKMjAxMS0wMy0wMyAwMDoxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IHJlbW92ZSB1bm5lY2Vzc2FyeSBsaW51eC92aWRlb2Rldi5oIGluY2x1ZGUKCSAgQ2F1c2VzIGNvbXBpbGF0aW9uIGlzc3VlcyB3aXRoIG5ld2VyIGtlcm5lbCBoZWFkZXJzIHdoZXJlIHRoZSBvbGQKCSAgdjRsIGludGVyZmFjZSBoYXMgYmVlbiByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzNzE2CgoyMDExLTAzLTAyIDIzOjIxOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogVGhlIGV4YW1wbGUgYWx3YXlzIHJlcXVpcmVzIGd0ay14MTEKCSAgQ2hlY2sgZm9yIGd0ay14MTEgYW5kIG9ubHkgYnVpbGQgdGhlIGV4YW1wbGUgaWYgaXQncyBhdmFpbGFibGUuCgoyMDExLTAzLTAyIDIzOjE0OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJICBjYWlyb292ZXJsYXk6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMS0wMy0wMiAyMzowOToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSAgZG9jczogVXBkYXRlIGluc3BlY3RlZCBwbHVnaW4gZGF0YQoKMjAxMS0wMS0yOCAwMjoxNDowNCArMDIwMCAgSm9uIE5vcmRieSA8am9ub25vckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvY2Fpcm8vLmdpdGlnbm9yZToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8tbWFyc2hhbC5saXN0OgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IEFkZCBnZW5lcmljIENhaXJvIG92ZXJsYXkgdmlkZW8gZWxlbWVudC4KCSAgQWxsb3dzIGFwcGxpY2F0aW9ucyB0byBjb25uZWN0IHRvIHRoZSAiZHJhdyIgc2lnbmFsIG9mCgkgIHRoZSBlbGVtZW50IGFuZCBkbyB0aGVpciBjdXN0b20gZHJhd2luZyB0aGVyZS4KCSAgSW5jbHVkZXMgYW4gZXhhbXBsZSBhcHBsaWNhdGlvbiBkZW1vbnN0cmF0aW5nIHVzYWdlLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTUyMAoKMjAxMS0wMy0wMiAxMzowMDozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBkb24ndCBsZWFrIHRoZSBtb25vc2NvcGVfc3RhdGUgZGF0YQoJICBUaGUgbW9ub3Njb3BlX2Nsb3NlKCkgaW1wbGVtZW50YXRpb24gd2FzIGVtcHR5LgoKMjAxMS0wMy0wMiAxMjo1OTozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiB3ZSBoYXZlIDY0IGNvbG9ycywgZG9uJ3QgYWNjZXNzIGNvbG9yc1s2NF0KCSAgRml4ZXMgcmVtYWluaW5nIGludmFsaWQgcmVhZC4KCjIwMTEtMDMtMDIgMTA6MjU6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhcnJhbmdlIGZvciBub24tZmF0YWwgZXJyb3Igd2hlbiBwYXJzaW5nIG5vbi12aXRhbCBwYXJ0cwoKMjAxMS0wMy0wMiAxMDo1NjozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJICBtb25vc2NvcGU6IHN0YWNrIG5lZWRzIHRvIGJlIHNpemUrMSBhcyB3ZSBwdXQgYSBlbmQtbWFya2VyIGludG8gaXQKCSAgVmFsZ3JpbmQgaXMgc3RpbGwgY29tcGxhaW5pbmcgYWJvdXQgb25lIGJhZCByZWFkLCBidXQgdGhpcyB0YWtlcyBjYXJlIG9mIHRoZQoJICBjcmFzaCBtZW50aW9uZWQgaW4gdGhlIGNvbW1lbnQgYW5kIGluIGJ1ZyAjNTY0MTIyLgoKMjAxMS0wMy0wMSAyMjo0MDoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJICBleGFtcGxlOiBmaXggdGhlIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpcC1hZGRyZXNzCgkgIEZpeCB0aGUgbmFtZSBpbiB0aGUgbGF1bmNoIHBpcGVsaW5lIGFuZCB1c2UgYSB2YWx1ZSBvZiAibG9jYWxob3N0IiBieSBkZWZhdWx0LgoKMjAxMS0wMi0yOCAxOToxNjowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogY3lnd2luL21pbmd3OyBlbmFibGUgcGx1Z2luIGxpbmtpbmcgdG8gc3RhdGljIGxpYgoJICBVc2VmdWwgZm9yIERpcmVjdFggcGx1Z2luKHMpLgoJICBGaXhlcyAjNjQyNTA3LgoKMjAxMS0wMi0yOCAxOToxMzo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZXhwb3J0IHBsdWdpbiBkZXNjcmlwdGlvbiBtb3JlIHBsYXRmb3JtIGluZGVwZW5kZW50CgkgIEZpeGVzICM2NDI1MDQuCgoyMDExLTAyLTI4IDE4OjMyOjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWRlN2Y2YSB0byA2YWVjNmI5CgoyMDExLTAyLTI4IDEzOjI5OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMi0yOCAxMzoyODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdXNlIE5ldEFkZHJlc3MgbWV0YWRhdGEKCjIwMTEtMDItMjggMTM6MTQ6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBpbXBsZW1lbnQgTmV0QWRkcmVzcyB3aXRoIG1ldGFkYXRhCgoyMDExLTAyLTI4IDEwOjE2OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogcmVnaXN0ZXIgbWV0YWRhdGEKCjIwMTEtMDItMjcgMTk6NDM6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIG1ldGE6IGZpeCBmb3IgbmV3IEFQSQoKMjAxMS0wMi0yNSAxNjoyOTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgbWV0YWRhdGE6IHVzZSBtZXRhZGF0YSBmb3IgcHJpdmF0ZSBidWZmZXIgZGF0YQoJICBVc2UgYnVmZmVyIG1ldGFkYXRhIHRvIHN0b3JlIGVsZW1lbnQgcHJpdmF0ZSBkYXRhLgoKMjAxMS0wMi0yNCAxMzo1MTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICBtaW5pb2JqZWN0OiBwb3J0IHRvIDAuMTEKCSAgVXNlIGJ1ZmZlciBwcml2YXRlIGRhdGEgaW5zdGVhZCBvZiBzdWJjbGFzc2luZy4KCjIwMTEtMDItMjQgMTM6NTA6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBkb24ndCBoYXJkY29kZSB2ZXJzaW9uIG51bWJlcgoKMjAxMS0wMi0yNCAxMzowMzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkMzogdXNlIGJveGVkIHR5cGUgaW5zdGVhZCBvZiBtaW5pb2JqZWN0CgoyMDExLTAyLTI0IDEzOjAwOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBtaW5pb2JqZWN0OiB1c2UgYnVmZmVyIHByaXZhdGUgZmllbGQgZm9yIGV4dHJhIGRhdGEKCSAgVXNlIHRoZSBvd25lciBwcml2YXRlIGZpZWxkIHRvIHN0b3JlIGV4dHJhIGJ1ZmZlciBkYXRhIGluc3RlYWQgb2YgdXNpbmcKCSAgc3ViY2xhc3NpbmcuCgoyMDExLTAyLTI0IDEyOjIzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgZHVyYXRpb24gd2hlbiBleHRpbWF0aW5nIFFvUyB0aW1lCgkgIFdoZW4gd2UgbmVlZCB0byBkZWNpZGUgb24gdGhlIG5leHQgUW9TIHRpbWUsIHRha2UgaW50byBhY2NvdW50IHRoZSBkdXJhdGlvbiBvZgoJICB0aGUgYnVmZmVycy4KCjIwMTEtMDItMjggMTE6NTg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDExLTAyLTIzIDE3OjQxOjIyICswMTAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlbGVhc2UgcGFfc2hhcmVkX3Jlc291cmNlX211dGV4IGJlZm9yZSBwYV90aHJlYWRlZF9tYWlubG9vcF93YWl0CgkgIE5vdCBkb2luZyBzbyBjYW4gcmVzdWx0IGluIGEgZGVhZGxvY2sgd2hlbiB0d28gdGhyZWFkcyBlbnRlcgoJICBnc3RfcHVsc2VyaW5nYnVmZmVyX29wZW5fZGV2aWNlIGF0IHRoZSBzYW1lIHRpbWUsIGFzCgkgIHBhX3RocmVhZGVkX21haW5sb29wX3dhaXQgcmVsZWFzZXMgdGhlIG1haW5sb29wIGxvY2sgd2hpbGUgd2FpdGluZywKCSAgYWxsb3dpbmcgYW5vdGhlciB0aHJlYWQgdG8gdGFrZSBpdCwgcmVzdWx0aW5nIGluIGEgZGVhZGxvY2sgYXMgdHdvCgkgIHRocmVhZHMgd2FpdHMgZm9yIHRoZSBsb2NrIHRoZSBvdGhlciBpcyBob2xkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzMDg3CgoyMDExLTAyLTIzIDE3OjE4OjE5ICswMTAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHMvcmVzc291cmNlL3Jlc291cmNlLwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzMDg3CgoyMDExLTAyLTI1IDIwOjEyOjM1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGFjY2lkZW50YWwgZGVidWcgbWVzc2FnZQoJICBpbiBwcmV2aW91cyBjb21taXQKCjIwMTEtMDItMjUgMTk6MzU6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgMlZ1eSBhbmQgcjIxMAoKMjAxMS0wMi0yNCAxNDowODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIE5WMjEgY29sb3JzcGFjZQoKMjAxMS0wMi0yNCAxNDowMDozNyArMDEwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIE5WMTIgY29sb3JzcGFjZQoJICBGaXhlcyBidWcgIzY0Mjk2MS4KCjIwMTEtMDItMjQgMTM6NTY6MDQgKzAxMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRmlyc3QgdHJ5IGlmIHVwc3RyZWFtIGhhbmRsZXMgVElNRSBzZWVrcyBiZWZvcmUgaGFuZGxpbmcgdGhlbSBoZXJlCgkgIEZpeGVzIGJ1ZyAjNjQyOTYzLgoKMjAxMC0xMS0wOCAxNDoyNTo1OSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogU2ltcGxpZnkgc2V0Y2FwcwoJICBUaGUgY3VycmVudCBjb2RlIG5ldmVyIHVzZXMgdXBzdHJlYW0gbmVnb3RpYXRpb24gc28gdGhlIGNvZGUgY2FuIGJlCgkgIHNpZ25pZmljYW50bHkgc2ltcGxpZmllZC4KCjIwMTEtMDEtMjQgMTI6NDg6MTggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBQb3J0IGdyZWVkeWwgdG8gR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2QKCSAgVGhlIG1haW4gZ29hbCBvZiB0aGlzIGNoYW5nZSBpcyB0byByZXVzZSB0aGUgY29tcGxleCBidXQgbm93IG5lYXRseQoJICB3cml0dGVuIHNjYW5saW5lIHBvaW50ZXIgY2FsY3VsYXRpb24gY29kZSBmcm9tIHRoZSBzaW1wbGUgbWV0aG9kcy4KCjIwMTEtMDItMjIgMTU6MjA6MTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBSZXZlcnQgImlkM2RlbXV4OiBlbnN1cmUgYSB0YWdsaXN0IGJlZm9yZSBhZGRpbmcgdGhlIGNvbnRhaW5lciB0YWciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTg2YmFiNjY4OTNiYjFhMzMyM2E3NTY0MTA1NzNjMTE3YjgyMTllZi4gVGhlIGlzc3VlIGlzCgkgIGZpeGVkIHdpdGggY29tbWl0IGZmNWU1YThmMGRhYTFmZGY4OTc5MmQwNzI2ZWEwNjNiYmQ5OWRiMTggaW5zdGVhZC4KCjIwMTEtMDItMjIgMTU6MTk6MDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiByZXR1cm4gSUQzVEFHU19CUk9LRU5fVEFHIGZvciB1bnN1cHBvcnRlZCB2ZXJzaW9ucwoJICBUaGlzIHByZXZlbnRzIHVzIGZvciB0cnlpbmcgdG8gd29yayB3aXRoIGEgTlVMTCB0YWdsaXN0LgoKMjAxMS0wMi0yMiAxNDoxNToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMTEtMDItMjIgMTQ6MDE6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZW5zdXJlIHNhbmUgcGFyYW1ldGVycyB3aGVuIHBhcnNpbmcgc3VwZXJpbmRleAoKMjAxMS0wMi0yMiAxNDowMDoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjaGVjayBmb3IgTlVMTCBhdWRpbyBzdHJlYW0gZm9ybWF0IGhlYWRlciB3aGVuIHBhcnNpbmcgc3RyZWFtCgoyMDExLTAyLTIyIDE0OjUyOjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgcnRwLWV4YW1wbGVzOiBtb3ZlIGNhcHNmaWx0ZXIgYmVoaW5kIGNvbnZlcnRlcnMKCSAgV2UgbmVlZCB0byBoYXZlIHRoZSBjYXBzZmlsdGVyIGJlaGluIHRoZSBjb252ZXJ0ZXJzIHRvIG1ha2UgdGhlIGNvbnZlcnRlcnMKCSAgY29udmVydCBmcm9tIHRoZSBmb3JtYXRzIHY0bDJzcmMgY2FuIGRvIHRvIHdoYXQgd2UgcmVxdWVzdCB3aXRoIHRoZQoJICBjYXBzZmlsdGVyLgoKMjAxMS0wMi0yMiAxNDo1MDo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBydHAtZXhhbXBsZXM6IGZpeCBhc2NpaS1hcnQKCSAgU29tZSBib3hlcyB3aGVyZSBtaXNhbGlnbmVkIGR1ZSB0byBsb25nICJhdWRpb3RldHNzcmMiIG5hbWUuIFRyaW0gdHJhaWxpbmcKCSAgd2hpdGVzcGFjZS4KCjIwMTEtMDItMjIgMTM6Mjk6MjYgKzAxMDAgIEJsYWlzZSBHYXNzZW5kIDxibGFpc2UgYXQgd2lsbG93Z2FyYWdlIGRvdCBjb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBoYW5kbGUgTlVMTCBkZW11eCBlbGVtZW50cwoJICBXaGVuIHVzaW5nIGdzdHJ0cGJpbiB3aXRoIGlnbm9yZS1wdD10cnVlLCB0aGUgZnJlZV9zdHJlYW0gZnVuY3Rpb24gdHJpZXMgdG8KCSAgY2FsbCBnc3RfZWxlbWVudF9zZXRfbG9ja2VkX3N0YXRlIGFuZCBnc3RfZWxlbWVudF9zZXRfc3RhdGUgb24gYSBzdHJlYW0tPmRlbXV4CgkgIHdoaWNoIGlzIE5VTEwuCgkgIGZpeGVzICM2NDI0MTIKCjIwMTEtMDEtMjQgMTI6MTg6MzkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IHNtYWxsIGNsZWFuLXVwcwoJICBJbXByb3ZlIGRlYnVnIG91dHB1dCBieSBwcmludGluZyB0aGUgYnVmZmVyIHBvaW50ZXIgd2hlbgoJICBwb3BwaW5nIGEgYnVmZmVyIGFuZCBzaW1wbGlmeSBjb2RlIHRvIHVzZSBzY2FubGluZXMuYm90dG9tX2ZpZWxkCgkgIGFzIGFwcHJvcHJpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyNjkxCgoyMDExLTAxLTI0IDEyOjE4OjM5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBhc3NpZ25lZCBtZXRob2RfaWQgd2hlbiB1c2luZyBmYWxsYmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyNjkxCgoyMDExLTAyLTIxIDE3OjE3OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHNldHRpbmcgdGhlIFNERVMgcHJvcGVydHkKCSAgT25seSB0aGUgc2RlcyB2ZXJpYWJsZSBpcyBwcm90ZWN0ZWQgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFVzZSB0aGUgcmlnaHQgb2JqZWN0IHdoZW4gc2V0dGluZyB0aGUgc2RlcyBwcm9wZXJ0eS4KCjIwMTEtMDItMjEgMTI6MDk6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIFJldmVydCAiQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZTZiODc2ZTc2Yzk0NDEwZGIxNjBhZmU1ZWIzMGYyMTQ1MmU0MTlmLgoJICBEZXBlbmRzIG9uIGEgY29yZSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQKCjIwMTEtMDItMjEgMDA6NTU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBmaXggdGFnIGxpc3QgaGFuZGxpbmcgaXNzdWVzIHRoYXQgbWlnaHQgaGF2ZSBjYXVzZWQgY3Jhc2hlcwoJICBGaXggc2xpZ2h0bHkgY29uZnVzZWQgdGFnIGhhbmRsaW5nIGluIHNvbWUgcGxhY2VzOiBtYWtlIGl0IGNsZWFyIHdoZW4KCSAgd2UncmUgdGFraW5nIG93bmVyc2hpcCBvZiBhIHRhZyBsaXN0IGFuZCB3aGVuIG5vdC4gRm9yIGV4YW1wbGUsCgkgIGdzdF9pY3lkZW11eF90YWdfZm91bmQoKSB3YXMgdGFraW5nIG93bmVyc2hpcCB3aGVuIHRoZSBzb3VyY2UgcGFkCgkgIGV4aXN0ZWQsIGJ1dCBvdGhlcndpc2Ugbm90IChsZWFrKS4gQWxzbywgZ3N0X2V2ZW50X3BhcnNlX3RhZygpIGRvZXMKCSAgbm90IHJldHVybiBhIG5ld2x5LWFsbG9jYXRlZCB0YWdsaXN0LCBidXQgYSB0YWcgbGlzdCB0aGF0IGJlbG9uZ3MgdG8KCSAgdGhlIHRhZyBldmVudCwgc28gZG9uJ3QgZ2l2ZSBvd25lcnNoaXAgb2YgaXQgYXdheS4KCSAgV2hpbGUgd2UncmUgYXQgaXQsIHNvbWUgbWlub3IgY2xlYW4tdXBzOiBkb24ndCByZS1pbnZlbnQgZ19zdHJuZHVwKCkKCSAgYW5kIHNpbXBsaWZ5IGdzdF9pY3lkZW11eF9wYXJzZV9hbmRfc2VuZF90YWdzKCkgYSBiaXQsIGFuZCBkb24ndAoJICBsZWFrIHRoZSB0YWcgbGlzdCBpbiBjYXNlIG5vIHZhbGlkIHRhZ3Mgd2hlcmUgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEzMzAKCjIwMTEtMDItMjAgMjM6Mzk6NDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIENoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQKCSAgVGhlIGNvcmUgbm93IGNhbGxzIHJlbGVhc2UgcGFkIGZyb20gZmluYWxpemUsIGF0IHdoaWNoIHBvaW50CgkgIHRoZSBjb2xsZWN0cGFkcyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBmcmVlZC4KCjIwMTEtMDItMTkgMTU6NDg6MjIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBIYW5kbGUgMTYtYml0LXBlci1jaGFubmVsIGltYWdlcwoKMjAxMS0wMi0xOCAxMDoxMjo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtLT5jdXJyZW50X3RvdGFsIGlzIGFjY3VtdWxhdGVkIGJ5dGUgc2l6ZSBhbmQgbm90IHRpbWUKCSAgVXNlIHRpbWVzdGFtcCBmb3IgdGhlIHN0cmVhbSBpbmRleCBhcyB3ZWxsLgoKMjAxMS0wMi0xNSAxOTozMzo0NSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiB3YXJuIHdoZW4gcGFja2V0IGlzIHRvbyBsYXJnZQoKMjAxMS0wMi0xNyAxNzo1OToyNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thcGFyc2U6IE5ldyBlbGVtZW50CgkgIENvcGllZCBmcm9tIGRlbXV4LiAgRHVwbGljYXRlcyBtdWNoIGNvZGUsIGFsc28gc29tZSBkZWFkIGNvZGUKCSAgcmVtYWluaW5nLgoKMjAxMS0wMi0xNyAxNzo1Nzo1NSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRWFybGllciBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbgoKMjAxMS0wMS0yMiAwMDoxMzoxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHNldCBkdXJhdGlvbiBmb3IgbGl2ZSBzdHJlYW0KCjIwMTEtMDEtMDYgMTU6NDQ6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkgIGRlYnVndXRpbHM6IHJlbW92ZSBiaXRyb3R0ZW4gbmVnb3RpYXRpb24gZWxlbWVudAoJICBXYXNuJ3QgZW5hYmxlZCwgZGlkbid0IHdvcmssIGFuZCBwbGFubmVkIGZlYXR1cmVzIGhhdmUgYmVlbgoJICBzdXBlcmNlZGVkIGJ5IGNhcHNmaWx0ZXIgYW5kIGNhcHNkZWJ1Zy4KCjIwMTAtMDktMTcgMTI6MTA6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHB2cmF3cGF5OiBJbXBsZW1lbnQgaW50ZXJsYWNpbmcKCjIwMTEtMDItMTcgMTc6NTc6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFsc28gYWRkIHRoZSBmcmFtZS10eXBlIGZvciB0aGUgc3RyZWFtIGluZGV4CgoyMDExLTAyLTE3IDE3OjU2OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBnZXQgdGhlIGluZGV4IHdyaXRlciBpZCB3aGVuIHRoZSBwYWQgaGFzIGEgcGFyZW50CgkgIE90aGVyd2lzZSB0aGUgaW5kZXggd3JpdGVyIGhhcyBhIHdlaXJlZCBuYW1lLCBhcyB0aGUgcGFkIGhhcyBubyBwYXJlbnQgeWV0LgoKMjAxMS0wMi0xNyAxNDowMDo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGF2aWRlbXV4LCBmbHZkZW11eDogZm9ybWF0dGluZyBjbGVhbnVwCgkgIFRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZXMgYW5kIGZpeCB0aGUgZm9ybWF0dGluZyBvZiBkb3VibGUgbmVnYXRpb24uCgoyMDExLTAyLTE3IDEzOjU3OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgYXZpZGVtdXgsIGZsdmRlbXV4OiBtYXJrIGRlbHRhLXVuaXRzIGluIHRoZSBpbmRleAoJICBXZSBuZWVkIHRvIHVzZSB0aGUgJ2RlbHRhJyBmbGFnIGZvciBkZWx0YSB1bml0cyBhbmQgbm90IHRoZSAnbm9uZScgZmxhZy4KCjIwMTEtMDItMTcgMTE6NTg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vdmVkIGVxdWFsaXplciB0ZXN0IGJpbmFyeQoKMjAxMS0wMi0xNyAxMjo0NjoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYXJrIGRlbHRhLXVuaXQgaW4gdGhlIGluZGV4CgkgIFdlIG5lZWQgdG8gdXNlIHRoZSBkZWx0YSBmbGFnIGZybyBkZWx0YSB1bml0cyBhbmQgbm90IG5vbmUuIFByaW50IG1vcmUgZGV0YWlscwoJICB0byB0aGUgZGVidWcgbG9nLgoKMjAxMS0wMi0xNyAxMjo0NDowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmb3JtYXR0aW5nIGNsZWFudXAKCSAgVHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlcyBhbmQgZml4IHRoZSBmb3JtYXR0aW5nIG9mIGRvdWJsZSBuZWdhdGlvbi4KCjIwMTEtMDItMTYgMTc6MDk6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJld29yayBfcmVxdWVzdF9uZXdfcGFkIHRvIGhhbmRsZSBleHBsaWN0IHJlcS1wYWQtbmFtZXMKCSAgRG9uJ3QgaWdub3JlIGV4cGxpY2l0IHBhZC1uYW1lcy4KCjIwMTEtMDItMTYgMTc6MDY6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogcmV3b3JrIF9yZXF1ZXN0X25ld19wYWQgdG8gaGFuZGxlIGV4cGxpY3QgcmVxLXBhZC1uYW1lcwoJICBEb24ndCBpZ25vcmUgZXhwbGljaXQgcGFkLW5hbWVzLiBSZWFycmFuZ2UgdGhlIGNvZGUgYW5kIHRoZSBlcnJvciBoYW5kbGluZyBhCgkgIGJpdC4gQWRkIGEgRklYTUUtMC4xMSBmb3IgdGhlIGJhZCBwYWQtbmFtZXMuCgoyMDExLTAyLTE2IDE1OjI4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBpY2xlczogQWRkIGVxdWFsaXplci10ZXN0IHRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTEtMDItMTYgMTU6MjM6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgW01PVkVEIEZST00gQkFEIDUvNV0gZXF1YWxpemVyLXRlc3Q6IEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgYWZ0ZXIgZ3N0X2luaXQoKSB0byBmaXggc2VnZmF1bHQKCjIwMDctMTEtMDcgMTU6MzY6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0LzVdIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGRvX3NsaWRlcl9maWRkbGluZyk6CgkgIEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCjIwMDctMDUtMjEgMTQ6MDE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzLzVdIENoYW5nZUxvZzogQ2hhbmdlTG9nIHN1cmdlcnkuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hc3RJaXJFcXVhbGl6ZXJCYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsIHBsdWdpbl9pbml0KToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBBZGQgZml4bWUgYW5kIGNvbW1lbnQgZm9yIGV4YW1wbGUuCgoyMDA3LTAzLTE0IDE2OjMzOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMi81XSB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgoyMDA3LTAyLTAzIDIzOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDEvNV0gRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIHRoaXMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoY2hlY2tfYnVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBBZGQgYnJhaW4tZGVhZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBlcXVhbGl6ZXIuCgoyMDExLTAyLTE1IDE1OjU5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIFBKUEcgbWFwcGluZwoJICBBZGRzIG1hcHBpbmcgb2YgcHJvZ3Jlc3NpdmUganBlZyBmb3JtYXQKCjIwMTEtMDItMTUgMTY6MzA6MjAgKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5jb20+CgoJICBwbHVnIHF0ZGVtdXggcmVmY291bnQgbGVha3MKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X3NyY19jb252ZXJ0KTogVW5yZWYgdGhlIHF0ZGVtdXg7IHdlCgkgIHdlcmVuJ3QgZG9pbmcgc28gYmVmb3JlLgoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCwgZ3N0X3F0ZGVtdXhfY2hhaW4pOiBGaXggc29tZSBlcnJvcgoJICBjYXNlcyB3aGljaCB3b3VsZCBsZWFrIGEgcmVmIHRvIHRoZSBxdGRlbXV4LgoKMjAxMS0wMi0xNCAyMDoyMDowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFkZCBVUkkgcXVlcnkgaGFuZGxlcgoJICBGaXhlcyBidWcgIzY0MjMzNy4KCjIwMTEtMDItMTQgMTc6NDk6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIHNvcnRpbmcgTlVMTCBhcnJheSBvZiBjbHVzdGVyIHBvc2l0aW9ucwoKMjAxMS0wMi0xNCAxNjo0Njo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdGhlb3JhcGF5OiBoYW5kbGUgMCBzaXplZCBwYWNrZXRzCgkgIEhhbmRsZSAwIHNpemVkIHBhY2tldHMgKHJlcGVhdCBmcmFtZSkgaW4gdGhlIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuCgkgIEZpeGVzICM2NDE4MjcKCjIwMTEtMDItMTQgMTU6MjE6MjkgKzAyMDAgIFR1dWtrYSBQYXNhbmVuIDx0dXVra2EucGFzYW5lbkBpbG1pLmZpPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogcmVzZW5kIHRhZ3Mgd2hlbiB0aGV5IGFyZSBjaGFuZ2VkCgkgIEFsbG93IHNldHRpbmcgbmV3IHRhZ3Mgb24gdGhlIHByb3BlcnR5IHdoaWxlIHJ1bm5pbmcgYW5kIHNlbmQgdGhlbS4KCSAgRml4ZXMgIzY0MDI0OQoKMjAxMS0wMi0xNCAxMjo1MzoyNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOTRkNzM5IHRvIDFkZTdmNmEKCjIwMTEtMDItMDcgMjM6MzI6NTMgKzAxMDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWlub3IgbGVha3Mgd2hlbiBoYW5kbGluZyBzZXJ2ZXIgcmVxdWVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAxNjMKCjIwMTEtMDItMTQgMDA6NDk6MDAgKzAwMDAgIEhlYXRoIE5pZWxzb24gPGhlYXRobkBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgTXVzaWNCcmFpbnogdGFncwoJICBFeHRyYWN0IE11c2ljQnJhaW56IHRhZ3MgYWRkZWQgYnkgTXVzaWNCcmFpbnoncyBQaWNhcmQKCSAgdGFnZ2VyIGFwcGxpY2F0aW9uLiBUaGVzZSB0YWdzIChlc3AuIHRoZSBhbGJ1bSBpZCkgYXJlCgkgIGhlbHBmdWwgZm9yIHJoeXRobWJveCBldC5hbC4gdG8gYXV0b21hdGljYWxseSBkb3dubG9hZHMKCSAgY292ZXIgYXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyMjA1CgoyMDExLTAyLTE0IDAwOjM4OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVmYWN0b3IgaVR1bmVzIHRhZyBwYXJzaW5nIGEgYml0CgoyMDExLTAyLTEwIDIzOjUyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgZG9hcDogdXBkYXRlIG1haWxpbmcgbGlzdCBsb2NhdGlvbgoKMjAxMS0wMi0xMCAxODoxMTo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByb3BhZ2F0ZSBlcnJvciBkdXJpbmcgZXhwb3NlX3N0cmVhbXMKCSAgLi4uIGFzIGl0IG1heSBvY2N1ciBkdXJpbmcgaW5pdGlhbCBwYXJzaW5nIG9mIGZyYWdtZW50ZWQgZmlsZS4KCjIwMTEtMDItMTAgMTg6MDA6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBza2lwcGluZyBleHBvc2luZyBhIHN0cmVhbSBmb2xsb3dpbmcgYSByZW1vdmVkIHN0cmVhbQoKMjAxMS0wMi0xMCAxMTo1NjozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHN0b3JlIGNsdXN0ZXIgcG9zaXRpb25zIHByb3ZpZGVkIGJ5IFNlZWtIZWFkCgkgIC4uLiBhbmQgdXNlIHRob3NlLCBpZiBhdmFpbGFibGUsIHRvIGxvY2F0ZSBhIGNsdXN0ZXIgcmF0aGVyIHRoYW4gc2Nhbm5pbmcuCgoyMDExLTAyLTA5IDE2OjIyOjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcm9wZXJseSByZXN1bWUgY2x1c3RlciBzY2FubmluZwoJICAuLi4gcmF0aGVyIHRoYW4gZ2V0dGluZyBvZmZzZXQgdHJhY2tpbmcgbWVzc2VkIHVwLCBhbmQgdGhlbiBsaWtlbHkKCSAgZmFpbGluZyBhIHN1YnNlcXVlbnQgYXNzZXJ0LgoKMjAxMS0wMi0wOCAxMDowNzo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIGlkM2RlbXV4OiBlbnN1cmUgYSB0YWdsaXN0IGJlZm9yZSBhZGRpbmcgdGhlIGNvbnRhaW5lciB0YWcKCSAgSW4gdGhlIGNhc2Ugb2YgaWQzdjEgYWxzbyBkb24ndCByZXR1cm4gTlVMTCBvbiBlbXB0eSB0YWdzLCBidXQgYWxzbyBjcmVhdGUgYSBuZXcKCSAgdGFnbGlzdCBhbmQgYWRkIHRoZSBjb250YWluZXIgdGFnIGZvciBjb25zaXN0ZW5jeS4KCjIwMTEtMDItMDcgMTc6MDg6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc3RyaXAgdHJhaWxpbmcgc3BhY2VzCgoyMDExLTAyLTA3IDE3OjA3OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0cHNyYzogc2V0IG11bHRpcGxlIHByb3BlcnRpZXMgaW4gb25lIGdvCgkgIFRoZXJlIGlzIG5vIG5lZWQgZm9yIHNlcGFyYXRlIGdfb2JqZWN0X3NldCgpIGNhbGxzIGhlcmUuCgoyMDExLTAyLTAzIDE2OjEwOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSGFuZGxlIGltYWdlIGNhcHMgd2l0aG91dCBhc3NlcnRpbmcKCSAgSW1hZ2VzIG1pZ2h0IGhhdmUgZnJhbWVyYXRlPTAvMSBpbiB0aGUgY2Fwcywgd2hpY2ggY2F1c2VkIGFuCgkgIGFzc2VydGlvbiBvbiBkZWludGVybGFjZS4gSSBkb24ndCBrbm93IG9mIGludGVybGFjZWQgaW1hZ2UgZm9ybWF0cwoJICBidXQgZGVpbnRlcmxhY2UgbWlnaHQgYmUgaGFyZGNvZGVkIG9uIHNvbWUgZ2VuZXJpYyBwaXBlbGluZXMgYW5kCgkgIGl0IHNob3VsZG4ndCBhc3NlcnQuCgkgIFRoZSBmaXggd2FzIHRvIHNldCBmaWVsZF9kdXJhdGlvbiB0byAwIGlmIHRoZSBpbnB1dCBoYXMgYSBmcmFtZXJhdGUKCSAgd2l0aCBhIDAgbnVtZXJhdG9yLgoJICBUaGlzIHBhdGNoIGFsc28gYWRkcyBjaGVja3MgZm9yIHRoaXMgc2l0dWF0aW9uIG9uIHRoZSB1bml0IHRlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNDAwCgoyMDExLTAyLTA0IDEyOjMzOjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBkb2NzOiBmaXggcGFyYW1ldGVyIG5hbWUgaW4gdWRwc3JjIGRvY3MKCSAgSXQgaXMgImJ1ZmZlci1zaXplIiBhbmQgbm90ICJidWZmZXIiLiBBbHNvIHRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZS4KCjIwMTEtMDItMDMgMjM6NDI6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggaW50ZXJsYWNlZCBzZXRfZm9ybWF0IGNvbmZpZ3VyYXRpb24KCSAgQ29tbWl0IDZjODI2OGRiZmQ1Yzg4ZmFjMjhjODgyZWYyZTQ1OThhNjUyMmUyZDYgYnJva2UgcmVjb3JkaW5nCgkgIGZyb20gaW50ZXJsYWNlZCB2NGwyIHNvdXJjZSAoZS5nLiB0eXBpY2FsIHR2IGNhcHR1cmUgY2FyZCkgc2luY2UKCSAgVjRMMl9GSUVMRF9TRVFfVEIgKHdpdGggZmllbGRzIHN0b3JlZCBzZXBhcmF0ZWx5KSBkb2VzIG5vdCBtYXAKCSAgdG8gY3VycmVudGx5IGRlZmluZWQgaW50ZXJsYWNlZCBmb3JtYXQgKGZpZWxkcyBzdG9yZWQgaW50ZXJsZWF2ZWQpLgoJICBCZXNpZGVzIHRoaXMgbWlzbWF0Y2gsIGhhcmR3YXJlIG1pZ2h0IHF1aXRlIGxpa2VseSBub3Qgc3VwcG9ydCBvcgoJICBhcHByZWNpYXRlIHRoaXMgZmllbGQgdmFsdWUsIHNpbmNlIHF1ZXJ5aW5nIHN1cHBvcnRlZCBmb3JtYXRzIG1hcHBlZAoJICBfSU5URVJMQUNFRCBmaWVsZCBmb3JtYXRzIHRvIGludGVybGFjZWQ9dHJ1ZSBjYXBzIChzbyB0aGUgbGF0dGVyIHNob3VsZAoJICBub3QgYmUgbWFwcGVkIHRvIGZpZWxkIHZhbHVlIHRoYXQgaXMgbm90IGtub3duIHRvIGJlIHN1cHBvcnRlZCkuCgoyMDExLTAyLTAyIDE4OjI3OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogZml4IHR5cGUgb2YgbnRwbnN0aW1lCgoyMDExLTAyLTAyIDE4OjIxOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IEdldCBhbmQgdXNlIHRoZSBOVFAgdGltZSB3aGVuIHJlY2VpdmluZyBSVENQCgkgIFdoZW4gd2UgcmVjZWl2ZSBhbiBSVENQIHBhY2tldCwgZ2V0IHRoZSBjdXJyZW50IE5UUCB0aW1lIGluIG5hbnNlY29uZHMgc28gdGhhdAoJICB3ZSBjYW4gY29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgcm91bmQtdHJpcCB0aW1lLgoKMjAxMS0wMi0wMSAxOTo0MDo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kOiBhcnJhbmdlIGZvciBkZWZpbml0aW9uIG9mIF9zd2FiIG9uIEN5Z3dpbgoJICBnc3RkaXJlY3Rzb3VuZHNpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9kaXJlY3Rzb3VuZF9zaW5rX3dyaXRlJzoKCSAgZ3N0ZGlyZWN0c291bmRzaW5rLmM6NTU3OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ19zd2FiJwoJICBnc3RkaXJlY3Rzb3VuZHNpbmsuYzo1NTc6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdfc3dhYicKCjIwMTAtMTAtMDYgMjE6MTc6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJICBydHB0aGVvcmFkZXBheTogUmVxdWVzdCBuZXcga2V5ZnJhbWUgb24gbG9zdCBwYWNrZXRzCgkgIFRoZW9yYSBjYW4gb25seSB1c2UgdGhlIGxhc3QgZnJhbWUgKG9yIHRoZSBrZXlmcmFtZSkgYXMgYSByZWZlcmVuY2UsIHNvIGluCgkgIHByYWN0aWNlLiBJZiB3ZSByZWNlaXZlIGEgYnVmZmVyIHRoYXQgcmVmZXJlbmNlcyBhbiB1bmtub3duIGNvZGVib29rLCByZXF1ZXN0CgkgIG5ldyBoZWFkZXJzLiBJdCBwcm9iYWJseSBtZWFucyB0aGF0IGhlYWRlcnMgd2VyZSBsb3N0LgoKMjAxMC0wOC0yNyAxNDoxMTo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJlcXVlc3QgZWFybHkgUlRDUAoKMjAxMC0wOC0yNyAxNjoxMTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWRkIGNhbGxiYWNrIHRvIGdldCB0aGUgY3VycmVudCB0aW1lCgoyMDEwLTEwLTE5IDIyOjIxOjU0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRG9uJ3QgcmVsYXkgbW9yZSB0aGFuIG9uZSBQTEkgcmVxdWVzdCBwZXIgUlRUCgkgIERyb3AgUExJIHJlcXVlc3RzIGlmIG9uZSB3YXMgcmVsYXkgaW4gdGhlIGxhc3QgUlRULCB0aGUgb3RoZXIgc2lkZSBtYXkKCSAganVzdCBub3QgaGF2ZSByZWNlaXZlZCB0aGUga2V5ZnJhbWUgeWV0LgoKMjAxMC0wNi0yMyAxNjo0MzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogU2VuZCBHc3RGb3JjZUtleVVuaXQgZXZlbnQgaW4gcmVzcG9uc2UgdG8gcmVjZWl2ZWQgUlRDUCBQTEkKCjIwMTAtMTEtMjQgMTU6Mjc6NDYgLTA1MDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBGYWxsYmFjayBmb3IgRklSIHRvIFBMSSBpZiBQTEkgaXNuJ3QgYXZhaWxhYmxlCgoyMDEwLTA2LTIyIDE5OjU2OjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBJbXBsZW1lbnQgc2VuZGluZyBQTEkgcGFja2V0cyBpbiByZXNwb25zZSB0byBHc3RGb3JjZUtleVVuaXQKCjIwMTAtMDYtMjIgMTM6MzM6MzIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNvdXJjZTogUmV0YWluIFJUQ1AgRmVlZGJhY2sgcGFja2V0cyBmb3IgYSBzcGVjaWZpZWQgYW1vdW50IG9mIHRpbWUKCjIwMTAtMDktMDcgMTM6MzU6MTYgKzAzMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTWFrZSBydGNwIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBhZnRlciBwcm9jZXNzaW5nIGl0CgkgIEZ1bmN0aW9ucyB0aGF0IHByb2Nlc3MgdGhlIHJ0Y3AgYnVmZmVyIGNvdWxkIGRlY2lkZSB0byBrZWVwIGEgcmVmCgkgIG9uIHRoZSBidWZmZXIgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZy4gU28gbWFrZSB0aGUgbWV0YWRhdGEgd3JpdGFibGUKCSAgb25seSBhZnRlciB0aGV5IGFyZSBkb25lLgoKMjAxMC0wNi0xNyAxNzozNDoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEVtaXQgc2lnbmFsIG9uIGluY29taW5nIFJUQ1AgRkIgcGFja2V0CgoyMDExLTAyLTAxIDE4OjE3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmaXggY29tcGlsYXRpb24KCjIwMTAtMDYtMTUgMTg6Mzk6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgbWV0aG9kIHRvIHJlcXVlc3QgZWFybHkgUlRDUCBwYWNrZXQKCSAgSW1wbGVtZW50IHRoZSBlYXJseSBtb2RlIGRlZmluZWQgaW4gUkZDIDQ1ODUuIEluIHRoaXMgbW9kZSwgUlRDUCBmZWVkYmFjawoJICBwYWNrZXRzIGFyZSBzZW50IGVhcmx5IHRvIG5vdGlmaWVyLgoKMjAxMC0wNi0wMSAxOToyODowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBwcm9wZXJ0eSBmb3IgbWluaW11bSBpbnRlcnZhbCBiZXR3ZWVuIFJlZ3VsYXIgUlRDUCBtZXNzYWdlcwoJICBUaGlzIGNhbiBiZSBjaGFuZ2VkIGFjY29yZGluZyB0byBSRkMgNDU4NQoKMjAxMC0wNi0xNCAxODo0MDozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEVtaXQgc2lnbmFsIHdoZW4gc2VuZGluZyBhIGNvbXBvdW5kIFJUQ1AgcGFja2V0CgkgIFRoaXMgYWxsb3dzIHVzZXJzIHRvIGFkZCBleHRyYSBSVENQIHBhY2tldHMgdG8gdGhlIGNvbXBvdW5kCgkgIFJUQ1AgcGFja2V0LgoKMjAxMC0wNi0xOSAxOToxMTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBUYWcgdXBzdHJlYW0gY3VzdG9tIGV2ZW50cyB3aXRoIHBheWxvYWQgdHlwZQoKMjAxMC0wNi0xOCAxOToxMjo0MCAtMDQwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBUYWcgdXBzdHJlYW0gY3VzdG9tIGV2ZW50cyB3aXRoIFNTUkMKCjIwMTAtMTAtMDEgMTc6MTk6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRW1pdCAib24tc3NyYy12YWxpZGF0ZWQiIHdoZW4gdmFsaWRhdGluZyBieSBSVENQCgkgIEVtaXQgIm9uLXNzcmMtdmFsaWRhdGVkIiBpZiB0aGUgU1NSQyBpcyB2YWxpZGF0ZWQgYnkgcmVjZWl2aW5nCgkgIGEgUlRDUCBTREVTIHBhY2tldC4KCjIwMTEtMDItMDEgMTY6Mzg6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IHNraXAgRVBIIHBhY2tldHMKCSAgSW5jbHVkZSBFUEggbWFya2VycyBpbnRvIHRoZSBwcmV2aW91cyBjaHVuayBvZiBwYWNrZXRzLgoKMjAxMS0wMS0zMSAxNzo1NjoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICBydHBwY21hcGF5OiBSZW5hbWUgdGhlIGNsYXNzIHRvIGhhdmUgdGhlIHJpZ2h0IG5hbWUKCSAgSXQgd2FzIG5hbWUgcG1jYSBpbnN0ZWFkIG9mIHBjbWEgYW5kIG1hZGUgZGVidWcgbG9ncyBoYXJkIHRvIHNlYXJjaC4KCjIwMTEtMDEtMzEgMDU6NTg6MzYgKzAxMDAgIERhdmlkIEhlbm5pbmdzc29uIDxkYXZpZC5oZW5uaW5nc3NvbkBjYW5vbmljYWwuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBQdWxzZXNpbms6IEFsbG93IGNodW5rcyB1cCB0byBidWZzaXplIGluc3RlYWQgb2Ygc2Vnc2l6ZQoJICBCeSBhbGxvd2luZyBsYXJnZXIgY2h1bmtzIHRvIGJlIHNlbnQsIFB1bHNlQXVkaW8gd2lsbCBoYXZlIGEKCSAgbG93ZXIgQ1BVIHVzYWdlLiBUaGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IG9uIGxvdy1lbmQgbWFjaGluZXMsCgkgIHdoZXJlIFB1bHNlQXVkaW8gY2FuIGNyYXNoIGlmIHBhY2tldHMgYXJlIGNvbWluZyBpbiBhdCBhIGhpZ2hlcgoJICByYXRlIHRoYW4gUHVsc2VBdWRpbyBjYW4gcHJvY2VzcyB0aGVtLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCjIwMTEtMDEtMzEgMTM6NDQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzaW1wbGlmeSB0ZW1wbGF0ZSBjYXBzCgkgIFdlIGNhbiBtZXJnZSBhbGwgdGhlIFlVViB2YXJpYW50cyBpbnRvIG9uZSBzaW5nbGUgc3RydWN0dXJlLgoKMjAxMS0wMS0yNyAxNTozNTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGZpeCBERUZBVUxUX0FVRElPU0lOSywgc2hvdWxkIGJlIGRpcmVjdCpzb3VuZCpzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDA3MDUKCjIwMTEtMDEtMjcgMTY6MDI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW5pdGlhbGl6ZSBsb2NhbCB2YXJpYWJsZSB0byBwbGVhc2UgbWluZ3czMiBjb21waWxlcgoKMjAxMS0wMS0yNiAyMjoyMTozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogdXNlIHNvY2tsZW5fdCB3aGVyZSBhcHByb3ByaWF0ZSByYXRoZXIgdGhhbiBjdXN0b20gdHlwZQoJICBJbiBwYXJ0aWN1bGFyLCBmaXhlcyBDeWd3aW4gYnVpbGQgd2hlcmUgc29ja2xlbl90IGlzIGRlZmluZWQgYXMgaW50CgkgIGluIGxpbmUgd2l0aCBuYXRpdmUgd2luMzIgYXBpIGRlZmluaXRpb24uCgoyMDExLTAxLTI3IDEyOjE2OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWluZCByb3VuZGluZyBpc3N1ZXMgd2hlbiBjb252ZXJ0aW5nIGZyb20gZ2xvYmFsIHRpbWUgdG8gbW92IHRpbWUKCSAgSW4gcGFydGljdWxhciwgdGhpcyBhdm9pZHMgbWlzc2luZyB0aGUgaW50ZW5kZWQga2V5ZnJhbWUgd2hlbiBmaXJzdCBjb252ZXJ0aW5nCgkgIGZyb20gdGhlIGZyYW1lJ3MgbW92IHRpbWUgdG8gZ2xvYmFsIHNlZ21lbnQgdGltZSwgYW5kIHRoZW4gYmFjayBmcm9tIGdsb2JhbAoJICB0aW1lIHRvIG1vdiB0aW1lIHdoZW4gYWN0aXZhdGluZyB0aGUgc2VnbWVudC4KCjIwMTEtMDEtMjYgMDg6NDg6NDMgKzAwMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBsZWFrIGVibWwgd3JpdGVyIGNhcHMgd2hlbiByZS11c2luZyBtYXRyb3NrYW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwNTQyCgoyMDExLTAxLTI1IDIxOjU2OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBkaXZpZGUgYnkgMAoKMjAxMS0wMS0xOCAxNDo0ODowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHVsbCBtb2RlIHNob3VsZCBhbHdheXMgcmVwb3J0IHNlZWthYmxlCgkgIC4uLiBhcyBpdCBubyBsb25nZXIgcmVxdWlyZXMgYW4gaW5kZXgsIGJ1dCBjYW4gc2VlayBieSBzY2FubmluZyBhcyB3ZWxsLgoKMjAxMS0wMS0xMCAxMjozNDoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgc29tZSBtb3JlIG1wZWctNCBmb3VyY2MgdmFyaWFudHMKCjIwMTEtMDEtMTAgMTI6MzQ6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzaW1wbGlmeSByZXRyaWV2aW5nIHN0c2QgY2hpbGQgZW50cnkgYXRvbQoKMjAxMS0wMS0yNCAxODoyNzo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBjb25zaWRlciAwIGZjY19oYW5kbGVyIGFzIHVuY29tcHJlc3NlZC4KCSAgSnVzdCBhdm9pZHMgYSB3YXJuaW5nCgoyMDExLTAxLTIwIDEyOjE0OjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0YWtlIGNvbmZpZ3VyZWQgc3RhcnQgdGltZSBpbnRvIGFjY291bnQKCSAgd2hlbiBjcmVhdGluZyB0aGUgbmV3c2VnbWVudCBldmVudCwgdGFrZSB0aGUgY29uZmlndXJlZCBzdGFydCB0aW1lCgkgIGludG8gYWNjb3VudC4KCjIwMTEtMDEtMjQgMTU6MTE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIG9uIG1pbmd3MzIKCSAgTWFrZSB3aW4zMiBidWlsZCBib3QgaGFwcHkgYWdhaW4sIGFuZCBuaWNlZnkgb3V0cHV0IHdoaWxlIHdlJ3JlIGF0IGl0LgoJICBxdGRlbXV4LmM6IEluIGZ1bmN0aW9uICdxdGRlbXV4X3BhcnNlX3RydW4nOgoJICBxdGRlbXV4LmM6MjE2MjozOiBlcnJvcjogZm9ybWF0ICclbHUnIGV4cGVjdHMgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZSAnZ3VpbnQzMicKCjIwMTEtMDEtMjQgMTM6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSAgZXhhbXBsZXM6IGF1dG9hdWRpc2luayAtPiBhdXRvYXVkaW9zaW5rIGluIFJUUCBleGFtcGxlcwoKMjAxMS0wMS0yNCAwMDozMjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yNyA9PT0KCjIwMTEtMDEtMjEgMTI6NTQ6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjcKCjIwMTEtMDEtMjAgMTQ6MTA6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBkb24ndCBsZWFrIGNvZGVjIGRhdGEgYnVmZmVyIGluIGJ5dGUtc3RyZWFtPXRydWUgbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDYzCgoyMDExLTAxLTIwIDEzOjQxOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgbGVhayB1cmwgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwNjQKCjIwMTEtMDEtMjAgMTE6NDU6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBHcmFjZWZ1bGx5IGhhbmRsZSBtb3YgZmlsZXMgbWlzdXNpbmcgdGhlIFdBVkUgYXRvbXMKCSAgQ2hlY2sgdGhhdCB0aGUgV0FWRUhFQURFUiBub2RlIGlzIHByZXNlbnQgaW5zdGVhZCBvZiBibGluZGx5IHVzaW5nIGl0LgoJICBJZiBub3QgcHJlc2VudCB3ZSB3b24ndCBiZSBhYmxlIHRvIHByb3ZpZGUgYSBtb3JlIHJlZmluZWQgY2FwcywgYnV0IGF0CgkgIGxlYXN0IHdlIHdvbid0IGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDI4CgoyMDExLTAxLTIwIDAwOjA3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBmaXggYWNjaWRlbnRhbCBicmVha2FnZSBvZiBuYXZpZ2F0aW9uIGludGVyZmFjZSBzdXBwb3J0CgoyMDExLTAxLTE4IDEyOjU4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI2LjQgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTIgMTQ6MDM6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiByZXdyaXRlIGhvdyBuZWlnaGJvcmluZyBzY2FuIGxpbmVzIGFyZSBjYWxjdWxhdGVkCgkgIE9sZCBjb2RlIHdhcyBkaWZmaWN1bHQgdG8gdW5kZXJzdGFuZCBleGFjdGx5IGhvdyB0aGUgbmVpZ2hib3JpbmcKCSAgc2NhbiBsaW5lcyBhcmUgY2FsY3VsYXRlZCwgYW5kIGl0IGFwcGVhcmVkIHRoYXQgc29tZSB3ZXJlIG9mZiBieQoJICArMiBvciAtMiwgZGVwZW5kaW5nIG9uIHRoZSBmaWVsZCBmbGFnLiAgRml4ZXMgIzYzOTMyMS4KCjIwMTEtMDEtMTggMDk6MzM6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmlzdWJ0aXRsZTogc2V0IGNhcHMgb24gc3JjcGFkIHRvIGZpeCBpc3N1ZSB3aXRoIGRpc2NvdmVyZXIKCSAgU2V0IGNhcHMgZnJvbSB0aGUgc3RhcnQgc28gZGlzY292ZXJlciBkb2Vzbid0IGJsb3cgdXAgb24KCSAgc2VlaW5nIG5vIG5lZ290aWF0ZWQgY2FwcyBiZXR3ZWVuIGVsZW1lbnRzIG9uIHByZXJvbGwsCgkgIHdoaWNoIG1pZ2h0IGhhcHBlbiBpZiBubyBzdWJ0aXRsZSBidWZmZXJzIGhhdmUgYmVlbgoJICBwdXNoZWQgeWV0IGF0IHRoZSB0aW1lLiBTZWUgZmlsZSBmcm9tIGJ1ZyAjNjAzMzA4LgoKMjAxMS0wMS0xNyAyMDowOToxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVW5jb3JrIHN0cmVhbSB3aGlsZSBmbHVzaGluZyB0aGUgcmluZ2J1ZmZlcgoJICBBZnRlciBzdGFydGluZyB0aGUgcmluZ2J1ZmZlciwgd2Ugd2FpdCBmb3IgZW5vdWdoIGRhdGEgdG8gYXJyaXZlIGJlZm9yZQoJICB1bmNvcmtpbmcgdGhlIHN0cmVhbS4gVGhpcyB3aWxsIGNhdXNlIHRoZSBwaXBlbGluZSB0byBzdGFsbCBpZiB3ZSBnZXQgYW4KCSAgRU9TIChvciBvdGhlcndpc2UgbmVlZCB0byBmbHVzaCB0aGUgc3RyZWFtKSBiZWZvcmUgc3VmZmljaWVudCBkYXRhCgkgIGJlY29tZXMgYXZhaWxhYmxlLiBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhhdCB0aGUgc3RyZWFtIGlzIHVuY29ya2VkCgkgIHdoaWxlIGZsdXNoaW5nIHRvIGF2b2lkIHRoaXMgcHJvYmxlbS4KCSAgRml4ZXMgaXNzdWUgd2l0aCBhIHdlYmtpdCB1bml0IHRlc3QgdGVzdGluZyByZXZlcnNlIHBsYXliYWNrIG9mCgkgIGFuIE1QNCBILjI2NC9BQUMgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTc0MAoKMjAxMS0wMS0xNCAxNDo1MTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhdm9pZCBjcmVhdGluZyBjYXBzIGZyb20gc3RyaW5nIHdoZW4gcG9zc2libGUKCSAgRml4ZXMgIzYzOTUxNi4KCjIwMTEtMDEtMTQgMTQ6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzZXQgc3JjIHBhZCBjYXBzIHdoZW4gc3RhcnRpbmcgZmlsZQoJICBGaXhlcyAjNjM5NTE2LgoKMjAxMS0wMS0xMiAyMDozODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRlZmluZSBWNEwyX0ZJRUxEX0lOVEVSTEFDRURfe1RCLEJUfSBpZiBub3QgYXZhaWxhYmxlIGluIGhlYWRlcgoJICBPbGRlciBrZXJuZWxzIGRvbid0IGhhdmUgdGhlc2UsIGFuZCB0aGVyZSdzIG5vIGVhc3kgd2F5IHRvIGNoZWNrIGZvciB0aGUKCSAgZXhpc3RhbmNlIG9mIGVudW1zIHRoYXQgZG9lc24ndCBpbnZvbHZlIGEgY29uZmlndXJlIGNoZWNrLCBzbyBqdXN0IGRlZmluZQoJICB0aGVzZSBpZiB0aGUgVjRMMl9DQVBfVklERU9fT1VUUFVUX09WRVJMQVkgZGVmaW5lIGlzIG5vdCB0aGVyZSwgd2hpY2ggd2FzCgkgIGFkZGVkIGluIHRoZSBzYW1lIGNvbW1pdCBhcyB0aGUgVEIvQlQgZW51bS4gRml4ZXMgY29tcGlsYXRpb24gb24gQ2VudE9TIDUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzkKCjIwMTEtMDEtMTEgMjM6MTg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjYuMyBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xMSAyMjo0Mjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTEtMDEtMTEgMjM6Mzk6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE1ha2UgY29ya2luZyBkdXJpbmcgcGF1c2Ugc3luY2hyb25vdXMKCSAgVGhpcyBtYWtlcyB0aGUgY2FsbCB0byBwYV9zdHJlYW1fY29yaygpIGR1cmluZyByaW5nYnVmZmVyIHBhdXNlKCkKCSAgc3luY2hyb25vdXMsIHdoaWNoIG1ha2VzIHN1cmUgdGhhdCB0aGUgY2xvY2sgZG9lcyBub3QgYWR2YW5jZSBhZnRlciB3ZQoJICB0YWtlIGEgc25hcHNob3QgZm9yIHN0YXJ0X3RpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyNDAKCjIwMTEtMDEtMTEgMTk6MzM6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vZGEucG86CgkqIHBvL2dsLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTAxLTExIDE1OjUwOjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGU1NzJjODcgdG8gZjk0ZDczOQoKMjAxMS0wMS0xMCAxNjozNjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGNjYmFhODUgdG8gZTU3MmM4NwoKMjAxMS0wMS0xMCAxNDo1MzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NDQ1YWQgdG8gY2NiYWE4NQoKMjAxMS0wMS0wNyAxMzoyNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNi4yIHByZS1yZWxlYXNlCgoyMDExLTAxLTA3IDEzOjA2OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTAxLTA3IDAyOjMyOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDEtMDcgMDI6MDY6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgcHV0IGVzc2VudGlhbCBmdW5jdGlvbiBjYWxscyBpbnRvIGdfYXNzZXJ0KCkKCSAgZ19hc3NlcnQoKSB3aWxsIGV4cGFuZCB0byBOT09QcyBpZiAtREdfRElTQUJMRV9BU1NFUlQgaXMgcGFzc2VkLgoKMjAxMS0wMS0wNyAwMTozNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZG9uJ3QgcHV0IGZ1bmN0aW9uYWwgY29kZSBsaWtlIGlvY3RsIGNhbGxzIGludG8gZ19yZXR1cm5faWZfZmFpbCgpCgkgIFRoZXNlIG1hY3JvcyB3aWxsIGV4cGFuZCB0byBOT09QcyBnaXZlbiB0aGUgcmlnaHQgZGVmaW5lcy4gQWxzbywKCSAgZ19yZXR1cm5faWZfZmFpbCgpIGFuZCBmcmllbmRzIGFyZSBtZWFudCB0byBiZSB1c2VkIHRvIGNhdGNoIHByb2dyYW1taW5nCgkgIGVycm9ycyAobGlrZSBpbnZhbGlkIGlucHV0IHRvIGZ1bmN0aW9ucyksIG5vdCBydW50aW1lIGVycm9yIGhhbmRsaW5nLgoKMjAxMS0wMS0wNyAwMToxMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG5ldmVyIGRpc2FibGUgZ19hc3NlcnQoKSBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzCgkgIFRoZSB1bml0IHRlc3RzIGFyZSByaWRkbGVkIHdpdGggZ19hc3NlcnQoKSBhbmQgZnJpZW5kcywgbWFrZSBzdXJlIHdlCgkgIGRvbid0IGRpc2FibGUgYXNzZXJ0IGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMgZXZlbiBpZgoJICB0aGlzIGhhcyBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgYmFzZSwgZS5nLiB2aWEKCSAgLS1kaXNhYmxlLWdsaWItYXNzZXJ0cy4KCjIwMTEtMDEtMDYgMTI6Mjk6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNiAxMjoyODo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDUgMTc6NDk6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogQWRkIGNhcGRlYnVnIGRlYnVnIGNhdGVnb3J5CgoyMDEwLTEyLTExIDEyOjQyOjEwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2hhbmdlIHRoZSBkZWZhdWx0IHRvIGxpbmVhcgoJICBUaGUgcHJldmlvdXMgZGVmYXVsdCwgZ3JlZWR5aCwgdGFrZXMgNCB0aW1lcyBhcyBsb25nIGFzIE1QRUctMgoJICB2aWRlbyBkZWNvZGluZywgYW5kIGlzIHVubGlrZWx5IGZhc3QgZW5vdWdoIG9uIGFueSBjdXJyZW50IENQVQoJICB0byBwbGF5IDEwODBpIHZpZGVvIGluIHJlYWwtdGltZS4gIGdyZWVkeWwgaXNuJ3QgbXVjaCBmYXN0ZXIuCgkgIGxpbmVhciB3YXMgY2hvc2VuIG92ZXIgdmZpciwgc2luY2UgdGhlIHF1YWxpdHkgYWR2YW50YWdlIG9mIHZmaXIKCSAgaXMgbWluaW1hbCBjb21wYXJlZCB0byB0aGUgb2NjYXNpb25hbCB2aXN1YWwgYXJ0aWZhY3RzIGFuZCBzbG93ZXIKCSAgcHJvY2Vzc2luZy4KCjIwMTEtMDEtMDUgMTg6MzI6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGNvbmZ1c2UgcmV0dXJuIHZhbHVlcwoJICBSZXR1cm4gYSByZXR1cm4gdmFsdWUgb2YgdGhlIHJpZ2h0IHR5cGUuCgoyMDExLTAxLTA1IDE2OjI0OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA1IDE1OjAzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBmaXggbGVuZ3RoIGNoZWNrCgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBBZGQgdGhlIGxlbmd0aCBjaGVjayBzbyB3ZSBkb24ndCBjYXVzZSB1bm5lZWRlZCB3YXJuaW5ncy4KCjIwMTEtMDEtMDUgMTI6MDQ6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGFkZCBidWZmZXItc2l6ZSBwcm9wZXJ0eQoJICBBZGQgYnVmZmVyLXNpemUgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBrZXJuZWwgc2VuZCBidWZmZXIuCgoyMDExLTAxLTAzIDIwOjE2OjIyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIHdoZW4gZGVidWctbG9nZ2luZyBkaXNhYmxlZAoKMjAxMS0wMS0wMyAyMDowNjozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyB3aGVuIGRlYnVnLWxvZ2dpbmcgZGlzYWJsZWQKCjIwMTEtMDEtMDMgMTg6MDU6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhc2luazogZml4IG1hc2tzIGFuZCBzdHJpZGVzCgkgIFVzZSB0aGUgcmlnaHQgZW5kaWFubmVzcyB0byByZWFkIHRoZSBtYXNrcy4KCSAgVXNlIHRoZSByaWdodCBzdHJpZGVzIGZvciB0aGUgYml0bWFwLgoJICBGaXhlcyAjNjM4NTY5CgoyMDExLTAxLTAzIDAxOjE4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogdW5kbyBwcmVzdW1hYmx5IGFjY2lkZW50YWwgZW5hYmxlbWVudCBvZiB0aGUgR3N0WE92ZXJsYXkgaW50ZXJmYWNlCgkgIExvb2tzIGxpa2UgdGhpcyBnb3QgZW5hYmxlZCBieSBhY2NpZGVudCB3aGVuIGFkZGluZyBpdCB0byB2NGwyc2luaywKCSAgc28gdW5kbyB0aGlzIGZvciBub3cuIE5vdCBzdXJlIGl0IG1ha2VzIG11Y2ggc2Vuc2UgaW4gYSBHU3RyZWFtZXIKCSAgY29udGV4dCB3aXRoIGN1cnJlbnQgaGFyZHdhcmUuCgoyMDExLTAxLTAzIDE1OjQwOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbmNyZWFzZSB1ZHAgYnVmZmVyIHNpemUKCSAgU2V0IGEgYmlnZ2VyIFVEUCBidWZmZXIgc2l6ZSBieSBkZWZhdWx0IHRvIHJlZHVjZSBwYWNrZXQgbG9zcyB3aXRoCgkgIGhpZ2ggYml0cmF0ZSBzdHJlYW1zLgoKMjAxMS0wMS0wMiAxOToxOToyNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IHNlbmQgc3RyZWFtIGhlYWRlcnMgaW4ga2V5LWZyYW1lIG1vZGUKCjIwMTEtMDEtMDIgMTk6NDM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL1JFQURNRToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggdXAgZWxlbWVudCBkZXRhaWxzIGFuZCBzb21lIG90aGVyIG1pbm9yIGNsZWFuLXVwcwoKMjAxMS0wMS0wMiAxOToyMzo1MSArMDAwMCAgRXJpY2ggU2NodWJlcnQgPGVyaWNoQGRlYmlhbi5vcmc+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IGZpeCBwYXJzaW5nIG9mIElEM3YyLjQgZ2VucmUgZnJhbWVzIHdpdGggbXVsdGlwbGUgZ2VucmVzCgkgIFdlJ2Qgb25seSBleHRyYWN0IHRoZSBmaXJzdCBnZW5yZSAobXVsdGlwbGUgdGltZXMpIGluc3RlYWQgb2YgYWxsCgkgIGdlbnJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODUzNQoKMjAxMS0wMS0wMiAxNzo0MDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiB0ZW1wbGF0ZSBjYXBzIGhhZCBsaXN0cyB3aXRoIG9uZSB2YWx1ZSwganVzdCB1c2UgdmFsdWUgZGlyZWN0bHkKCjIwMTEtMDEtMDIgMTc6MDc6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBtYWtlIGdldF90eXBlIGZ1bmN0aW9ucyB0aHJlYWQtc2FmZQoJICBCZWNhdXNlIHdlIGNhbiAoc2hvdWxkbid0IGJlIG5lZWRlZCB3aXRoIG90aGVyIHdvcmthcm91bmRzIHN0aWxsIHRoZXJlKS4KCjIwMTEtMDEtMDIgMTU6Mjc6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDExLTAxLTAyIDE1OjI1OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJICBqYWNrOiBuZXcgamFja2F1ZGlvc3JjIGFuZCBqYWNrYXVkaW9zaW5rIGVsZW1lbnRzLCBtb3ZlZCBmcm9tIGdzdC1wbHVnaW5zLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxOTI5CgoyMDEwLTEwLTE5IDE2OjIzOjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICB2YXJpb3VzIChleHQpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTA5LTA5IDE0OjQ5OjA2IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWRkZWQgdHJhbnNsYXRhYmxlIHRleHQgZm9yIHNlcnZlciBub3QgZm91bmQgZXJyb3IKCjIwMTAtMDktMDYgMTc6MTc6NTQgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSAgZXhhbXBsZXM6IGFkZCB0ZXN0IHRvIGRlbW9uc3RyYXRlIGphY2tfY2xpZW50X3QgdXNhZ2UKCjIwMTAtMDktMDYgMTY6MTE6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZGVkIGNsaWVudCBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjoyNjowNyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGphY2s6IHJlbW92ZWQgdW51c2VkIGZpbGUgZ3N0amFja2Jpbi5jCgkgIFRoaXMgaXMgYSAwLjggbGVmdG92ZXIuCgoyMDEwLTA1LTEzIDEyOjU1OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2tzcmM6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgcmVhZCBuZnJhbWVzCgkgIEVycm9yIG91dCB3aGVuIHdlIGFyZSBhc2tlZCB0byByZWFkIGEgZGlmZmVyZW50IHNpemUgdGhhdCB3aGF0IHdhcyBjb25maWd1cmVkIGFzCgkgIHRoZSBqYWNrIHBlcmlvZCBzaXplIGJlY2F1c2UgdGhhdCB3b3VsZCBtZWFuIHNvbWV0aGluZyBlbHNlIGlzIHdyb25nLgoJICBGaXhlcyAjNjE4NDA5CgoyMDEwLTA1LTExIDE3OjU2OjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogaW1wcm92ZSBwcm9jZXNzX2NiCgoyMDEwLTA0LTI3IDEwOjQ4OjMyIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHRyaXN0YW4tbGFwdG9wLihub25lKT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSAgamFjazogaW1wbGVtZW50IG11bHRpY2hhbm5lbCBzdXBwb3J0IGNvcnJlY3RseSBmb3IgamFja2F1ZGlvc3JjCgkgIEZpeGVzIHBhcnRzIG9mIGJ1ZyAjNjE2NTQxLgoKMjAxMC0wNC0yNyAxMToyMToxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSAgamFjazogcmVtb3ZlIGVtcHR5IGRpc3Bvc2UgYW5kIGZpbmFsaXplIG1ldGhvZHMKCjIwMTAtMDQtMjcgMTA6NTk6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IGxlYWsgY2FwcwoJICBBZGQgZGlzcG9zZSBtZXRob2RzIHRvIGNsZWFyIGNhcHMuCgoyMDEwLTA0LTI3IDEwOjM0OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMDMtMjQgMTU6NTk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggZWxlbWVudCBuYW1lIGluIHNlY3Rpb24gZG9jIGJsb2IKCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMC0xMiAwOTowNjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZW5zdXJlIHNlZ3RvdGFsIGlzIGF0IGxlYXN0IDIKCSAgTm90IG9ubHkgYWRqdXN0IGJ1ZmZlci10aW1lIGFuZCBhdm9pZCBzZWd0b3RhbD0wLCBidXQgaW5zdGVhZCBlbnN1cmUgc2VndG90YWwgaXMKCSAgYXRsZWFzdCAyLiBEbyBzYW1lIGNoYW5nZSBvbiBqYWNrc3JjLiBXZSBjb3VsZCBhbHNvIGNoZWNrIHRoZSBsYXRlbmN5IGFuZCBidWZmZXIKCSAgdGltZSBjb25maWd1cmVkIGJ5IHRoZSBjbGllbnQgYW5kIGFkanVzdCBidWZmZXItdGltZSBzbyB0aGF0IHdlIGdldCB0byB0aGUgc2FtZQoJICBudW1iZXIgb2Ygc2VnbWVudHMuCgoyMDA5LTEwLTEyIDAwOjUxOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IGRvbid0IGNyYXNoIGluIHJpbmdidWZmZXIgd2l0aCBTSUdGUEUgb24gc21hbGwgYnVmZmVyLXRpbWVzCgkgIEphY2sgb3ZlcnJpZGVzIHVzZXItc3BlY2lmaWVkIGxhdGVuY3ktdGltZSB3aXRoIHRoZSBvbmUgaXQgZ2V0cyBmcm9tIGphY2sKCSAgaXRzZWxmLiBJdCBhbHNvIG5lZWRzIHRvIGFkanVzdCBidWZmZXItdGltZSBzb21ld2hhdCB0byBhdm9pZCBzZWd0b3RhbCBiZWluZyAwCgoyMDA5LTA1LTExIDE2OjEyOjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiB3aGVuIHN0b3BwaW5nIHBsYXliYWNrLCBkbyBvbmUgbW9yZSBjeWNsZSB0byBmbHVzaCB0aGUgcG9ydC4gRml4ZXMgIzU4MjE2NwoJICBUaGUgZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUoKSBmbGFncyB0aGUgcG9ydCBhcyBkZWFjdGl2YXRpbmcgYW5kIHVzZXMKCSAgYSBHQ29uZCB0byB3YWl0IHVudGlsIHRoZSBqYWNrX3Byb2Nlc3NfY2IoKSBoYXMgcnVuIG9uY2UgbW9yZSBhbmQgY2xlYXJlZCB0aGUKCSAgZmxhZy4gVGhpcyB3YXkgdGhlIGNsaWVudCB6ZXJvJ3MgdGhlIGJ1ZmZlci4gVGhpcyBoYXBwZW5zIGlmIG9uZSBtYW55YWxseSBnbwoJICB0byBQQVVTRUQgYW5kIHRoZW4gdG8gUkVBRFksIHdoaWxlIGxldGluZyB0aGUgbWFpbmxvb3AgcnVuIGluYmV0d2Vlbi4KCjIwMDktMDMtMTYgMTE6MjE6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogQWRkIG5ldyBjb25uZWN0aW9uIG1vZGUKCSAgQWRkIGEgbmV3IGNvbm5lY3Rpb24gbW9kZSB0byBqYWNrc3JjIGFuZCBqYWNrc2luay4gSW4gdGhpcyBuZXcgYXV0by1mb3JjZQoJICBjb25uZWN0aW9uIG1vZGUgamFjayB3aWxsIGNyZWF0ZSBhcyBtYW55IHBvcnRzIGFzIHJlcXVlc3RlZC9uZWVkZWQgaW4gdGhlCgkgIHBpcGVsaW5lIGFuZCB3aWxsIHRoZW4gY29ubmVjdCBhcyBtYW55IHBoeXNpY2FsIHBvcnRzIGFzIHBvc3NpYmxlLCBwb3NzaWJseQoJICBsZWF2aW5nIHNvbWUgcG9ydHMgdW5jb25uZWN0ZWQuCgkgIEFsc28gZ2V0IHJpZCBvZiBzb21lIGxlZnRvdmVyIGdfcHJpbnQuCgkgIEZpeGVzICM1NzUyODQuCgoyMDA4LTExLTIzIDE3OjUwOjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay86IFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIE5vIHByaW50ZiBwbGVhc2UuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0wOS0xNyAxMzo1OToyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoKMjAwOC0wOC0wNyAxMzoxNToyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6IFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoKMjAwOC0wOC0wNyAwOTowOTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgQWRkIG5ldyBlbGVtZW50IHRvIGRvY3MuCgkgICogZXh0L2phY2svZ3N0amFjay5oCgkgIEFkZCBtaXNzaW5nIGZpbGUuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIFJlbmFtZSBqYWNrYXVkaW9zcmMgdG8gamFja19hdWRpb19zcmMuCgoyMDA4LTA4LTA3IDA4OjQ3OjQwICswMDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkgIGV4dC9qYWNrLzogQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBGaXhlcyAjNTQ1MTk3LgoKMjAwOC0wNi0xMyAxMTo1OToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4CgkgIGZvciBleGFtcGxlcyAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZQoJICBoYXZlIHNldmVyYWwgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDUtMjYgMTc6NTI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKToKCSAgSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgoyMDA4LTA0LTA2IDIwOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgIFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUKCSAgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHdoZW4gc3RhcnRpbmcgdXAgbXVsdGlwbGUgcGxheWJpbgoJICBvYmplY3RzIGNvbmN1cnJlbnRseSAoc2VlICM1MTIzODIpLgoKMjAwOC0wMy0xMyAxNDoyNToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtLmM6CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YS5jOgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkCgkgIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCjIwMDctMDctMTggMDc6NDI6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoKMjAwNy0wNC0wNCAwNzozNjoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtIGVzdGFibGlzaGluZyBsaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0KCSAgZXN0YWJsaXNoaW5nIGxpbmtzLgoKMjAwNy0wMy0xOCAxNzo1Nzo0OCArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkIGNhdXNlIGRlYWRsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKToKCSAgRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkCgkgIGNhdXNlIGRlYWRsb2Nrcy4KCjIwMDctMDMtMDggMTU6MjQ6NTIgKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svOiBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZSB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJbmNsdWRlcyBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2luaXQpLAoJICAoamFja19wcm9jZXNzX2NiKSwgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksCgkgIChqYWNrX3NodXRkb3duX2NiKSwgKGNvbm5lY3Rpb25fZmluZCksCgkgIChnc3RfamFja19hdWRpb19tYWtlX2Nvbm5lY3Rpb24pLCAoZ3N0X2phY2tfYXVkaW9fZ2V0X2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX2FkZF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9yZW1vdmVfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9uZXcpLCAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2ZyZWUpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2dldF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJICBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZQoJICB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlY3RlZCBqYWNrIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgamFjawoJICBjb25uZWN0aW9uLgoJICBNYWtlIHNvbWUgc3R1ZmYgYSBiaXQgbW9yZSB0aHJlYWRzYWZlLgoJICBBY3RpdmF0ZSB0aGUgamFjayBjbGllbnQgQVNBUC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZnJlZV9jaGFubmVscyksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBVc2UgbmV3IGNsaWVudCBvYmplY3QgdG8gbWFuYWdlIGNvbm5lY3Rpb25zLgoJICBEb24ndCByZW1vdmUgYW5kIHJlY3JlYXRlIGFsbCBwb3J0cywgdHJ5IHRvIHJldXNlIHRoZW0uCgoyMDA3LTAxLTEyIDEwOjI1OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay4qOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfc2FtcGxlX3JhdGVfY2IpLAoJICAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNi0xMi0wNiAxNjo1NzoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvamFjay8uY3ZzaWdub3JlOiBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCjIwMDYtMTEtMzAgMTE6NTk6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMTEtMzAgMTE6NDk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9pbml0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdGFydCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9wYXVzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdG9wKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2RlbGF5KSwKCSAgKGdzdF9qYWNrX2Nvbm5lY3RfZ2V0X3R5cGUpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlcik6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksCgkgIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLAoJICAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksCgkgIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwKCSAgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwKCSAgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLAoJICAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwKCSAgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwKCSAgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLAoJICAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLAoJICAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwKCSAgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksCgkgIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0wOS0wNSAxNzoyMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA0LTA4LTAzIDE0OjI4OjEyICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkgIGZpeGVzIGZvciBHX0RJU0FCTEVfQVNTRVJUIGFuZCBmcmllbmRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2R5bnBhcmFtcy9maWx0ZXIuYzogKHVpX2NvbnRyb2xfY3JlYXRlKToKCSAgKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOiAocHJpbnRfdGFnKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhLmM6IChnc3RfYWxzYV9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOgoJICAoZ3N0X2dka19hbmltYXRpb25faXRlcl9tYXlfYWR2YW5jZSk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBleHQvbWFkL2dzdGlkM3RhZy5jOiAoZ3N0X21hZF9pZDNfdG9fdGFnX2xpc3QpLAoJICAodGFnX2xpc3RfdG9faWQzX3RhZ19mb3JlYWNoKSwgKGdzdF9pZDNfdGFnX2hhbmRsZV9ldmVudCk6CgkgICogZXh0L3ZvcmJpcy9vZ2d2b3JiaXNlbmMuYzogKGdzdF9vZ2d2b3JiaXNlbmNfZ2V0X3RhZ192YWx1ZSk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNlbmNfZ2V0X3RhZ192YWx1ZSk6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6IChnc3RfeGluZV9hdWRpb19kZWNfY2hhaW4pOgoJICAqIGdzdC1saWJzL2dzdC9tZWRpYS1pbmZvL21lZGlhLWluZm8tdGVzdC5jOiAocHJpbnRfdGFnKToKCSAgKiBnc3Qvc2luZS9kZW1vLWRwYXJhbXMuYzogKG1haW4pOgoJICAqIGdzdC90YWdzL2dzdHZvcmJpc3RhZy5jOiAoZ3N0X3RhZ190b192b3JiaXNfY29tbWVudHMpOgoJICAqIHRlc3RzdWl0ZS9hbHNhL2Zvcm1hdHMuYzogKGNyZWF0ZV9waXBlbGluZSk6CgkgICogdGVzdHN1aXRlL2Fsc2Evc2luZXNyYy5jOiAoc2luZXNyY19mb3JjZV9jYXBzKSwgKHNpbmVzcmNfZ2V0KToKCSAgZml4ZXMgZm9yIEdfRElTQUJMRV9BU1NFUlQgYW5kIGZyaWVuZHMKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKGFhY190eXBlX2ZpbmQpLAoJICAobXAzX3R5cGVfZnJhbWVfbGVuZ3RoX2Zyb21faGVhZGVyKSwgKG1wM190eXBlX2ZpbmQpLAoJICAocGx1Z2luX2luaXQpOgoJICByZXF1aXJlIG1wMyB0eXBlZmluZGluZyB0byBoYXZlIGF0IGxlYXN0IE1JTl9IRUFERVJTIHZhbGlkIGhlYWRlcnMKCSAgYWRkIHR5cGVmaW5kaW5nIGZvciBBQUMgYWR0cyBmaWxlcwoKMjAwNC0wNS0yMSAyMzoyODo1NyArMDAwMCAgU3TDqXBoYW5lIExvZXVpbGxldCA8Z3N0cmVhbWVyQGxlcm91dGllci5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgc2Vjb25kIGJhdGNoIDogcmVtb3ZlICcsJyBhdCBlbmQgb2YgZW51bXMgYXMgdGhleSBjb3VsZCBjb25mdXNlIG9sZGVyIGdjYywgZm9yZWlnbiBjb21waWxlcnMgKGZvcnRlKSBhbmQgZ3RrLWRvYyAoaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZWNvbmQgYmF0Y2ggOgoJICByZW1vdmUgJywnIGF0IGVuZCBvZiBlbnVtcyBhcyB0aGV5IGNvdWxkIGNvbmZ1c2Ugb2xkZXIgZ2NjLCBmb3JlaWduIGNvbXBpbGVycyAoZm9ydGUpIGFuZCBndGstZG9jCgkgIChpbiBnc3QtcGx1Z2lucy9leHQvIHRoaXMgdGltZSkKCjIwMDQtMDMtMTUgMTk6MzI6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCjIwMDQtMDMtMTUgMTY6MzI6NTQgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSAgKi5oOiBSZXZlcnQgaW5kZW50aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqICouaDogUmV2ZXJ0IGluZGVudGluZwoKMjAwNC0wMy0xNCAyMjozNDozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBnc3QtaW5kZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnc3QtaW5kZW50CgoyMDA0LTAxLTEyIDAzOjQwOjE4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgUmVtb3ZlIGFsbCB1c2FnZSBvZiBnc3RfcGFkX2dldF9jYXBzKCksIGFuZCByZXBsYWNlIGl0IHdpdGggZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzKCkgb3IgZ3N0X3BhZF9nZXRfbmVnb3RpYXRlZF9jYXAoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBhbGwgdXNhZ2Ugb2YgZ3N0X3BhZF9nZXRfY2FwcygpLCBhbmQgcmVwbGFjZSBpdCB3aXRoCgkgIGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcygpIG9yIGdzdF9wYWRfZ2V0X25lZ290aWF0ZWRfY2FwKCkuCgoyMDAzLTEyLTIyIDAxOjQ3OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgTWVyZ2UgQ0FQUyBicmFuY2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lcmdlIENBUFMgYnJhbmNoCgoyMDAzLTEyLTEzIDE2OjU5OjUxICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgcmVtb3ZlZCBHU1RfKl9DQVNULiBEaXNhYmxpbmcgb2YgdHlwZSBjaGVja2luZyBpcyBkb25lIGluIGdsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmVkIEdTVF8qX0NBU1QuIERpc2FibGluZyBvZiB0eXBlIGNoZWNraW5nIGlzIGRvbmUgaW4gZ2xpYi4KCjIwMDMtMTItMDQgMTA6Mzc6MzggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgoyMDAzLTExLTA3IDEyOjQ3OjAyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBzZXZlcmFsIHNvdXJjZSBmaWxlcwoKMjAwMy0xMS0wMSAyMzo0MzoxMyArMDAwMCAgSWFpbiBIb2xtZXMgPGlhaW5AcHJldHR5cGVvcGxlLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgSmFjayBmaXhlZCB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEphY2sgZml4ZWQgdG9vCgoyMDAzLTEwLTI5IDAzOjE1OjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgY2hhbmdlIGdzdC9ieXRlc3RyZWFtLmggdG8gZ3N0L2J5dGVzdHJlYW0vYnl0ZXN0cmVhbS5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2UgZ3N0L2J5dGVzdHJlYW0uaCB0byBnc3QvYnl0ZXN0cmVhbS9ieXRlc3RyZWFtLmgKCjIwMDMtMTAtMjggMjA6NTI6NDEgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBtZXJnZSBUWVBFRklORCBicmFuY2guIE1ham9yIGNoYW5nZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtZXJnZSBUWVBFRklORCBicmFuY2guIE1ham9yIGNoYW5nZXM6CgkgIC0gdG90YWxseSByZXdvcmtlZCB0eXBlKGZpbmQpIHN5c3RlbQoJICAtIGFsbCB0eXBlZmluZCBmdW5jdGlvbnMgYXJlIGluIGdzdC90eXBlZmluZCBub3cKCSAgLSBtb3JlIHR5cGVmaW5kIGZ1bmN0aW9ucyB0aGVuIGJlZm9yZQoJICAtIHNvbWUgcGx1Z2lucyBtaWdodCBmYWlsIHRvIGNvbXBpbGUgbm93IGJlY2F1c2UgSSBkb24ndCBoYXZlIHRoZW0gaW5zdGFsbGVkIGFuZCB0aGV5CgkgIGEpIHJlcXVpcmUgYnl0ZXN0cmVhbSBvcgoJICBiKSBoYXZlbid0IGhhZCB0aGVpciB0eXBlZmluZCBmaXhlZC4KCSAgUGxlYXNlIGZpeCB0aG9zZSBwbHVnaW5zIGFuZCBwdXQgdGhlIHR5cGVmaW5kIGZ1bmN0aW9ucyBpbnRvIGdzdC90eXBlZmluZCBpZiB0aGV5IGRvbid0IGhhdmUgZGVwZW5kZW5jaWVzCgoyMDAzLTEwLTA4IDE2OjA4OjE5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoKMjAwMy0xMC0wMSAxMzoxNDo1MCArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBOZXcgdHlwZWZpbmQgc3lzdGVtOiBieXRlc3RyZWFtIGlzIG5vdyBwYXJ0IG9mIHRoZSBjb3JlIGFsbCBwbHVnaW5zIGhhdmUgYmVlbiBtb2RpZmllZCB0byB1c2UgdGhpcyBuZXcgdHlwZWZpbmQgc3lzdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyB0eXBlZmluZCBzeXN0ZW06CgkgICogYnl0ZXN0cmVhbSBpcyBub3cgcGFydCBvZiB0aGUgY29yZQoJICAqIGFsbCBwbHVnaW5zIGhhdmUgYmVlbiBtb2RpZmllZCB0byB1c2UgdGhpcyBuZXcgdHlwZWZpbmQgc3lzdGVtCgkgICogYXNmIHR5cGVmaW5kaW5nIGFkZGVkCgkgICogbXBlZyB2aWRlbyBzdHJlYW0gdHlwZWZpZGluZyByZW1vdmVkIGJlY2F1c2UgaXQncyBicm9rZW4KCSAgKiBkdXBsaWNhdGUgdHlwZWZpbmQgZW50cmllcyByZW1vdmVkCgkgICogZXh0cmEgaWQzIHR5cGVmaW5kaW5nIGFkZGVkLCBiZWNhdXNlIHdlJ3ZlIHNlZW4gNCB0eXBlcyBvZiBmaWxlcwoJICAocmlmZi93YXYsIGZsYWMsIHZvcmJpcywgbXAzKSB3aXRoIGlkMyBoZWFkZXJzIGFuZCBlYWNoIG9mIHRoZXNlIG5lZWRzCgkgIHRvIHdvcmsuIEluc3RlYWQsIEkndmUgYWRkZWQgYW4gaWQzIGVsZW1lbnQgYW5kIGxldCBpdCByZWRvIHR5cGVmaWRpbmcKCSAgYWZ0ZXIgdGhlIGlkMyBoZWFkZXIuIHRoaXMgbmVlZHMgYSBoYWNrIGJlY2F1c2Ugc3BpZGVyIG9ubHkgdHlwZWZpbmRzCgkgIG9uY2UuIFdlIGNhbiByZW1vdmUgdGhpcyBoYWNrIG9uY2Ugc3BpZGVyIHN1cHBvcnRzIG11bHRpcGxlIHR5cGVmaW5kcy4KCSAgKiB3aXRoIGFsbCB0aGlzLCBtcDMgdHlwZWZpbmRpbmcgaXMgc2VtaS1yZXdyaXR0ZW4KCSAgKiBpZDMgdHlwZWZpbmRpbmcgaW4gZmxhYy92b3JiaXMgaXMgcmVtb3ZlZCwgaXQncyBubyBsb25nZXIgbmVlZGVkCgkgICogZml4ZWQgc3BpZGVyIGFuZCBnc3QtdHlwZWZpbmQgdG8gdXNlIHRoaXMsIHRvby4KCSAgKiBPdGhlciBnZW5lcmFsIGNsZWFudXBzCgoyMDAzLTA5LTMwIDEyOjU2OjI3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBjb25mb3JtIHRvIHRoZSBidWZmZXItZnJhbWVzIHByb3BzIGVudHJ5IC0tIG11Y2ggbmljZXIgbm93Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb25mb3JtIHRvIHRoZSBidWZmZXItZnJhbWVzIHByb3BzIGVudHJ5IC0tIG11Y2ggbmljZXIgbm93Li4uCgoyMDAzLTA4LTEwIDAwOjAxOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgoyMDAzLTA3LTE5IDIzOjI1OjI1ICswMDAwICBMZWlmIEpvaG5zb24gPGxlaWZAYW1iaWVudC4yeS5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKyBjaGFuZ2VzIGZvciBuZXcgZmxvYXQgY2FwcyB3aXRob3V0IHNsb3BlL2ludGVyY2VwdCArIHNvbWUgY2F0ZWdvcnkgY2hhbmdlcyBmb3IgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKyBjaGFuZ2VzIGZvciBuZXcgZmxvYXQgY2FwcyB3aXRob3V0IHNsb3BlL2ludGVyY2VwdAoJICArIHNvbWUgY2F0ZWdvcnkgY2hhbmdlcyBmb3IgcGx1Z2lucwoKMjAwMy0wNy0wNiAyMDo0OTo1MiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0J3MgZG9jdW1lbnQuIE5vdGU6IHNvbWUgcGx1Z2lucyB3aWxsIGJyZWFrLCBzb21lIHBpcGVsaW5lcyB3aWxsIGJyZWFrLCBleHBlY3QgSEVBRCB0byBiZSBicm9rZW4gb3IgYXQgbGVhc3Qgbm90IDEwMCUgd29ya2luZyBmb3IgYSBmZXcgZGF5cywgYnV0IGRvbid0IGZvcmdldCB0byByZXBvcnQgYnVncwoKMjAwMy0wNy0wMSAwMjoyNzowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGZpeCB0eXBlIHB1bm5pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0eXBlIHB1bm5pbmcKCjIwMDMtMDYtMjkgMTk6NDY6MTMgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIEluY2x1ZGVzIGZpeGVzIGZvciBtaXNzaW5nIGluY2x1ZGVzIGZvciBjb25maWcuaCBhbmQgdW5pc3RkLmgKCSAgSSBvbmx5IGVuc3VyZWQgZm9yIHBsdWdpbnMgSSBjYW4gYnVpbGQgdGhhdCB0aGV5IHdvcmssIHNvIGlmIHNvbWUgb2YgdGhlbSBhcmUgc3RpbGwgYnJva2VuLCB5b3UgZ290dGEgZml4IHRoZW0geW91cnNlbHZlcyB1bmZvcnR1bmF0ZWx5LgoKMjAwMy0wNi0xMyAyMToyMToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgUmVtb3ZlZCB1Z2x5IGNhcHMgZml4ZWQgZmxhZyBoYWNrLCB3aWxsIGJlIGRvbmUgYXV0b21hdGljYWxseSBpbiBjb3JlIHNvb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgdWdseSBjYXBzIGZpeGVkIGZsYWcgaGFjaywgd2lsbCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgaW4KCSAgY29yZSBzb29uCgoyMDAzLTAzLTA0IDE1OjM0OjIwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICB1cGRhdGUgZm9yIHRoZSBsYXRlc3QgamFjayBjdnMgYW5kIG5vbi1jb3RocmVhZGVkIGdzdCBzY2hlZHVsZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBmb3IgdGhlIGxhdGVzdCBqYWNrIGN2cyBhbmQgbm9uLWNvdGhyZWFkZWQgZ3N0IHNjaGVkdWxlcgoKMjAwMy0wMi0wNSAyMDozODo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIENoYW5nZWQgY2Fwcy0+Zml4ZWQgdG8gdXNlIEZMQUdfU0VUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIGNhcHMtPmZpeGVkIHRvIHVzZSBGTEFHX1NFVAoKMjAwMy0wMS0xMCAxMzozODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIFBhZENvbm5lY3QgLT4gUGFkTGluawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgoyMDAzLTAxLTEwIDEwOjIyOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMKCSAgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcwoJICBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHRoYXQgSSBkb24ndCBzcGVuZCBkb3VibGUKCSAgdGhlIHRpbWUgcmVzb2x2aW5nIGNvbmZsaWN0cwoKMjAwMi0xMi0wOCAxNDo1MDoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoKMjAwMi0wOS0yOSAxODoxMjoxOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGxpY2Vuc2VzIGFnYWluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsaWNlbnNlcyBhZ2FpbgoKMjAwMi0wOS0xOCAxOTowMjo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCjIwMDItMDktMTAgMDk6MzE6NDAgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgVGhpcyB1cGRhdGVzIGFsbCBwbHVnaW5zIHRvIHRoZSBuZXcgQVBJIGZvciBnc3RfcGFkX3RyeV9zZXRfY2FwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVGhpcyB1cGRhdGVzIGFsbCBwbHVnaW5zIHRvIHRoZSBuZXcgQVBJIGZvciBnc3RfcGFkX3RyeV9zZXRfY2FwcwoKMjAwMi0wOS0wOSAyMzoyNzozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHJlbW92aW5nIHdhcm5pbmdzIGFzIGFwcHJvdmVkIGJ5IHdpbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3Zpbmcgd2FybmluZ3MgYXMgYXBwcm92ZWQgYnkgd2ltCgoyMDAyLTA4LTIzIDA0OjA0OjExICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgZml4IGphY2sgaW5wdXQgcG9ydCBjb25uZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggamFjayBpbnB1dCBwb3J0IGNvbm5lY3Rpb24KCjIwMDItMDctMDkgMTc6Mzk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgY29tcGlsZSBmaXhlbiwgYW5kIHByZXBhcmUgdG8gbW92ZSBNQUlOVEFJTkVSX01PREUgdG8gYXMtdmVyc2lvbi5tNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tcGlsZSBmaXhlbiwgYW5kIHByZXBhcmUgdG8gbW92ZSBNQUlOVEFJTkVSX01PREUgdG8gYXMtdmVyc2lvbi5tNAoKMjAwMi0wNy0wMiAyMzozNTowNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIG1ha2UgamFjayB3b3JrIGluIGFsbCBpdHMgZnVsbCBkdXBsZXggZ2xvcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1ha2UgamFjayB3b3JrIGluIGFsbCBpdHMgZnVsbCBkdXBsZXggZ2xvcnkKCjIwMDItMDYtMTIgMDM6MzI6MDIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICB3b3JraW5nIGphY2sgZWxlbWVudHMgKGZpeGVkIGEgcHJvYmxlbSBpbiB1cHN0cmVhbSBqYWNrKSByYW5kb20gb3RoZXIgZml4ZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd29ya2luZyBqYWNrIGVsZW1lbnRzIChmaXhlZCBhIHByb2JsZW0gaW4gdXBzdHJlYW0gamFjaykKCSAgKiByYW5kb20gb3RoZXIgZml4ZW4uLi4KCjIwMDItMDUtMTUgMTk6MDg6NDkgKzAwMDAgIFN0ZXZlIEJha2VyIDxzdGV2ZUBzdGV2ZWJha2VyLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgdXNlIG5ldyBieXRlc3RyZWFtIGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIG5ldyBieXRlc3RyZWFtIGFwaQoKMjAwMi0wNS0xMyAxODowODozMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgdXBkYXRlIHRvIG5ldyBqYWNrIGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIG5ldyBqYWNrIGFwaQoKMjAwMi0wNS0wNSAxOTozOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhZGQgc29tZSBpbmNsdWRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvbWUgaW5jbHVkZXMKCjIwMDItMDUtMDUgMDE6MDg6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGJldHRlciBpbml0aWFsaXphdGlvbi4gaXQgZG9lc24ndCB3b3JrIG92ZXIgaGVyZSwgdGhvdWdoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmV0dGVyIGluaXRpYWxpemF0aW9uLiBpdCBkb2Vzbid0IHdvcmsgb3ZlciBoZXJlLCB0aG91Z2guCgoyMDAyLTA1LTA0IDIxOjM4OjU2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGEgY29tbWl0IHNvIHRoYXQgamFjayB3aWxsIGJ1aWxkIHdpdGhvdXQgZXJyb3JzIG9uIFVyYWV1cydzIHN5c3RlbSA7KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYSBjb21taXQgc28gdGhhdCBqYWNrIHdpbGwgYnVpbGQgd2l0aG91dCBlcnJvcnMgb24gVXJhZXVzJ3Mgc3lzdGVtIDspCgoyMDAyLTA1LTA0IDIwOjUzOjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHNldCBjYXBzIG9uY2Ugd2Uga25vdyB0aGUgc2FtcGxlIHJhdGUgb2YgdGhlIHN5c3RlbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2V0IGNhcHMgb25jZSB3ZSBrbm93IHRoZSBzYW1wbGUgcmF0ZSBvZiB0aGUgc3lzdGVtCgoyMDAyLTA1LTA0IDE4OjU3OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBzb21lIGphY2sgZml4ZXMsIGFsc2EgdG91Y2h1cHMsIGFuZCBhZGQgcnRwIGJ5IGRlZmF1bHQgdG8gdGhlIGJ1aWxkIGlmIHRoZXJlIGFyZSBhbnkgcHJvYmxlbXMgYnVpbGRpbmcgcnRwLCB3ZSdyZSBtb3YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNvbWUgamFjayBmaXhlcywgYWxzYSB0b3VjaHVwcywgYW5kIGFkZCBydHAgYnkgZGVmYXVsdCB0byB0aGUgYnVpbGQKCSAgaWYgdGhlcmUgYXJlIGFueSBwcm9ibGVtcyBidWlsZGluZyBydHAsIHdlJ3JlIG1vdmluZyBpdCBiYWNrIHRvIGV4cGVyaW1lbnRhbCA7KQoKMjAwMi0wNC0yMCAyMTo0Mjo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMgZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zIGFuIGVsZW1lbnQgYnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcwoJICAqIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMKCSAgKiBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMKCSAgKiBhbiBlbGVtZW50IGJyb3dzZXIgdGhhdCB1c2VzIGRldGFpbHMtPmtsYXNzCgkgICogc2VwYXJhdGVkIGNkeGEgcGFyc2Ugb3V0IGZyb20gdGhlIGF2aSBkaXJlY3RvcnkKCjIwMDItMDQtMTYgMTc6MTQ6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBGaW5hbGx5IHdlJ3JlIG9uIHRvIGEgcHJvcGVyIGphY2sgc2V0dXAsIHdpdGggYSBzcGVjaWFsaXplZCBiaW4gYW5kIGVsZW1lbnRzIHRoYXQgY2FuIG9ubHkgZ28gaW4gYSBqYWNrIGJpbi4gSSBoYWQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpbmFsbHkgd2UncmUgb24gdG8gYSBwcm9wZXIgamFjayBzZXR1cCwgd2l0aCBhIHNwZWNpYWxpemVkIGJpbiBhbmQgZWxlbWVudHMKCSAgdGhhdCBjYW4gb25seSBnbyBpbiBhIGphY2sgYmluLiBJIGhhZCB0byBmaXggdGhlIHBhcnNlciBmaXJzdCB0byBkbyB0aGlzLCBidXQKCSAgdG8gcnVuIGl0LCB0aGUgc3ludGF4IGlzIGxpa2Ugc286CgkgIGdzdC1sYXVuY2ggamFja2Jpbi4oIGZpbGVzcmMgISBtYWQgISBqYWNrc2luayApCgkgIEJ1dCBvZiBjb3Vyc2UgaXQncyBub3QgZnVsbHkgZnVuY3Rpb25hbCB5ZXQuIFNpZ2guCgoyMDAyLTA0LTExIDIwOjQyOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURQoJICBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBhbHNvLCBzb21lIC1XZXJyb3IgZml4ZXMuCgoyMDAyLTAzLTMwIDIxOjA3OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFscGhhYmV0aXphdGlvbiBmaXhlbiBhIGphY2sgY2FwcyBmaXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYWxwaGFiZXRpemF0aW9uIGZpeGVuCgkgICogYSBqYWNrIGNhcHMgZml4CgoyMDAyLTAzLTMwIDE5OjMxOjEzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFkZCBub3RpZnkgYmFjayB0byBmaWxlc3JjLCBpdCdzIG5lZWRlZCBmb3IgTVZDIGFwcGxpY2F0aW9ucyByZW1vdmUgbm90aWZ5IHByaW50b3V0cyBmcm9tIGdzdC1sYXVuY2ggY2xlYW51cCBpbiBnc3QtcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhZGQgbm90aWZ5IGJhY2sgdG8gZmlsZXNyYywgaXQncyBuZWVkZWQgZm9yIE1WQyBhcHBsaWNhdGlvbnMKCSAgKiByZW1vdmUgbm90aWZ5IHByaW50b3V0cyBmcm9tIGdzdC1sYXVuY2gKCSAgKiBjbGVhbnVwIGluIGdzdC1wbHVnaW5zIGNvbmZpZ3VyZS5hYwoJICAqIHNvbWUgamFjayB1cGRhdGVzCgkgICogcmVtb3ZlIFNFTEZfSVRFUkFUSU5HIGZsYWcgaW4gZmF2b3Igb2YgU0VGX1NDSEVEVUxBQkxFIChub3QgYSBjbGVhciBuYW1lLAoJICBidXQgaXQncyB3aGF0IHdlIGhhdmUgZm9yIHRoZSBtb21lbnQpCgkgICogaW1wcm92ZSBwYXJzaW5nIG9mIHJlcXVlc3QgcGFkIG5hbWVzLCBubyBtb3JlIHNzY2FuZgoJICAqIGZpeGVzIHRvIHRoZSBmYXN0c2NoZWR1bGVyIE1ha2VmaWxlLmFtCgoyMDAyLTAzLTIwIDIxOjQ1OjA0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgoyMDAyLTAzLTE5IDA0OjEwOjA2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cwoJICAqIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGggdGhlIHBsdWdpbl9pbmZvIHN0cnVjdCwKCSAgYW5kIHN5bWJvbCByZXNvbHV0aW9uIGlzIGxhenksIHNvIHdlIGNhbiBhbHdheXMga25vdyBpZiBhIHBsdWdpbiBjYW4gYmUgbG9hZGVkIGJ5IHRoZSBwbHVnaW5faW5mbyBkYXRhLiBpbiB0aGVvcnkuCgoyMDAyLTAzLTE5IDAxOjM5OjQzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8KCSAgQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2ljYWxseSwKCSAgYW5kIHRoaXMgZ2l2ZXMgdGhlIHVzZXIgdGhlIGZyZWVkb20gdG8gc2F5IG1ha2UgR1NUX1BMVUdJTl9MREZMQUdTPS1teWZsYWcKCjIwMDItMDMtMTggMDQ6NDE6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9SRUFETUU6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBzL2dzdF9lbGVtZW50X2luc3RhbGxfc3RkX3Byb3BzL2dzdF9lbGVtZW50X2NsYXNzX2luc3RhbGxfc3RkX3Byb3BzLyAtLSBpdCBqdXN0IG1ha2VzIG1vcmUgc2Vuc2UgdGhhdCB3YXkgYWRkZWQgamFjayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcy9nc3RfZWxlbWVudF9pbnN0YWxsX3N0ZF9wcm9wcy9nc3RfZWxlbWVudF9jbGFzc19pbnN0YWxsX3N0ZF9wcm9wcy8gLS0gaXQganVzdCBtYWtlcyBtb3JlIHNlbnNlIHRoYXQgd2F5CgkgICogYWRkZWQgamFjayBlbGVtZW50LCBkb2Vzbid0IHF1aXRlIHdvcmsgcmlnaHQgeWV0IGJ1dCBpIGRpZG4ndCB3YW50IHRvIGxvc2UgdGhlIHdvcmsgLS0gaXQgZG9lcyBidWlsZCwgcmVnaXN0ZXIsCgkgIGFuZCBhdHRlbXB0IHRvIHJ1biB0aG91Z2gKCSAgKiBpbXBvc2VkIHNvbWUgcmVzdHJpY3Rpb25zIG9uIHRoZSBuYW1pbmcgb2YgcmVxdWVzdCBwYWRzIHRvIGJldHRlciBhbGxvdyBmb3IgcmV2ZXJzZSBwYXJzaW5nCgkgICogYWRkZWQgJyVzJyB0byByZXZlcnNlIHBhcnNpbmcKCSAgKiBhZGRlZCBuZXcgYmluIGZsYWcgdG8gaW5kaWNhdGUgdGhhdCBpdCBpcyBzZWxmLWl0ZXJhdGluZywgYW5kIHNvbWUgbGFtZSBjb2RlIGluIGdzdC1sYXVuY2ggdG8gdGVzdCBpdCBvdXQKCSAgKiBmaXhlbiBvbiBsYXVuY2gtZ3VpCgkgICogYWRkZWQgcGtnLWNvbmZpZyBzdHVmZiBmb3IgdGhlIGVkaXRvcidzIGxpYnMKCjIwMTEtMDEtMDIgMTE6Mzc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBtYXJrIHY0bDJzaW5rIGFzIGV4cGVyaW1lbnRhbCBhbmQgYnVpbGQgb25seSBpZiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgcGFzc2VkCgkgIEl0J3Mgbm90IHJlYWxseSBvZiAnZ29vZCcgcXVhbGl0eSB5ZXQsIGJ1dCB0aGVyZSdzIGEgbG90IG9mCgkgIGNvZGUgc2hhcmVkIHdpdGggdjRsMnNyYywgc28gbm90IHNvIGVhc3kgdG8gbW92ZSBpdCBlbHN3aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjI0NAoKMjAxMS0wMS0wMiAwMToyNDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIFJldmVydCAidjRsMjogYWRkIG5vcm0gcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWUxZDQxOWQwNzMzN2U2ZGIyY2MzOTM2NDcyYmUyMDVjZTkyN2U1NC4KCSAgUmV2ZXJ0aW5nIHRoaXMgc2luY2UgaXQgYWRkcyB1bnJldmlld2VkIGFuZCBiYWQgQVBJIHRvIHY0bDJzcmMKCSAgKHByb3BlcnR5IG9mIHR5cGUgZW51bSwgd2l0aCBzZWVtaW5nbHkgcmFuZG9tIGFuZCB1bnNvcnRlZCB2YWx1ZXMpLgoKMjAxMS0wMS0wMSAyMzoyNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy8uZ2l0aWdub3JlOgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvUkVBRE1FLmZpbHRlcnN0YW1wOgoJKiB0b29scy9maWx0ZXJzdGFtcC5zaDoKCSogdG9vbHMvZ3N0LWxhdW5jaC1leHQtbS5tOgoJKiB0b29scy9nc3QtbGF1bmNoLWV4dC4xLmluOgoJKiB0b29scy9nc3QtdmlzdWFsaXNlLW0ubToKCSogdG9vbHMvZ3N0LXZpc3VhbGlzZS4xLmluOgoJICB0b29sczogcmVtb3ZlIHVudXNlZCBsZWZ0LW92ZXIgZGlyZWN0b3J5CgkgIFRoZXNlIGFyZSBhbGwgaW4gLWJhc2UvdG9vbHMuCgoyMDEwLTEyLTMxIDEzOjU3OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSAgbXA0YWRlcGF5OiBpbXByb3ZlIHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgcGFja2V0cwoJICBJbXByb3ZlIHBhcnNpbmcgb2YgdGhlIHNhbXBsZXJhdGUuCgkgIFBhcnNlIHRoZSBmcmFtZWxlbiBzbyB0aGF0IHdlIGNhbiBjYWxjdWxhdGUgdGltZXN0YW1wcy4KCSAgV2hlbiBpbnRlcnBvbGxhdGUgdGhlIGluY29tbWluZyB0aW1lc3RhbXAgb24gb3V0Z29pbmcgYnVmZmVycyB3aGVuIHRoZXJlIGFyZQoJICBtdWx0aXBsZSBzdWJmcmFtZXMuCgkgIGZpeGVzICM2MjU4MjUKCjIwMTAtMTItMzEgMDA6MTI6NTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogRml4IGJ1aWxkIGZhaWx1cmUgY2F1c2VkIGJ5IHByZXZpb3VzIGNvbW1pdAoKMjAxMC0xMi0zMCAxODoyMDo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IGJ1aWxkIGZpeGVzIGZvciBNU1ZDCgkgIFVzZSBnaW50MTYgYW5kIEdfUEkuCgoyMDEwLTEyLTMwIDE4OjE5OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkgIGR0bWY6IHJlaW5kZW50CgoyMDEwLTEyLTMxIDAyOjE2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGNhaXJvLCB2aWRlb2ZpbHRlcjogdXNlIGdzdC9tYXRoLWNvbXBhdC5oIGhlYWRlciBmb3IgcmludAoKMjAxMC0xMi0zMCAxNDozMDoyNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQ2hlY2sgZm9yIEhBVkVfUklOVCBpbnN0ZWFkCgkgIEFsc28gY2hhbmdlIE1fUEkgdG8gR19QSSBmb3IgZ2lnZ2xlcy4KCjIwMTAtMTItMzAgMTQ6MjE6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvOiBEb24ndCB1c2UgI2lmZGVmcyBpbnNpZGUgbWFjcm9zCgoyMDEwLTEyLTMwIDE0OjIwOjUyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJKiBnc3QvZ29vbS9pZnMuYzoKCSogZ3N0L2dvb20vbGluZXMuYzoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzoKCSAgQ2hhbmdlIE1fUEkgdG8gR19QSQoKMjAxMC0xMi0zMCAxMjowNzo1MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogdXNlIEdfT1NfV0lOMzIgZm9yIHdpbmRvd3MgY2hlY2sKCjIwMTAtMTItMzAgMTY6MjQ6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBtcDRhZGVwYXk6IGZpeCB0aW1lc3RhbXBzIG9uIGJ1ZmZlcnMKCjIwMTAtMTItMzAgMTY6MjI6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBtcHZwYXk6IGZpeCBmbHVzaGluZyBhbmQgZGlzY29udAoJICBGaXggZmx1c2hpbmcgYW5kIGRpc2NvbnRzLgoJICBDbGVhbiB1cCBpbiBzdGF0ZSBjaGFuZ2VzLgoKMjAxMC0xMi0yOSAyMzozODoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGluY3JlYXNlIGFsbG93ZWQgbWF4LiBibG9jayBzaXplIGZvciBwdXNoIG1vZGUgZnJvbSAxME0gdG8gMTVNCgkgIEl0IHdhcyBhbiBhcmJpdHJhcnkgbGltaXQgZnJvbSB0aGUgc3RhcnQsIG1lYW50IGFzIGEgYmFzaWMgc2FuaXR5IGNoZWNrLAoJICBzbyBtYXkganVzdCBhcyB3ZWxsIGluY3JlYXNlIGl0IGEgbGl0dGxlLiBXb3VsZCBiZSBnb29kIHRvIHByb3ZpZGUKCSAgcHJvZ3Jlc3MgcmVwb3J0aW5nIHdoaWxlIGNvbXBsZXRpbmcgdGhlIGJsb2NrIGluIGFueSBjYXNlLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzA2MAoKMjAxMC0xMi0yOSAyMzowOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGFzc3VtZSBtYXRyb3NrYSBpZiBubyBkb2N0eXBlIGlzIHNwZWNpZmllZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4MDE5CgoyMDEwLTEyLTA0IDEzOjQzOjExIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogYWRkIGludGVybGFjZWQgc3VwcG9ydAoKMjAxMC0xMC0wMiAxNDo0NToxNCAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICB2NGwyc2luazogYWRkIG5hdmlnYXRpb24gc3VwcG9ydAoKMjAxMC0wNC0wNCAwNjo0Mzo0MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhZGQgbm9ybSBwcm9wZXJ0eQoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEd1ZW5uYWRpIExpYWtob3ZldHNraS4KCjIwMTAtMDctMTMgMTA6MDM6NTEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBjbGVhbnVwIGdldC9zZXQgaW5wdXQvb3V0cHV0CgkgIG91dHB1dCBkZXZpY2VzIHNob3VsZCB1c2UgZ2V0L3NldCBvdXRwdXQsIGFuZCBpbiBlaXRoZXIgY2FzZSB3ZSBzaG91bGQKCSAgbm90IHByaW50IGEgd2FybmluZyBtZXNzYWdlIGlmIHRoZSBpb2N0bCBmYWlscyBidXQgdGhlIGRldmljZSBkb2VzIG5vdAoJICBjbGFpbSB0byBzdXBwb3J0IHRoZSB0dW5lciBpbnRlcmZhY2UKCjIwMTAtMDYtMTAgMTE6MTU6NDYgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgdjRsMnhvdmVybGF5OiBhZGQgc3VwcG9ydCB0byBjcmVhdGUgd2luZG93CgkgIElmIHhvdmVybGF5IGlzIGF2YWlsYWJsZSwgdjRsMnNpbmsgc2hvdWxkIGNyZWF0ZSBhIHdpbmRvdyBmb3IgdGhlIG92ZXJsYXkgdG8KCSAgZGlzcGxheSBpbi4KCSAgVGhlIHdpbmRvdyBhdXRvbWF0aWNhbGx5IHRyaWVzIHRvIG1ha2UgaXRzZWxmIGFzIGxhcmdlIGFzIHBvc3NpYmxlLgoJICBUaGlzIHdvcmtzIHdlbGwgb24gYSBzbWFsbCBzY3JlZW4sIGJ1dCBwZXJoYXBzIHNob3VsZCBmaXJzdCBhdHRlbXB0IHRvIHVzZQoJICB0aGUgc2l6ZSBvZiB0aGUgdmlkZW8gdGhhdCBpcyBwbGF5ZWQgKG5vIHNjYWxpbmcpLgoKMjAxMC0wNC0wNCAwNjo0MToyOCAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IHNwZWNpYWwgaGFuZGxpbmcgZm9yIGNhc2VzIGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpCgkgIFNwZWNpYWwgY2FzZSBjaGVjayBmb3Igc3ViLWJ1ZmZlcnM6ICBJbiBjZXJ0YWluIGNhc2VzLCBwbGFjZXMgbGlrZQoJICBHc3RCYXNlVHJhbnNmb3JtLCB3aGljaCBtaWdodCBjaGVjayB0aGF0IHRoZSBidWZmZXIgaXMgd3JpdGFibGUgYmVmb3JlIGNvcHlpbmcKCSAgbWV0YWRhdGEsIHRpbWVzdGFtcCwgYW5kIHN1Y2gsIHdpbGwgZmluZCB0aGF0IHRoZSBidWZmZXIgaGFzIG1vcmUgdGhhbiBvbmUKCSAgcmVmZXJlbmNlIHRvIGl0LiAgSW4gdGhlc2UgY2FzZXMsIHRoZXkgd2lsbCBjcmVhdGUgYSBzdWItYnVmZmVyIHdpdGggYW4gb2Zmc2V0PTAKCSAgYW5kIGxlbmd0aCBlcXVhbCB0byB0aGUgb3JpZ2luYWwgYnVmZmVyIHNpemUuCgkgIFRoaXMgY291bGQgaGFwcGVuIGluIHR3byBzY2VuYXJpb3M6ICgxKSBhIHRlZSBpbiB0aGUgcGlwZWxpbmUsIGFuZCAoMikgYmVjYXVzZQoJICB0aGUgcmVmY250IGlzIGluY3JlbWVudGVkIGluIGdzdF9taW5pX29iamVjdF9mcmVlKCkgYmVmb3JlIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbgoJICBpcyBjYWxsZWQsIGFuZCBkZWNyZW1lbnRlZCBhZnRlciBpdCByZXR1cm5zLi4gIGJ1dCByZXR1cm5pbmcgdGhpcyBidWZmZXIgdG8gdGhlCgkgIGJ1ZmZlciBwb29sIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiwgY291bGQgd2FrZSB1cCBhIHRocmVhZCBibG9ja2VkIGluCgkgIF9idWZmZXJfYWxsb2MoKSB3aGljaCBjb3VsZCBydW4gYW5kIGdldCBhIGJ1ZmZlciB3LyByZWZjbnQ9PTIgYmVmb3JlIHRoZSB0aHJlYWQKCSAgb3JpZ2luYWxseSB1bnJlZidpbmcgdGhlIGJ1ZmZlciByZXR1cm5zIGZyb20gZmluYWxpemUgZnVuY3Rpb24gYW5kIGRlY3JlbWVudHMKCSAgdGhlIHJlZmNudCBiYWNrIHRvIDEhCgkgIFRoaXMgaXMgcmVsYXRlZCB0byBpc3N1ZSAjNTQ1NTAxCgoyMDEwLTA0LTA0IDA2OjM5OjUyIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaXggcmFjZSBjb25kaXRpb24KCSAgVGhlIHNpemUgb2YgdGhlIGJ1ZmZlciB3b3VsZCBiZSB6ZXJvJ2Qgb3V0IGluIGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSgpCgkgIGFmdGVyIHRoZSBidWZmZXIgaXMgcWJ1ZidkIG9yIHB1c2hlZCBvbnRvIHRoZSBxdWV1ZSBvZiBhdmFpbGFibGUgYnVmZmVycy4uCgkgIGxlYXZpbmcgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSB0aGUgdGhyZWFkIHdhaXRpbmcgZm9yIHRoZSBidWZmZXIgY291bGQgYXdha2UKCSAgYW5kIHNldCBiYWNrIGEgdmFsaWQgc2l6ZSBiZWZvcmUgdGhlIGZpbmFsaXppbmcgdGhyZWFkIHplcm9zIG91dCB0aGUgbGVuZ3RoLgoJICBUaGlzIHdvdWxkIHJlc3VsdCB0aGF0IHRoZSBuZXdseSBhbGxvY2F0ZWQgYnVmZmVyIGhhcyBsZW5ndGggb2YgemVyby4KCjIwMTAtMDQtMDQgMDY6Mzk6MDggLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIHY0bDJzaW5rOiBhZGQgcHJvcGVydGllcyB0byBjb250cm9sIGNyb3AKCjIwMTAtMDQtMDQgMDY6Mzc6MTYgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIHY0bDI6IHJlLWVuYWJsZSB4LW92ZXJsYXkgc3VwcG9ydAoKMjAxMC0xMi0yNSAxMTo1MjozNiAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGZpeCBmb3IgUEFVU0VELT5SRUFEWS0+UEFVU0VEIHN0YXRlIHRyYW5zaXRpb25zCgkgIFdoZW4gdjRsMnNpbmsgZ29lcyB0byBQQVVTRUQtPlJFQURZIGl0IG9ubHkgc3RvcHMgc3RyZWFtaW5nLCBzbyB0aGUgc3RhdGUKCSAgc2hvdWxkIGJlIHNldCB0byBTVEFURV9QRU5ESU5HX1NUUkVBTU9OIGluIGNhc2UgdGhlIGVsZW1lbnQgdHJhbnNpdGlvbnMKCSAgYmFjayB0byBQTEFZSU5HLgoKMjAxMC0wNC0wNCAwNjoyODo1MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSAgdjRsMnNpbms6IGFkZCAibWluLXF1ZXVlZC1idWZzIiBwcm9wZXJ0eQoKMjAxMC0wNC0wNCAwNjoyNjo1MCAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc2luazogQWRkIHN1cHBvcnQgZm9yIGJsb2NraW5nIGRlcXVldWUuCgkgIFdlJ2QgcHJlZmVyIHRvIHRocm90dGxlIHRoZSBkZWNvZGVyIGlmIHdlIHJ1biBvdXQgb2YgYnVmZmVycywgdG8ga2VlcCBhIGJvdW5kCgkgIG9uIG1lbW9yeSB1c2FnZS4gIEFsc28sIGZvciBPTUFQNCBpdCBpcyBhIHJlcXVpcmVtZW50IG9mIHRoZSBkZWNvZGVyIHRvIG5vdAoJICBhbHRlcm5hdGUgYmV0d2VlbiBtZW1vcnkgYWxsb2NlZCBieSB0aGUgZGlzcGxheSBkcml2ZXIgYW5kIG1hbGxvYydkIHVzZXJzcGFjZQoJICBtZW1vcnkuCgoyMDEwLTA0LTA0IDA2OjI0OjQxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBjbGVhciBmbGFncyBiZWZvcmUgcmV1c2luZyBidWZmZXIgZnJvbSBidWZmZXIgcG9vbAoJICBub3RlOiB0aGlzIHJlYWxseSBvbmx5IGFmZmVjdHMgdjRsMnNpbmsgc2luY2UgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZ2V0KCkgaXMKCSAgb25seSBjYWxsZWQgb25jZSBwZXIgYnVmZmVyIGluIHRoZSB2NGwyc3JjIGNhc2UgKGluCgkgIGdzdF92NGwyc3JjX2J1ZmZlcl9wb29sX2FjdGl2YXRlKCkpCgoyMDEwLTA0LTA0IDA2OjIzOjMxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZG9uJ3QgcmVuZGVyIHByZXJvbGwgYnVmZmVycwoJICBNb3N0IHY0bDIgZHJpdmVycyB3aWxsIGdldCB1cHNldCB3aGVuIHlvdSBxdWV1ZSB0aGUgc2FtZSBidWZmZXIgdHdpY2UgaW4gYQoJICByb3cgd2l0aG91dCBmaXJzdCBkZXF1ZXVlaW5nIGl0LgoJICBSZW5kZXJpbmcgb2YgcHJlLXJvbGwgYnVmZmVycyBjYW4gYmUgcmUtaW50cm9kdWNlZCBsYXRlciwgYnV0IHdpbGwgcmVxdWlyZQoJICB0cmFja2luZyB0aGUgc3RhdGUgb2YgdGhlIGJ1ZmZlciwgYW5kIGF2b2lkaW5nIHRvIHJlLVFCVUYgaWYgdGhlIGJ1ZmZlciBoYXMKCSAgYWxyZWFkeSBiZWVuIHBhc3NlZCB0byB0aGUgZHJpdmVyLgoKMjAxMC0wNC0wNCAwNjoyMjo0MyAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IEltcHJvdmUgYmVoYXZpb3IgZm9yIHNoYXJlZCBidWZmZXJzLgoJICBXaGVuIHRoZSBkZWNvZGVyIGlzIHVzaW5nIHBhZF9hbGxvYygpLCB2NGwyc2luayB3b3VsZCBiZWhhdmUgYmFkbHkgaWYKCSAgdGhlIG51bWJlciBvZiBidWZmZXJzICgncXVldWUtc2l6ZScgcHJvcGVydHkpIHdhcyBub3QgaGlnaCBlbm91Z2ggdG8KCSAgYWNjb3VudCBmb3IgYWxsIHRoZSBidWZmZXJzIG5lZWRlZCBieSB0aGUgZGVjb2RlciwgYW5kIG90aGVyIGVsZW1lbnRzCgkgIChzdWNoIGFzIHF1ZXVlcykgYmV0d2VlbiB0aGUgZGVjb2RlciBhbmQgdjRsMnNpbmsuICBUaGlzIHBhdGNoCgkgIHNsaWdodGx5IGluY3JlYXNlcyB0aGUgZGVmYXVsdCBudW1iZXIgb2YgYnVmZmVycywgYW5kIGNoYW5nZXMgdjRsMnNpbmsKCSAgdG8gZHJvcCBmcmFtZXMgcmF0aGVyIHRoYW4gcmV0dXJuIGFuIGVycm9yIGluIGNhc2UgdGhlIG51bWJlciBvZgoJICBidWZmZXJzIGlzIG5vdCBoaWdoIGVub3VnaC4KCjIwMTAtMTEtMTUgMTU6NTg6MjggKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIGFkZCAiY2xpZW50IiBwcm9wZXJ0eQoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jIChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCwgZ3N0X3B1bHNlc3JjX2luaXQpCgkgIChnc3RfcHVsc2VzcmNfc2V0X3Byb3BlcnR5LCBnc3RfcHVsc2VzcmNfZ2V0X3Byb3BlcnR5KQoJICAoZ3N0X3B1bHNlc3JjX29wZW4pOiBBZGQgYSAiY2xpZW50IiBwcm9wZXJ0eSwgYXMgaW4gcHVsc2VzaW5rLgoJICBGaXhlcyAjNjM0OTE0CgoyMDEwLTEyLTI5IDE1OjU0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2VyaWFsaXNlL2Rlc2VyaWFsaXNlIGZsb2F0cyB3aXRob3V0IGNoYW5naW5nIGxvY2FsZQoJICBVc2UgZ19hc2NpaV9kdG9zdHIoKSBhbmQgZ19hc2NpaV9zdHJ0b2QoKSB0byBzZXJpYWxpc2UvZGVzZXJpYWxpc2UKCSAgZmxvYXRpbmcgcG9pbnQgbnVtYmVycywgaW5zdGVhZCBvZiB1Z2x5IGhhY2tzIHRoYXQgc3dpdGNoIGxvY2FsZQoJICBiZWZvcmUgYW5kIGFmdGVyIGNhbGxpbmcgbGliYyBmdW5jdGlvbnMgKHdoaWNoIGlzIG5vdCBhIGdvb2QgaWRlYQoJICBpbiBhIG11bHRpLXRocmVhZGVkIGFwcGxpY2F0aW9uKS4KCjIwMTAtMTItMjkgMTQ6NDA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBmaXggZnJhbWVyYXRlIHBhcnNpbmcgZm9yIGxvY2FsZXMgdGhhdCB1c2UgYSBjb21tYSBhcyBmbG9hdGluZyBwb2ludAoJICBhdG9mKCkgY29udmVydHMgc3RyaW5ncyBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLCBidXQgdGhlCgkgIGZyYW1lcmF0ZSBzdHJpbmcgd2lsbCBsaWtlbHkgYWx3YXlzIHVzZSBhIGRvdCBhcyBmbG9hdGluZyBwb2ludAoJICBzZXBhcmF0b3IsIHNvIHVzZSBnX2FzY2lpX3N0cnRvZCgpIGluc3RlYWQgKGJ1dCBhbHNvIGNhbm9uaWNhbGlzZQoJICB0aGUgc3RyaW5nIGJlZm9yZSwgc28gd2UgY2FuIGhhbmRsZSBib3RoIGZvcm1hdHMgYXMgaW5wdXQpLgoKMjAxMC0xMi0yNyAxMzoxMTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHVzZSB0aGUgcmlnaHQgdmFyaWFibGUKCSAgVXNlIHRoZSByaWdodCB2YXJpYWJsZSBmb3Igc3BlY2lmeWluZyB0aGF0IHdlIHNlbnQgYSByZWNlaXZlciByZXBvcnQuCgoyMDEwLTEyLTIzIDE2OjQyOjI5IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaXggdHlwbwoKMjAxMC0xMi0yMyAxNjowMzowMCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBhZGQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IHByb3BlcnRpZXMgZm9yIGgyNjQKCjIwMTAtMTItMjIgMTE6NDE6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IGZpeCBrbGFzcywgYWRkIFJUUCBhcyBhIHVzZSBjYXNlCgoyMDEwLTEyLTEyIDE1OjEwOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogY2xlYW51cCB0aGUgY2FjaGUKCjIwMTAtMTItMTIgMDU6MTA6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgZ3N0cGF5L2RlcGF5OiBhZGQgZ2VuZXJpYyBnc3RyZWFtZXIgcGF5bG9hZGVyCgkgIEFkZCB0aGUgYmVnaW5uaW5ncyBvZiBhIGdlbmVyaWMgR1N0cmVhbWVyIGJ1ZmZlcnMgcGF5bG9hZGVyLgoKMjAxMC0xMi0yMyAxNzowNjo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICBtcDRncGF5OiByZXNldCBzdGF0ZSBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIzIDE2OjI2OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgbXA0Z2RlcGF5OiBmbHVzaCBzdGF0ZSBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIzIDE2OjI1OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbi1ucHQtc3RvcCBpcyBhIG1hbmFnZXIgc2lnbmFsCgoyMDEwLTEyLTIzIDE1OjI0OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGltcHJvdmUgUlRQIHNlc3Npb24gaGFuZGxpbmcKCSAgU3RvcmUgdGhlIFJUUCBzZXNzaW9uIGluIHRoZSBzdHJlYW0gc28gdGhhdCB3ZSBjYW4gbW9yZSBlZmZpY2llbnRseQoJICBwZXJmb3JtIGFjdGlvbnMgb24gdGhlIHN0cmVhbSBiYXNlZCBvbiBSVFAgc2lnbmFscy4KCjIwMTAtMTItMjMgMTM6NTU6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBpbmNsdWRlIGxhc3Qgc2VuZCBSQiBibG9jawoJICBPbmx5IHJlcG9ydCBSQiB2YWx1ZXMgZm9yIG5vbi1pbnRlcm5hbCBzb3VyY2VzLgoJICBSZXBvcnQgbm90IG9ubHkgdGhlIFJCIGJsb2NrcyB3ZSBsYXN0IHJlY2VpdmVkIGZyb20gYnV0IGFsc28gdGhlIGxhc3QgUkIKCSAgYmxvY2sgd2Ugc2VudCB0byBhIHNvdXJjZS4KCjIwMTAtMTItMjMgMTM6NTI6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiByZW1lbWJlciBsYXN0IHNlbnQgUkIgdmFsdWVzLgoKMjAxMC0xMi0yMyAxMzowMDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGluY2x1ZGUgYWxsIHN0YXRzIGFuZCBkb2N1bWVudAoJICBJbmNsdWRlIGFsbCBwb3NzaWJsZSBzdGF0cyBvZiBhIHNvdXJjZSBpbiB0aGUgc3RhdHMgc3RydWN0dXJlIGJlY2F1c2Ugd2UgbWlnaHQKCSAgYmUgaW50ZXJlc3RlZCBpbiB3aGF0IGhhcHBlbmVkIGluIHRoZSBwYXN0LgoJICBEb2N1bWVudCB0aGUgc3RhdHMgcHJvcGVydHkgYW5kIHRoZSBmaWVsZHMuCgoyMDEwLTEyLTIzIDEyOjU5OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkgIGV4YW1wbGVzOiBhZGQgZXhhbXBsZSBSVFAgc3RhdHMKCSAgQWRkIHNvbWUgbW9yZSBSVFAgZXhhbXBsZXMgZm9yIGhvdyB0byByZXRyaWV2ZSBSVFAgc3RhdHMgaW4gYSByZWNlaXZlci4KCjIwMTAtMTItMjMgMTI6NTg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFsc28gZW1pdCBSVENQIGFjdGl2aXR5IG9uIFNSCgkgIEFsc28gZW1pdCBSVENQIGFjdGl2aXR5IHNpZ25hbHMgd2hlbiB3ZSByZWNlaXZlIGFuIFNSIHBhY2tldCB3aXRob3V0IFJCIGJsb2NrcywKCSAgc3VjaCBhcyBmcm9tIGEgc2VuZGVyIHRoYXQgaXMgbm90IHJlY2VpdmluZyBhbnl0aGluZy4KCjIwMTAtMTItMjMgMTE6MTA6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZG9jczogYWRkIHNvbWUgbW9yZSBnc3RydHBiaW4gZG9jcwoKMjAxMC0xMi0yMiAyMToyNzoxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogcmVtb3RlIGlzIGEgYm9vbGVhbiAoYW5kIG5vdCB1aW50KSBwcm9wZXJ0eQoKMjAxMC0xMi0yMiAxOTo1ODoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkKCSAgVXNpbmcgdGhpcyBpbiBhIGRlbXV4ZXIgd2lsbCBjYXVzZSBkZWFkbG9ja3MgaWYgdGhlcmUncwoJICBhIHBhZCB3aXRoIGEgcGVuZGluZyBwYWQtYmxvY2sgZG93bnN0cmVhbSwgbm8gbWF0dGVyIGlmCgkgIHRoZXJlIGlzIGEgcXVldWUgYmV0d2VlbiB0aGUgcGFkIG9yIG5vdC4gUXVldWVzIHBhc3MKCSAgYnVmZmVyYWxsb2MgZG93bnN0cmVhbSBmcm9tIHRoZSBzYW1lIHRocmVhZCBhbmQgb25seQoJICBhY3QgYXMgYSB0aHJlYWQgYm91bmRhcnkgZm9yIGV2ZW50cyBhbmQgYnVmZmVycy4KCjIwMTAtMTItMjIgMTQ6MTQ6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHN1YnRpdGxlIHBhZCB0ZW1wbGF0ZSwgd2Ugb25seSBoYW5kbGUga2F0ZSBmb3Igbm93CgoyMDEwLTEyLTE2IDExOjQ0OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZG9jczogdXBkYXRlIHJ0c3BzcmMgZG9jcywgcnRwYmluIGlzIG5vdCBpbiAtYmFkIGFueSBtb3JlCgoyMDEwLTEyLTIyIDExOjQyOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1bmxvY2sgYmVmb3JlIGVtaXR0aW5nIHNpZ25hbHMKCjIwMTAtMTItMjEgMjI6MzQ6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5oOgoJICBydHBhYzNwYXk6IGFkZCBBQzMgcGF5bG9hZGVyCgoyMDEwLTEyLTIxIDIyOjE3OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJICBhYzNkZXBheTogZml4IGRlYnVnIGNhdGVnb3J5IGRlc2NyaXB0aW9uCgoyMDEwLTEyLTIxIDIyOjE2OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiBhZGQgZGVidWcgY2F0ZWdvcnkKCjIwMTAtMTItMjAgMTQ6NDk6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAganBlZ2VuYzogQWRkcyBhbm90aGVyIHRlc3QgY2FzZQoJICBBZGRzIGEgdGVzdCBmb3IganBlZ2VuYyB0byBjaGVjayB0aGF0IGlzIHBvc3NpYmxlIHRvIG5lZ290aWF0ZSBhbmQKCSAgcHVzaCBidWZmZXJzIHdpdGggZGlmZmVyZW50IHJlc29sdXRpb24gb25lIGFmdGVyIGFub3RoZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc2ODYKCjIwMTAtMTItMjEgMTM6Mzc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBzaW5rIHBhZCdzIGdldGNhcHMgc2hvdWxkbid0IHVzZSB0aGUgc3JjIHBhZCBnZXRjYXBzCgkgIEluc3RlYWQgb2YgdXNpbmcgZ2V0X2FsbG93ZWRfY2FwcyBvbiB0aGUgc3JjcGFkLCB0aGUgc2lua3BhZCBnZXRjYXBzCgkgIHNob3VsZCB1c2UgdGhlIGdldGNhcHMgb2YgdGhlIHNyY3BhZCdzIHBlZXIuIFRoaXMgd2F5IHRoZSBzcmNwYWQKCSAgY2FuIGtlZXAgdXNpbmcgZml4ZWRfY2FwcyBhbmQgc2lua3BhZCBnZXRjYXBzIGV4cG9zZXMgYWxsIGNhcHMKCSAgdGhhdCBjYW4gYmUgbmVnb3RpYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3Njg2CgoyMDEwLTEyLTIxIDE2OjU4OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IGFkZCBSVFAgaGludCB0byB0aGUga2xhc3MKCjIwMTAtMTItMjEgMTY6NDk6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogZml4IHJhbmsgb2YgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzCgkgIFNldCB0aGUgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzIHRvIGEgcmVhc29uYWJsZSByYW5rLgoKMjAxMC0xMi0yMSAxNToyNDoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogcmVzZXQgZGVwYXlsb2FkZXIgc3RhdGUKCSAgUmVzZXQgdGhlIGRlcGF5bG9hZGVyIHN0YXRlIG9uIGZsdXNoLXN0b3AuCgoyMDEwLTEyLTIxIDE1OjA3OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBtcDRwYXk6IHVzZSB2bWV0aG9kIGZvciBpbnRlcmNlcHRpbmcgZXZlbnRzCgoyMDEwLTEyLTIxIDEzOjU1OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdGhlb3JhcGF5OiBjbGVhciBwYWNrZXQgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMSAxMzo0OTo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHZvcmJpc3BheTogY2xlYXIgcGFja2V0IG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjEgMTI6MzE6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IHJlc2V0IGRlcGF5bG9hZGVyIHN0YXRlCgoyMDEwLTEyLTIxIDEyOjI5OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IGZsdXNoIGFkYXB0ZXIgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMCAxODo0OTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIG1wYXBheTogZmx1c2ggbGFzdCBwYWNrZXRzIG9uIEVPUwoKMjAxMC0xMi0yMCAxNzo0NzowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE2OTQ2MmEgdG8gNDY0NDVhZAoKMjAxMC0xMi0yMCAxNjo1MTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIG1wYXBheTogcmVzZXQgcGF5bG9hZGVyIG9uIHN0YXRlIGNoYW5nZQoKMjAxMC0xMi0yMCAxNjowNTozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIG1wYXBheTogcmVzZXQgcGF5bG9hZGVyIG9uIGZsdXNoCgkgIFJlc2V0IHRoZSBwYXlsb2FkZXIgb24gYSBmbHVzaCBldmVudC4KCSAgSGFuZGxlIERJU0NPTlQgYmV0dGVyLgoKMjAxMC0xMi0yMCAxNTo1NDo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGdldCBiZXR0ZXIgYnVmZmVyaW5nIGxldmVsCgkgIFdoZW4gdGhlIGppdHRlcmJ1ZmZlciBjb250YWlucyAtMSB0aW1lc3RhbXBzLCBtYWtlIHN1cmUgd2Ugc3RpbGwgY2FsY3VsYXRlIHRoZQoJICBidWZmZXIgZmlsbCBsZXZlbCBieSBza2lwcGluZyB0aGUgLTEgYnVmZmVycy4KCSAgVHJ5IHRvIGJlIG1vcmUgcmVzaWxpZW50IHRvIHdlaXJkIGlucHV0IHRpbWVzdGFtcHMuCgoyMDEwLTEyLTIwIDExOjEwOjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHJvdmlkZSBhIGNsb2NrLgoJICBzaW5jZSB3ZSBhcmUgdXNpbmcgdGhlIGNsb2NrIGZvciBzeW5jLCB3ZSBuZWVkIHRvIGFsc28gcHJvdmlkZSBhIGNsb2NrIGZvciBnb29kCgkgIG1lYXN1cmUuIFRoZSByZWFzb24gaXMgdGhhdCBldmVuIGlmIGRvd25zdHJlYW0gZWxlbWVudHMgcHJvdmlkZSBhIGNsb2NrLCB3ZQoJICBkb24ndCB3YW50IHRvIGhhdmUgdGhhdCBjbG9jayBzZWxlY3RlZCBiZWNhdXNlIGl0IG1pZ2h0IG5vdCBiZSBydW5uaW5nIHlldC4KCjIwMTAtMTItMjAgMTA6NDk6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBjb3B5IGJ1ZmZlcmluZyBzdGF0cwoJICB3aGVuIHdlIGNyZWF0ZSBhbiBhZ2dyZWdhdGUgYnVmZmVyaW5nIG1lc3NhZ2UsIGNvcHkgdGhlIGJ1ZmZlcmluZyBzdGF0cyBmb3JtIHRoZQoJICBsYXN0IG1lc3NhZ2UuIEF0IGxlYXN0IHdlIGdldCBjb3JyZWN0IGJ1ZmZlcmluZyBtb2RlIHRoZW4uCgoyMDEwLTEyLTE5IDExOjAyOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgd2F2ZW5jOiBGaXggbWVtb3J5IGxlYWtzIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMTItMTkgMTA6NTg6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIHJhZGlvYWN0djogUHJldmVudCB1c2Ugb2YgdW5pbml0aWFsaXplZCB2YWx1ZXMKCSAgRml4ZXMgYnVnICM2MTg2NTIuCgoyMDEwLTEyLTE5IDEwOjIyOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IERvbid0IGxlYWsgcGFkIHRlbXBsYXRlcyBjcmVhdGVkIGZyb20gc3RhdGljIHBhZCB0ZW1wbGF0ZXMKCjIwMTAtMTEtMjkgMTI6MzY6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgeGltYWdlc3JjOiBjaGFuZ2UgZnJvbSBYR2V0SW1hZ2UgdG8gWEdldFN1YkltYWdlIGRlcGVuZGFudCBvbiBhIHByb3BlcnR5CgkgIHhpbWFnZXNyYzogY2hhbmdlIGZyb20gWEdldEltYWdlIHRvIFhHZXRTdWJJbWFnZSBkZXBlbmRhbnQgb24gYSBwcm9wZXJ0eQoJICB0byBhdm9pZCB1bm5lY2Vzc2FyeSBwZXJmb3JtYW5jZSBoaXRzIGJ5IGRlZmF1bHQuCgoyMDEwLTExLTI4IDE2OjA0OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogdXNlIFhHZXRTdWJJbWFnZSBpbnN0ZWFkIG9mIFhHZXRJbWFnZSwgd29ya3Mgd2l0aCByZW1vdGUgWAoJICB4aW1hZ2VzcmM6IHVzZSBYR2V0U3ViSW1hZ2UgaW5zdGVhZCBvZiBYR2V0SW1hZ2UsIHdvcmtzIHdpdGggcmVtb3RlIFgKCSAgKG9uIG15IHNldHVwIGFueXdheS4uLikKCjIwMTAtMTEtMjcgMTc6MTU6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBmaXggdmFyaW91cyB3aWR0aC9oZWlnaHQgY2FsY3VsYXRpb25zIGJlaW5nIG9mZiBieSBvbmUsCgkgIHhpbWFnZXNyYzogZml4IHZhcmlvdXMgd2lkdGgvaGVpZ2h0IGNhbGN1bGF0aW9ucyBiZWluZyBvZmYgYnkgb25lLAoJICBhbmQgbWFrZSBpdCBzbyBhIHNpbmdsZSBwaXhlbCB3aWR0aC9oZWlnaHQgY2FuIGJlIGNhcHR1cmVkIChleGNlcHQKCSAgdGhlIHRvcCBsZWZ0IG9uZSwgYXMgMCwwLDAsMCBpcyByZXNlcnZlZCBmb3IgZnVsbCBzY3JlZW4gYXMgcGVyCgkgIHRoZSBwcm9wZXJ0eSBjb21tZW50cykuCgoyMDEwLTEyLTE3IDE5OjE5OjM1IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGZpeCBjb21waWxlIGVycm9ycyBvbiBtYWNvc3gKCSAgd2l0aCBpNjg2LWFwcGxlLWRhcndpbjEwLWdjYy00LjIuMToKCSAgZ3N0djRsMm9iamVjdC5jOiBJbiBmdW5jdGlvbiAnZ3N0X3Y0bDJfb2JqZWN0X2dldF9uZWFyZXN0X3NpemUnOgoJICBnc3R2NGwyb2JqZWN0LmM6MTk4ODogd2FybmluZzogZm9ybWF0ICcldScgZXhwZWN0cyB0eXBlICd1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgMTIgaGFzIHR5cGUgJ2dpbnQgKicKCSAgZ3N0djRsMm9iamVjdC5jOjE5ODg6IHdhcm5pbmc6IGZvcm1hdCAnJXUnIGV4cGVjdHMgdHlwZSAndW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDEzIGhhcyB0eXBlICdnaW50IConCgoyMDEwLTEyLTE3IDE1OjM4OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZGV0ZXJtaW5lIG91dHB1dCBoMjY0IGxheW91dCB1c2luZyBjYXBzIG5lZ290aWF0aW9uCgkgIC4uLiB0aGVyZWJ5IChwYXJ0aWFsbHkpIGRlcHJlY2F0aW5nIHByb3BlcnRpZXMgY3VycmVudGx5IGNvbnRyb2xsaW5nIHdoZXRoZXIKCSAgb3Igbm90IGJ5dGUtc3RyZWFtIG91dHB1dCBvciBOQUwvQVUgYWxpZ25tZW50ICh0aG91Z2ggcHJvcGVydGllcyBzdGlsbCBkZXRlcm1pbmUKCSAgZmFsbGJhY2sgaWYgbm90aGluZyBzcGVjaWZpZWQgaW4gY2FwcykuCgkgIEZpeGVzICM2MDY2NjIuCgoyMDEwLTEyLTE2IDE4OjU1OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBoYW5kbGUgRU9DIGNvcnJlY3RseQoJICBEb24ndCBpbmNsdWRlIHRoZSBuZXh0IDIgYnl0ZXMgd2hlbiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgZGF0YSBhbmQgdGhlcmUgYXJlCgkgIG5vIG1vcmUgYnl0ZXMgbGVmdC4KCjIwMTAtMTItMTYgMTU6MTU6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZsdXNoIHJlbWFpbmluZyBidWZmZXJlZCBzYW1wbGVzIG9uIEVPUwoJICAuLi4gd2hpY2ggY2FuIG1ha2UgYSBkaWZmZXJlbmNlIGJldHdlZW4gYWxsIG9yIG5vdGhpbmcgd2hlbiBkZWFsaW5nCgkgIHdpdGggc2hvcnQgc3RyZWFtcyBhbmQgcmVsYXRpdmVseSBsYXJnZSByaW5nYnVmZmVyIHNlZ21lbnQuCgoyMDEwLTEyLTE2IDEwOjA0OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2hhbmdlIGNsYXNzaWZpY2F0aW9uIHRvIEZpbHRlci9FZmZlY3QvVmlkZW8vRGVpbnRlcmxhY2UKCjIwMTAtMTItMTUgMTg6MjE6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBJbml0aWFsaXplIGFsbCBmaWVsZHMKCSAgTWFrZXMgc2FkIGNvbXBsaWVycyBoYXBweQoKMjAxMC0xMi0xNSAxNjoyMjo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogY2xlYW51cCBoZWFkZXIgY29uc3RydWN0aW9uCgkgIFVzZSBhIHNpbXBsZXIgd2F5IG9mIGNvbnN0cnVjdGluZyB0aGUgaGVhZGVyIHRoYXQgZG9lc24ndCBkZXBlbmQgb24KCSAgdGhlIGVuZGlhbm5lc3MuCgoyMDEwLTEyLTE1IDEzOjMwOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkZXBlbmQgb24gLWJhc2UgZnJvbSBnaXQgZm9yIG5ldyBydHAgYmFzZSBkZXBheWxvYWRlciBmZWF0dXJlcwoJICBUaGlzIGlzIG9rIGluIHRoaXMgY2FzZSwgc2luY2UgdGhlIHBsYW4gaXMgdG8gcmVsZWFzZSBjb3JlL2Jhc2UgYWdhaW4KCSAgYWxvbmcgd2l0aCBnb29kL3VnbHkvYmFkIGluIHRoZSBuZXh0IGN5Y2xlLgoKMjAxMC0xMi0xNSAxNDo1NTo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMDc0MmFlIHRvIDE2OTQ2MmEKCjIwMTAtMTItMTUgMTM6MTI6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSAgajJrZGVwYXk6IGFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMKCjIwMTAtMTItMTQgMTg6MTI6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGZpeCBhdmVyYWdlIFJUQ1AgcGFja2V0IHNpemUgc29tZSBtb3JlLgoJICBGaXggc3R1cGlkIGVycm9yIGluIGF2ZXJhZ2luZyBtYWNyby4KCSAgSW5jbHVkZSB1ZHAgaGVhZGVycyBpbiBwYWNrZXQgbGVuZ3RoIGVzdGltYXRpb24uCgoyMDEwLTEyLTE0IDE3OjE1OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBiaW46IGNvcnJlY3RseSBjYWxjdWxhdGUgUlRDUCBwYWNrZXQgc2l6ZQoKMjAxMC0xMi0xNCAxNToyNzo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogc3RvcCBzY2FubmluZyB3aGVuIHdlIHJlYWNoZWQgdGhlIGVuZAoJICBTdG9wIHNjYW5uaW5nIGZvciBtYXJrZXJzIHdoZW4gd2UgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBkYXRhLgoKMjAxMC0xMi0xMyAxNjoyMzoyNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMTFiY2M4IHRvIDIwNzQyYWUKCjIwMTAtMTItMTMgMTI6NTY6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhdm9pZCBsZWFraW5nIHNpbmsgZXZlbnRzCgkgIEF2b2lkIGxlYWtpbmcgdGhlIG5ld3NlZ21lbnQgZXZlbnQgd2hlbiBpdCBoYXMgdGhlIHdyb25nIGZvcm1hdC4KCjIwMTAtMTItMTIgMTQ6NTM6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgbXA0dnBheTogd2UgY2FuIGFsc28gYWNjZXB0IHh2aWQgY2FwcwoKMjAxMC0xMi0xMiAwMTozOTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBdm9pZCBpbmZpbml0ZSBsb29wIGRyYWluaW5nIGZyYW1lcwoJICBXaGVuIHRoZSBwaXBlbGluZSBpcyBmbHVzaGVkIGp1c3QgYXMgd2UncmUgZHJhaW5pbmcgaGlzdG9yeSwKCSAgZG9uJ3QgbG9vcCBpbmZpbml0ZWx5LCBqdXN0IGRpc2NhcmQgdGhlIGhpc3RvcnkgYW5kIGFib3J0LgoKMjAxMC0xMi0xMSAxNzozOToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogYWRkICJtYXgtZXJyb3JzIiBwcm9wZXJ0eSB0byBpZ25vcmUgZGVjb2RpbmcgZXJyb3JzCgkgIEFkZCBwcm9wZXJ0eSB0byBpZ25vcmUgZGVjb2RpbmcgZXJyb3JzLiBEZWZhdWx0IGlzIHRvIGlnbm9yZSBhIGZldwoJICBkZWNvZGluZyBlcnJvcnMgaWYgdGhlIGlucHV0IGlzIHBhY2tldGl6ZWQsIGJ1dCBlcnJvciBvdXQgaW1tZWRpYXRlbHkKCSAgaWYgdGhlIGlucHV0IGlzIG5vdCBwYWNrZXRpemVkLgoJICBJZ25vcmluZyBlcnJvcnMgZm9yIHBhY2tldGl6ZWQgaW5wdXQgbW9zdCBsaWtlbHkgZG9lc24ndCB3b3JrCgkgIHByb3Blcmx5IHlldCwgc28gZG9uJ3QgZG8gdGhhdCBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMDYzCgoyMDEwLTA1LTI4IDE1OjI3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZnJlZS9tYWxsb2MgaW5zdGVhZCBvZiByZWFsbG9jLCBhdm9pZHMgbWVtY3B5CgoyMDEwLTEyLTExIDE3OjQ5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgaWYgdGhlcmUncyBhY3R1YWxseSBhIHNlZWsgdGFibGUgYmVmb3JlIHBhcnNpbmcgaXQKCjIwMTAtMTItMTEgMTc6NDY6MTcgKzAxMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbXBsZW1lbnQgQ09OVkVSVCBhbmQgRk9STUFUUyBxdWVyeQoJICBGaXhlcyBidWcgIzYzNjc4NC4KCjIwMTAtMDctMDEgMDA6MjI6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBwdXQgdW5yZWNvZ25pc2VkIFJJRkYgZm9ybWF0IElEcyBpbnRvIHRoZSB1bmtub3duIGNhcHMKCSAgRXh0cmEgaW5mbyBjYW4ndCBodXJ0LiBGaWVsZCBuYW1lcyBhcmVuJ3QgbmVjZXNzYXJpbHkgY29uc2lzdGVudCB3aXRoCgkgIHdoYXQncyB1c2VkIGVsc2V3aGVyZSB0aG91Z2ggKGUuZy4gYXZpZGVtdXgpLCBidXQgdGhlbiBuZWl0aGVyIGFyZSB0aGUKCSAgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzE3OAoKMjAxMC0xMC0yOSAyMjo1MDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJICBwdWxzZW1peGVyOiBJbXBsZW1lbnQgTUlYRVJfRkxBR19BVVRPX05PVElGSUNBVElPTlMKCSAgQWRkIHRoZSBtaXhlciBmbGFnIGFuZCBzZW5kIG5vdGlmaWNhdGlvbnMgd2hlbiBlaXRoZXIgdGhlIHZvbHVtZSBvciBtdXRlZAoJICBzdGF0dXMgY2hhbmdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxODM4OQoKMjAxMC0wMi0wOCAyMTo0MToyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcmsgRElTQ09OVCB3aGVuIHJlc3VtaW5nIFBMQVkKCSAgSW4gcGFydGljdWxhciwgd2hlbiBzdHJlYW1pbmcgaW50ZXJsZWF2ZWQsIHRoaXMgYXJyYW5nZXMgZm9yIHNldHRpbmcgYSBuZXcKCSAgdGltZXN0YW1wIG9uIG91dGdvaW5nIGJ1ZmZlciBzbyBkb3duc3RyZWFtIGNhbiBhcHByb3ByaWF0ZSByZXNldAoJICB0byBhIGNoYW5nZSBpbiAocnRwKXRpbWUuCgoyMDEwLTEyLTAyIDE2OjA4OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBkZWdyYWRlIGdyYWNlZnVsbHkgdXBvbiBmYWlsaW5nIHNlZWsgYW5kIHR3ZWFrIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCjIwMTAtMTAtMjUgMTE6NTE6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgYW5kIHVzZSBhdXRvIGJ1ZmZlcmluZyBtb2RlCgkgIC4uLiB3aGljaCBzZWxlY3RzIEJVRkZFUiBmb3IgYSBub24tbGl2ZSBzdHJlYW0sIGFuZCBvdGhlcndpc2UgU0xBVkUuCgkgIEZpeGVzICM2MzMwODguCgoyMDEwLTEyLTA2IDEyOjE2OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkgIGoya2RlcGF5OiBtYWtlIHRoZSBkZXBheWxvYWRlciBtb3JlIHJlc2lsaWVudAoJICBVc2UgMyBhZGFwdGVycywgb25lIHRvIGFjY3VtdWxhdGUgcGFrZXRpemF0aW9uIHVuaXRzLCBhbm90aGVyIG9uIHRvIGFjY3VtdWxhdGUKCSAgdGlsZXMgYW5kIGEgbGFzdCBvbmUgdG8gYWNjdW11bGF0ZSB0aGUgZmluYWwgZnJhbWUuCgkgIERvbid0IGp1c3QgYmxpbmRseSBmbHVzaCB0aGUgYWRhcHRlciBvbiBESVNDT05UIGJ1dCBvbmx5IGRpc2NhcmQgdGhlIGN1cnJlbnQKCSAgcGFja2V0aXphdGlvbiB1bml0LgoJICBXaGVuIHdlIGRyb3BwZWQganBlZzIwMDAgcGFja2V0cyBiZXR3ZWVuIFNPUCBtYXJrZXJzLCBhZGp1c3QgdGhlIFNPVCBoZWFkZXIgd2l0aAoJICB0aGUgbmV3IGxlbmdodC4KCjIwMTAtMTItMDkgMTM6NDk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZmxvdyByZXR1cm4gYWdncmVnYXRpb24KCjIwMTAtMTItMDggMTE6MzU6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggaGFuZGxpbmcgbmVhciBlbmQtb2YtZmlsZSBjb3JuZXIgY2FzZXMKCSAgQWxzbywgcmVsYXggc29tZSBlcnJvciBoYW5kbGluZyB0byBub3QgYmFpbCBvdXQgY29tcGxldGVseSB3aGVuIHNvbWV0aGluZwoJICBmZWVscyBhbWlzcywgYnV0IGNvbnNpZGVyIHRoaXMgRU9GIGFuZCBjb250aW51ZSB3aXRoIHdhcyBvYnRhaW5lZCBzbyBmYXIuCgoyMDEwLTEyLTA3IDE3OjE5OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBmaXggb2Zmc2V0IGhhbmRsaW5nIGFuZCByZWxheCBlcnJvciByYWlzaW5nCgkgIEluIHBhcnRpY3VsYXIsIGFjY2VwdCB1bmtub3duIHN0cmVhbSBpbiB0cmFjayBmcmFnbWVudCwgYW5kIG9ubHkgZXJyb3Igb3V0CgkgIGlmIHRoYXQgcmFpc2VzIHByb2JsZW1zIGxhdGVyIG9uIHdpdGggcmVzcGVjdCB0byBvZmZzZXQgdHJhY2tpbmcuCgkgIEZpeGVzICM2MjAyODMuCgoyMDEwLTEyLTA3IDEzOjExOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHVzZSBhYWMgY29kZWMtZGF0YSB0byBhZGp1c3Qgc2FtcGxlcmF0ZSBpZiBuZWVkZWQKCSAgQmFzZWQgb24gcGF0Y2ggYnkgRmFiaWVuIExlYmFpbGxpZi1EZWxhbWFyZSA8ZmFiaWVuQGFycS1tZWRpYS5jb20+CgkgIEZpeGVzICM2MzY2MjEuCgoyMDEwLTEyLTA3IDExOjQzOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHVuY29yayBpbiBfc3RhcnQKCSAgRG9uJ3QgdW5jb3JrIGluIHRoZSBfc3RhcnQgbWV0aG9kIGp1c3QgeWV0IGJ1dCB3YWl0IHVudGlsIHdlIGhhdmUgd3JpdHRlbiBzb21lCgkgIHNhbXBsZXMgdG8gcHVsc2VhdWRpby4gVGhpcyBhdm9pZCB1bmRlcnJ1bnMgb24gcHVsc2VhdWRpbyBhbmQgbGVzcyBjcmFja2xpbmcKCSAgbm9pc2VzIHdoZW4gc3RhcnRpbmcuCgoyMDEwLTEyLTA3IDExOjQ3OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMC0xMi0wNyAxMTo0MzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB1bmNvcmsgaW4gX3N0YXJ0CgkgIERvbid0IHVuY29yayBpbiB0aGUgX3N0YXJ0IG1ldGhvZCBqdXN0IHlldCBidXQgd2FpdCB1bnRpbCB3ZSBoYXZlIHdyaXR0ZW4gc29tZQoJICBzYW1wbGVzIHRvIHB1bHNlYXVkaW8uIFRoaXMgYXZvaWQgdW5kZXJydW5zIG9uIHB1bHNlYXVkaW8gYW5kIGxlc3MgY3JhY2tsaW5nCgkgIG5vaXNlcyB3aGVuIHN0YXJ0aW5nLgoKMjAxMC0xMi0wNyAxMTo0MjoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIF9vYmplY3RfcmVmX3NpbmsoKSB3aGVuIHdlIGNhbgoKMjAxMC0xMi0wNyAxMTo0MDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZG9uJ3QgYWJ1c2UgdGhlIGNsYXNzIGxvY2sKCSAgVXNlIGEgbmV3IHN0YXRpYyBsb2NrIHRvIHByb3RlY3QgdGhlIHByb2JlZCBkZXZpY2UgbGlzdCBpbnN0ZWFkIG9mIHRoZSBvYmplY3QKCSAgY2xhc3MgbG9jay4KCjIwMTAtMTItMDYgMTk6NTk6NDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1NYLgoKMjAxMC0xMi0wNiAxODoxNzoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBkZWJ1ZyB0byBub3RpZnkgd2hlbiBza2lwcGluZyB0byBqcGVnIGhlYWRlcgoKMjAxMC0xMi0wNiAxODoxNjoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRpc2NhcmQgaW5jb21wbGV0ZSBpbWFnZQoJICAuLi4gYXMgZGV0ZXJtaW5lZCB3aGVuIGZpbmRpbmcgU09JIG5leHQgaW1hZ2UgYmVmb3JlIGFuIEVPSS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgRGF2aWQgSG95dCA8ZGF2aWQuaG95dEBsbG5sLmdvdj4KCSAgRml4ZXMgIzYzNTczNC4KCjIwMTAtMTItMDYgMTc6NDU6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhdm9pZCBpbmZpbml0ZSBsb29wIHdoZW4gcmVzeW5jaW5nCgkgIEZpeGVzICM2MzU3MzQgKHBhcnRseSkuCgoyMDEwLTEyLTA2IDE3OjI4OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kIGludG8gMC4xMQoKMjAxMC0xMi0wNiAxNzoyNzo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGFuZHJvaWQvYXBldGFnLm1rOgoJKiBhbmRyb2lkL2F2aS5tazoKCSogYW5kcm9pZC9mbHYubWs6CgkqIGFuZHJvaWQvaWN5ZGVtdXgubWs6CgkqIGFuZHJvaWQvaWQzZGVtdXgubWs6CgkqIGFuZHJvaWQvcXRkZW11eC5tazoKCSogYW5kcm9pZC9ydHAubWs6CgkqIGFuZHJvaWQvcnRwbWFuYWdlci5tazoKCSogYW5kcm9pZC9ydHNwLm1rOgoJKiBhbmRyb2lkL3NvdXAubWs6CgkqIGFuZHJvaWQvdWRwLm1rOgoJKiBhbmRyb2lkL3dhdmVuYy5tazoKCSogYW5kcm9pZC93YXZwYXJzZS5tazoKCSogY29uZmlndXJlLmFjOgoJICBtb3JlIDAuMTAgLT4gMC4xMSBjaGFuZ2VzCgoyMDEwLTEyLTA2IDE1OjIxOjUzICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogcGFzcyBhbG9uZyBlb3MgaWYgcmVjZWl2ZWQgYmVmb3JlIGJ1ZmZlciBhcnJpdmVzCgkgIEZpeGVzICM2MzYxNzIuCgoyMDEwLTEwLTIwIDExOjA1OjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB0cnkgdG8gd3JpdGUgdGltZXN0YW1wcyBpbiBhbGwgdGhlIG91dGdvaW5nIGJ1ZmZlcnMKCSAgRml4ZXMgIzYzMjY1NC4KCjIwMTAtMTItMDYgMTI6MjE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3RhcnQgMC4xMSBicmFuY2gKCjIwMTAtMTItMDYgMTI6MTc6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSAgcHJvZ3Jlc3NyZXBvcnQ6IG9wdGlvbmFsbHkgZGV0ZXJtaW5lIHByb2dyZXNzIHVzaW5nIGJ1ZmZlciBtZXRhZGF0YQoJICBCYXNlZCBvbiBwYXRjaCBieSBMZW8gU2luZ2VyIDxsc2luZ2VyIGF0IGNhbHRlY2guZWR1PgoJICBGaXhlcyAjNjI5NDE4LgoKMjAxMC0xMi0wNSAxNDozOToxOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgY2hlY2s6IEZpeHVwIHRoZSBzaHV0dGluZyBkb3duIG9yZGVyCgkgIEZpcnN0IGJyaW5nIGRvd24gZXZlcnl0aGluZyB0byBOVUxMIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVubGluawoJICBvciB1bnJlZiBhbnl0aGluZy4KCSAgQXZvaWRzIHRoZSB0ZXN0cyBqdXN0IGhhbmdpbmcgdGhlcmUgZm9yIGV2ZXIgd2FpdGluZyB0byBhY3F1aXJlIGEKCSAgbG9jayB0aGF0IGRvZXNuJ3QgZXhpc3QgYW55bW9yZS4KCjIwMTAtMTEtMDQgMTk6MzE6NDUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IHNldCB0b3AgZmllbGQgZmlyc3QgZm9yIGludGVybGFjZWQgYnVmZmVycyBpZiB2NGwyIGV4cG9ydHMgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDM5MwoKMjAxMC0xMS0wNCAxODozNjowOSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBjaGVjayBmaWVsZCBpbmZvcm1hdGlvbiBhbmQgc2V0IGludGVybGFjZWQgY2FwcyBhY2NvcmRpbmdseQoJICBSZWplY3QgdGhlIGZvcm1hdCBpZiB0aGUgZmllbGQgdHlwZSBpcyBub3Qgc3VwcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MzkxCgoyMDEwLTEyLTAzIDE3OjQyOjE0ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hcGV0YWcubWs6CgkqIGFuZHJvaWQvYXZpLm1rOgoJKiBhbmRyb2lkL2Zsdi5tazoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9pY3lkZW11eC5tazoKCSogYW5kcm9pZC9pZDNkZW11eC5tazoKCSogYW5kcm9pZC9xdGRlbXV4Lm1rOgoJKiBhbmRyb2lkL3J0cC5tazoKCSogYW5kcm9pZC9ydHBtYW5hZ2VyLm1rOgoJKiBhbmRyb2lkL3J0c3AubWs6CgkqIGFuZHJvaWQvc291cC5tazoKCSogYW5kcm9pZC91ZHAubWs6CgkqIGFuZHJvaWQvd2F2ZW5jLm1rOgoJKiBhbmRyb2lkL3dhdnBhcnNlLm1rOgoJICBBZGQgYnVpbGQgc3lzdGVtIGZvciBBbmRyb2lkCgoyMDEwLTAzLTI2IDEzOjUxOjU4ICswMTAwICBHdWlsbGF1bWUgRW1vbnQgPGdlbW9udEBpZ2FsaWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiBhZGQgYmFzaWMgc3VwcG9ydCB0byBjaGFuZ2UgcGxheWJhY2sgcmF0ZQoJICBUaGUgZm9sbG93aW5nIGtleXMgd2lsbCBub3cgYmUgaW50ZXJwcmV0ZWQgYnkgbmF2c2VlazoKCSAgJ2YnIG1lYW5zIGZhc3QgZm9yd2FyZDogdGhlIHN0cmVhbSBnZXRzIHBsYXllZCBhdCByYXRlIDIuMAoJICAncicgbWVhbnMgcmV3aW5kOiB0aGUgc3RyZWFtIGdldHMgcGxheWVkIGF0IHJhdGUgLTIuMAoJICAnbicgbWVhbnMgbm9ybWFsOiB0aGUgc3RyZWFtIGdldHMgcGxheWVkIGF0IHJhdGUgMS4wCgkgIEZpeGVzICM2MzE1MTYuCgoyMDEwLTEyLTAxIDEzOjEyOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIGUoYSljLTMgYXVkaW8KCjIwMTAtMTEtMTkgMTI6NDQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBzZW5kaW5nIEVPUyBldmVudCB0d2ljZQoKMjAxMC0xMS0xOSAxMjo0NDoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUgdHJ5aW5nIHRvIHVwZGF0ZSBzdHJlYW0gZHVyYXRpb24KCSAgT24gdGhlIG9uZSBoYW5kLCBpdCBpbnN1ZmZpY2llbnRseSBjaGVja3Mgd2hldGhlciBpdCBvbmx5IHVwZGF0ZXMgYSBkdW1teQoJICBzZWdtZW50LiAgT24gdGhlIG90aGVyIGhhbmQsIG9ubHkgZG9pbmcgdGhpcyBhdCB0aGUgdGltZSB0aGUgbGFzdCBzYW1wbGVkIGlzCgkgIHByZXBhcmVkIChhbmQgc2VudCBkb3duc3RyZWFtKSBpcyB0b28gbGl0dGxlIHRvbyBsYXRlLgoKMjAxMC0xMS0wOSAxMDo1ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgaGFuZGxlIGlzbXYgc2FtcGxlIGZsYWdzCgoyMDEwLTExLTA4IDExOjQxOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBoYW5kbGUgaXNtdiBzdGJsIGF0b21zCgkgIC4uLiBvciBsYWNrIG9mIHNvbWUgdGhlcmVvZiwgc3VjaCBhcyBtYW5kYXRvcnkgc3Rzei4gIFNodWZmbGUgc29tZSBjb2RlCgkgIGluIF9zdGJsX2luaXQgdG8gZGV0ZWN0IHRoaXMgZWFybHkgZW5vdWdoLgoKMjAxMC0xMS0wOCAxMTozOTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgY29tcGVuc2F0ZSBmb3IgaXNtdiBvZmZzZXQgaGFuZGxpbmcKCSAgLi4uIG9yIGxhY2sgdGhlcmVvZiwgd2hpY2ggYWNjb3JkaW5nIHRvIHNwZWNzIHdvdWxkIHB1dCBtZWRpYSBkYXRhIGluCgkgIHVubGlrZWx5IHBvc2l0aW9uLgoKMjAxMC0xMS0wNCAxNDowNzo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0IGZvciBwdXNoIG1vZGUKCjIwMTAtMTEtMDQgMTA6MTc6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgcHJvcGVyIGFuZCBpbmNyZW1lbnRhbCBtb29mIHBhcnNpbmcKCSAgVGhhdCBpcywgcGFyc2UgZWFjaCBtb29mIGluIG9uZSBwYXNzIChjb25zaWRlcmluZyBhbGwgY29udGFpbmVkIHN0cmVhbXMnCgkgIG1ldGFkYXRhKSwgYW5kIGRvIHNvIGluY3JlbWVudGFsbHkgYXMgbmVlZGVkIGZvciBwbGF5YmFjayByYXRoZXIgdGhhbgoJICBhbiBpbml0aWFsIGNvbXBsZXRlIHNjYW4gb2YgYWxsIG1vb2YgKHRob3VnaCBhbGwgbW9vdiBzYW1wbGUgbWV0YWRhdGEKCSAgaXMgZnVsbHkgcGFyc2VkIGF0IHN0YXJ0dXApLgoKMjAxMC0xMS0wNCAxMDowNjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIHN0cmVhbSBmcmVlaW5nCgoyMDEwLTExLTA0IDEwOjA1OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZGVsZWdhdGUgbGluZWFyIHNlYXJjaCBmb3Igc2FtcGxlIHRvIGJpbmFyeSBzZWFyY2ggd2hlbiBwb3NzaWJsZQoJICBBbHNvIGFycmFuZ2UgZm9yIHBhcnNpbmcgYSBzYW1wbGUgcHJpb3IgdG8gdGFraW5nIGEgcmVmZXJlbmNlIHRvIGl0LAoJICB3aGljaCByZXF1aXJlcyBsZXNzIG1lbW9yeSBsYXlvdXQgYXNzdW1wdGlvbnMgZm9yIGNvcnJlY3RuZXNzLgoKMjAxMC0xMS0wMSAxNTo1MjoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgaGFuZGxlIG1vb3Ygc2FtcGxlcyBhbmQgcHJvcGVyIHN0cmVhbSBkdXJhdGlvbgoKMjAxMC0xMS0wMSAxMzo0MDowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgY29uc2lkZXIgbXZleCBhbmQgaGFuZGxlIGZsYWdzIGFuZCBvZmZzZXQgZmllbGRzCgoyMDEwLTEwLTI4IDE2OjQ5OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBmb3JlZ28gY2hlY2sgZm9yIHNob3J0IHN0cmVhbXMKCSAgLi4uIGFzIHNvbWUgYm9ndXMgZmlsZXMgbWF5IGluZGljYXRlIHN0cmVhbXMgb2YgMCBkdXJhdGlvbiBpbiBtb292LAoJICB3aGlsZSBpbmRpY2F0aW5nIHRoZSBjb21wbGV0ZSBtb3ZpZSBkdXJhdGlvbiBpbiBtdmhkICh0aGUgbGF0dGVyIHNob3VsZAoJICBiZSBpbiBtZWhkKS4KCjIwMTAtMTAtMjggMTY6NDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgY29kZSBjbGVhbnVwcyBhbmQgb3B0aW1pemF0aW9ucyBpbiBhdG9tIHBhcnNpbmcKCSAgQXZvaWQgZXh0cmEgYWxsb2NhdGlvbiBpbiBfcGFyc2VfdHJ1biwgYWRkIG1vcmUgY2hlY2tzIGZvciBwYXJzaW5nIGVycm9ycywKCSAgYWRkIG9yIGFkanVzdCBzb21lIGRlYnVnIHN0YXRlbWVudCwgZml4IGNvbW1lbnRzLCBzcHJpbmtsZSBzb21lIGJyYW5jaAoJICBwcmVkaWN0aW9uLgoKMjAxMC0wOS0xMyAyMzoxOTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlX21vb2Ygc2hvdWxkIHJldHVybiBUUlVFIG9uIHN1Y2Nlc3MKCjIwMTAtMDktMTAgMjI6NDE6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggaXRlcmF0aW9uIGJ1ZwoJICBBdm9pZCBpbmZpbml0ZSBsb29wIHdoZW4gaXRlcmF0aW5nIHRyYWYKCjIwMTAtMDktMTAgMjE6MzI6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZWZhY3RvciB0cnVuIHBhcnNpbmcKCSAgVGhlIGFsbG9jYXRpb24gb2YgdGhlIHNhbXBsZXMgY2FuIGJlIHBsYWNlZCBvdXQgb2YgdGhlIGxvb3AuCgkgIE1ha2VzIHRoZSBjb2RlIGNsZWFyZXIuCgkgIEFsc28gYXZvaWQgcmVseWluZyBvbiB0cmFmIGluZm9ybWF0aW9uIGFzIGl0IGlzIHBsYWNlZCBvbiB0aGUKCSAgZW5kIG9mIHRoZSBmaWxlIGFuZCBtaWdodCBub3QgYmUgYWNlc3NpYmxlIG9uIHB1c2ggbW9kZS4KCjIwMTAtMDktMTAgMDA6Mjk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgcGFyc2luZyBvZiB1bnVzZWQgYXRvbQoJICBzZHRwIGF0b20gaXMgcGFyc2VkIGJ1dCBub3QgdXNlZCwgc28gd2UgZG9uJ3QgaGF2ZSB0bwoJICBwYXJzZSBpdC4KCjIwMTAtMTEtMDkgMTE6NDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0d2VhayB3YW0gc3VwcG9ydAoJICAuLi4gd2l0aCBzb21lIGNvbW1lbnQgYW5kIHBvcnRhYmlsaXR5IG1hY3Jvcy4KCjIwMDktMDktMjMgMTg6NDc6NDIgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgd21hICYgdmMtMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDA5OjU2OjA0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcGFyc2UgZm1wNCBzYW1wbGVzIGluZm9ybWF0aW9uCgkgIFRoZSBmcmFnbWVudGVkIG1wNCBmb3JtYXQgc3RvcmVzIHRoZSB0cmFja3MgYW5kIHNhbXBsZXMgaW5mb3JtYXRpb24gaW4gdGhlCgkgICdtb29mJyBib3hlcywgd2hpY2ggYXJlIGFwcGVuZGVkIGJlZm9yZSBlYWNoIGZyYWdtZW50IChmcmFnbWVudC0+J21vb2YnKydtZGF0JykuCgkgIFRoZSAnbWZyYScgYm94IHN0b3JlcyB0aGUgb2Zmc2V0IG9mIGVhY2ggJ21vb2YnIGJveCBhbmQgdGhlaXIgcHJlc2VudGF0aW9uCgkgIHRpbWUuIFRoZSBsb2NhdGlvbiBvZiB0aGlzIGJveCBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlICdtZnJvJyBib3gsIHdoaWNoIGlzCgkgIGxvY2F0ZWQgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgVGhlICdtZnJhJyBib3ggaXMgcGFyc2VkIHRvIGdldCB0aGUgb2Zmc2V0IG9mIGVhY2ggJ21vb2YnIGJveCBhbmQgdGhlaXIKCSAgcHJlc2VudGF0aW9uIHRpbWUuCgkgIEVhY2ggJ21vb2YnIGJveCBjYW4gY29udGFpbiBpbmZvcm1hdGlvbiBmb3Igb25lIG9yIG1vcmUgdHJhY2tzIGluc2lkZQoJICAndGZoZCcgYm94ZXMuIEZvciBlYWNoIHRyYWNrIGluIGEgJ21vb2YnLCB3ZSBoYXZlIGEgJ3RydW4nIGJveCwgd2hpY2gKCSAgY29udGFpbnMgaW5mb3JtYXRpb24gb2YgZWFjaCBzYW1wbGUgKG9mZnNldCBhbmQgZHVyYXRpb24pIHVzZWQgdG8gYnVpbGQKCSAgdGhlIHNhbXBsZXMgdGFibGUuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDE1OjM0OjQ5ICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBhZGQgZnJhZ21lbnRlZCBtcDQgZm91cmNjcwoJICBBZGRzIGZvdXJjYydzIGZvciB0ZnJhLCB0ZmhkLCB0cnVuLCBzZHRwLCB0cmV4LCBtZWhkIGFuZAoJICB0aGVpciBkdW1wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDEwOjI0OjU2ICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2UgdGhlIHRyYWNrIGlkIGZyb20gdGhlIHRyYWNrIGhlYWRlcgoJICBTaWduZWQtb2ZmLWJ5OiBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDMtMTEgMTQ6MTA6MTIgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbGxvdyBwdWxsaW5nIGF0b21zIHdpdGggdW5rbm93biBzaXplCgkgIFNpZ25lZC1vZmYtYnk6IEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wNy0xNCAyMDoxMzo1NSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogbWFrZSBxdGRlbXV4X2R1bXBfbXZoZCBwYXJzZSB2ZXJzaW9uIDEgY29ycmVjdGx5CgkgIFZlcnNpb25zIDAgYW5kIDEgb2YgbXZoZCBoYXZlIGRpZmZlcmVudCBzaXplcyBvZiBpdHMgdmFsdWVzCgkgICgzMmJpdHMvNjRiaXRzKS4gVGhpcyBwYXRjaCBtYWtlcyBpdCBkdW1wIHRoZW0gY29ycmVjdGx5LgoJICBBbHNvIHVzZSB0aGUgcmlnaHQgbm9kZSBpbiB0aGUgcGFyYW1ldGVyIGFuZCBub3QgdGhlIHJvb3Qgbm9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0xMS0xOSAxMjo0NTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1pbm9yIGNsZWFudXBzIGluIHNldHRpbmcgc3RyZWFtaGVhZGVyIG9uIGNhcHMKCjIwMTAtMTEtMDIgMTc6MDQ6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG5vcm1hbGl6ZSBlbXB0eSBDdWVzIHRvIG5vIEN1ZXMKCSAgLi4uIHRvIHRyaWdnZXIgaW5kZXhsZXNzIHNlZWtpbmcuCgoyMDEwLTEwLTI2IDExOjE1OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCB3b3JrYXJvdW5kIGZvciBidWdneSBsaXN0IHNpemUKCSAgRml4ZXMgdHJ1bmNhdGVkIGV4dHJhLWRhdGEgaW4gaGRybC9zdHJsL3N0cmYgZHVlIHRvIGJ1Z2d5IGNvbnRhaW5pbmcKCSAgbGlzdCBzaXplIG5vdCBhY2NvdW50aW5nIGZvciBwYWRkaW5nIGluIGNvbnRhaW5lZCBjaHVua3MuCgoyMDEwLTEyLTAyIDE2OjExOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGRvIG5vdCBob2xkIGN1c3RvbSBQQURfTE9DSyB3aGVuIHB1c2hpbmcgZG93bnN0cmVhbQoKMjAxMC0xMi0wMiAxNjoxMDoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlc2V0IHNlc3Npb24gbWFuYWdlciBiYXNlIHRpbWUgd2hlbiBmbHVzaGluZwoJICAuLi4gYXMgcnRwYmluIHVzZXMgcnVubmluZyB0aW1lIHRvIGhhbmRsZSBydHBqaXR0ZXJidWZmZXIncyBidWZmZXIgbW9kZSBwYXVzZXMuCgoyMDEwLTEyLTAxIDE2OjUxOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW5jbHVkZSByYW5nZSByZXF1ZXN0IGZvciBhbGwgc3RyZWFtcyB3aXRoIG5vbi1hZ2dyZWdhdGUgY29udHJvbAoKMjAxMC0xMC0wNyAxNDo1MDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMTItMDMgMTU6Mzg6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBQYXJzZSBtb3JlIHZhcmlhbnRzIG9mIG51bWVyaWNhbCBJRElUIHRhZwoKMjAxMC0wNS0wNyAxNzozMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogVXNlIHByb3BlciBmcmFtZXJhdGUgcmFuZ2UgaW4gY2FwcwoKMjAxMC0xMi0wMyAxNTowNDoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IEZpeCBwcmV2aW91c2x5IHVuYnVpbGRhYmxlL3VudGVzdGVkIHdhdmVuYyB0ZXN0CgoyMDEwLTEwLTI0IDE1OjIxOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUmVmYWN0b3IgdGFnIHB1c2hpbmcgbG9naWMKCSAgVGhlIGxvZ2ljIG9mIHdoZW4gdG8gcHVzaCB3YXMgd3JvbmcgYWxzbyAocmVzdWx0aW5nIGluIHNvbWUgdGFncyBuZXZlcgoJICBiZWluZyBwdXNoZWQpLgoKMjAxMC0xMC0yNCAxNToyMDoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFVzZSBwYnV0aWxzIGZvciBjb2RlYyBkZXNjcmlwdGlvbnMKCjIwMTAtMDQtMTMgMTE6Mjk6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIGNoZWNrOiBVc2UgZmFpbF91bmxlc3NfZXF1YWxzX2ludCBpbnN0ZWFkIG9mIGZhaWxfaWYKCSAgTWFrZXMgdGhlIGVycm9yIG1lc3NhZ2UgbW9yZSBpbnRlcmVzdGluZwoKMjAxMC0xMS0zMCAxOToyMjoxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFsc28gZXh0cmFjdCBJRElUIHRhZ3MgcHJlc2VudCB0b28gZWFybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjE0MwoKMjAxMC0xMS0zMCAxOToyMToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFsc28gZW1pdCBEYXRlVGltZSB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjE0MwoKMjAxMC0xMi0wMyAwMDoyMjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRldGVjdCBEVFMgYWR2ZXJ0aXNlZCBhcyBQQ00gY29ycmVjdGx5IGluIHNvbWUgbW9yZSBjYXNlcwoJICBUaGUgRFRTIHR5cGVmaW5kZXIgbWF5IHJldHVybiBhIGxvd2VyIHByb2JhYmlsaXR5IGZvciBmcmFtZXMgdGhhdCBzdGFydAoJICBhdCBub24temVybyBvZmZzZXRzIGFuZCB3aGVyZSB0aGVyZSdzIG5vIHNlY29uZCBmcmFtZSBzeW5jIGluIHRoZSBmaXJzdAoJICBidWZmZXIuIEl0J3MgZmFpcmx5IHVubGlrZWx5IHRoYXQgd2UnbGwgYWNpZGVudGFsbHkgaWRlbnRpZnkgUENNIGRhdGEKCSAgYXMgRFRTLCBzbyB3ZSBkb24ndCBkbyBhZGRpdGlvbmFsIGNoZWNrcyBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2MjM0CgoyMDEwLTExLTA4IDE3OjExOjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG1ha2VmaWxlIGNsZWFudXAKCSAgRml4IGluZGVudGF0aW9uLiBVc2UgJChHU1RfTUFKT1JNSU5PUikgaW5zdGVhZCBvZiBoYXJkY29kZWQgMC4xMC4KCjIwMTAtMTEtMDggMTc6MDI6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogYWRkIGEgdGVzdCBmb3Igd2F2IG11eGluZwoKMjAxMC0xMS0wOCAxNjo1NzoxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB0ZXN0czogcmVtb3ZlIG5ld2xpbmVzIGJldHdlZW4gdmFyaWFibGUgZGVjbHMgKG9sZCBnc3QtaW5kZW50IGZhaWx1cmUpCgoyMDEwLTExLTA4IDE0OjQ3OjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IHVzZSBwbmdfZXJyb3IoKSBhcyByZWNvbW1lbmRlZCBieSBsaWJwbmcgZG9jcyB0byBzaWduYWwgYW4gZXJyb3IKCSAgV2l0aG91dCB0aGF0IHRoZSBlbGVtZW50IGxvb3BzIGVuZGxlc3NseSBvbiBicm9la24gcG5ncy4gRml4ZXMgIzYzNDMxNAoKMjAxMC0xMS0xNiAxNzo0ODoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIGFuZCB1c2UgY3JlYXRpb24gdGltZSB0YWcgZnJvbSBtdmhkCgkgIEV4cG9zZSBjcmVhdGlvbiB0aW1lIGZyb20gbXZoZCBhcyBhIGRhdGV0aW1lIHRhZwoJICBGaXhlcyAjNjM0OTI4CgoyMDEwLTEwLTI3IDE5OjE1OjIwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEFkZCAnU3RyZWFtVXJsJyBtZXRhZGF0YSBhcyBHU1RfVEFHX0hPTUVQQUdFIHRhZwoKMjAxMC0xMC0yMyAxOTozNDowMCAtMDQwMCAgVG9tIEphbmlzemV3c2tpIDxUb20uSmFuaXN6ZXdza2lAYWxjYXRlbC1sdWNlbnQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggZm9yIG5lbGx5bW9zZXIgY29kZWNpZCBzZXR0aW5nCgkgIEZpeGVzIGJ1ZyAjNjMyODk3LgoKMjAxMC0xMC0yMSAxNjoxNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgRS1BQzMKCjIwMTAtMTAtMjEgMTY6MTQ6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIERUUwoKMjAxMC0xMC0zMSAxODowODoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3Qgc2VuZCBzZWVrcyBiZWhpbmQgdGhlIGVuZCBvZiBmaWxlIHRvIHRoZSBzZXJ2ZXIKCSAgQWxzbyBpbXByb3ZlIGRlYnVnIG91dHB1dCwgcmUtaW5pdGlhbGl6ZSB0aGUgY29udGVudCBzaXplIGFuZCBsZXQgdGhlCgkgIHNlZWsgaGFuZGxlciBlcnJvciBvdXQgb24gaW52YWxpZCBzZWVrIHNlZ21lbnRzLgoJICBGaXhlcyBidWcgIzYzMjk3Ny4KCjIwMTAtMTItMDIgMTc6NTM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IHVzZSBTT1AgbWFya2VycyB0byBzcGxpdCBiaXRzdHJlYW0KCSAgV2hlbiBwYXJzaW5nIHRoZSBiaXRzdHJlYW0sIGxvb2sgZm9yIFNPUCBtYXJrZXJzIGJlY2F1c2Ugd2UgYXJlIGFsbG93ZWQgdG8gc3BsaXQKCSAgcGFja2V0cyBvbiB0aG9zZSBtYXJrZXIgYm91bmRhcmllcy4KCSAgUmV3b3JrIHRoZSBwYXJzaW5nIGNvZGUgYSBsaXR0bGUgc28gdGhhdCB3ZSBjYW4gcGFjayBtdWx0aXBsZSBQYWNrZXRpemF0aW9uCgkgIHVuaXRzIGluIG9uZSBSVFAgcGFja2V0LgoKMjAxMC0xMS0xOCAxMjo0OTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cGoya3BheTogdXNlIGJ1ZmZlciBsaXN0cwoJICBVc2UgYnVmZmVyIGxpc3RzIGZvciBkb2luZyB6ZXJvY29weSBwYXlsb2FkaW5nLgoJICBBZGQgcHJvcGVydHkgdG8gZGlzYWJsZSBidWZmZXIgbGlzdHMuCgoyMDEwLTExLTE2IDE2OjU0OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IHNtYWxsIGNsZWFudXBzCgkgIEFsbG9jYXRlIGFkYXB0ZXIgb25seSBvbmNlLgoJICBNYWtlIHNvbWUgZ3VpbnQ4ICogY29uc3QuCgoyMDEwLTExLTE2IDE1OjM5OjI0ICswMTAwICBUYW1iZXQgSW5nbyA8dGFtYmV0IGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogaW1wbGVtZW50IGZ1bGwgYnl0ZXN0cmVhbSBzY2FuIG1vZGUuCgkgIEltcGxlbWVudCB0aGUgZnVsbCBieXRlc3RyZWFtIHNjYW4gbW9kZS4KCSAgRml4ZXMgIzYzNDkxMAoKMjAxMC0xMS0xNSAxMDo1MjozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBleGFtcGxlczogaW1wcm92ZSBSVFAgZXhhbXBsZXMKCSAgTWFrZSB0aGUgZXhhbXBsZXMgdXNlIGF1dG92aWRlb3NpbmsgYW5kIGZmbXBlZ2NvbG9yc3BhY2UgZm9yIGJldHRlcgoJICBjb21ww6B0aWJpbGl0eS4KCSAgTWFrZSBzb21lIG1vcmUgdmFyaWFibGVzIGZvciB0aGUgc2luayBhbmQgdGhlIGRlY29kZXJzLgoJICBTZXQgemVyb2xhdGVuY3kgdHVuaW5nIG9uIHgyNjRlbmMgZm9yIGJldHRlciByZWFsdGltZSByZXN1bHRzLgoKMjAxMC0xMS0xMCAxMTowNDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzZWxlY3QgbXVsdGljYXN0IHRyYW5zcG9ydHMgaW4gYSBzbWFydGVyIHdheQoJICBXaGVuIHdlIHNlZSBhIG11bHRpY2FzdCBhZGRyZXNzIGluIHRoZSBTRFAgY29ubmVjdGlvbiwgb25seSB0cnkgdG8gbmVnb3RpYXRlIGEKCSAgbXVsdGljYXN0IHRyYW5zcG9ydCB3aXRoIHRoZSBzZXJ2ZXIuCgkgIEZpeGVzICM2MzQwOTMKCjIwMTAtMTItMDIgMTg6MTQ6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIEdMaWIgcmVxdWlyZW1lbnQgdG8gaW1wbGljaXQgcmVxdWlyZW1lbnQKCSAgaWUuID49IDIuMjAgd2hpbGUgd2UgZGVwZW5kIG9uIGNvcmUvYmFzZSAwLjEwLjMxCgoyMDEwLTEyLTAyIDE4OjEzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjYgPT09CgoyMDEwLTEyLTAxIDIxOjE1OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjYKCjIwMTAtMTEtMzAgMTU6Mjg6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBhbmFseXNlIFJGRiBmaWVsZHMgaW4gY29ycmVjdCBvcmRlcgoJICBDb2RlIHdhcyByZXBlYXRpbmcgdGhlIHNlY29uZCBmaWVsZCwgbm90IHRoZSBmaXJzdC4KCSAgRml4ZXM6ICM2MzYxNzkuCgoyMDEwLTExLTI5IDE1OjMyOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHN0YWxlIGRpZ2VzdCBhdXRoZW50aWNhdGlvbiBzZXNzaW9uIGRhdGEKCSAgSW4gcGFydGljdWxhciwgaGFuZGxlIFVuYXV0aG9yaXplZCBzZXJ2ZXIgcmVzcG9uc2Ugd2hlbiB0cnlpbmcgdG8gY29udmV5CgkgIGtlZXAtYWxpdmUuCgkgIEZpeGVzICM2MzU1MzIuCgoyMDEwLTExLTI2IDE1OjAwOjI5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBmaXggc2VnZmF1bHQgb24gZW1wdHkgcGF5bG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1ODQzCgoyMDEwLTExLTI1IDE5OjA2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTE4IDAwOjQ1OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjUgcHJlLXJlbGVhc2UKCjIwMTAtMTEtMTggMDA6NDQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9odS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3RyLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0xMS0xNCAwMDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCByZWZlcmVuY2UgbGVhawoKMjAxMC0xMS0xMiAyMzo1OTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGbHVzaCBRb1MgYW5kIGhpc3RvcnkgYmVmb3JlIGFwcGx5aW5nIHNlZ21lbnQKCSAgV2hlbiBoYW5kbGluZyBuZXdzZWdtZW50LCBmbHVzaCBvdXQgdGhlIGJ1ZmZlciBoaXN0b3J5IGluIHRoZQoJICBleGlzdGluZyBzZWdtZW50LCBub3QgdGhlIG5ldyBvbmUuIEZpeGVzIHBsYXliYWNrIGluIHNvbWUgRFZECgkgIGNhc2VzLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzYzMzI5NAoKMjAxMC0xMS0xMiAxMjoyMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGltcHJvdmUgZXZlbnQgbG9nZ2luZwoKMjAxMC0xMS0wNSAxNzowMDoxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IGZpZWxkIGhpc3RvcnkgZmx1c2hpbmcKCSAgSW4gYSBudW1iZXIgb2YgY2FzZXMgaXQgaXMgbmVjZXNzYXJ5IHRvIGZsdXNoIHRoZSBmaWVsZCBoaXN0b3J5IGJ5CgkgIHBlcmZvcm1pbmcgJ2RlZ3JhZGVkJyBkZWludGVybGFjaW5nIC0gdGhhdCBpcywgdXNpbmcgdGhlIHVzZXItY2hvc2VuCgkgIG1ldGhvZCBmb3IgYXMgbWFueSBmaWVsZHMgYXMgcG9zc2libGUsIHRoZW4gdXNpbmcgdmZpciBmb3IgYXMgbG9uZyBhcwoJICB0aGVyZSBhcmUgPj0gMiBmaWVsZHMgcmVtYWluaW5nIGluIHRoZSBoaXN0b3J5LCB0aGVuIHVzaW5nIGxpbmVhciBmb3IKCSAgdGhlIGxhc3QgZmllbGQuCgkgIFRoaXMgc2hvdWxkIGF2b2lkIGxvc2luZyBmaWVsZHMgYmVpbmcga2VwdCBmb3IgaGlzdG9yeSBmb3IgZXhhbXBsZSBhdAoJICBFT1MuCgkgIFRoaXMgbWF5IGFkZHJlc3MgcGFydCBvZiAjNjMzMjk0CgoyMDEwLTExLTA1IDE1OjQ0OjM1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJlZmFjdG9yIGNoYWluIGZ1bmN0aW9uCgkgIFRoaXMgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gb3V0cHV0IGEgZnJhbWUgZnJvbSBvdXRzaWRlIHRoZSBjaGFpbgoJICBmdW5jdGlvbiwgaS5lLiBpbiB0aGUgZm9sbG93aW5nIGNvbW1pdCB0aGF0IGFkZHMgZmx1c2hpbmcgb2YgdGhlIGZpZWxkCgkgIGhpc3RvcnkuCgoyMDEwLTExLTA1IDE3OjE3OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB3ZSBzdGlsbCByZXF1aXJlIEd0aysgPj0gMi4xNC4wIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgMi4wCgkgIFRoZSBjaGVjayBmb3IgdGhlIG1pbm9yIHZlcnNpb24gd2FzIGRyb3BwZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdC4KCjIwMTAtMTEtMDUgMTY6MjQ6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCAtLXdpdGgtZ3RrIG9wdGlvbiBhbmQgZGVmYXVsdCB0byBHdGsrIDIuMCB3aGlsZSB0aGUgMy4wIEFQSSBpcyBzdGlsbCBpbiBmbHV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQwMTQKCjIwMTAtMTEtMDQgMTY6NDI6MDcgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBmaXggdXNlLWFmdGVyLWZyZWUgb2YgdGFnbGlzdAoJICBCcm9rZW4gYnkgY29tbWl0IDRjMmY1MzMzIChidWcgIzYzMDIwNSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzM5NzAKCjIwMTAtMTEtMDEgMTc6Mjk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuNCBwcmUtcmVsZWFzZQoKMjAxMC0xMS0wMSAxNzoyODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vc2wucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0xMS0wMSAxNjowNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMC0xMS0wMSAxNDo1NjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogb25seSBzZXQgZGVsdGEgdW5pdCBvbiBhbGwtbm9uLWtleSB1bml0cwoJICBPbmx5IHNldCB0aGUgZGVsdGEgZmxhZyB3aGVuIGFsbCBvZiB0aGUgdW5pdHMgaW4gdGhlIHBhY2tldCBhcmUgZGVsdGEgdW5pdHMuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoJICBGaXhlcyAjNjMyOTQ1CgoyMDEwLTEwLTI2IDE1OjQ0OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogUmV0dXJuIG5vdC1uZWdvdGlhdGVkIHdoZW4gYnBzIGlzIHVua25vd24KCSAgSWYgY2FwcyB3ZXJlbid0IG5lZ290aWF0ZWQsIGdvb20gc2hvdWxkIHJldHVybiBub3QtbmVnb3RpYXRlZAoJICBmcm9tIGl0cyBjaGFpbiBmdW5jdGlvbnMgaW5zdGVhZCBvZiB1c2luZyBicHMgdW5pdGlhbGl6ZWQsIHdoaWNoCgkgIGxlYWRzIHRvIGEgZGl2aXNpb24gYnkgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMzMjEyCgoyMDEwLTEwLTI3IDEzOjE2OjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdiYmQ3MDggdG8gMDExYmNjOAoKMjAxMC0xMC0yNiAxNjo1NDoxMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEZvcndhcmQgc3JjIHBhZCBldmVudHMgdXBzdHJlYW0uCgkgIEZpeCBwYXNzaW5nIG5hdmlnYXRpb24gYW5kIG90aGVyIGV2ZW50cyB1cHN0cmVhbSBieSBhY3R1YWxseSBzZW5kaW5nIHRoZW0uCgkgIEZpeGVzOiAjNjMzMjA1CgoyMDEwLTEwLTI0IDE4OjUwOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYWRsb2NrIGluIGVycm9yIGNvZGUgcGF0aAoJICBHU1RfRUxFTUVOVF9FUlJPUiBtdXN0IG5vdCBiZSBjYWxsZWQgd2l0aCB0aGUgb2JqZWN0IGxvY2sgaGVsZCwKCSAgc2luY2UgaXQgd2lsbCBjYWxsIGdzdF9vYmplY3RfZ2V0X3BhcmVudCgpIGludGVybmFsbHksIHdoaWNoCgkgIHRha2VzIHRoZSBvYmplY3QgbG9jayBhcyB3ZWxsLgoKMjAxMC0xMC0yMCAxMDoyMTo0OCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdXNlbGVzcyBjbGVhcmluZyBvZiBzZW5kX3hpcGhfaGVhZGVycyBmb3IgRGlyYWMKCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSB3aGVuIGNvcHktcGFzdGluZyB0aGUgVGhlb3JhIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI2ODIKCjIwMTAtMTAtMjAgMTM6Mjg6MjggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgY3Jhc2ggaWYgdm9yYmlzL3RoZW9yYSBjb2RlYyBkYXRhIGlzIG1pc3NpbmcKCSAgRXJyb3Igb3V0IHByb3Blcmx5IGluIHRoaXMgY2FzZSBpbnN0ZWFkIG9mIGNyYXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyNjgyCgoyMDEwLTEwLTIyIDE4OjExOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjMgcHJlLXJlbGVhc2UKCjIwMTAtMTAtMTkgMTY6NDU6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZHVyYXRpb24gcmVwb3J0aW5nCgkgIEluaXQgc2VnbWVudCBwcmlvciB0byBzdG9yaW5nIGR1cmF0aW9uIGluZm8gaW4gaXQuCgkgIEZpeGVzICM2MzI1NDguCgoyMDEwLTEwLTE5IDE0OjIxOjUzICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgZ2NvbmY6IERvbid0IGluc3RhbGwgc2NoZW1hcyB3aGVuIEdDb25mIGlzIGRpc2FibGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI1NTMKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xOSAxMzo0NDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiByZW1vdmUgREVCVUdfRlVOQ1BUUiBmcm9tIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMTAtMTYgMTU6NDM6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBzZXQgR1NUX1BBQ0tBR0VfUkVMRUFTRV9EQVRFVElNRSBhbHNvIGluIHdpbjMyIGNvbmZpZy5oCgoyMDEwLTEwLTE2IDAxOjMzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjIgcHJlLXJlbGVhc2UKCjIwMTAtMTAtMTYgMDE6MjY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vZWwucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0xMC0xNSAxMzoyMjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IERvbid0IGRpc3QgZ2VuZXJhdGVkIG9yYyBmaWxlcwoKMjAxMC0xMC0xNSAxNDowMjoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICBVcGRhdGUgZ2VuZXJhdGVkIG9yYyBjb2RlCgoyMDEwLTEwLTE1IDE4OjAwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIE9yYyByZXF1aXJlbWVudCB0byAwLjQuMTEKCjIwMTAtMTAtMTQgMTc6NDE6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFVzZSB0aGUgcmlnaHQgY29uc3RhbnQgdG8gZGVmaW5lIHRoZSAidXNlLXBpcGVsaW5lLWNsb2NrIiBwcm9wZXJ0eQoJICBUaGUgd3JvbmcgI2RlZmluZSB3YXMgYmVpbmcgdXNlZCwgbm93IHVzZSB0aGUgY29ycmVjdCBvbmUuCgoyMDEwLTEwLTE0IDEyOjMxOjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWE2NjhiZiB0byA3YmJkNzA4CgoyMDEwLTEwLTE0IDE3OjI2OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIGFjMzogZGVtdXhlcnMgcHJvdmlkZSBmcmFtZWQgb3V0cHV0CgoyMDEwLTEwLTE0IDAwOjExOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIG1hdHJvc2thbXV4OiByZWR1Y2UgbmV3c2VnbWVudCBldmVudCBzcGFtIGFuZCBzZXQgZGlzY29udCBmbGFnIHdoZXJlIG5lZWRlZAoJICBPbmx5IHNlbmQgbmV3c2VnbWVudCBldmVudHMgd2l0aCBuZXcgcG9zaXRpb25zIGRvd25zdHJlYW0gd2hlbiBhY3R1YWxseQoJICBuZWVkZWQsIGluc3RlYWQgb2Ygc2VuZGluZyBtdWx0aXBsZSBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIG5ldyBzZWVrCgkgIHBvc2l0aW9ucyBpbiBhIHJvdy4gQWxzbyBzZXQgdGhlIGRpc2NvbnQgZmxhZyBvbiBidWZmZXJzIGFmdGVyIGEKCSAgZGlzY29udGludWl0eS4KCjIwMTAtMTAtMTMgMjM6NDY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgbWF0cm9za2FtdXg6IHNldCBjb3JyZWN0IGJ1ZmZlciBvZmZzZXRzIGFmdGVyIHNlZWtzCgkgIFJlLXVzZSB0aGUgZXhpc3RpbmcgJ3BvcycgZmllbGQgbWFpbnRhaW5lZCBieSBlYm1sIHdyaXRlciB0byBzZXQKCSAgYnVmZmVyIG9mZnNldHMuIFRoaXMgYWxzbyBtYWtlcyBzdXJlIHRoYXQgd2Ugc2V0IHRoZSByaWdodCBvZmZzZXRzCgkgIG9uIGJ1ZmZlcnMgYWZ0ZXIgYSBzZWVrIChlLmcuIHdoZW4gd3JpdGluZyBhbiBpbmRleCBhdCB0aGUgZW5kKS4KCjIwMTAtMTAtMTQgMDA6MjI6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3QgZm9yd2FyZCB0YWcgZXZlbnRzIGRvd25zdHJlYW0KCSAgRG9uJ3QgZm9yd2FyZCBzdHJlYW0tc3BlY2lmaWMgdGFnIGV2ZW50cyBkb3duc3RyZWFtIChlc3AuIG5vdAoJICBiZWZvcmUgYW55IG5ld3NlZ21lbnQgZXZlbnQpLngKCjIwMTAtMTAtMTMgMTc6MTU6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBoYW5kbGUgYW5vdGhlciBtcDR2IHZhcmlhdGlvbgoJICAuLi4gaW5jbHVkaW5nIHRoZSBnbGJsIGF0b20gY29udGFpbmluZyBjb2RlYy1kYXRhLgoKMjAxMC0xMC0xMyAxNzoyMToyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICB2YXJpb3VzIChnc3QpOiBhZGQgYSBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCjIwMTAtMTAtMTMgMTc6MTM6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHZhcmlvdXMgKHN5cyk6IGFkZCBhIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoKMjAxMC0xMC0xMyAxNjoyNToxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB2YXJpb3VzIChleHQpOiBhZGQgYSBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCjIwMTAtMTAtMTMgMTY6MzQ6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgdmFyaW91czogd3JhcCBwcm9wZXJ0eSByZWdpc3RyYXRpb24gYW5kIGFkZCBhIHNpbmdsZSBmaXhtZSBmb3IgbG9uZyBkZXNjLgoKMjAxMC0xMC0xMyAxMTo0Njo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogYWx3YXlzIG1hcmsgdGhlIGNvZGVjX2RhdGEgYXMga2V5ZnJhbWUKCSAgV2UgbmVlZCB0byBtYXJrIHRoZSBjb2RlY19kYXRhIGFzIGEga2V5ZnJhbWUgb3IgZWxzZSBkb3duc3RyZWFtIGRlY29kZXJzIG1pZ2h0CgkgIGRlY2lkZSB0byBza2lwIGl0LCB3YWl0aW5nIGZvciBhIGtleWZyYW1lLgoJICBGaXhlcyAjNjMxOTk2CgoyMDEwLTEwLTEzIDA3OjE2OjQ3ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IG1ha2UgYnVmZmVyIG9mZnNldHMgYSBieXRlIGNvdW50IHJhdGhlciB0aGFuIGEgYnVmZmVyIGNvdW50CgoyMDEwLTEwLTA3IDIxOjEyOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZXh0LCBnc3Q6IGNhbm9uaWNhbGlzZSBwcm9wZXJ0eSBuYW1lcyB3aGVyZSB0aGlzIHdhc24ndCB0aGUgY2FzZQoJICBpZS4gImZvb19iYXIiIC0+ICJmb28tYmFyIgoKMjAxMC0xMC0xMiAxNTowMjo0MiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cG1wdnBheTogZml4IHRpbWVzdGFtcGluZyBvZiBydHAgYnVmZmVycwoJICBJbmNvbW1pbmcgYnVmZmVyIGlzIG9ubHkgcHVzaGVkIG9uIHRoZSBhZGFwdGVyIGF0IHRoZSBlbmQgb2YgdGhlCgkgIGhhbmRsZV9idWZmZXIgZnVuY3Rpb24uIEJ1dCBkdXJhdGlvbi90aW1lc3RhbXAgb2YgdGhpcyBidWZmZXIgaXMgYWxyZWFkeQoJICB0YWtlbiBpbnRvIGFjY291bnQgZm9yIHRoZSBjdXJyZW50IGRhdGEgaW4gdGhlIGFkYXB0ZXIuIFRoaXMgbGVhZHMgdG8KCSAgd3JvbmcgcnRwIHRpbWVzdGFtcHMgYW5kIGV4dHJhIGxhdGVuY3kuCgoyMDEwLTEwLTEyIDExOjM3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBGaXggYnVpbGQgd2l0aCBHVEsrIDMuMAoKMjAxMC0xMC0xMSAxNToxMjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFyayBhcyBhIHNvdXJjZQoJICBNYXJrIHRoZSBydHNwc3JjIGVsZW1lbnQgYXMgYSBzb3VyY2UuCgkgIFJlcXVpcmVzIDAuMTAuMzEuMSBub3cKCjIwMTAtMTAtMTEgMTQ6MjQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBTZXQgR1NUX0VMRU1FTlRfSVNfU09VUkNFIGZsYWcgb24gc291cmNlcwoKMjAxMC0xMC0xMSAxNDoyMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkgIHN3aXRjaHNyYzogU2V0IHRoZSBHU1RfRUxFTUVOVF9JU19TT1VSQ0UgZmxhZwoKMjAxMC0xMC0xMSAxNDoxNzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBjb3JlIDAuMTAuMzAuMQoKMjAxMC0xMC0xMCAxNDo0Mzo1OCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIG1hdHJvc2thbXV4OiBzZXQgb2Zmc2V0cyBvbiBvdXRnb2luZyBidWZmZXJzCgoyMDEwLTEwLTA5IDE0OjE0OjI3ICswMjAwICBJT2hhbm5lcyBtIHptw7ZsbmlnIDx6bW9lbG5pZ0BpZW0uYXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogT25seSBnZXQvc2V0IG92ZXJsYXkgcGFyYW1zIGlmIG5lZWRlZAoJICBpdCdzIHBlcmZlY3RseSBvayBmb3IgYSB2aWRlbyBvdXRwdXQgZGV2aWNlIHRvIG5vdCBoYXZlIG92ZXJsYXkgY2FwYWJpbGl0aWVzLgoJICB0aGlzIHBhdGNoIHJlbW92ZXMgdGhlIG5lZWQgdG8gZ2V0L3NldCB0aGUgb3ZlcmxheSBwYXJhbWV0ZXJzIGlmIHRoZSB1c2VyCgkgIGRvZXMgbm90IGV4cGxpY2l0ZWx5IHJlcXVlc3Qgb25lIG9mIHRoZSBvdmVybGF5IHByb3BlcnRpZXMKCjIwMTAtMDktMzAgMTU6Mjg6MjMgKzAyMDAgIElPaGFubmVzIG0gem3DtmxuaWcgPHptb2VsbmlnQGllbS5hdD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBQcm90ZWN0IGFnYWluc3QgTlVMTC1wb2ludGVyIGFjY2VzcwoJICBnc3RfdjRsMnNpbmtfY2hhbmdlX3N0YXRlKCkgd291bGQgZnJlZSB0aGUgcG9vbCB3aXRob3V0IGNoZWNraW5nIHdoZXRoZXIgdGhlcmUKCSAgd2FzIGEgdmFsaWQgcG9vbC4uLgoKMjAxMC0xMC0wOCAxMjo0Mzo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0YThhZGMgdG8gNWE2NjhiZgoKMjAxMC0xMC0wOCAxMjo1MzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVlM2M5YmYgdG8gYzRhOGFkYwoKMjAxMC0xMC0wNiAxMToyOTo1NSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggcmVxdWlyZWQgZmllbGRzIGxvZ2ljCgkgIEJvdGggaGlzdG9yeV9jb3VudCBhbmQgZmllbGRzX3JlcXVpcmVkIGNvdW50IGZyb20gMS4gQXMgcGVyIHRoZSB3aGlsZSBsb29wCgkgIGNvbmRpdGlvbiB0aGF0IGZvbGxvd3MgdGhpcyBjb2RlLCB0byBwZXJmb3JtIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZCwgd2UgbmVlZAoJICBoaXN0b3J5X2NvdW50ID49IGZpZWxkc19yZXF1aXJlZCBmaWVsZHMgaW4gdGhlIGhpc3RvcnkuIFRoZXJlZm9yZSBpZiB3ZSBoYXZlCgkgIGhpc3RvcnlfY291bnQgPCBmaWVsZHNfcmVxdWlyZWQgKG5vdCBmaWVsZHNfcmVxdWlyZWQgKyAxKSwgd2UgbmVlZCBtb3JlIGZpZWxkcy4KCjIwMTAtMDktMjAgMTk6NDM6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogcmVzZW5kIG9uTWV0YWRhIHRhZyB3aGVuIHRhZ3MgY2hhbmdlcyBpbiBzdHJlYW1hYmxlIG1vZGUKCjIwMTAtMTAtMDUgMTk6NDA6NTAgKzAxMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBQUMgY29kZWNfZGF0YSBjYW4gYmUgPiAyIGJ5dGVzIGxvbmcKCSAgVGhpcyBmaXhlcyB0aGUgYXNzdW1wdGlvbiB0aGF0IERlY29kZXJTcGVjaWZpY0luZm8gbXVzdCBiZSAyIGJ5dGVzIGxvbmcKCSAgZm9yIEFBQyBmaWxlcy4gVGhlIHNwZWNpZmljYXRpb24gYWxsb3dzIEhFLUFBQyB0byBiZSBleHBsaWNpdGx5CgkgIHNpZ25hbGxlZCBpbiBhIGJhY2t3YXJkIGNvbXBhdGlibGUgd2F5LiBUaGlzIGlzIGRvbmUgYnkgbWVhbnMgb2YgYW4KCSAgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhZnRlciB0aGUgcmVndWxhciBBQUMgaGVhZGVyLiBJdCBpcyBleHBlY3RlZCB0aGF0CgkgIGRlY29kZXJzIHRoYXQgY2FuIHBsYXkgQUFDIGJ1dCBub3QgSEUtQUFDIHdpbGwgcGFyc2UgdGhlIGhlYWRlciBub3JtYWxseQoJICBhbmQgaWdub3JlIGV4dGVuZGVkIGJpdHMsIG11Y2ggYXMgdGhleSBkbyBmb3IgdGhlIEhFLUFBQyBzcGVjaWZpYyBwYXlsb2FkCgkgIGluIHRoZSBhY3R1YWwgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMzEzCgoyMDEwLTEwLTA1IDE2OjAxOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBvbmx5IHVucmVmIGJ1ZmZlciB3aGVuIG5vIGxvbmdlciBuZWVkZWQgZm9yIGNsdXN0ZXIgc2Nhbm5pbmcKCSAgRml4ZXMgIzYyOTA0Ny4KCjIwMTAtMTAtMDUgMTY6MDA6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIGluZmluaXRlIGNsdXN0ZXIgc2Nhbm5pbmcKCjIwMTAtMTAtMDUgMTI6MjA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTogdGFrZSBkdXJhdGlvbiBpbnRvIGFjY291bnQgd2hlbiBkb2luZyBRb1MKCSAgVGFrZSB0aGUgZHVyYXRpb24gb2YgdGhlIGZyYW1lcyBpbnRvIGFjY291bnQgc28gdGhhdCB3ZSBkb24ndCBkcm9wIGZyYW1lcyB0aGF0CgkgIGFyZSBvbmx5IHBhcnRpYWxseSBwYXN0IHRoZSBRb1MgZGVhZGxpbmUuCgoyMDEwLTEwLTA1IDEwOjQwOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tOiB1c2UgYWRhcHRlciBmb3IgdGltZXN0YW1waW5nCgkgIFVzZSB0aGUgYWRhcHRlciB0aW1lc3RhbXAgY29kZSB0byBnZXQgbW9yZSBhY2N1cmF0ZSB0aW1lc3RhbXBzLgoJICBGaXggbGF0ZW5jeSBjYWxjdWxhdGlvbiwgd2UgYWRkIG91ciBvd24gbGF0ZW5jeSBpbiB0aGUgd29yc3QgY2FzZS4KCjIwMTAtMTAtMDQgMjI6MzE6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6CgkgIHJhdzEzOTQ6IERvbid0IGNvbXBpbGUgaGR2MTM5NHNyYyBpZiBsaWJpZWM2MTg4MyBpc24ndCBhdmFpbGFibGUKCSAgRml4ZXMgIzYyOTg5NgoKMjAxMC0wOS0yMCAxOTo0NDowOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBmb3J3YXJkIHRhZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDIwNQoKMjAxMC0xMC0wNCAxOTowMDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogcmVwb3J0IG91ciBsYXRlbmN5IGNvcnJlY3RseQoJICBGaXhlcyAjNjMxMzAzCgoyMDEwLTEwLTA0IDE4OjU2OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiBhZGQgZGVmaW5lcyBmb3IgZGVmYXVsdCB3aWR0aC9oZWlnaHQvZnBzCgkgIEFkZCBzb21lIGRlZmluZXMgZm9yIHRoZSBkZWZhdWx0IHdpZHRoL2hlaWdodC9mcHMgaW5zdGVhZCBvZiB1c2luZyBkaWZmZXJlbnQKCSAgdmFsdWVzIGluIGRpZmZlcmVudCBwbGFjZXMuCgoyMDEwLTEwLTA0IDE4OjUyOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBhZGQgbGF0ZW5jeSBjb21wZW5zYXRpb24gY29kZS4KCSAgSW1wbGVtZW50IGEgbGF0ZW5jeSBxdWVyeSBhbmQgcmVwb3J0IGhvdyBtdWNoIGxhdGVuY3kgd2Ugd2lsbCBhZGQgdG8gdGhlCgkgIHN0cmVhbS4KCSAgQWxzZSBtYWtlIHNvbWUgZGVmYXVsdHMgZm9yIHRoZSBkZWZhdWx0IHdpZHRoL2hlaWdodC9mcmFtZXJhdGUKCSAgRml4ZXMgIzYzMTMwMwoKMjAxMC0xMC0wNCAxNzo1Njo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnB5OgoJICB0ZXN0OiBhZGQgcHl0aG9uIHZlcnNpb24gb2YgdGhlIGF1ZGlvIHNlbmRlcgoJICBBZGQgYSBweXRob24gdmVyc2lvbiBvZiB0aGUgYXVkaW8gc2VuZGVyIHBpcGVsaW5lLgoJICBQb3J0ZWQgYnkgU3A0cmMgb24gSVJDLgoKMjAxMC0xMC0wNCAxNzo1MjoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5weToKCSAgdGVzdHM6IEFkZCBweXRob24gUlRQIGNsaWVudCBleGFtcGxlCgkgIEFkZCBhIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBQQ01BIGNsaWVudCBhcHAuCgkgIFBvcnRlZCBieSBTcDRyYyBvbiBJUkMuCgoyMDEwLTEwLTA0IDA5OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICBydHA6IEZpeCB1bml0aWFsaXplZCBjb21waWxlciB3YXJuaW5ncyBvbiBPUyBYIGJ1aWxkIGJvdAoJICBUaGVzZSB3YXJuaW5ncyBhcmUgd3JvbmcgdGhvdWdoLCB0aGUgdmFyaWFibGVzIGFyZSBvbmx5IHVzZWQgaW4KCSAgdGhlIGNhc2VzIHdoZXJlIHRoZXkgKmFyZSogaW5pdGlhbGl6ZWQgYnkgdGhlIGJpdCByZWFkZXIuCgoyMDEwLTEwLTAzIDIzOjQ5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJICBydHBnNzIycGF5OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIFRoZSBjbG9jayByYXRlIGlzIGFsd2F5cyA4MDAwIEh6IGFjY29yZGluZyB0byB0aGUgUkZDIGFuZAoJICB0aGUgc2FtcGxpbmcgcmF0ZSBtdXN0IGFsd2F5cyBiZSAxNjAwMCBIei4KCjIwMTAtMTAtMDEgMTM6NTk6MTAgKzA0MDAgIFZsYWRpbWlyIEVyZW1lZXYgPGVyZW1lZXZAYXRsYW50aXMucnU+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGFydGljbGUgcmVmZXJlbmNlIGluIGNvbW1lbnQgYmxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTA4MgoKMjAxMC0wNC0zMCAyMTowMDozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICBxdGRlbXV4OiBVc2UgcGJ1dGlscyBmb3IgSC4yNjQgcHJvZmlsZS9sZXZlbCBleHRyYWN0aW9uCgkgIFRoZSBmdW5jdGlvbnMgdXNlZCB0byBleHRyYWN0IHRoaXMgZGF0YSBoYXZlIGJlZW4gbW92ZWQgdG8gZ3N0cGJ1dGlscyB0bwoJICBmYWNpbGl0YXRlIHJldXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE3MzE4CgoyMDEwLTA0LTMwIDIxOjAwOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgcGJ1dGlscyBmb3IgSC4yNjQgcHJvZmlsZS9sZXZlbCBleHRyYWN0aW9uCgkgIFRoZSBmdW5jdGlvbnMgdXNlZCB0byBleHRyYWN0IHRoaXMgZGF0YSBoYXZlIGJlZW4gbW92ZWQgdG8gZ3N0cGJ1dGlscyB0bwoJICBmYWNpbGl0YXRlIHJldXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE3MzE4CgoyMDEwLTA0LTIyIDE5OjM5OjQ3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IE1QRUctNCB2aWRlbyBwcm9maWxlIGFuZCBsZXZlbCBpbiBzdHJlYW0gY2FwcwoJICBUaGlzIHVzZXMgZ3N0cGJ1dGlscyB0byBleHRyYWN0IHRoZSBwcm9maWxlIGFuZCBsZXZlbCBmcm9tIHRoZSB2aWRlbwoJICBvYmplY3Qgc2VxdWVuY2UgYW5kIGFkZHMgdGhpcyB0byBzdHJlYW0gY2Fwcy4gVGhpcyBjYW4gYmUgdXNlZCBhcwoJICBtZXRhZGF0YSBhbmQgZm9yIGZpbmUtZ3JhaW5lZCBkZWNvZGVyIHNlbGVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjUyMQoKMjAxMC0wOS0zMCAxMjo0NDo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBhYWMgY2hhbm5lbCBvdmVycmlkZSBiYXNlZCBvbiBjb2RlYyBkYXRhIGZvciA3LjEgY2FzZQoKMjAxMC0wNC0zMCAxNDowNjoyNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgQUFDIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHRoZSBBQUMgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcyBmb3IgdXNlIGFzIG1ldGFkYXRhIGFuZAoJICAoZXZlbnR1YWxseSkgZm9yIG1vcmUgZmluZS1ncmFpbmVkIHNlbGVjdGlvbiBvZiBkZWNvZGVycyBhdAoJICBjYXBzLW5lZ290aWF0aW9uIHRpbWUuIChEb2Vzbid0IHdvcmsgZm9yIEhFLUFBQyB5ZXQgdGhvdWdoLikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjMxMwoKMjAxMC0wOS0zMCAxODozNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSAgcnRwOiBhZGQgRzcyMiBwYXkgYW5kIGRlcGF5bG9hZGVyCgoyMDEwLTA5LTMwIDEyOjA4OjQ5ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdXBkYXRlIGxpbmsgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0wOS0zMCAxMTozNDo1NiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSAgZXhhbXBsZXM6IGZpeCBpbmRlbnRhdGlvbiBvbiBydHAgY2xpZW50IGV4YW1wbGUKCjIwMTAtMDktMzAgMTE6MzM6MjQgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJICBleGFtcGxlczogZml4IHR5cG8gaW4gcG9ydCBvZiBydHAgZXhhbXBsZXMKCjIwMTAtMDktMjkgMTM6MjA6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBtaW5pc2N1bGUgY29kZSBjbGVhbi11cAoJICBHU1RfQ0xPQ0tfVElNRV9OT05FIGlzIG5vdCBzb21ldGhpbmcgdGhhdCBzaG91bGQgYmUgdXNlZCBpbiBjb25uZWN0aW9uIHdpdGgKCSAgR1NUX0ZPUk1BVF9CWVRFUy4KCjIwMTAtMDktMjkgMTA6MzQ6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmV2ZXJzZSBwbGF5YmFjazsgcHJldmVudCBvdmVybGFwIG9mIHN1YnNlcXVlbnQgZnJhZ21lbnRzCgoyMDEwLTA5LTI4IDE2OjIxOjQ4ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWlzc2luZyBudWxsLXRlcm1pbmF0b3IgaW4gcHJvdG9jb2xzIGFycmF5CgkgIEZpeGVzIHJhbmRvbSBjcmFzaCByZWdyZXNzaW9uIGZyb20gY29tbWl0IGFlODRhZS4KCjIwMTAtMDktMjQgMTY6MjY6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGFkZCAvVURQIGluIHRoZSB0cmFuc3BvcnQsIGl0J3MgdGhlIGRlZmF1bHQKCSAgZG9uJ3QgYWRkIHRoZSBkZWZhdWx0IFVEUCBsb3dlci10cmFuc3BvcnQsIHNvbWUgc2VydmVycyBkb24ndCBzZWVtIHRvIGxpa2UgaXQuCgkgIEZpeGVzICM2MzA1MDAKCjIwMTAtMDYtMjUgMTc6MDg6MDMgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cG1hbmFnZXI6IHBhY2tldCBsb3N0IHNob3VsZCBub3QgYmUgYSB3YXJuaW5nLiBJdCBoYXBwZW5zIGFsbCB0aGUgdGltZS4uLgoKMjAxMC0wOS0yNCAxNTozMzo0MCArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBNYWtlIGNsZWFuaW5nIHVwIHNvdXJjZXMgaW4gcnRwX3Nlc3Npb25fb25fdGltZW91dCBNVCBzYWZlCgkgIFVzaW5nIF9mb3JlYWNoX3JlbW92ZSBvbiB0aGUgaGFzaHRhYmxlLCB3aGlsZSByZWxlYXNpbmcgdGhlIGxvY2sgcHJvdGVjdGluZwoJICB0aGF0IHRhYmxlIGluc2lkZSB0aGUgY2FsbGJhY2sgaXMgbm90IGEgZ29vZCBpZGVhLiBUaGUgaGFzaHRhYmxlIG1pZ2h0CgkgIHRoZW4gY2hhbmdlIChhIHNvdXJjZSByZW1vdmVkIG9yIGFkZGVkKSB3aGlsZSBzaWduYWxzIGxpa2Ugb25fdGltZW91dAoJICBhcmUgYmVpbmcgc2VudC4KCSAgVGhpcyBzb2x1dGlvbiBtYWtlcyBhIGNvcHkgb2YgdGhlIHRhYmxlLCBwZXJmb3JtcyB0aGUgX2ZvcmVhY2ggd2l0aG91dAoJICBhY3R1YWxseSByZW1vdmluZyBhbnkgc291cmNlcywgYnV0IG1hcmtzIHRoZW0gZm9yIHJlbW92YWwgb24gYSBzZWNvbmQKCSAgaXRlcmF0aW9uIHdpdGggdGhlIHJlYWwgbGlzdCwgYnV0IHRoaXMgdGltZSBub3QgbGV0dGluZyBnbyBvZiB0aGUgbG9jay4KCSAgRml4ZXMgIzYzMDQ1MgoKMjAxMC0wOS0yNCAxNToxOToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBTYW5pdGl6ZSBpZDMgZnJhbWUgbmFtZXMKCSAgVGhpcyBpcyBzaW1pbGFyIHRvIHdoYXQgaXMgZG9uZSBpbiBxdGRlbXV4LiBBdm9pZHMgcHJvdmlkaW5nIGludmFsaWQKCSAgc3RydWN0dXJlL3RhZ3MgbmFtZXMKCjIwMTAtMDktMjQgMTQ6NTk6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIGFwZWRlbXV4OiBTa2lwIGVtcHR5IHRhZ3MKCSAgQXZvaWQgY3JlYXRpbmcgYm9ndXMgc3RyaW5nIHRhZ3MuIEFsc28gYWRkZWQgbG9nZ2luZyBvZiB0aGUgc3RyaW5nCgkgIHZhbHVlcyBvZiB0aGUgdGFnIG5hbWUgYW5kIHZhbHVlLgoKMjAxMC0wOS0yNCAwODo1NjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdAoKMjAxMC0wNC0xMiAwOTo0OToxNCArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBIYW5kbGUgcnlzbmMgb2YgaXRlcmF0b3Igd2hlbiBsb29raW5nIGZvciBmcmVlIHBhZCBuYW1lCgkgIElmIGEgbmV3IHBhZCB3YXMgYWRkZWQgd2hpbGUgaXRlcmF0aW5nIHRoZW4gYSBwYWQgY291bGQgYmUKCSAgcmV0dXJuZWQgdGhhdCB3YXMgYWxyZWFkeSBpbiB1c2UuCgkgIEZpeGVzICM2MzA0NTEKCjIwMTAtMDktMjQgMTQ6MDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCBjb21waWxhdGlvbgoKMjAxMC0wNC0wNyAxNTozMTo1MiArMDIwMCAgVHJvbmQgQW5kZXJzZW4gPHRyb25kLmFuZGVyc2VuQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFVubG9jayBiZWZvcmUgYWRkaW5nIHBhZCBpbiBuZXdfcGF5bG9hZF9mb3VuZAoJICBIb2xkaW5nIGludGVybmFsIGxvY2tzIHdoaWxlIHBvdGVudGlhbGx5IGNhbGxpbmcgb3V0IGlzIGEgc291cmNlCgkgIG9mIGRlYWRsb2NrcywgYW5kIGluIHRoaXMgY2FzZSB0aGUgYXBwbGljYXRpb24gbWlnaHQgc3Vic2NyaWJlIHRvIHRoZQoJICBwYWQtYWRkZWQgc2lnbmFsLgoJICBGaXhlcyAjNjMwNDQ5CgoyMDA5LTA4LTMxIDE4OjM3OjQwICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbGF4IHRoaXJkLXBhcnR5IGNvbGxpc2lvbiBkZXRlY3Rpb24KCSAgSWYgdGhlIHNvdXJjZSBoYXMgYmVlbiBpbmFjdGl2ZSBmb3Igc29tZSB0aW1lLCB3ZSBhc3N1bWUgdGhhdCBpdCBoYXMKCSAgc2ltcGx5IGNoYW5nZWQgaXRzIHRyYW5zcG9ydCBzb3VyY2UgYWRkcmVzcy4gSGVuY2UsIHRoZXJlIGlzIG5vIHRydWUKCSAgdGhpcmQtcGFydHkgY29sbGlzaW9uIC0gb25seSBhIHNpbXVsYXRlZCBvbmUuCgkgIEZpeGVzICM2MzA0NDcKCjIwMTAtMDktMjQgMTM6NTA6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDEwLTA5LTI0IDEzOjQ4OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogc2ltcGxpZnkgdGhlIHJhdGUgZXN0aW1hdGlvbiBzb21lIG1vcmUKCjIwMDktMDgtMzEgMTg6MzQ6MDggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBtYW5hZ2VyOiBwcm92aWRlIGFkZGl0aW9uYWwgc3RhdGlzdGljcwoKMjAxMC0wOS0yNCAwMDowMTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc2V0IHBsdWdpbiByZWxlYXNlIGRhdGV0aW1lCgoyMDEwLTA5LTIzIDIxOjIxOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICBlcXVhbGl6ZXI6IGZpeCBjbGFzcyBkZWZpbml0aW9ucwoJICBDbGFzcyBzdHJ1Y3R1cmVzIG11c3QgYmUgYmFzZWQgb24gdGhlIHBhcmVudCBjbGFzcyBzdHJ1Y3QsIG5vdCBvbgoJICB0aGUgcGFyZW50IGluc3RhbmNlIHN0cnVjdC4KCjIwMTAtMDktMTUgMjA6MzY6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IHByZS1yZWdpc3RlciBwYWQgY2xhc3MgcHJvcGVybHkgd2l0aCBnX3R5cGVfY2xhc3NfcmVmCgkgIEZpeCBjb2RlIHRvIG1hdGNoIHRoZSBjb21tZW50LiBBbHNvLCB0aGVyZSdzIG5vIG5lZWQgdG8gcmVnaXN0ZXIgdGhlCgkgIGJhY2tncm91bmQgZW51bSB0eXBlIGFnYWluLCB0aGlzIGlzIGFscmVhZHkgZG9uZSB2aWEgaW5zdGFsbF9wcm9wZXJ0eS4KCjIwMTAtMDktMjMgMjE6NTc6MTggKzAyMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogRml4IGNyYXNoZXMgd2l0aCBNU1ZDCgkgIFVzaW5nIHRoZSBzeW1ib2xzIGZvciB0aGUgZGlmZmVyZW50IFNwZWV4IG1vZGVzIHJlc3VsdHMKCSAgaW4gY3Jhc2hlcyB3aGVuIHVzaW5nIE1TVkMuIFVzZSB0aGUgbGlicmFyeSBmdW5jdGlvbnMgdG8KCSAgZ2V0IHRoZSBtb2RlcyBpbnN0ZWFkLgoJICBGaXhlcyBidWcgIzYzMDM3OC4KCjIwMTAtMDgtMjQgMTM6MjU6MDIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogYXZvaWQgZGl2aXNpb24gYnkgemVybyBvbiBzaWxlbmNlCgkgIEZpeGVzIGJ1ZyAjNjMwNDU4LgoKMjAxMC0wOS0yMyAxNjo0NjozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHBhcnNlIGFuZCB1c2UgY3RzCgkgIEZvciBIMjY0LCB0aGVyZSBpcyBhbiBleHRyYSBoZWFkZXIgY29udGFpbmluZyB0aGUgQ1RTLCB3aGljaCBpcyBhIHRpbWVzdGFtcAoJICBvZmZzZXQgdGhhdCBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgUFRTLiBQYXJzZSB0aGlzIHZhbHVlIGFuZCB1c2UgaXQgdG8gYWRqdXN0CgkgIHRoZSBwdHMuCgkgIEZpeGVzICM2MzAwODgKCjIwMTAtMDktMjMgMTY6NDU6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBpbXByb3ZlIHB0cyBkZWJ1Z2dpbmcKCjIwMTAtMDktMjIgMTk6MDE6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSAgcHVsc2U6IGFkZCB0ZXN0IGFwcCBmb3IgcHVsc2UgZGV2aWNlIHByb2JlCgoyMDEwLTA5LTIyIDE4OjUwOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IGZpeCBkZXZpY2VfZGVzY3JpcHRpb24gaW4gUkVBRFkKCSAgTWFrZSB0aGUgaXNfZGVhZCBjaGVjayBtb3JlIGNsZWFyIGFuZCBhZGQgYW4gb3B0aW9uIHRvIGNoZWNrIGZvciB0aGUgc3RhdHVzIG9mCgkgIHRoZSBzdHJlYW0gaW4gYWRkaXRpb24gdG8gdGhlIGNvbnRleHQuCgkgIFdlIGRvbid0IG5lZWQgYSBzdHJlYW0gdG8gZ2V0IHRoZSBkZXZpY2VfZGVzY3JpcHRpb24gc3RyaW5nLgoJICBGaXhlcyAjNjMwMzE3CgoyMDEwLTA5LTIyIDEyOjU2OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBwb3N0IHRhZ3MgaWYgdGhlcmUgYXJlIG5vbmUKCSAgQW5kIG1ha2UgYWxsIGNvZGUgZ28gdGhyb3VnaCBfcG9zdF9nbG9iYWxfdGFncy4KCjIwMTAtMDktMjIgMTI6Mzc6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IHJlZmFjdG9yIGFuZCBzaW1wbGlmeSBBVSBtZXJnaW5nCgkgIE1vdmUgdGhlIHByb2Nlc3Npbmcgb2YgdGhlIE5BTFUgdG8gYSBzZXBhcmF0ZSBtZXRob2QuCgkgIFNpbXBsaWZ5IHRoZSBtZXJnaW5nIG9mIE5BTFUgaW50byBBVSBhbmQgdXNlIGNvbW1vbiBjb2RlIHdoZW4gcG9zc2libGUuCgoyMDEwLTA5LTIxIDIzOjIzOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBhZGQgb3B0aW9uYWwgYm9yZGVyIHBhcmFtZXRlciBhbmQgc2xvd2Rvd24gYW5pbWF0aW9uCgkgIEFsbG93IHRvIHBsYXkgd2l0aCB0aGUgYm9yZGVyIHByb3BlcnR5IChzaGFycC9zb2Z0IGVkZ2VzKS4KCjIwMTAtMDktMjEgMTk6MTQ6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGb3JjZSBmb3JtYXQgdG8gQVlVViBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZSBmb3IgdGhlIHNhbWUgcmVhc29uCgoyMDEwLTA5LTIxIDE5OjEzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IEZvcmNlIHRoZSBpbnB1dCB0byBBWVVWIHRvIHByZXZlbnQgbmVnb3RpYXRpb24gZmFpbHVyZXMgaW4gdmlkZW9taXhlcgoJICBUaGUgc2Vjb25kIHZpZGVvdGVzdHNyYyBjaGFpbiBtaWdodCBwcm9kdWNlIFlVWTIgYmVjYXVzZSBldmVyeXRoaW5nIGlzCgkgIGFjY2VwdGVkIGRvd25zdHJlYW0gYmVmb3JlIHRoZSBmaXJzdCBzaGFwZXdpcGUgY2hhaW4gZ2V0cyBuZWdvdGlhdGVkLgoKMjAxMC0wOS0yMSAxOToxMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEltcHJvdmUgZGVidWdnaW5nIGFuZCBpbW1lZGlhdGVseSByZXR1cm4gZW1wdHkgY2FwcyBmcm9tIHRoZSBnZXRjYXBzIGZ1bmN0aW9ucwoKMjAxMC0wOS0yMSAxODozMzo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWEwZDFkMCB0byA1ZTNjOWJmCgoyMDEwLTA5LTIxIDEyOjQ5OjMxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICB2NGwyOiB1c2UgdGhlIHhvdmVybGF5IEFQSXMKCjIwMTAtMDktMjEgMTI6NDg6MzQgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiB1c2UgdGhlIG5ldyB4b3ZlcmxheSBBUElzCgkgIEFsc28gYnVtcGVkIC1iYXNlIHJlcXVpcmVtZW50cy4KCjIwMTAtMDktMjEgMTI6MzE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgYWdhaW4gZm9yIEdJVCB2ZXJzaW9ucwoKMjAxMC0wOS0yMSAxMTo1MjoyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGaXggZGVidWcgc3RhdGVtZW50CgoyMDEwLTA5LTIwIDIzOjE3OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2UgdXVpZCBhdG9tcyBpbiBwdXNoIG1vZGUKCSAgUGFyc2VzIHV1aWQgYXRvbXMgaW4gcHVzaCBtb2RlIHdoZW4gdGhleSBhcmUgZm91bmQsIHRoZXkgbWlnaHQKCSAgY29udGFpbiB4bXAgdGFncy4KCSAgQWxzbyBkb2VzIGEgbWlub3IgcmVmYWN0b3JpbmcgdG8gcHV0IHRoZSBnbG9iYWwgdGFncyBwb3N0aW5nCgkgIGludG8gYSBzaW5nbGUgZnVuY3Rpb24gaW5zdGVhZCBvZiByZXBlYXRpbmcgaXQgaW4gMyBkaWZmZXJlbnQKCSAgcGxhY2VzLgoJICBGaXhlcyAjNjI5ODM5CgoyMDEwLTA5LTE2IDA4OjA0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRGVsYXkgdGFncyBwb3N0aW5nIGEgbGl0dGxlCgkgIERlbGF5IHRhZ3MgcG9zdGluZyB1bnRpbCB3ZSd2ZSBwYXJzZWQgYWxsIHRoZSBoZWFkZXJzIHNvCgkgIHRoYXQgdGhlIG5hdGl2ZSBhbmQgeG1wIHRhZ3MgZ2V0IG1lcmdlZCBiZWZvcmUgcG9zdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5ODM5CgoyMDEwLTA5LTE1IDIyOjEzOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogUGFyc2UgeG1wIHBhY2tldCBpbiB1dWlkIGF0b20KCSAgeG1wIHBhY2tldCBpcyBwbGFjZWQgaW50byBhIHRvcC1sZXZlbCB1dWlkIGF0b20gZm9yCgkgIGlzb20vbXA0IHZhcmlhbnRzLgoJICBUaGlzIHBhdGNoIG1ha2VzIHF0ZGVtdXggcGFyc2UgYWxsIHRvcC1sZXZlbCBhdG9tcwoJICBpbiBwdWxsLW1vZGUgYmVmb3JlIHN0YXJ0aW5nIHRvIHB1c2ggZGF0YSwgbWFraW5nCgkgIGl0IGFibGUgdG8gZmluZCB0aG9zZSB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5ODM5CgoyMDEwLTA5LTE3IDExOjA3OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc3RhdHM6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTAtMDktMTcgMTE6MDc6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwcGF5OiBzb21lIHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTAtMDktMTUgMTg6MjE6MTEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBsb2dpYyB3aGVuIHB1c2hpbmcgRU9TLgoJICBEb24ndCBjaGVjayBmb3IgcmV0dXJuIHZhbHVlcyB3aGVuIHB1c2hpbmcgRU9TLiBTdGlsbCBwb3N0IGFuIGVycm9yIGlmIEVPUyBpcwoJICByZWFjaGVkIGFuZCBubyBzdHJlYW1zIGhhdmUgYmVlbiBmb3VuZC4KCjIwMTAtMDktMTUgMTc6MDI6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgZG9jczogYWRkIGd0ay1kb2MgY2h1bmtzIHdpdGggU2luY2U6IG1hcmtlcnMgZm9yIG5ldyB2NGwyc3JjIHByb3BlcnRpZXMKCjIwMTAtMDktMTUgMTg6NDM6NTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjYW1jdHJsOiBhZGQgbGljZW5zZSBoZWFkZXIgdG8gZGVtbwoKMjAxMC0wOS0xNCAxNzo0MToyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3Qgc2VuZCBFT1MgdHdpY2Ugb24gdGhlIHNhbWUgcGFkLgoKMjAxMC0wOS0xNCAxMDowNzo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogbW92ZSB0aGUgc2hhcmVkIG1haW5sb29wIGZyb20gY2xhc3MgdG8gc3RhdGljIHZhcgoJICBKdXN0IGhhdmUgb25lIHN0YXRpYyB2YXIgZm9yIHRoZSBzaGFyZWQgbWFpbmxvb3AgaW5zdGVhZCBvZiBvbmUgY2xhc3MgdmFyaWFibGUKCSAgYW5kIGNvcGllcyBpbiB0aGUgaW5zdGFuY2UuCgoyMDEwLTA5LTEzIDE3OjMxOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGNsZWFudXBzIGZvciBEUkkgbWFya2VycwoJICBQcm90ZWN0IGFnYWluc3QgaW52YWxpZCBEUkkgbWFya2Vycy4KCSAgZG8gc29tZSBjbGVhbnVwcwoKMjAxMC0wOS0xMCAxMTozNTo1MyAtMDQwMCAgQW1lcmljYW4gRHluYW1pY3MgPEdTdHJlYW1lci1CdWdzQHR5Y29zcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgZ3N0cnRwanBlZ3BheTogQWRkZWQgRGVmaW5lIFJlc3RhcnQgSW50ZXJ2YWwgKERSSSkgTWFya2VyCgkgIEFkZGVkIGFiaWxpdHkgdG8gZGV0ZWN0IGFuZCByZXNwb25kIHRvIGEgSlBFRy1kZWZpbmVkIERSSSBtYXJrZXIKCjIwMTAtMDYtMTkgMTk6MjA6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogU3BsaXQgZ2V0dGluZyB0aGUgY2FwcyBpbnRvIGl0cyBvd24gZnVuY3Rpb24KCjIwMTAtMDktMTMgMTY6MDM6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBzbWFsbCBjbGVhbnVwLgoKMjAxMC0wOS0xMyAxNjoyNDoyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcmV3b3JrIGNvbnRleHQgc2hhcmluZwoJICBXZSBhbHNvIG5lZWQgdG8gc2hhcmUgdGhlIG1haW4tbG9vcCB0aHJlYWRzIGFzIHRoaXMgb3ducyB0aGUgY29udGV4dC4gVGh1cyBoYXZlCgkgIGEgY2xhc3Mgd2lkZSBtYWluLWxvb3AgdGhyZWFkLiBGcm9tIHRoaXMgd2UgY3JlYXRlIGEgY29udGV4dCBwZXIgY2xpZW50LW5hbWUuCgkgIEluc3RlYWQgb2YgYWx3YXlzIGxvb2tpbmcgdXAgdGhlIGNvbnRleHQsIHdlIGtlZXAgdGhpcyB3aXRoIHRoZSBpbnN0YW5jZS4gVGhlCgkgIHJldmVyc2UgbWFwcGluZyBpcyBvbmx5IG5lZWRlZCBpbiBwdWxzZSBzaW5nYWwgaGFuZGxlcnMuIFRoaXMgc2F2ZXMgYSBsb3Qgb2YKCSAgbG9ja2luZy4gQWxzbyBvbmUgc2lnbmFsIGhhbmRsZXIgYmVjb21lcyBzaW1wbGVyIGFzIHRoZXIgZWlzIG9ubHkgb25lIG1haW5sb29wCgkgIHRvIG5vdGlmeS4KCSAgTm93IHZhbGdpbmQgaGFwcHkgLSBubyBsZWFrcywgbm8gYmFkIHJlYWRzL3dyaXRlcy4KCSAgVGhpcyByZXZlcnRzIG1ham9yIHBhcnRzIG9mIGNvbW1pdCA2OWEzOTdjMzJmNGJhZjA3YTdiMjkzN2M2MTBmOWU4ZjM4M2U5YWU5LgoJICBGaXhlcyAjNjI4OTk2CgoyMDEwLTA5LTEzIDE1OjQ0OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBzZXNzaW9uOiBTbWFsbCBjbGVhbnVwcwoJICBNYWtlIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbiBwcmV0dGllci4KCSAgQWN0dWFsbHkgbXVsdGlwbGUgdGhlIGJhbmR3aWR0aCB3aXRoIHRoZSBmcmFjdGlvbi4KCjIwMTAtMDYtMDEgMjE6MzU6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IENhbGN1bGF0ZSBSVENQIGJhbmR3aWR0aCBhcyBhIGZyYWN0aW9uIG9mIHRoZSBSVFAgYmFuZHdpZHRoCgkgIENhbGN1bGF0ZSB0aGUgUlRDUCBiYW5kd2lkdGggdG8gYmUgYSBmcmFjdGlvbiBvZiB0aGUgUlRQIGJhbmR3aWR0aCBpZiBpdCBpcwoJICBzcGVjaWZpZWQgYXMgYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEuCgoyMDEwLTA5LTEzIDE1OjI5OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpbXByb3ZlIGJhbmR3aWR0aCByZWNhbGN1bGF0aW9uCgkgIEFsc28gcmVjYWxjdWxhdGUgYmFuZHdpZHRoIHdoZW4gb25lIG9mIHRoZSBzb3VyY2UgYmFuZHdpZHRocyBjaGFuZ2VkLgoJICBVc2UgdGhlIG5ld2x5IGNhbGN1bGF0ZWQgYmFuZHdpZHRoLgoKMjAxMC0wNi0wMSAyMToxNzoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCB0aGUgb3B0aW9uIHRvIGF1dG8tZGlzY292ZXIgdGhlIFJUUCBiYW5kd2lkdGgKCjIwMTAtMDktMTMgMTQ6Mzg6MTEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBzZXQgdXNlLXBpcGVsaW5lLWNsb2NrIG9uIGNvcnJlY3QgR09iamVjdAoKMjAxMC0wNi0wMiAxNzo1MToxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBJbml0aWFsaXNlIHRoZSBhdmVyYWdlIHNjYWxlZCBieSAxNgoKMjAxMC0wOS0xMyAxMjo0MToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIHJ1bm5pbmdfdGltZSBhcmd1bWVudCBkb2NzCgoyMDEwLTA2LTIzIDE2OjEzOjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogUmVjdGlmeSBkZXNjcmlwdGlvbiBvZiBjdXJyZW50X3RpbWUgaW4gUlRQQXJyaXZhbFN0YXRzCgkgIEl0IGlzIHRoZSBjdXJyZW50IHRpbWUsIGl0IGlzIHVucmVsYXRlZCB0byB3aGVuIHRoZSBwYWNrZXQgd2FzIGFjdHVhbGx5IHJlY2VpdmVkLgoKMjAxMC0wOS0xMyAxMjozMTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogY29tcHV0ZSB0aGUgYXZlcmFnZSBjb3JyZWN0bHkgc2NhbGVkCgoyMDEwLTA2LTAxIDIwOjMxOjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IENvdW50IHNlbnQgUlRDUCBwYWNrZXRzIGFmdGVyIHRoZXkgaGF2ZSBiZWVuIGZpbmlzaGVkCgkgIElmIHRoZXkgYXJlIGNvdW50ZWQgYmVmb3JlIGNhbGxpbmcgZ3N0X3J0Y3BfYnVmZmVyX2VuZCgpLCB0aGVuIHRoZQoJICBzaXplIGlzIHdheSB0b28gYmlnLgoKMjAxMC0wNi0wMSAxOTo1MTozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBEb24ndCB1bnJlZiAgcGFkcyBpbiBmaW5hbGl6ZQoJICBUaGUgZ3N0cnRwc2Vzc2lvbiBvYmplY3QgaXMgbm90IGhvbGRpbmcgYW55IHJlZmVyZW5jZSB0byB0aGVtIGRpcmVjdGx5CgoyMDEwLTA5LTEyIDAwOjA5OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucyBmb3IgbmV3IHNvdXBodHRwc3JjIG1lc3NhZ2VzCgoyMDEwLTA5LTEyIDAwOjA4OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGhvb2sgdXAgaTE4biBiaXRzIGZvciBwbHVnaW4KCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIGV0Yy4KCjIwMTAtMDktMTIgMDA6MDQ6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZml4IGVycm9yIG1lc3NhZ2VzCgkgIEVycm9yIG1lc3NhZ2VzIHNob3VsZCBiZSB0cmFuc2xhdGVkLiBVUklzIGFuZCBmaWxlbmFtZXMgc2hvdWxkIG5vdAoJICBiZSBwYXJ0IG9mIHRoZSBlcnJvciBtZXNzYWdlIHN0cmluZyB0aGF0J3Mgc2hvd24gdG8gdGhlIHVzZXIuCgkgIHNvdXBfbWVzc2FnZS0+cmVhc29uX3BocmFzZSBpcyBub3QgdHJhbnNsYXRlZCBhbmQgbm90IHN1aXRhYmxlIGFzCgkgIGVycm9yIG1lc3NhZ2UgZm9yIHVzZXJzIChzZWUgbGlic291cCBkb2N1bWVudGF0aW9uKS4gQWxzbyBmaXggdXAKCSAgZXJyb3IgY29kZXMgYSBiaXQsIGFzIGZhciBhcyBwb3NzaWJsZSB3aXRoIHRoZSBleGlzdGluZyBjb2Rlcy4KCjIwMTAtMDktMTAgMDk6NDM6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgYnVmZmVyIGFsbG9jIGZhaWxzIHdpdGggTk9UX0xJTktFRCBmbG93CgkgIFRoaXMgaXMgbm90IGZhdGFsLCBsZXQgdXBzdHJlYW0gaGFuZGxlIGl0LgoKMjAxMC0wOS0xMCAxODowNjo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgY2xlYXIgc2RwIHdoZW4gc2V0IGFzIHVyaQoJICB3aGVuIHdlIHNldCB0aGUgU0RQIHdpdGggYW4gdXJpLCBkb24ndCBjbGVhciBpdCB3aGVuIHdlIGdvIHRvIFJFQURZLgoKMjAxMC0wOS0xMCAxODowMToxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIHNkcCB1cmkgcGFyc2UgbWV0aG9kCgkgIFVzZSB0aGUgc2RwIHBhcnNlIG1ldGhvZCB0aGF0IGRvZXMgcHJvcGVyIHVyaSBlc2NhcGluZy4KCjIwMTAtMDktMTAgMTY6NTk6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGV4YW1wbGU6IGFkZCB2NGwyIGV4YW1wbGUsIGRlbW9uc3RyYXRpbmcgdGhlIHVzZSBvZiBnc3QgY29udHJvbGxlcgoKMjAxMC0wOS0xMCAxNjo1NToyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBkb24ndCBza2lwIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbgoKMjAxMC0wNi0yMiAxNTo0ODowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBhZGQgY29udHJvbGFibGUgY29sb3JiYWxhbmNlIHBhcmFtZXRlcnMKCSAgRXhwb3NlIGNvbG9yYmFsYW5jZSBjb250cm9scyBhcyBvYmplY3QgcHJvcGVydGllcyAobGlrZSB3ZSBkbyBvbiB4dmltYWdlc2luaykuCgkgIE1ha2UgdGhlbSBjb250cm9sYWJsZS4KCjIwMTAtMDktMTAgMTM6MjU6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogZml4IHNvbWUgbWlzLWltcGxlbWVudGF0aW9uCgkgIEFsc28gYWRkIHNvbWUgZGVidWcuCgoyMDEwLTA5LTEwIDEzOjI0OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHByb3Blcmx5IGluc2VydCBkdW1teSBidWZmZXJzCgoyMDEwLTA5LTEwIDExOjU1OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBydHNwLXNkcCBwcm90b2NvbCBzdXBwb3J0CgkgIEFsbG93IHNldHRpbmcgYW4gU0RQIHdpdGggdGhlIHJ0c3Atc2RwOi8vIHVybC4KCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBNYXJjbyBCYWxsZXNpby4KCSAgU2VlICM2MjgyMTQKCjIwMTAtMDktMTAgMTE6MzU6NTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBtYWtlIHBhc3N0aHJvdWdoIHdvcmsuCgoyMDEwLTA5LTA5IDIxOjQzOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBtcDRhZGVwYXk6IHNtYWxsIGxvZ2dpbmcgY2xlYW51cCBhbmQgYWRkaXRpb24gdG8gZGVidWcgY29uZmlnIHBhcnNpbmcKCjIwMTAtMDktMDkgMjE6NDI6NDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYWFzaW5rOiBmaXggY29udGV4dCBpbml0aWFsaXNhdGlvbiBhbmQgZnJlZWluZyB0byBub3QgbGVhawoKMjAxMC0wOS0wOSAyMTo0MDo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBhbGxvdyBydW5uaW5nIHN0YXRlIHRlc3RzIGZvciBhbGwgZWxlbWVudHMKCSAgTm93IG9uZSBjYW4gdXNlIEdTVF9OT19TVEFURV9JR05PUkVfRUxFTUVOVFM9MSBtYWtlIGdlbmVyaWMvc3RhdGVzLmNoZWNrCgkgIHRvIHRyeSBlbGVtZW50cyB0aGF0IHdvdWxkIG5vcm1hbHkgYmUgc2tpcHBlZC4KCjIwMTAtMDktMDkgMTg6NDc6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogZml4IHJ0cGpwZWdwYXkgdGVzdAoJICBNYWtlIHRoZSBkYXRhIHdlIHNlbmQgdG8gdGhlIGpwZWcgcGF5bG9hZGVyIGJlIGEgdmFsaWQganBlZyBmaWxlIGJlY2F1c2UgdGhlCgkgIHBheWxvYWRlciBub3cgZXhwZWN0cyB0aGlzLgoKMjAxMC0wOS0wOSAxODo0NzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBpbXByb3ZlIGRlYnVnZ2luZwoKMjAxMC0wOS0wOSAxNjozMTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiB1c2UgdmFsaWQgYml0cmF0ZSBmb3IgZHVtbXkgZnJhbWUKCjIwMTAtMDktMDggMTc6MDc6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEFkZHMgbWFwcGluZyBmb3IgYWxidW0gYXJ0aXN0CgkgIE1hcHMgR1NUX1RBR19BTEJVTV9BUlRJU1QgdG8gVFBFMiBpbiBpZDN2Mm11eAoKMjAxMC0wOS0wOCAxODozNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBvcmMgMC40LjgKCSAgVGhlIGRlaW50ZXJsYWNlIHBsdWdpbiBhcHBhcmVudGx5IGZhaWxzIHRvIGNvbXBpbGUgd2l0aCBvbGRlciB2ZXJzaW9ucy4KCjIwMTAtMDktMDggMTc6NTA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFFvUyBoYW5kbGluZyBsb2dpYyBvbmx5IGFwcGxpZXMgdG8gZm9yd2FyZCBwbGF5YmFjawoJICBGaXhlcyAjNjI4ODk0LgoKMjAxMC0wOS0wOCAxNzo0Mzo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMC0wOS0wOCAxNDozNjo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeHVwIGxhc3QgY29tbWl0CgkgIFdlIG5lZWQgdG8gcHJldmVudCB0aGUgZXZlbnR1YWwgbGVhayBiZXR0ZXIuCgoyMDEwLTA5LTA4IDE0OjE2OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY29kZSBjbGVhbnVwcwoJICBVc2UgZ19zbGlzdF9wcmVwZW5kIGFzIHdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIG9yZGVyLiBDaGVjayBmb3IgbGlzdCA9PSBOVUxMCgkgIGluc3RlYWQgb2YgaXRlcmF0aW5nIHRoZSBsaXN0IHRvIHNlZSBpZiBpdCBpcyBlbXB0eS4gTW92ZSBjdHggYWxsb2NhdGlvbiBkb3duCgkgIHRvIHByZXZlbnQgbGVhayBpbiBjYXNlIG9mIGZhaWx1cmUuCgoyMDEwLTA5LTA4IDA3OjEzOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzIGJ1ZyAjNjI5MDE4LgoKMjAxMC0wOS0wNyAxOTowMjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzaW1wbGlmeSBjbG9jayBwcm92aWRlIGNvZGUKCSAgRG9uJ3QgbGVhayB0aGUgcHVsc2VzaW5rIGVsZW1lbnQgYnkgaGF2aW5nIHRoZSBjbG9jayBrZWVwIGEgcmVmIHRvIHRoZSBzaW5rLgoJICBDcmVhdGUgdGhlIGNsb2NrIG9ubHkgb25jZSBpbiB0aGUgY29uc3RydWN0b3IgYW5kIHVzZSB0aGUgYmFzZWF1ZGlvc2luayBjbG9jawoJICBjbGVhbnVwIGNvZGUuCgoyMDEwLTA5LTA3IDE3OjQ5OjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogbW92ZSB0aGUgY29udGV4dCB0YWJsZSBpbml0IHRvIF9nZXRfdHlwZSBwaGFzZQoJICBUaGlzIHNlZW1zIHRvIGZpeCB0aGUgaW52YWxpZCByZWFkcyBvbiBjb250ZXh0IHNodXRkb3duIGJldHRlciwgYWx0b3VnaAoJICBJIGNhbid0IHJlYWxseSBleHBsYWluLgoKMjAxMC0wOS0wNyAxNzowNjowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIG9sZGVyIGdfYXJyYXlfZnJlZQoJICBnX2FycmF5X3VucmVmKCkgaXMgb25seSBzaW5jZSAyLjIyCgoyMDEwLTA5LTA3IDE2OjQ5OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhdm9pZCBpbnZhbGlkIGFkYXB0ZXIgZmx1c2ggb24gUW9TCgkgIEZpcnN0IHN0b3JlIHRoZSBhdmFpbGFibGUgZGF0YSBpbiB0aGUgYWRhcHRlciBpbiB0aGUgcmVtX2ltZ19sZW4gaW5zdGFuY2UgZmllbGQKCSAgYmVmb3JlIHRyeWluZyB0byBmbHVzaCB0aGUgYWRhcHRlciB3aXRoIHRoYXQgdmFsdWUgb24gUW9TLgoKMjAxMC0wOS0wNyAxNjo0MDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBkbyBzb21lIG1vcmUgc2FuaXRpdHkgY2hlY2tzCgkgIFByb3RlY3Qgc29tZSBtb3JlIGFnYWluc3QgaW52YWxpZCBpbnB1dC4KCjIwMTAtMDktMDcgMTU6MjA6MTIgKzAyMDAgIEFtZXJpY2FuIER5bmFtaWNzIDxHU3RyZWFtZXItQnVncyBhdCB0eWNvc3AuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGpwZWdwYXk6IGhhbmRsZSBjb3JydXB0ZWQganBlZyBiZXR0ZXIKCSAgUHJvdGVjdCBhZ2FpbnN0IGNvcnJ1cHRlZCBqcGVnIGlucHV0LgoKMjAxMC0wOS0wNyAxMzo1NTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ2YXdkZXBheTogY2xlYW51cCB1bnVzZWQgZmllbGRzCgoyMDEwLTA5LTA3IDEzOjUxOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBoYW5kbGUgaW52YWxpZCBwYXlsb2FkIGJldHRlcgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBtb3JlIGRhdGEgdGhhbiBhdmFpbGFibGUgaW4gdGhlIGlucHV0IGJ1ZmZlci4KCSAgQ2xpcCB0aGUgaW5wdXQgZGF0YSBpbnRvIHRoZSBvdXRwdXQgYnVmZmVyLgoKMjAxMC0wOC0xNiAxNTozNTo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBhbGxvdyBzZXR0aW5nIHN0cmVhbSBwcm9wZXJ0aWVzCgkgIEFkZCBhICJwcm9wZXJ0aWVzIiBwcm9wZXJ0eSB0byB0aGUgZWxlbWVudHMgdG8gYWxsb3cgc2V0dGluZyBleHRyYSBzdHJlYW0KCSAgcHJvcGVydGllcy4KCSAgRml4ZXMgIzUzNzU0NAoKMjAxMC0wOS0wNyAxMjowODoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1ZjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiByZW1vdmUgaW50cm9zcGVjdGlvbiBpbmZvIGZvciBnZGtwaXhidWYzIHBsdWdpbiBhbmQgdXBkYXRlIHZlcnNpb24gZm9yIG90aGVycwoJICBUaGUgdmVyc2lvbnMgZ290IGFjY2lkZW50YWxseSByZXZlcnRlZCB0byBhIHByZS1yZWxlYXNlIHZlcnNpb24sIGZpeCB0aGF0LgoKMjAxMC0wOS0wNyAxMTo0MjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGMyZTEwYmYgdG8gYWEwZDFkMAoKMjAxMC0wOS0wNyAwOToyMDowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgIGNtbWxkZWM6IGZpeCBmbG93IHJldHVybiBoYW5kbGluZwoJICBGaXggYnVnZ3kgR1NUX0ZMT1dfSVNfRkFUQUwgc3Vic3RpdHV0aW9uLCBhbmQgJ21ha2UgY2hlY2snOgoJICAtICBpZiAoIUdTVF9GTE9XX0lTX0ZBVEFMIChkZWMtPmZsb3dfcmV0dXJuKSAmJiAhZGVjLT5zZW50X3Jvb3QpIHsKCSAgKyAgaWYgKGRlYy0+Zmxvd19yZXR1cm4gIT0gR1NUX0ZMT1dfT0sgJiYgIWRlYy0+c2VudF9yb290KSB7CgoyMDEwLTA5LTA3IDAwOjI3OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgZnJlZSB0aGUgY29udGV4dCBtdWx0aXBsZSB0aW1lcwoJICBBcHBhcmVudGx5IHRoZSBjbG9zZSBmdW5jdGlvbiBvZiB0aGUgcmluZy1idWZmZXIgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCjIwMTAtMDgtMTIgMTI6MzM6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogZ3JhYiB0aGUgc2FtcGxpbmcgYXJ0ZSBhbmQgcHV0IGludG8gY2FwcwoJICBUaGlzIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIG11eCB0aGUgcmVjZWl2ZWQgYXVkaW8gaW50byBtcDQgKGluIHRoZSBjYXNlIG9mCgkgIGFhYykuIEZpeGVzICM2MjU4MjUuCgoyMDEwLTA5LTA2IDE0OjQwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkgIHJ0cDogbWFyayBjb25zdGFudCB0YWJsZXMgYXMgY29uc3QKCjIwMTAtMDgtMTggMTQ6NDA6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgcnRwYW1ycGF5OiBwcm9wZXJseSBzdXBwb3J0IHBlcmZlY3QtcnRwdGltZQoKMjAxMC0wOC0xOCAxMTo0MjozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICBydHBhbXJwYXk6IHByb3BlciBkdXJhdGlvbiBmb3IgbXVsdGlwbGUgZnJhbWUgcGF5bG9hZAoKMjAxMC0wOC0xOCAxMTo0MjowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cGFtcihkZSlwYXk6IHN1cHBvcnQgQU1SLVdCIFNJRCBmcmFtZQoKMjAxMC0wOC0xOCAxMTozOTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIHJ0cGc3MjlwYXk6IHByb3Blcmx5IHN1cHBvcnQgcGVyZmVjdC1ydHB0aW1lCgoyMDEwLTA4LTE2IDE2OjA4OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSBmcmFtZXJhdGUgZGV0ZXJtaW5pbmcKCSAgQ29sbGVjdCBhIGxpbWl0ZWQgbnVtYmVyIG9mIHN0YXJ0aW5nIHNhbXBsZSBkdXJhdGlvbnMgYW5kIHVzZSB0aGUgbWVkaWFuIG9mCgkgIHRob3NlIHRvIGRldGVybWluZSBjYXBzIGZyYW1lcmF0ZS4KCjIwMTAtMDgtMTcgMTI6MDg6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF0dGVtcHQgbW9yZSByZXN5bmMgdXBvbiAoY2x1c3RlcikgcGFyc2UgZXJyb3IKCSAgVGhhdCBpcywgaWYgcGFyc2UgZXJyb3Igb2NjdXJzIGluIHN0YXRlIHJlcXVpcmluZyB0byBtb3ZlIHRvIG5leHQgY2x1c3RlciwKCSAgYW5kIGRvaW5nIHNvIHRvIHRoZSBleHBlY3RlZCBuZXh0IHBvc2l0aW9uIG9mIGNsdXN0ZXIgZmFpbHMsIHRoZW4gc2NhbiBmb3IgYQoJICBuZXh0IGNsdXN0ZXIgZnJvbSBwcmVzZW50IHBvc2l0aW9uIGFuZCByZXN1bWUgZnJvbSB0aGVyZS4KCSAgRml4ZXMgIzYyMDc5MC4KCjIwMTAtMDgtMTYgMTY6MDU6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG5vdCBzbyBmYXRhbCBlcnJvciBoYW5kbGluZwoJICBJZiBzb21lIGJpdHMgb3V0IG9mIHBsYWNlIGluIGJsb2NrKGdyb3VwKSBwYXJzaW5nLCBmb3JlZ28gYW5kIG1vdmUgdG8gbmV4dC4KCSAgQWxzbyBza2lwIGxhcmdlIGJsb2NrcyBpbiBwdWxsIG1vZGUsIGJ1dCBuZWVkIHRvIGdpdmUgdXAgaW4gcHVzaCBtb2RlLgoJICBGaXhlcyAjNjI2NDYzLgoJICBJbXByb3ZlcyAjNjIwNzkwLgoKMjAxMC0wNy0yNiAxNTo1MTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGFkZGl0aW9uYWwgcGFyc2UgcmVjb3ZlcnkKCSAgSW4gcGFydGljdWxhciwgdXBvbiBwYXJzZSBmYWlsdXJlIGluIG9uZSBjbHVzdGVyLCB3ZSBtYXkgZm9yZWdvIHJlbWFpbmluZwoJICBjb250ZW50IGFuZCB0cnkgcmVzdW1pbmcgZnJvbSBuZXh0IGNsdXN0ZXIgb253YXJkcy4KCSAgRml4ZXMgIzYyMDc5MC4KCjIwMTAtMDgtMjYgMDI6NTQ6NTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IE1ha2UgdGhlIGR0bWZzcmMgYWNjZXB0IGV2ZW50cyBzZW50IHdpdGggZ3N0X2VsZW1lbnRfc2VuZF9ldmVudAoJICBUaGUgZG9jIHNheXMgdG8gdXNlIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQgb24gdGhlIHBpcGVsaW5lLCBidXQgaWYKCSAgd2UgYXJlIHRvIGNhbGwgaXQgb24gdGhlIGVsZW1lbnQgaXRzZWxmLCBpdCdzIGEgbm9vcC4gVGhpcyBzaG91bGQgbWFrZSBpdAoJICBoYW5kbGUgdGhlIGV2ZW50IHByb3Blcmx5IGJlZm9yZSBkZWxlZ2F0aW5nIGl0IHRvIGJhc2VzcmMuCgoyMDEwLTA5LTA2IDEyOjIyOjExICswMjAwICBBbWVyaWNhbiBEeW5hbWljcyA8R1N0cmVhbWVyLUJ1Z3MgYXQgdHljb3NwLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHVkcHNyYyBidWZmZXIgc2l6ZQoJICBBZGQgYSBuZXcgdWRwLWJ1ZmZlci1zaXplIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgYnVmZmVyLXNpemUgb24gdGhlIHVkcHNyYwoJICBlbGVtZW50cy4KCSAgRml4ZXMgIzYyODA1OAoKMjAxMC0wOC0yNyAxNzo1ODo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgbnRwLXN5bmMgcHJvcGVydHkKCSAgQWRkIGFuIG50cC1zeW5jIHByb3BlcnR5IHRoYXQgd2lsbCBzeW5jIHRoZSByZWNlaXZlZCBzdHJlYW1zIHRvIHRoZSBzZXJ2ZXIKCSAgTlRQIHRpbWUuIFRoaXMgcmVxdWlyZXMgc3luY2hyb25pemVkIE5UUCB0aW1lcyBiZXR3ZWVuIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVycywKCSAgbGlrZSB3aXRoIG50cGQuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gVGhpanMgVmVybWVpci4KCSAgRml4ZXMgIzYyNzc5NgoKMjAxMC0wOC0yNyAxMjoxNDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbmFtZSBhIHZhcmlhYmxlIHRvIGF2b2lkIGNvbmZ1c2lvbgoKMjAxMC0wOC0yNyAxMTowNzozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbmFtZSBzb21lIHZhcmlhYmxlcyBmb3IgbGVzcyBjb25mdXNpb24KCjIwMTAtMDgtMjcgMTA6NDE6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBtb3ZlIGNvbW1lbnQgd2hlcmUgaXQgYmVsb25ncwoKMjAxMC0wOC0yNiAxNjowMDozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogbWlub3IgY2xlYW51cHMKCSAgTWFrZSBjbG9jayBzbmFwc2hvdHMgbW9yZSBhY2N1cmF0ZSBieSBvbmx5IHNhbXBsaW5nIHRoZSBzYW1lIGNsb2NrIG9uY2UuCgoyMDEwLTA4LTI2IDEwOjU4OjI2ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogYWRkIHVzZS1waXBlbGluZS1jbG9jayBwcm9wZXJ0eQoJICBXaXRoIHRoaXMgcHJvcGVydHkgUlRDUCBTUiBOVFAgdGltZXMgY2FuIGJlIGJhc2VkCgkgIG9uIHRoZSBzeXN0ZW0gY2xvY2sgKG1heWJlIHN5bmNlZCB3aXRoIG50cGQpIG9yIHRoZQoJICBjdXJyZW50IHBpcGVsaW5lIGNsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3Nzk2CgoyMDEwLTA4LTI1IDA5OjU4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJICBydHNwZXh0OiBzdG9wIGNvbmZpZ3VyYXRpb24gb24gZmlyc3QgZmFpbHVyZQoJICBTdG9wIHRoZSBjb25maWd1cmF0aW9uIG9mIGEgc3RyZWFtIGFzIHNvb24gYXMgc29tZSBvZiB0aGUgZXh0ZW5zaW9ucyByZXR1cm4KCSAgRkFMU0UuCgkgIEZpeGVzICM1ODEyOTQKCjIwMTAtMDgtMjAgMTU6MzU6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aWZkc2luazogdXNlIHJlZmNvdW50IHRvIGNvdW50IGhvc3QvcG9ydCBkdXBsaWNhdGVzCgkgIEluc3RlYWQgb2YgYWRkaW5nIG11bHRpcGxlIGNsaWVudCBzdHJ1Y3R1cmVzIGZvciB0aGUgc2FtZSBob3N0L3BvcnQgcGFpciwgdXNlIGEKCSAgcmVmY291bnQuCgkgIEFkZCBhIHNlbmQtZHVwbGljYXRlcyBmZWF0dXJlIHRoYXQgYWxsb3dzIHlvdSB0byBkaXNhYmxlIHNlbmRpbmcgbXVsdGlwbGUgY29waWVzCgkgIG9mIHRoZSBzYW1lIHBhY2tldCB0byB0aGUgc2FtZSBob3N0IHdoZW4gaXQgd2FzIGFkZGVkIG11bHRpcGxlIHRpbWVzLiBUaGUKCSAgc2VuZC1kdXBsaWNhdGVzIHByb3BlcnR5IGlzIGJ5IGRlZmF1bHQgc2V0IHRvIFRSVUUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CgkgIGFsdGhvdWdoIGl0IGlzIHZlcnkgbGlrZWx5IHRoYXQgdGhpcyBpcyBub3QgZGVzaXJlZCBiZWhhdmlvdXIuCgoyMDEwLTA4LTE5IDE3OjA2OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXBsZW1lbnQgY3VzdG9tIGV2ZW50IGhhbmRsZXIKCSAgRXh0ZW5kIHRoZSBfcHVzaF9ldmVudCgpIGZ1bmN0aW9uIHNvIHRoYXQgaXQgY2FuIGFsc28gc2VuZCBldmVudHMgdG8gdGhlIHVkcAoJICBzb3VyY2VzIHdoZW4gYXNrZWQuCgkgIEltcGxlbWVudCBhIGN1c3R1bSBzZW5kX2V2ZW50IGZ1bmN0aW9uIHRoYXQgY29ycmVjdGx5IGRpc3BhdGNoZXMgdGhlIGRvd25zdHJlYW0KCSAgZXZlbnRzIGluIFRDUCBtb2RlLiBUaGlzIGZpeGVzIHNlbmRpbmcgRU9TIHRvIHJ0c3BzcmMgYW5kIGhhdmUgaXQgcHVzaCB0aGUgRU9TCgkgIGRvd25zdHJlYW0uCgoyMDEwLTA4LTE5IDExOjM3OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiB1c2UgX2dldF9jYXBzX3JlZmZlZCgpIHdoZW4gd2UgY2FuCgkgIFVzZSBfZ2V0X2NhcHNfcmVmZmVkKCkKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyB3aGVuIG9wZW5pbmcgdGhlIHNlcnZlciBjb25uZWN0aW9uLgoKMjAxMC0wOC0xNiAxMToyOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgIGpwZWdkZXBheTogaGFuZGxlIERJU0NPTlQgYW5kIHJlc2V0IHN0YXRlCgkgIFB1dCBhIERJU0NPTlQgZXZlbnQgb24gdGhlIG5leHQgb3V0cHV0IGJ1ZmZlciB3aGVuIHRoZSBpbnB1dCBidWZmZXIgaGFkIGEKCSAgRElTQ09OVC4KCSAgTWFrZSBzdXJlIHdlIGNsZWFyIG91ciBhZGFwdGVyIGFuZCByZXNldCBvdXIgc3RhdGUgYmVmb3JlIGdvaW5nIHRvIFBBVVNFRC4KCSAgRnJlZSB0aGUgcXRhYmxlcy4KCSAgRml4ZXMgIzYyNjg2OQoKMjAxMC0wOC0xNiAxMToyNzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBnNzI5cGF5OiBleHRlbmQgZnJvbSByaWdodCBwYXJlbnQKCjIwMTAtMDktMDYgMDk6NTc6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgc2luY2UgZG9jcyBmb3IgbmV3IHByb3BlcnR5LgoKMjAxMC0wOC0zMCAxNjo0NTo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgR1NUX0JPSUxFUlBMQVRFIG1hY3JvCgoyMDEwLTA4LTE2IDE3OjIzOjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVtaXhlcjogYWRkIGEgZXhhbXBsZSBzaG93aW5nIGhvdyB0byB1c2UgdGhlIGNoaWxkIHByb3BlcnRpZXMKCSAgU2hvdyBob3cgdG8gcG9zaXRpb24gYW5kIHNldCB0aGUgYWxwaG8gb2YgdGhlIHZpZGVvcyBvbiBnc3QtbGF1bmNoLgoKMjAxMC0wOC0xNiAxNToxOTozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBtb3ZlIHRoZSBwcm9wZXJ0eS1zZXR0ZXIgdG8gdGhlIGdldHRlci4KCjIwMTAtMDgtMTEgMTU6NDg6MTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bSBvbmx5IGFnZ3JlZ2F0ZSBtYWduaXR1ZGUvcGhhc2UgaWYgdXNlciBhc2tzIGZvciBpdAoKMjAxMC0wOC0xMSAxNTo0NTo1NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBpbXByb3ZlIHBlcmZvcm1hbmNlIHdpdGggbG9jYWwgdmFycwoJICBVc2UgJ2lucHV0JyBpbnN0ZWFkIG9mICdzcGVjdHJ1bS0+aW5wdXQnIHdoaWNoIHdhcyBpbnRlbmRlIGFscmVhZHkgKHZhcmlhYmxlCgkgIGV4aXN0cywgYnV0IG5vdCB1c2VkIGV2ZXJ5d2hlcmUpLiBBbHNvIHVzZSBhIGxvY2FsIHZlcnNpb24gb2YKCSAgJ3NwZWN0cnVtLT5pbnB1dF9wb3MnLgoKMjAxMC0wOC0xMSAxNTo0NDowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBjb2RlIGNsZWFudXAKCSAgTW9yZSBjb21tZW50cyBhbmQgbG9nZ2luZy4gRXh0cmFjdCBvbmUgY29tcGxleCBjb25kaXRpb24gdG8gYSB2YXJpYWJsZS4gUmVvcmRlcgoJICBzb21lIGNvZGUgZm9yIHJlYWRhYmlsaXR5LgoKMjAxMC0wOC0xMSAxNTo0MDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBpbXByb3ZlIHByb3BlcnR5IHNldHRlcgoJICBjb25zaXN0ZW50bHkgb25seSB1cGRhdGUgaWYgdGhlIHByb3BlcnR5IGFjdHVhbHkgY2hhbmdlZCB0aGUgdmFsdWUuIERvIGl0CgkgIHdpdGhvdXQgcmVhZGluZyB0aGUgZ3ZhbHVlIHR3aWNlLiBObyBuZWVkIHRvIHJlc2V0IHRoZSBzcGVjdHJ1bSBhbmFseXplciBmb3IKCSAgdGhyZXNob2xkIGNoYW5nZXMuCgoyMDEwLTA4LTExIDE1OjM4OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGFkZCBoZWxwZXIgdG8gb25seSBmbHVzaCByaW5nYnVmZmVyIGRhdGEgd2l0aG91dCByZXNldHRpbmcgdGhlIGZmdAoJICBSZWR1Y2VzIHNvbWUgZHVwbGljYXRlZCBjb2RlIGFzIHdlbGwuCgoyMDEwLTA4LTExIDEyOjQ1OjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBtb3JlIGNvbW1lbnRzCgoyMDEwLTA5LTA1IDIyOjIyOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRG9jdW1lbnQgbWV0aG9kcyB3aXRoIGJhZCBxdWFsaXR5CgoyMDEwLTA5LTA1IDIyOjE5OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogaW5pdGlhbGl6ZSBhbGwgZGVpbnRlcmxhY2UgY2xhc3MgbWVtYmVycwoJICBUaGlzIGZpeGVzIFVZVlkgZGVpbnRlcmxhY2luZy4KCjIwMTAtMDktMDUgMTg6NTg6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkM2Q5YWNmIHRvIGMyZTEwYmYKCjIwMTAtMDktMDUgMTg6NDU6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogb3JjX2luaXQoKSBkb2Vzbid0IG5lZWQgdG8gYmUgY2FsbGVkCgkgIFRoZXJlJ3Mgbm8gbmVlZCB0byBjYWxsIG9yY19pbml0KCkgdW5sZXNzIHlvdSdyZSB1c2luZyB0aGUgT3JjCgkgIEFQSSBkaXJlY3RseS4gIEFsbCBjb2RlIGNyZWF0ZWQgYnkgb3JjYyBpcyBndWFyYW50ZWVkIHRvIHdvcmsKCSAgd2l0aG91dCBjYWxsaW5nIG9yY19pbml0KCkuCgoyMDEwLTA5LTA1IDE4OjQwOjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLm9yYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBncmVlZHlsIE9yYyBpbXBsZW1lbnRhdGlvbgoJICBUbyBhZ3JlZSB3aXRoIHRoZSBwcmV2aW91cyBDL2FzbSBjb2RlLgoKMjAxMC0wOS0wNSAyMjozMTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogRmFpbCB3aGVuIGNhcHMgYXJlIGluY29tcGF0aWJsZQoJICBEbyBub3QgZm9yZ2V0IHRvIHJldHVybiBmYWxzZSB3aGVuIGNhcHMgYXJlIGluY29tcGF0aWJsZS4KCjIwMTAtMDktMDUgMjA6NTY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogT25seSBpbml0IG9yYyBpZiBpdCBpcyBhdmFpbGFibGUKCSAgUHV0IHNvbWUgaWZkZWYgYXJvdW5kIG9yY19pbml0IHRvIHByZXZlbnQgYnVpbGQgZXJyb3JzCgoyMDEwLTA5LTA1IDEyOjE3OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWM2MDIxNyB0byBkM2Q5YWNmCgoyMDEwLTA5LTA0IDEyOjQ2OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSAgZGVpbnRlcmxhY2U6IFVwZGF0ZSBkaXN0ZWQgT3JjIGZpbGVzCgoyMDA5LTA2LTI5IDExOjQzOjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBhZGQgZGVjaW1hdGUgcHJvcGVydHkKCjIwMTAtMDYtMDQgMTI6MDk6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5oOgoJICBkdmRlbXV4OiBQYXJzZSBTTVBURSB0aW1lIGNvZGVzCgoyMDEwLTA4LTIzIDAyOjUwOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBhc3NlbWJseSBjb2RlIGluIGZhdm9yIG9mIG9yYwoKMjAxMC0wNi0wOCAxNDo1NDo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLm9yYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSAgZGVpbnRlcmxhY2U6IGltcGxlbWVudCBncmVlZHkgaW4gT3JjCgoyMDEwLTA5LTA0IDExOjQzOjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIHVwZGF0ZSBkaXN0ZWQgT3JjIGZpbGVzCgoyMDEwLTA5LTAyIDE0OjM0OjUwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBGaXggY2xhc3NpZmljYXRpb24KCSAgVGhpcyBpcyBubyBlZmZlY3QgYnV0IGEgY29udmVydGVyLiBGaXhlcyBidWcgIzYyODYwOC4KCjIwMTAtMDktMDIgMTE6MTk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1ZjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXIyOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIHRvIHRoZSBkb2NzCgoyMDEwLTA3LTI2IDE2OjA3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IEFkZCB2aWRlb21peGVyMiBlbGVtZW50CgkgIFRoaXMgaXMgYmFzZWQgb24gY29sbGVjdHBhZHMyIGFuZCBpcyBzeW5jaHJvbml6aW5nCgkgIGFsbCBzdHJlYW1zIGJhc2VkIG9uIHRoZSBydW5uaW5nIHRpbWUuCgkgIE5ldyBmZWF0dXJlcyBjb21wYXJlZCB0byBvbGQgdmlkZW9taXhlcjoKCSAgKiBTeW5jaHJvbml6aW5nIGZyYW1lcyBvbiB0aGUgcnVubmluZyB0aW1lCgkgICogSW1wcm92ZWQgYW5kIHNpbXBsaWZpZWQgbmVnb3RpYXRpb24KCSAgKiBGdWxsIFFvUyBzdXBwb3J0CgkgICogVmFyaWFibGUgZnJhbWVyYXRlIHN1cHBvcnQKCSAgRml4ZXMgYnVnICM2MjYwNDgsICM2MjQ5MDUuCgoyMDEwLTA5LTAxIDExOjExOjM0ICswMjAwICBQYXZlbCBLb3N0eXVjaGVua28gPHNocHJvdHhAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbGF4IHBhcnNpbmcgb2YgZGF0ZSB0YWdzCgkgIEJlZm9yZSB3ZSByZXF1aXJlZCBhIGNvbXBsZXRlIGRhdGUgaW4gbWF0cm9za2FkZW11eCBidXQgaW4KCSAgaWQzZGVtdXggZm9yIGV4YW1wbGUgb25seSB0aGUgeWVhciBvciB5ZWFyIGFuZCBtb250aCB3YXMgcG9zc2libGUgdG9vLgoJICBGaXhlcyBidWcgIzYyODQ1NC4KCjIwMTAtMDgtMzAgMTk6MDM6NTIgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBVc2UgR3N0QmFzZVNyYzo6YmxvY2stc2l6ZSBhcyBmYWxsYmFjayBzaXplCgoyMDEwLTA4LTMwIDE4OjM2OjU0ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBGaXggdXNpbmcgbXBlZ3RzIHZpYSB0aGUgbW1hcCBpbnRlcmZhY2UKCSAgTVBFRyBkb2Vzbid0IGhhdmUgYSBzdGF0aWMgc2l6ZSBwZXIgZnJhbWUsIHNvIGRvbid0IHByZXRlbmQgaXQgaGFzIG9uZQoJICBhbmQgZmFpbCB3aGVuIGNhcHR1cmluZyBiZWNhdXNlIGl0IGRvZXNuJ3QgbWF0Y2guIEluc3RlYWQgbWFyayB0aGUgc2l6ZQoJICBhcyB1bmtub3duIGFuZCBsZXQgdGhlIHJlYWQgZnJhbWUgZ3JhYmJpbmcgbWV0aG9kIHVzZSBhIHJlYXNvbmFibGUgZmFsbGJhY2sKCSAgdmFsdWUgKGFzc3VtaW5nIHRoYXQncyBvbmx5IGZvciBhY3R1YWwgc3RyZWFtaW5nIGZvcm1hdHMpCgkgIEZpeGVzIGJ1ZyAjNjI4MzQ5LgoKMjAxMC0wOC0yNyAxODoxNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODoxMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgZG93bnN0cmVhbSByZXR1cm5zIFVORVhQRUNURUQuCgoyMDEwLTA4LTI3IDE4OjA5OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjA1OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBidWZmZXIgYWxsb2NhdGlvbiBmYWlsZWQgYmVjYXVzZQoJICBvZiBVTkVYUEVDVEVELCB3aGljaCBvbmx5IG1lYW5zIHRoYXQgZG93bnN0cmVhbSB3YW50cyB1cyB0byBFT1Mgbm93LgoKMjAxMC0wOC0yNyAxODowMjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYy9kZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBwcm9wZXJseSBoYW5kbGUgVU5FWFBFQ1RFRCBhbmQgV1JPTkdfU1RBVEUuCgoyMDEwLTA4LTI3IDE3OjUyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBjbW1sZGVjL2VuYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGFzIGEgcmVzdWx0LCBkb24ndCBpZ25vcmUgV1JPTkdfU1RBVEUgYW5kIE5PVF9MSU5LRUQuCgkgIEJvdGggbWVhbiB0aGF0IGl0J3MgYSBnb29kIGlkZWEgdG8gcGFzcyB0aGVtIHVwc3RyZWFtIGluc3RlYWQKCSAgb2YgcHJldGVuZGluZyB0aGF0IGV2ZXJ5dGhpbmcgaXMgZ29vZC4KCjIwMTAtMDgtMjcgMTc6NDc6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzo0NTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpIGFuZCBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTc6Mzk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzozNzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzU6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzozNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzozMjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9jdW1lbnQgd2h5IHdyb25nLXN0YXRlIGRvZXNuJ3QgbmVlZCBhbiBlcnJvciBtZXNzYWdlLgoKMjAxMC0wOC0yNiAxMzo0NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRmFpbCBncmFjZWZ1bGx5IGlmIG5vIHRocmVhZGVkIFBBIG1haW5sb29wIGNhbiBiZSBjcmVhdGVkCgkgIEZpeGVzIGJ1ZyAjNjI4MDIwLgoKMjAxMC0wOC0yNCAxNToxMToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogVXBkYXRlIGRpc3RlZCBPUkMgZmlsZXMKCjIwMTAtMDgtMjMgMTU6NDQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBPcHRpbWl6ZSBBUkdCIGJsZW5kaW5nIGFuZCBpbXBsZW1lbnQgQkdSQSBibGVuZGluZyB3aXRoIG9yYwoJICBUaGlzIG5vdyBtZWFucywgdGhhdCB3ZSBoYXZlIGFic29sdXRlbHkgbm8gaGFuZHdyaXR0ZW4gYXNzZW1ibHkgYW55bW9yZQoJICBpbiB2aWRlb21peGVyIGFuZCBpdCdzIGFsc28gZmFzdGVyIG5vdyB3aGVuIHVzaW5nIFNTRS4KCjIwMTAtMDgtMjIgMDE6NTg6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBBZGQgb3JjIGltcGxlbWVudGF0aW9uIGZvciBibGVuZGluZwoJICB2aWRlb21peGVyOiBBZGQgb3JjIGltcGxlbWVudGF0aW9uIGZvciBibGVuZGluZwoKMjAxMC0wOC0yMiAwMTo1NDoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBleGFtcGxlIHBpcGVsaW5lcwoJICB2aWRlb21peGVyOiBGaXggZXhhbXBsZSBwaXBlbGluZXMKCjIwMTAtMDgtMjAgMTE6NDE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFkZCB0ZXN0IGZvciBjaGVja2luZyBpZiBpbWFnZWZyZWV6ZSBjb3JyZWN0bHkgcmV0dXJucyBVTkVYUEVDVEVEIGFmdGVyIHRoZSBmaXJzdCBidWZmZXIKCjIwMTAtMDgtMjAgMTE6Mzg6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFkZCB0ZXN0IGZvciBidWZmZXJhbGxvYyBwYXNzdGhyb3VnaAoKMjAxMC0wOC0yMCAxMDozNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogRml4IHJhY2UgY29uZGl0aW9ucyBpbiB0aGUgdW5pdCB0ZXN0CgkgIElmIHNldHRpbmcgdGhlIHBpcGVsaW5lIHRvIFBMQVlJTkcgYmVmb3JlIGlzc3VpbmcgdGhlIHNlZWssIGJ1ZmZlcnMKCSAgYXJlIGFscmVhZHkgYXJyaXZpbmcgYXQgdGhlIHNpbmsgYmVmb3JlIHRoZSBzZWVrIGlzIGhhbmRsZWQgYW5kCgkgIHdpbGwgaGF2ZSB0aGUgd3JvbmcgdGltZXN0YW1wcyBhbmQgZXZlcnl0aGluZy4KCSAgRml4ZXMgYnVnICM2MjU1NDcuCgoyMDEwLTA4LTIwIDEwOjM0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IEZpeCBhbm90aGVyIHN1YnRsZSByYWNlIGNvbmRpdGlvbiByZWxhdGVkIHRvIHN0YXJ0aW5nIHRoZSBzcmNwYWQgdGFzawoJICBEdWUgdG8gYSBzZWVrIHRoZSBzcmNwYWQgdGFzayBjb3VsZCBiZSBzdGFydGVkIGluIHJhcmUgY2lyY3Vtc3RhbmNlcyBhbHRob3VnaAoJICBpdCBzaG91bGRuJ3QgYmUgc3RhcnRlZCBhbnltb3JlIGJlY2F1c2Ugbm8gdXBzdHJlYW0gYnVmZmVyIGlzIGF2YWlsYWJsZS4KCjIwMTAtMDgtMjAgMTA6MjQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogUHJvdGVjdCB0aGUgZmx1c2hpbmctc2VlayB2YXJpYWJsZSBieSB0aGUgc3JjcGFkJ3Mgc3RyZWFtIGxvY2sKCSAgVGhpcyBmaXhlcyBhIHN1YnRsZSByYWNlIGNvbmRpdGlvbiwgdGhhdCBjYXVzZWQgYnVmZmVyYWxsb2MgdG8gZmFpbAoJICB3aXRoIHdyb25nLXN0YXRlIGR1ZSB0byBhIHNlZWsgYnV0IGNhdXNlZCBpdCB0byBiZSBub3QgcmV0cmllZCBhcwoJICBpdCBzaG91bGQuCgoyMDEwLTA4LTIwIDA5OjE0OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWx3YXlzIGdlbmVyYXRlIGEgcGVyZmVjdGx5IHRpbWVzdGFtcGVkIHN0cmVhbQoJICBCZWZvcmUgdGhlcmUgY291bGQgYmUgcm91bmRpbmcgZXJyb3JzIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uLAoJICByZXN1bHRpbmcgaW4gdGltZXN0YW1wICsgZHVyYXRpb24gYmVpbmcgc21hbGxlciB0aGFuIHRoZSBuZXh0IGJ1ZmZlcidzCgkgIHRpbWVzdGFtcC4KCjIwMTAtMDgtMTkgMTg6Mzg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE9ubHkgaW5jbHVkZSB0aGUgc2VydmVyIG5hbWUgaW4gdGhlIGNvbnRleHQgbmFtZSBpZiBpdCdzIG5vdCBOVUxMCgoyMDEwLTA4LTE4IDE2OjM3OjQxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogQWRkICJjbGllbnQiIHByb3BlcnR5IHRvIHNldCB0aGUgUEEgY2xpZW50IG5hbWUKCSAgQWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBtb2RpZnkgdGhlIGNsaWVudCBuYW1lIHVzZWQgdG8gY29ubmVjdCB3aGVuCgkgIGNvbm5lY3RpbmcgdG8gdGhlIFB1bHNlQXVkaW8gZGFlbW9uLiBOb3RlIGhvd2V2ZXIgdGhhdCB1cGRhdGluZyB0aGUKCSAgcHJvcGVydHkgYWZ0ZXIgdGhlIGVsZW1lbnQgcmVhY2hlZCB0aGUgUkVBRFkgc3RhdGUgd2lsbCBoYXZlIG5vCgkgIGVmZmVjdCB1bnRpbCB0aGUgbmV4dCBOVUxMLT5SRUFEWSB0cmFuc2l0aW9uLgoJICBGaXhlcyBidWcgIzYyNzE3NC4KCjIwMTAtMDgtMTkgMTc6NTk6MDkgKzAyMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEltcHJvdmUgZXJyb3IgbWVzc2FnZXMKCSAgQmVmb3JlIHRoZXkgY29udGFpbmVkIHRoZSBVUkwgYmVmb3JlIHRoZSBhY3R1YWwgZmFpbHVyZS4gVGhlIG90aGVyCgkgIHdheSBhcm91bmQgbWFrZXMgbW9yZSBzZW5zZSBhbmQgd2UgZG8gdGhlIHNhbWUgaW4gb3RoZXIgZWxlbWVudHMKCSAgbGlrZSBmaWxlc3JjLgoJICBGaXhlcyBidWcgIzYyNzI4OS4KCjIwMTAtMDgtMTkgMTI6NDY6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgdGhlIGNsb2NrIG9uIHN0YXRlIGNoYW5nZSBmYWlsdXJlcyB0b28KCjIwMTAtMDgtMTcgMTY6MjY6NDEgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBwdWxzZXV0aWw6IGluY2x1ZGUgcGlkIHZhbHVlIGluIGdzdF9wdWxzZV9jbGllbnRfbmFtZSgpIGZhbGxiYWNrIHJldHVybiB2YWx1ZQoJICBGaXhlcyBidWcgIzYyNzE2MgoKMjAxMC0wOC0xOSAxMjozMjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRnJlZSB0aGUgR3N0UHVsc2VDb250ZXh0IGFmdGVyIHVzYWdlCgoyMDEwLTA4LTE2IDA5OjEyOjA0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNoYXJlIHRoZSBQQSBjb250ZXh0IGJldHdlZW4gYWxsIGNsaWVudHMgd2l0aCB0aGUgc2FtZSBuYW1lCgkgIEF2b2lkIHRvIGNyZWF0ZSBhIG5ldyBQQSBjb250ZXh0IGZvciBlYWNoIG5ldyBjbGllbnQgYnkgdXNpbmcgYSBoYXNoCgkgIHRhYmxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgcmluZy1idWZmZXJzIGFuZCB0aGUgc2hhcmVkIFBBIGNvbnRleHQKCSAgZm9yIGVhY2ggY2xpZW50LiBEb2luZyB0aGlzIHdpbGwgaW1wcm92ZSBhcHBsaWNhdGlvbiBtZW1vcnkgdXNhZ2UgaW4KCSAgdGhlIGNhc2VzIHdoZXJlIG11bHRpcGxlIHBpcGVsaW5lcyBpbnZvbHZpbmcgbXVsdGlwbGUgcHVsc2VzaW5rCgkgIGVsZW1lbnRzIGFyZSB1c2VkLgoJICBGaXhlcyBidWcgIzYyNDMzOC4KCjIwMTAtMDgtMTcgMTM6NDE6NDkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxAYmFzZS1hcnQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNsZWFyIHRoZSBQQSBtYWlubG9vcCBpZiBiYXNlYXVkaW9zaW5rIGZhaWxlZCB0byBvcGVuIHRoZSByaW5nX2J1ZmZlcgoJICBJZiB0aGUgYXBwbGljYXRpb24gcmVxdWVzdHMgYSBzdGF0ZS1jaGFuZ2UgYW5kIHB1bHNlc2luayBmYWlscyB0byBvcGVuCgkgIHRoZSByaW5nX2J1ZmZlciBkZXZpY2UgdGhlIG1haW5sb29wIGF0dHJpYnV0ZSBvZiB0aGUgc2luayBzaG91bGQgYmUKCSAgY2xlYW5lZCB1cCB0byBhdm9pZCBmdXR1cmUgc3RhdGUtY2hhbmdlIChOVUxMLT5SRUFEWSkgZmFpbHVyZXMuCgoyMDEwLTA4LTE5IDEyOjIzOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIEVPUyBoYXBwZW5zIGJlZm9yZSB2YWxpZCBpbnB1dCBpcyBmb3VuZAoJICBGaXhlcyBidWcgIzYyNzM0MS4KCjIwMTAtMDgtMTIgMTE6NDk6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBTZW5kIGNsb3NlIG5ld3NlZ21lbnQgZXZlbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoKMjAxMC0wOC0xMSAxMTozNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBSZXRyeSBidWZmZXJhbGxvYyBpZiBpdCB3YXMgYWJvcnRlZCB3aXRoIFdST05HX1NUQVRFIGJlY2F1c2Ugb2YgYSBmbHVzaGluZyBzZWVrCgoyMDEwLTA4LTExIDA4OjQ2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgd2hlbiBnZXR0aW5nIGEgc2Vjb25kIGJ1ZmZlcgoJICBUaGlzIHByZXZlbnRzIHVwc3RyZWFtIGZyb20gcHVzaGluZyBtYW55IHVzZWxlc3MgYnVmZmVycyBhbmQgbWFrZXMKCSAgaXQgZ28gaW50byBFT1Mgc3RhdGUuCgoyMDEwLTA4LTEwIDIwOjExOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUGFzc3Rocm91Z2ggYnVmZmVyIGFsbG9jYXRpb25zCgoyMDEwLTA5LTA0IDEzOjEwOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoJICBUZW1wb3JhcmlseSBkaXNhYmxlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgZ2l0IGJ1aWxkcyB1bnRpbAoJICB0aGUgY29kZSBpcyB1cGRhdGVkIGZvciB0aGUgR1NUX0ZMT1dfSVNfKiBtYWNybyBkZXByZWNhdGlvbnMuCgo9PT0gcmVsZWFzZSAwLjEwLjI1ID09PQoKMjAxMC0wOS0wMiAyMzo0NDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yNQoKMjAxMC0wOS0wMiAyMzoxMjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIGZvciByZWxlYXNlCgoyMDEwLTA5LTAyIDIzOjA3OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VzLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vbHQucG86CgkqIHBvL25sLnBvOgoJKiBwby9yby5wbzoKCSogcG8vc3YucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA4LTI1IDE5OjAxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMjQuNSBwcmUtcmVsZWFzZQoKMjAxMC0wOC0yMiAyMToxNTowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVzZSBzZXBhcmF0ZSBidWZmZXIgbWV0YWRhdGEgZm9yIGZpZWxkcwoJICBDYWxsIGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpIG9uIGJ1ZmZlcnMgdGhhdCBhcmUKCSAgZHVwbGljYXRlZCBpbnRvIGZpZWxkcy4gIEZpeGVzICM2Mjc2ODkuCgoyMDEwLTA4LTIxIDIxOjQxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMjQuNCBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xOSAxODozMDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFByZXZlbnQgY3Jhc2ggd2hlbiByZWFkaW5nIGltYWdlIHdpdGggcHJvYmxlbXMKCSAgQ2hlY2sgaWYgd2UgaGF2ZSBkYXRhIG9uIHRoZSBhZGFwdGVyIGFuZCBmYWlsIGlmIG5vdC4KCSAgRml4ZXMgIzYyNzQxMwoKMjAxMC0wOC0xMyAxNzoyNDowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZThkYjFkIHRvIGVjNjAyMTcKCjIwMTAtMDgtMTEgMjI6MjA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZW5kIGNsb3NlIHNlZ21lbnRzIHdoZW4gc2Vla2luZyBvbmx5IGZvciBub24tZmx1c2hpbmcgc2Vla3MgYW5kIGlmIHdlIGFscmVhZHkgc2VudCBhIG5ld3NlZ21lbnQgZXZlbnQKCSAgRml4ZXMgYnVnICM2MjY2MTkuCgoyMDEwLTA4LTExIDE2OjUwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJICAwLjEwLjI0LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTEgMTE6MTc6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmV2ZW50IHJlYWRpbmcgcGFzdCBhdmMxIGF0b20gd2hlbiBwYXJzaW5nCgkgIC4uLiB3aGVuIG9uZSBvZiB0aGUgc3ViYXRvbXMgaGFzIGEgbGFyZ2UvaW52YWxpZCBzaXplLgoJICBGaXhlcyAjNjI2NjA5LgoKMjAxMC0wOC0xMCAyMzozNzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNC4yIHByZS1yZWxlYXNlCgoyMDEwLTA4LTEwIDEwOjU3OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmQyMDU0YiB0byAzZThkYjFkCgoyMDEwLTA4LTA5IDAwOjM2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IGZpeCBwcmludGYgZm9ybWF0IGluIHNvbWUgZGVidWdnaW5nIG1lc3NhZ2VzCgoyMDEwLTA4LTA4IDIzOjMxOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IHNldCBwbHVnaW5zZGlyIHRvIHRvcC1sZXZlbCBidWlsZGRpciB3aXRob3V0IHRoZSBwa2djb25maWcvLi4gYml0cwoJICBSZW1vdmVzIGNsdXR0ZXIgaW4gcGx1Z2luIGRpciBwYXRocy4gVGhpcyBpcyBvbmx5IHVzZWQgdG8gZmluZCB0aGUgLWdvb2QKCSAgcGx1Z2lucyBmb3IgdW5pdCB0ZXN0cyBvZiB1Z2x5L2JhZC9mZm1wZWcvZXRjLiBpbiBhbiB1bmluc3RhbGxlZCBzZXR1cC4KCjIwMTAtMDgtMDYgMjA6MDQ6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBhbHNvIGxvZyBwaXhlbCBmb3JtYXRzIGluIHNvcnRlZCBvcmRlcgoKMjAxMC0wOC0wNiAxODowNzo0NiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHNvcnQgZm9ybWF0cyBpbiB0aGUgcmlnaHQgb3JkZXIgc28gdGhhdCBub24tZW11bGF0ZWQgZm9ybWF0cyBhcmUgcHJlZmVyZWQKCSAgVGhlIGZvcm1hdCBsaXN0IHNob3VsZCBiZSBzb3J0ZWQgZnJvbSBoaWdoIHJhbmtzIHRvIGxvdyByYW5rcy4gSW4gdGhlIEdTTGlzdAoJICBzb3J0aW5nIGZ1bmN0aW9uIHRoaXMgbWVhbnMgdGhlIGNvbXBhcmUgbmVlZHMgdG8gcmV0dXJuIGEgcG9zaXRpdmUgdmFsdWUgaWYKCSAgZm9ybWF0IGEgaGFzIGEgbG93ZXIgcmFuayB0aGFuIGZvcm1hdCBiLgoJICBBbW9uZyBvdGhlciB0aGluZ3MgdGhpcyBmaXhlcyB2NGwyc3JjIHRvIHByZWZlciBub24tZW11bGF0ZWQgZm9ybWF0cwoJICB0byBlbXVsYXRlZCBmb3JtYXRzIHdoZW4gYnVpbHQgYWdhaW5zdCBsaWJ2NGwuCgoyMDEwLTA4LTA2IDE5OjI0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRml4IHBpcGVsaW5lIGluIHRoZSBkb2N1bWVudGF0aW9uCgkgIE1ha2Ugc3VyZSB0aGF0IHdlIGhhdmUgdGhlIHNhbWUgY29sb3IgZm9ybWF0IG9uIGFsbCBzdHJlYW1zLCBpLmUuIEFZVVYKCSAgRml4ZXMgYnVnICM2MjU0NTIuCgoyMDEwLTA4LTA1IDEzOjU2OjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE1MTk1NzEgdG8gYmQyMDU0YgoKMjAxMC0wNi0xNCAxOTo1ODoxMSArMTAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBpZDN2Mm11eDogd3JpdGUgYmVhdHMtcGVyLW1pbnV0ZSB0YWcgdXNpbmcgVEJQTSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxNTIwCgoyMDEwLTA3LTI1IDExOjQ3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBNb3ZlIGRlYnVnIGNhdGVnb3JpZXMgaW50byB0aGUgc291cmNlIGZpbGVzIGFuZCBhZGQgZGVidWcgY2F0ZWdvcnkgZm9yIHRoZSBibGVuZCBmdW5jdGlvbnMKCjIwMTAtMDgtMDQgMTk6MjU6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBJU08gQzg5IG9yIEM5OSBhbmQgd2hpY2ggcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQKCSAgVGhpcyBmaXJzdCBjaGVja3Mgd2hhdCBpcyByZXF1aXJlZCBmb3IgSVNPIEM5OSBzdXBwb3J0IGFuZCBzZXRzIHRoZSByZWxldmFudAoJICBjb21waWxlciBwYXJhbWV0ZXJzIGFuZCBpZiBubyBDOTkgY29tcGlsZXIgaXMgZm91bmQsIGl0IGNoZWNrcyBmb3IgYQoJICBDODkgY29tcGlsZXIuIFRoaXMgZW5hYmxlcyB1cyB0byBjaGVjayBmb3IgYW5kIHVzZSBDODkvQzk5IGZ1bmN0aW9ucwoJICB0aGF0IGdjYyBoaWRlcyBmcm9tIHVzIHdpdGhvdXQgdGhlIGNvcnJlY3QgY29tcGlsZXIgcGFyYW1ldGVycy4KCjIwMTAtMDctMTUgMTA6MTA6MzEgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdXNlIEdfVFlQRV9ERUZJTkUgdG8gZGVmaW5lIHJpbmcgYnVmZmVyIHR5cGUKCSAgVGhlIGV4aXN0aW5nIGdldF90eXBlKCkgaW1wbGVtZW50YXRpb24gaXMgcmFjeSwgYW5kIHRoZQoJICBnX3R5cGVfY2xhc3NfcmVmKCkgd29ya2Fyb3VuZCBkaWRuJ3QgYWN0dWFsbHkgd29yayBiZWNhdXNlCgkgIGl0IHdhcyBpbiB0aGUgd3JvbmcgZnVuY3Rpb24uIFNpbmNlIGNsYXNzIGNyZWF0aW9uIGluIEdPYmplY3QKCSAgaXMgdGhyZWFkLXNhZmUgdGhlc2UgZGF5cyAoc2luY2UgMi4xNiksIHRoZSBjbGFzc19yZWYgd29ya2Fyb3VuZAoJICBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCBpdCBpcyBzdWZmaWNpZW50IHRvIGVuc3VyZSB0aGUgX2dldF90eXBlKCkKCSAgZnVuY3Rpb24gaXMgdGhyZWFkLXNhZmUsIHdoaWNoIEdfVFlQRV9ERUZJTkUgZG9lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNDMzOAoKMjAxMC0wOC0wNCAxNToyMDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogUG9zdCBDTE9DSy1MT1NUL0NMT0NLLVBST1ZJREUgd2hlbiBnb2luZyB0by9mcm9tIFJFQURZCgkgIE90aGVyd2lzZSB0aGUgY2xvY2tzIGFyZSByZWRpc3RyaWJ1dGVkIGV2ZXJ5IHRpbWUgdGhlIHBpcGVsaW5lCgkgIGdvZXMgdG8gUEFVU0VELCB3aGljaCBpcyBxdWl0ZSBleHBlbnNpdmUuCgoyMDEwLTA3LTEyIDEyOjM1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBydHBtcDRncGF5OiBpbXBsZW1lbnQgcGVyZmVjdCB0aW1lc3RhbXBzCgkgIFVzZSBiaXRyZWFkZXIgZm9yIHBhcnNpbmcgdGhlIGNvbmZpZyBzdHJpbmcKCSAgUmVzZXQgc3RhdGUgdmFyaWFibGVzIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgUGFyc2UgZnJhbWUgbGVuZ3RoIGFuZCB1c2UgaXQgdG8ga2VlcCB0cmFjayBvZiB0aGUgcnRwdGltZXN0YW1wcwoKMjAxMC0wNy0wOSAxNDowNzo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICBydHBoMjYzcGRlcGF5OiBhbGxvdyBtb3JlIGNsb2NrLXJhdGVzIGFzIGlucHV0CgkgIEFsdGhvdWdoIHRoZSBzcGVjIHNheXMgdGhhdCB0aGUgY2xvY2stcmF0ZSBzaG91bGQgYWx3YXlzIGJlIDkwMDAwLCBzb21lIHJ0c3AKCSAgc2VydmVycyBzZW5kIGRpZmZlcmVudCBjbG9jay1yYXRlcyBzbyB3ZSBtdXN0IGFjY2VwdCB0aGVuIGluIG9yZGVyIHRvIGhhbmRsZQoJICB0aG9zZSBzdHJlYW1zIHRvby4KCjIwMTAtMDctMDYgMTk6MDI6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgIEwxNmRlcGF5OiBkZWZhdWx0IHRvIDEgY2hhbm5lbAoJICBXaGVuIHdlIGNhbid0IGZpbmQgYW55IGNoYW5uZWwgb3IgZW5jb2RpbmctcGFyYW1zIG9uIHRoZSBjYXBzIGZvciBkeW5hbWljCgkgIHBheWxvYWQgdHlwZXMsIHNldCB0aGUgZGVmYXVsdCBudW1iZXIgb2YgY2hhbm5lbHMgdG8gMSwgYXMgdGhlIHNwZWMgc2F5cyB3ZQoJICBzaG91bGQuCgkgIFNlZSAjNjIzMjA5CgoyMDEwLTA3LTA2IDE4OjIyOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCByZXVzZSB1ZHAgc29ja2V0cwoJICBEb24ndCByZXVzZSBzb2NrZXRzIGJ1dCBtYWtlIHRoZSB1ZHBzcmMgZWxlbWVudCBmYWlsIHRoZSBzdGF0ZSBjaGFuZ2Ugd2hlbiB0aGUKCSAgc29ja2V0IGlzIGFscmVhZHkgaW4gdXNlLiBJZiB3ZSBkb24ndCBwcmV2ZW50IHJldXNlLCB3ZSBtaWdodCBlbmQgdXAgdXNpbmcgdGhlIHNhbWUKCSAgcG9ydCBmb3IgZGlmZmVyZW50IHN0cmVhbXMgaW4gc29tZSBjYXNlcy4KCSAgRml4ZXMgIzYyMjAxNwoKMjAxMC0wNy0wNiAxODoxMToyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogYWRkIHByb3BlcnR5IHRvIGVuYWJsZSBwb3J0IHJldXNlCgoyMDEwLTA3LTA1IDEwOjIzOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICBMMTZkZXBheTogdXNlIGVuY29kaW5nLXBhcmFtcyBmb3IgdGhlIGNoYW5uZWxzCgkgIFdoZW4gcGFyc2luZyB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzLCB1c2UgdGhlIGVuY29kaW5nLXBhcmFtcyBwcm9wZXJ0eSBmcm9tIHRoZQoJICBSVFAgY2FwcyBiZWNhdXNlIHRoYXQgaXMgd2hlcmUgd2UgY2FuIGZpbmQgdGhlIGNoYW5uZWxzIGFjY29yZGluZyB0byB0aGUgc3BlYy4KCSAgRmFsbCBiYWNrIHRvIHRoZSBjaGFubmVscyBwcm9wZXJ0eSBpbiB0aGUgY2FwcyB3aGVuIG5lZWRlZC4KCSAgRml4ZXMgIzYyMzIwOQoKMjAxMC0wNi0yOSAxMDo0Njo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wcm92ZSBlcnJvciBhbmQgd2FybmluZyBtZXNzYWdlCgkgIEltcHJvdmUgZXJyb3IgYW5kIHdhcm5pbmcgbWVzc2FnZS4KCSAgRml4ZXMgIzYyMjU3NwoKMjAxMC0wOC0wMiAyMzoxNTo1NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IG5vIG5lZWQgdG8gc2V0IHRoZSBjb2xvciBmb3IgZWFjaCBmcnEtYmFuZAoKMjAxMC0wOC0wMiAxMjo1NjoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIHJ0cGc3MjlwYXk6IGF2b2lkIGJhc2VydHBwYXlsb2FkIHBlcmZlY3QtcnRwdGltZSBtb2RlCgkgIEc3MjkgcGFja2V0cyBtYXkgb25seSBvY2N1ciBpbnRlcm1pdHRlbnRseSAoZS5nLiBjbiBwYWNrZXRzKSwgYW5kIGFzIHN1Y2gKCSAgZG8gbm90IGFsbG93IGZvciBwZXJmZWN0LXJ0cHRpbWUgY2FsY3VsYXRpbmcgcnRwIHRpbWVzIGJhc2VkIG9uIGZyYW1lIG9yIGJ5dGUKCSAgY291bnQuICBJbiBwYXJ0aWN1bGFyLCBkbyBub3QgdXNlIHJ0cCBhdWRpbyBiYXNlIHBheWxvYWRlciBhcyBiYXNlIGNsYXNzLCBidXQKCSAgcmF0aGVyIGJhc2UgcGF5bG9hZGVyIGRpcmVjdGx5LgoKMjAxMC0wOC0wMiAxMjo0ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IGVsZW1lbnQgbGVhawoKMjAxMC0wOC0wMiAxMjo0Njo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBydHBtcDR2ZGVwYXk6IGZpeCBidWZmZXIgbGVhawoKMjAxMC0wOC0wMiAxMjo0NjoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwIHBheWxvYWRpbmc6IGZpeCBwYWQgbGVhawoKMjAxMC0wNy0yOSAxNzoxODoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IHVzZSBwcm9wZXIgbW92aSBvZmZzZXQgZm9yIG1vdmkgYmFzZWQgaW5kZXgKCSAgRml4ZXMgIzYyMzM1Ny4KCjIwMTAtMDctMjkgMTA6MDA6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IENvcnJlY3RseSBwYXJzZSBtdmhkIGF0b21zCgkgIFBhcnNlIG12aGQgZGF0YSBhY2NvcmRpbmcgdG8gaXRzIHZlcnNpb24gdG8gYXZvaWQgZmFpbGluZwoJICBvbiB2YWxpZCBmaWxlcy4KCjIwMTAtMDctMjggMTI6MjE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdGhlIG1heC9hdmcgaW4gYnRydCBhdG9tIHJlYWRpbmcKCSAgQWNjb3JkaW5nIHRvIElTTyBtZWRpYSBiYXNlIGZvcm1hdCwgdGhlIG1heCBiaXRyYXRlIGlzIHRoZQoJICBmaXJzdCBvbmUsIGFuZCB0aGUgYXZnIGNvbWVzIG5leHQuCgoyMDEwLTA3LTI3IDE1OjU4OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcm9wZXIgaGFuZGxpbmcgb2Ygc3RyZWFtaW5nIHVwc3RyZWFtIHdpdGhvdXQgZHVyYXRpb24KCSAgRml4ZXMgIzYyNTM3MS4KCjIwMTAtMDctMjYgMTg6MzM6MDkgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGluaXRpYWxpemUgc29tZSB2YXJpYWJsZXMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TWCBidWlsZCBib3QKCjIwMTAtMDctMjYgMTg6MTU6MjUgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNvcnJlY3RseSBjaGVjayB3aGF0IHZlcnNpb24gb2YgZ3N0LXBsdWdpbnMtYmFzZSB3ZSdyZSBjb21waWxpbmcgYWdhaW5zdAoJICBXZSBuZWVkIHRvIGNoZWNrIHRoZSBnc3QtcGx1Z2lucy1iYXNlIHZlcnNpb24sIG5vdCB0aGUgY29yZSB2ZXJzaW9uCgkgIChldmVuIGlmIGJvdGggc2hvdWxkIGJlIHRoZSBzYW1lIGluIGFueSBzYW5lIHNldHVwKS4KCjIwMTAtMDctMjYgMTc6NDU6NDIgKzAyMDAgIEFybmF1ZCBWcmFjIDxyYXdvdWwgYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBwb3J0LXJhbmdlIHByb3BlcnR5IHRvIHJ0c3BzcmMKCSAgVG8gc3VwcG9ydCBzZXR1cHMgd2l0aCBmaXJld2FsbC9pcHNlYywgaXQgaXMgdXNlZnVsIGZvciBhbiBydHNwIGNsaWVudCB0byBiZQoJICBhYmxlIHRvIHNldCB0aGUgcmFuZ2Ugb2YgcG9ydHMgdGhhdCBjYW4gYmUgdXNlZCBmb3IgcnRwL3J0Y3AgcmVjZXB0aW9uLgoJICBBbGxvd3MgdGhpcyBieSBhZGRpbmcgYSAicG9ydC1yYW5nZSIgcHJvcGVydHkgdG8gdGhlIHJ0c3BzcmMgZWxlbWVudC4KCSAgRml4ZXMgIzYyNTE1MwoKMjAxMC0wNy0yNiAxMzozODozMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZXQgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBmaWVsZCBhbHNvIGZvciBwYXI9MS8xCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjUzMDIKCjIwMTAtMDctMjYgMTU6MzE6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtZW1vcnkgbGVhayBpbiBzZXJ2ZXIgcmVxdWVzdCByZXBseQoJICBUaGUgUlRTUCBzZXJ2ZXIgcnRzcHNyYyBpcyBjb21tdW5pY2F0aW5nIHdpdGgsIHNlbmRzIGEgR0VUX1BBUkFNRVRFUiByZXF1ZXN0CgkgIHBlcmlvZGljYWxseSBhcyBhIHBpbmcuICBUaGUgY29kZSBpbiBnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCBmb3JtcyBhbiBPSwoJICByZXNwb25zZSBhbmQgc2VuZHMsIGJ1dCBkb2Vzbid0IGNhbGwgZ3N0X3J0c3BfbWVzc2FnZV91bnNldCB0byBmcmVlIHRoZSBtZW1vcnkKCSAgYWZ0ZXIgc2VuZGluZyB0aGUgcmVzcG9uc2UuICBUaGlzIHJlc3VsdHMgaW4gYSBjb25zdGFudCBzbG93IG1lbW9yeSBsZWFrLgoJICBGaXhlcyAjNjI0NzcwCgoyMDEwLTA3LTI0IDIyOjM5OjU0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkgIGNwdXJlcG9ydDogcmVtb3ZlIGJvZ3VzIGRvY3MKCjIwMTAtMDctMjQgMjI6Mzc6MTEgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJICBkZWJ1Z3V0aWxzOiBuZXcgZWxlbWVudCBjcHVyZXBvcnQKCSAgY3B1cmVwb3J0IHBvc3RzIGJ1cyBtZXNzYWdlcyBhZnRlciBldmVyeSBidWZmZXIgcmVjZWl2ZWQgb2YgY3B1IHVzZWQsIHN5c3RlbQoJICBjbG9jayB0aW1lLCBidWZmZXIgdGltZQoKMjAxMC0wNy0yNCAxMDoyOTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogRGVzdHJveSB0aGUgY2Fpcm8gY29udGV4dCBhZnRlciB1c2FnZQoKMjAxMC0wNy0yNCAxMDoyMTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgIFJldmVydCAiZ2RrcGl4YnVmOiBBZGQgYSBnZGtwaXhidWYzIHBsdWdpbiB0aGF0IHVzZXMgZ2RrcGl4YnVmMyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNjc4ODE1MzE2MWI0ZTA3ZmJmM2Q0MmEyZDg5MjFlYTA0OTMwNWQwLgoJICBUaGVyZSdzIG5vIGdkay1waXhidWYzIGFueW1vcmUuIGdkay1waXhidWYgd2FzIHNlcGFyYXRlZCBmcm9tIEdUSysKCSAgYW5kIHdpbGwgc3RheSBhdCB2ZXJzaW9uIDIuMCBmb3IgR1RLKyAzLjAuCgoyMDEwLTA3LTI0IDEwOjE5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBVc2UgY2Fpcm8gaW5zdGVhZCBvZiB0by1iZS1kZXByZWNhdGVkIEdESyBBUEkKCSAgRml4ZXMgYnVnICM2MjUwMDIuCgoyMDEwLTA3LTIyIDE2OjI0OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IGV2ZW50IGxlYWsKCjIwMTAtMDctMjIgMTI6MDU6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBwdWxsIG1vZGUgbm9uLWN1ZSBzZWVraW5nCgkgIFRoYXQgaXMsIGluIGZpbGVzIHRoYXQgaGF2ZSBubyBpbmRleCAoQ3VlKSwgcGVyZm9ybSBzZWVrIGJ5IHNjYW5uaW5nIGZvcgoJICBuZWFyZXN0IGNsdXN0ZXIgd2l0aCB0aW1lY29kZSBiZWZvcmUgcmVxdWVzdGVkIHBvc2l0aW9uLiAgU2Nhbm5pbmcgaXMgZG9uZQoJICBhcyBhIGNvbWJpbmF0aW9uIG9mIGludGVycG9sYXRpb24gYW5kIHNlcXVlbnRpYWwgc2Nhbi4KCSAgRml4ZXMgIzYxNzM2OC4KCjIwMTAtMDctMTYgMTI6NDY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RyZWFtYWJsZSBmaWxlcyBuZWVkIG5vIF9maW5pc2gKCSAgRml4ZXMgIzYyNDQ1NS4KCjIwMTAtMDctMjIgMTE6NDY6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBoYW5kbGUgMC1zaXplIGRhdGEgY2h1bmtzCgkgIEZpeGVzICM2MTg1MzUuCgoyMDEwLTA3LTIxIDA4OjExOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogT25seSByZXNldCBRb1MgaW5mb3JtYXRpb24gYW5kIHNlbmQgYSBORVdTRUdNRU5UIGV2ZW50IGRvd25zdHJlYW0gZm9yIE5FV1NFR01FTlQgZXZlbnRzIG9uIHRoZSBtYXN0ZXIgcGFkCgoyMDEwLTA3LTE0IDIwOjMxOjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogQWRkIG5ldyBlbGVtZW50CgoyMDEwLTA3LTIwIDE2OjExOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRlbW90ZSBXQVJOSU5HIG1lc3NhZ2UgdG8gTE9HIGxldmVsCgkgIEl0J3Mgbm90IGEgd2FybmluZy4KCjIwMTAtMDctMTkgMTQ6NDc6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggcmVncmVzc2lvbiBvbiBtYXJrZXJzIHBhcnNpbmcKCSAgRml4ZXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgd2hlbiBmaXhpbmcgYnVnICM1ODMwNDcgaW4KCSAgY29tbWl0IGEzOTFiZjUyY2MzYzU4MGM3YTBhMjMxNmNhNTJlYjY2ZGEzYjg1YzEKCSAgU2tpcCB0aGUgZGF0YSB3aGVuIGxpYmpwZWcgYXNrcyBpdCB0byBiZSBza2lwcGVkIG9uCgkgIG9uZSBvZiBpdHMgY2FsbGJhY2tzLgoKMjAxMC0wNy0xNiAxODowNDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkIG1pc3NpbmcgYXJndW1lbnQgaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wNy0xNiAxNzo1Mzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzaW5rOiBPbmx5IHVzZSBnc3RfYXVkaW9fY2xvY2tfbmV3KCkgd2hlbiBjb21waWxpbmcgYWdhaW5zdCBuZXdlciBiYXNlCgoyMDEwLTA3LTA5IDE3OjMzOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBkdjEzOTRzcmM6IFBvc3QgY2xvY2stcHJvdmlkZSBhbmQgY2xvY2stbG9zdCBtZXNzYWdlcyB3aGVuIGdvaW5nIGZyb20vdG8gUExBWUlORwoJICBJbiBQQVVTRUQgYW5kIGJlbG93IHRoZSBjbG9jayBpcyBub3Qgd29ya2luZy4KCjIwMTAtMDctMDQgMTY6NTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmg6CgkgIGdjb25mOiBGaXggcmVmIGhhbmRsaW5nIG9mIG5ldyBjaGlsZCBlbGVtZW50cyBhbmQgbWlub3IgY2xlYW51cAoKMjAxMC0wNy0wNCAwOTo0NTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJICBnY29uZnZpZGVvc3JjOiBVc2UgY29ycmVjdCBHQ29uZiBrZXkKCjIwMTAtMDctMDMgMTQ6MTY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgZ2NvbmY6IFBvcnQgZ2NvbmZhdWRpb3NyYyB0byBHc3RTd2l0Y2hTcmMKCjIwMTAtMDctMDMgMTQ6MTI6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgZ2NvbmY6IFBvcnQgZ2NvbmZ2aWRlb3NyYyB0byBHc3RTd2l0Y2hTcmMKCjIwMTAtMDctMDMgMTQ6MTE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuaDoKCSAgZ2NvbmY6IEFkZCBHc3RTd2l0Y2hTcmMgYmFzZSBjbGFzcwoKMjAxMC0wNy0wMyAxMzo1NjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICBnY29uZjogQ3JlYXRlIHRoZSBnaG9zdHBhZCBvZiB0aGUgc3dpdGNoc2luayBmcm9tIHRoZSB0ZW1wbGF0ZQoKMjAxMC0wNy0wNyAxMDoxMDo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogUG9zdCBjbG9jay1wcm92aWRlL2Nsb2NrLWxvc3Qgd2hlbiBnb2luZyB0by9mcm9tIFBBVVNFRAoJICBBbHNvIHVzZSBnc3RfYXVkaW9fY2xvY2tfbmV3X2Z1bGwoKSB0byBwcmV2ZW50IGNyYXNoZXMgd2hlbiB0aGUKCSAgY2xvY2sgaXMgdXNlZCBhZnRlciB0aGUgZWxlbWVudCB3YXMgZGVzdHJveWVkLgoKMjAxMC0wNy0xNSAxMTo0OTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVtb3ZlIGJvZ3VzIFVOTE9DSwoKMjAxMC0wNy0xMyAxMjozNDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gY2FsY3VsYXRlIFBBUiB1c2luZyB0cmFjayB3aWR0aCBhbmQgaGVpZ2h0IGZvciBRVCBmaWxlcwoJICAoLi4uIGFzIG9wcG9zZWQgdG8gb25seSBmb3IgSVNPIHN0eWxlIGZpbGVzKS4KCSAgRml4ZXMgIzYyNDE3My4KCjIwMTAtMDctMTIgMTc6Mjk6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGhhbmRsZSBib2d1cyBmaWxlcyBzdG9yaW5nIEFEVFMgQUFDIGRhdGEKCjIwMTAtMDctMDkgMTY6NTc6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvIG5vdCBlcnJvciBvdXQgb24gYSBibG9jayB3aXRoIHVua25vd24gdHJhY2tudW1iZXIKCjIwMTAtMDctMDggMTg6NTc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbyBub3QgYWxpZ24gcmV2ZXJzZSBwbGF5YmFjayByZWZlcmVuY2Ugc3RyZWFtIHR3aWNlCgkgIFRpbWVzdGFtcCByb3VuZGluZyBpc3N1ZXMgY291bGQgbGVhZCB0byBnb2luZyBiYWNrd2FyZHMgMiBrZXlmcmFtZSBwZXJpb2RzCgkgIChyYXRoZXIgdGhhbiBvbmx5IDEpLiAgV2hpbGUgdGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgYSBwcm9ibGVtLCBpdCBtaWdodAoJICBwb3RlbnRpYWxseSBwbGFjZSBhZGRpdGlvbmFsIChidWZmZXJpbmcpIGxvYWQgb24gZG93bnN0cmVhbSBhbmQgY291bGQgYmUKCSAgYXZvaWRlZCAoYmVjYXVzZSBXZSBDYW4pLgoJICBGaXhlcyAjNjIzNjI5LgoKMjAxMC0wNy0wOCAxNjowNzoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvbnZlcnQgc29tZSBtb3JlIG1vdiBmb3JtYXQgdGltZXN0YW1wIHRvIGdzdCB0aW1lCgoyMDEwLTA3LTA3IDE0OjE2OjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZGl0aW9uYWwgdmVyaWZpY2F0aW9uIGhldXJpc3RpY3MgZm9yIFZCUiBhdWRpbyBzdHJlYW0KCSAgQ2hlY2sgZm9yIGFuZCBvdmVycmlkZSBzb21lIGhlYWRlciBmaWVsZChzKSBmb3IgcmVhc29uYWJsZSB2YWx1ZXMsIGFjY29yZGluZwoJICB0byBsYXRlciBleHBlY3RlZCB1c2UgaW4gY2FsY3VsYXRpb25zLgoKMjAxMC0wNy0xNCAxNToyMToyMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogRml4IHdyb25nIGxvY2sgb3JkZXIgdGhhdCBjb3VsZCBsZWFkIHRvIGEgZGVhZGxvY2suIEZpeGVzICM2MjQzMzEuCgoyMDEwLTA3LTE2IDExOjMxOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjQgPT09CgoyMDEwLTA3LTE1IDAxOjQ5OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yNAoKMjAxMC0wNy0xNSAwMTozNTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9jcy5wbzoKCSogcG8vbHYucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA3LTA3IDAwOjQyOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMy40IHByZS1yZWxlYXNlCgoyMDEwLTA3LTA3IDAwOjMxOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2RhLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3NsLnBvOgoJKiBwby90ci5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA2LTIzIDExOjQ3OjQzICswMjAwICBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZGVzdHJveSBidWZmZXIgcG9vbCB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIE5VTEwKCSAgSW4gdGhlIGNhc2Ugd2UgY2hhbmdlIHRoZSBTdGF0ZSBmcm9tIFJFQURZX1RPX05VTEwgdGhlIGJ1ZmZlcnMgaW4gdGhlIHBvb2wKCSAgc3RpbGwgaG9sZCBhbiBvcGVuIGR1cCBmaWxlIGRlc2NyaXB0b3IgdG8gdGhlIGRldmljZSwgdGhlcmVmb3JlIHRoZSBkZXZpY2UKCSAgcmVsZWFzZSBmdW5jdGlvbiB3aWxsIG5vdCBiZSBjYWxsZWQgYW5kIHRoZSBkZXZpY2Ugd2lsbCBwcm9iYWJseSBhbnN3ZXIgd2l0aAoJICAtRUJVU1kgd2hlbiB3ZSByZW9wZW4gaXQgaW4gdGhlIG5leHQgTlVMTF9UT19SRUFEWSB0cmFuc2l0aW9uLgoJICBTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgkgIFNlZSBidWcgIzYyMjUwMCBhbmQgIzYxMjI0NC4KCjIwMTAtMDctMDYgMTM6MjE6MTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb3JkZXIgb2YgYml0cmF0ZXMgaW4gJ2J0cnQnIGF0b20KCSAgVGhlcmUgc2VlbXMgdG8gYmUgYSBidWcgaW4gbGlibXA0djIgdGhhdCBnZW5lcmF0ZXMgYSBNUEVHNEJpdFJhdGVCb3ggYXMKCSAgKGJ1ZmZlclNpemVEQiwgYXZnQml0cmF0ZSwgbWF4Qml0cmF0ZSkgaW5zdGVhZCBvZiAoYnVmZmVyU2l6ZURCLAoJICBtYXhCaXRyYXRlLCBhdmdCaXRyYXRlKSwgYWNjb3JkaW5nIHRvIHRoZSBzcGVjLiBJIHVzZWQgdGhlIG1wNGZpbGUKCSAgb3V0cHV0IHdoaWxlIHdyaXRpbmcgdGhpcyBjb2RlLCBzbyB0aGUgb3JkZXIgaXMgd3JvbmcuIFRoaXMgcGF0Y2hlcwoJICBmaXhlcyB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjU0CgoyMDEwLTA3LTA1IDEyOjA1OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHNraXBwaW5nIGV4dHJhIDB4ZmYgbWFya2VycwoJICBGaXhlcyAjNjIzNTg1LgoKMjAxMC0wNi0yOSAyMzoxODoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogZml4IG1lbW9yeSBsZWFrCgkgIERvbid0IGxlYWsgcmVzdWx0IG9mIGdzdF9hZGFwdGVyX3Rha2UoKS4gVGhlcmUgYXJlIG1vc3QgbGlrZWx5CgkgIHNtYXJ0ZXIgdGhpbmdzIHdlIGNhbiBkbywgYnV0IGxldCdzIGtlZXAgdGhpbmdzIHNpbXBsZSBmb3IgdGhlCgkgIHJlbGVhc2UuCgkgIEZpeGVzICM2MjMxNzIuCgoyMDEwLTA3LTAyIDEyOjMxOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdHJpcCBvdXQgYm9ndXMgdGFncyBmcm9tIFhNUCBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzNjYKCjIwMTAtMDctMDIgMTQ6MjU6MjIgKzAyMDAgIEFuZHJ6ZWogSy4gSGFjemV3c2tpIDxhaGFjemV3c2tpQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogV3JpdGUgZHVyYXRpb24gYXQgdGhlIGNvcnJlY3QgcG9zaXRpb24KCjIwMTAtMDYtMzAgMTE6MTI6MDggKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IGZpeCBtZW1sZWFrIG9uIGN1c3RvbSBkb3duc3RyZWFtIGV2ZW50cwoJICBieSBub3Qgc2VuZGluZyBjdXN0b20gZG93bnN0cmVhbSBldmVudCB0d2ljZSBhbmQgZml4IG1lbWxlYWsgd2hlbgoJICBub3QgaGFuZGxpbmcgdGhlIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMxOTYKCjIwMTAtMDYtMjkgMjA6MTg6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMy4zIHByZS1yZWxlYXNlCgoyMDEwLTA2LTI5IDIwOjE0OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZml4IHVucG9ydGFibGUgcHJpbnRmIGZvcm1hdCBzcGVjaWZpZXJzIGluIGNvbW1lbnRlZCBvdXQgY29kZQoJICBUbyBhdm9pZCBmYWxzZSBwb3NpdGl2ZXMgd2hlbiBncmVwcGluZyBmb3IgdW5wb3J0YWJsZSBzcGVjaWZpZXJzLgoKMjAxMC0wNi0yOSAxOToxMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMC0wNi0yOCAxNTo0NDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgYXV0b21ha2UgcmVxdWlyZW1lbnQgdG8gMS4xMCBhbmQgYXV0b2NvbmYgdG8gMi42MAoJICBGb3IgbWFpbnRhaW5hYmlsaXR5IHJlYXNvbnMgYW5kICQoYnVpbGRkaXIpLgoJICBTZWUgIzYyMjk0NC4KCjIwMTAtMDYtMjggMDk6MDc6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgZ29vbTogZG9uJ3QgYWxsb2NhdGUgMjYwa0Igc3RydWN0IG9uIHRoZSBzdGFjawoJICBQbHVnaW5JbmZvIGlzIHF1aXRlIGEgc2l6ZWFibGUgc3RydWN0LCBsZXQncyBub3QgYWxsb2NhdGUgaXQgb24gdGhlCgkgIHN0YWNrLCBlc3BlY2lhbGx5IG5vdCBpZiB3ZSdyZSBjb3B5aW5nIGl0IG92ZXIgaW50byBhbm90aGVyIGR5bmFtaWNhbGx5CgkgIGFsbG9jYXRlZCBjb3B5IGFueXdheS4KCSAgRml4ZXMgIzU3MDc2MS4KCjIwMTAtMDYtMjcgMTA6MzE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR1RLKyA+PSAyLjE0IGZvciB0aGUgZXhhbXBsZXMKCjIwMTAtMDYtMjYgMjA6MTI6MjUgKzAyMDAgIEd1aWRvIEfDvG50aGVyIDxhZ3hAc2lneGNwdS5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogTWFrZSBkZW1vcyAtRFNFQUwgc2FmZSB0byBmaXggYnVpbGQgd2l0aCBHVEsrIDMuMAoKMjAxMC0wNi0yNiAyMTozOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAganBlZzogRXhwbGljaXRlbHkgbGluayB3aXRoIGxpYmdzdGJhc2UKCjIwMTAtMDYtMjYgMTg6NDI6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuMiBwcmUtcmVsZWFzZQoKMjAxMC0wNi0yNiAxODo0MTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSAgZ3N0OiB1cGRhdGUgb3JjIGZpbGVzCgoyMDEwLTA2LTI2IDE4OjQxOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA2LTI1IDE5OjQwOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEZpeCBsZWFraW5nIG9mIHRoZSBzdHJlYW1oZWFkZXIgYnVmZmVycwoJICBnc3RfdmFsdWVfc2V0X2J1ZmZlcigpIGluY3JlYXNlcyB0aGUgcmVmY291bnQgYW5kIGRvZXNuJ3QKCSAgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlci4KCjIwMTAtMDYtMjQgMTY6MzI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBtYXRyb3NrYSwgdmlkZW9ib3gsIHZpZGVvZmlsdGVyOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQgaW4gZ3N0cmVhbWVyCgkgIEZpeGVzIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncyB3aGVuIEdTdHJlYW1lcidzIGRlYnVnZ2luZyBzeXN0ZW0gaGFzIGJlZW4gZGlzYWJsZWQuCgoyMDEwLTA2LTI0IDE1OjE3OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIHBsdWdpbiBsb2FkaW5nIHdoaXRlbGlzdCB0byB0ZXN0IGVudmlyb25tZW50CgkgIE9ubHkgd2FudCB0byBsb2FkIGNvcmUvYmFzZS9nb29kIHBsdWdpbnMgaGVyZS4KCSAgRml4ZXMgIzYxOTcxNy4KCjIwMTAtMDYtMjQgMTU6MDk6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzNmZjkzYSB0byBhNTE5NTcxCgoyMDEwLTA2LTI0IDEzOjAyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBnZGtwaXhidWZkZWM6IGJ1bXAgcmFuayB0byBTRUNPTkRBUlkKCSAgQnVtcCBnZGtwaXhidWZkZWMncyByYW5rIHRvIFNFQ09OREFSWSB0byBnaXZlIGl0IGFuIGVkZ2Ugb3ZlciBtaXNjLgoJICBpbWFnZSBkZWNvZGVycyBpbiBnc3QtZmZtcGVnIHRoYXQgYWxzbyBoYXZlIGEgTUFSR0lOQUwgcmFuay4KCSAgRml4ZXMgIzYyMDE2Mi4KCjIwMTAtMDYtMjMgMTI6MTU6MTMgKzAyMDAgIE1pY2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgcmVzZXQgdGhlIGhhdmVfaW5kZXggZmxhZyBhdCB0cmFuc2l0aW9uIFBBVVNFRF9UT19SRUFEWQoJICBJZiB3ZSByZXN0YXJ0IHRoZSBTdHJlYW0gaW4gdGhlIGNhc2Ugb2YgZG9pbmcgYSB0cmFuc2l0aW9uIGZyb20KCSAgUEFVU0VEX1RPX1JFQURZIGFuZCBiYWNrIHdpdGggUkVBRFlfVE9fUEFVU0VEIGFzby4gdGhlIGR1cmF0aW9uIG9mIHRoZSB2aWRlbwoJICB3aWxsIGdldCBjYWxjdWxhdGVkIGV2ZW4gaWYgd2UgaGF2ZSBhIGF2aSBoZWFkZXIgd2l0aCB0aGF0IGluZm9ybWF0aW9uLgoJICBTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgoyMDEwLTA2LTIzIDIwOjI5OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IG5lZ290aWF0aW9uIGZvciBJNDIwL1lWMTIKCSAgV2UgZG9uJ3Qgc3VwcG9ydCBjb252ZXJzaW9uIGludG8gKmFsbCogWVVWCgkgIGZvcm1hdHMgZm9yIHRoZW0sIG9ubHkgaW50byBJNDIwL1lWMTIvQVlVVi4KCSAgRml4ZXMgYnVnICM2MjI1MDEuCgoyMDEwLTA2LTIyIDE1OjIyOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcHJvcGVyIGNsb3Npbmcgc2VnbWVudCBjb25zdHJ1Y3Rpb24KCSAgRml4ZXMgIzYxODk4Mi4KCjIwMTAtMDYtMjIgMTU6NDY6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHByZWNhbGN1bGF0ZSBkdXJhdGlvbgoJICBIYXZlIGZyYW1lIGR1cmF0aW9uIGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgYW5kIGNhbGN1bGF0ZSBpdCBhZnRlciBjaGFuZ2luZyB0aGUgY2Fwcy4KCjIwMTAtMDYtMjEgMTI6MTc6MzkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiB1c2UgZ2xpYiBkZWZpbmVzIGluIHByb3BlcnR5IGRlY2xhcmF0aW9ucyBmb3IgcmVhZGFiaWxpdHkKCjIwMTAtMDYtMjEgMTI6MTU6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1c2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byBzYXZlIGEgZmV3IGJ5dGVzIGFuZCBzdHJkdXBzCgoyMDEwLTA2LTE4IDIwOjAyOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbG9ja2luZyBhZnRlciBtb3ZpbmcgdGhpbmdzIGFyb3VuZAoKMjAxMC0wNi0xOCAxNDoxMzo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICB0YWdsaWI6IFVzZSBuZXdseSBhZGRlZCBnc3RfdGFnX2xpc3RfcGVla19zdHJpbmdfaW5kZXgKCSAgUmVwbGFjZSBjYWxscyB0byBnc3RfdGFnX2xpc3RfZ2V0X3N0cmluZ19pbmRleCB3aXRoCgkgIGdzdF90YWdfbGlzdF9wZWVrX3N0cmluZ19pbmRleCB0byBhdm9pZCBhIHN0cmluZyBjb3B5CgoyMDEwLTA2LTE4IDE2OjU2OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIHNvbWUgZXJyb3JzIGFzIHdhcm5pbmdzCgkgIEF2b2lkIHNwYW1taW5nIHRoZSB0ZXN0c3VpdGUgd2l0aCB0aGVzZSBlcnJvciBkZWJ1ZyBsaW5lcy4KCjIwMTAtMDYtMTggMTY6NDk6MDggKzAyMDAgIEtlaXRoIE5pY2hvbHNvbiA8a2VpdGgubmljaG9sc29uIGF0IHVsdHJhLWNjcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBtdWx0aWNhc3Qgc3VwcG9ydCBvbiB3aW5kb3dzIGJ1aWxkcwoJICBPbiB3aW5kb3dzIGJ1aWxkcywgc2V0cyBzb3VyY2UgYWRkcmVzcyBmb3IgYmluZCB0byBJTkFERFJfQU5ZLCB3aGlsZQoJICBtYWludGFpbmluZyB0aGUgb3JpZ2luYWwgbXVsdGljYXN0IGdyb3VwIGFkZHJlc3MgZm9yIHN1YnNlcXVlbnQgam9pbi4KCSAgRml4ZXMgIzU5NTk3OAoKMjAxMC0wNi0xOCAxNjoxNjoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBtYWtlIHVybCBwYXJzaW5nIGNvbXBhdGlibGUgd2l0aCBWTEMgc3ludGF4CgkgIFNraXAgZXZlcnl0aGluZyBiZWZvcmUgdGhlIEAgc2lnbiBpbiB0aGUgdXJsIGxvY2F0aW9uLiBWTEMgdXNlcyB0aGF0IGFzIHRoZQoJICByZW1vdGUgYWRkcmVzcyB0byBjb25uZWN0IHRvIChidXQgd2UgaWdub3JlIGl0IGZvciBub3cpLiBUaGlzIG1ha2VzIG91ciB1ZHAgdXJscwoJICBjb21wYXRpYmxlIHdpdGggdGhlIG9uZXMgdXNlZCBieSBWTEMuCgkgIEZpeGVzICM1OTc2OTUKCjIwMTAtMDYtMTggMTU6MDg6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZmFjdG9yIG91dCB0aGUgY29ubmVjdGlvbnMKCSAgS2VlcCBhIGdsb2JhbCBjb25uZWN0aW9uIGZvciBhZ2dyZWdhdGUgY29udHJvbCBidXQgYWxzbyBrZWVwIHN0cmVhbSBjb25uZWN0aW9ucwoJICBmb3Igbm9uLWFnZ3JlZ2F0ZSBjb250cm9sLgoJICBBZGQgc29tZSBoZWxwZXIgbWV0aG9kcyB0byBjb25uZWN0L2Nsb3NlL2ZsdXNoIHRoZSBjb25uZWN0aW9ucy4KCjIwMTAtMDYtMTcgMTM6MDY6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBub24tYWdncmVnYXRlIGNvbnRyb2wKCSAgQWRkIG5vbi1hZ2dyZWdhdGUgY29udHJvbC4KCSAgU2VwYXJhdGUgcmV0cmlldmluZyB0aHIgU0RQIGZyb20gcGFyc2luZyBhbmQgc2V0dGluZyB1cCB0aGUgc3RyZWFtaW5nIGZyb20gdGhlCgkgIFNEUC4KCjIwMTAtMDYtMTcgMjI6MTA6MDMgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBjb21tb246CgkgIGNvbW1vbjogdXBkYXRlIGNvbW1vbiBiYWNrIHRvIHdoYXQgaXQgd2FzCgoyMDEwLTA2LTE3IDE3OjI0OjIyICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGFkZCBkb2N1bWVudGF0aW9uIGZvciBzdHJlYW1hYmxlIHByb3BlcnR5CgoyMDEwLTA2LTE3IDE2OjQzOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBkb2NzOiB1cGRhdGUgaW50cm9zcGVjdGVkIHBsdWdpbiBkb2NzIGZvciBnc3Rkb2Mtc2NhbmdvYmogYW5kIG90aGVyIGNoYW5nZXMKCSAgVXBkYXRlIGNvbW1vbiBmb3IgbGF0ZXN0IGdzdGRvYy1zY2FuZ29iaiwgYW5kIGluc3BlY3QgeG1sIGZpbGVzIGZvcgoJICBlc2NhcGluZyBhbmQgcGFkIHRlbXBsYXRlIG9yZGVyIGNoYW5nZXMuCgoyMDEwLTA2LTE3IDE2OjQxOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgc3ViLWRpcmVjdG9yeSB3aXRoIG9yYyB0ZXN0cwoKMjAxMC0wNi0xNyAxMDo0NDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IGFuIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMC0wNi0xNiAyMTowMjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIGVibWwtcmVhZDogWmVyby1zaXplZCBpbnRzL3VpbnRzL2Zsb2F0cyBoYXZlIGEgdmFsdWUgb2YgMCBhY2NvcmRpbmcgdG8gdGhlIEVCTUwgc3BlYwoKMjAxMC0wNi0xNiAyMDowMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IHBvc3NpYmxlIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQgYXNzZXJ0aW9uIHRoYXQgY291bGQgYmUgY2F1c2VkIGJ5IGludmFsaWQgZmlsZXMKCjIwMTAtMDYtMTYgMTk6NTA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENsZWFuIHVwL2ZpeCBzb21lIG1pbm9yIGVycm9yIGhhbmRsaW5nIGJ1Z3MKCjIwMTAtMDYtMTYgMTk6MzA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIHdoZW4gYWxsb2NhdGlvbiBvZiB0aGUgeGltYWdlIGZhaWxzCgoyMDEwLTA2LTE2IDE5OjI4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhY3RhZzogRml4IHBvc3NpYmxlIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZQoKMjAxMC0wNi0xNiAxOToyNDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJICBhdWRpb2lpcmZpbHRlcjogRml4IHBvc3NpYmxlIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZQoKMjAxMC0wNi0xNiAxOToyMDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIHdhcnB0djogRG9uJ3QgdXNlIGZsb2F0cyBhcyBsb29wIGNvdW50ZXJzCgoyMDEwLTA2LTE2IDExOjIxOjM1IC0wNDAwICBIYXZvYyBQZW5uaW5ndG9uIDxocEBwb2JveC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGRvIG5vdCB0cnkgdG8gY2hhbmdlIGRldmljZSBmb3JtYXQgaWYgaXQncyBhbHJlYWR5IGNvcnJlY3QKCSAgVGhpcyBhbGxvd3Mgc2V0X2NhcHMgdG8gc3VjY2VlZCBpZiBjYXBzIGNoYW5nZSBpbiBhIHdheSB0aGF0CgkgIHdvdWxkIG5vdCBtb2RpZnkgdGhlIGZvcm1hdCB3ZSdyZSBnZXR0aW5nIGZyb20gdGhlIGhhcmR3YXJlLgoJICBPdGhlcndpc2UgaWYgbm90IGluIE5VTEwgc3RhdGUsIHNldHRpbmcgY2FwcyB3b3VsZCBmYWlsCgkgIHdpdGggRUJVU1kuCgkgIFdpdGggdGhpcyBjaGFuZ2UsIGluIHNvbWUgY2FzZXMgaXQncyBPSyB0byBnbyBQTEFZSU5HLT5SRUFEWS0+UExBWUlORwoJICByYXRoZXIgdGhhbiBQTEFZSU5HLT5OVUxMLT5QTEFZSU5HIHRvIGF2b2lkIGEgdGltZS1jb25zdW1pbmcgY2xvc2UKCSAgYW5kIHJlb3BlbiBvZiB0aGUgZGV2aWNlLgoJICBGaXhlcyAjNjIxNzIzCgoyMDEwLTA2LTE2IDExOjA5OjE3IC0wNDAwICBIYXZvYyBQZW5uaW5ndG9uIDxocEBwb2JveC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGluIG5lZ290aWF0ZSwgY2hlY2sgZm9yIGVycm9yIHJldHVybiBmcm9tIHNldF9jYXBzCgkgIEZpeGVzICM2MjE3MjMgIChwYXJ0aWFsbHkpCgkgIHNldF9jYXBzIGNhbiBmYWlsIGlmIHRoZSB2aWRlbyBkZXZpY2UgaXMgcnVubmluZywgaW4gdGhhdCBjYXNlCgkgIHNldHRpbmcgaXRzIGZvcm1hdCBsZWFkcyB0byBFQlVTWS4KCSAgSWYgc2V0X2NhcHMgZmFpbHMgdGhlbiB3ZSB3aWxsIG5vdCBoYXZlIHNldCB1cCB0aGUgYnVmZmVyIHBvb2wKCSAgKGl0IHdpbGwgYmUgTlVMTCkgd2hpY2ggbGVhZHMgdG8gYSBjcmFzaCB3aGVuIHdlIHRyeSB0byBwdWxsCgkgIGJ1ZmZlcnMuIElmIHdlIGZhaWwgdGhlIG5lZ290aWF0ZSBvbiBzZXRfY2FwcyBmYWlsdXJlLCB0aGVuIHdlCgkgIHdvbid0IGdvIHRvIHBsYXlpbmcgc3RhdGUgYW5kIHdvbid0IGNyYXNoLgoJICBUaGlzIGlzIGEgc21hbGwgaW1wcm92ZW1lbnQuIE9mIGNvdXJzZSwgYSBuaWNlciBmaXggd291bGQKCSAgYmUgdG8gbWFrZSBzZXRfY2FwcyB3b3JrIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBmb3JtYXQgaXMKCSAgdW5jaGFuZ2VkLiBJZiB0aGUgZm9ybWF0IGhhcyBjaGFuZ2VkLCBmYWlsaW5nIGlzCgkgIHByb2JhYmx5IGNvcnJlY3QgYmVjYXVzZSB3ZSBuZWVkIHRvIGNsb3NlIHRoZSBkZXZpY2UKCSAgKGdvIHRvIE5VTEwgc3RhdGUpIGluIG9yZGVyIHRvIHNldCBjYXBzLgoKMjAxMC0wNi0xNiAxNTo0MDozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbXByb3ZlIGF1ZGlvIHZiciBkZXRlY3Rpb24KCSAgU3Vic2VxdWVudCBlbnRyeSB0aW1lIGNhbGN1bGF0aW9ucyB1c2UgYmxvY2thbGlnbiB2YWx1ZSB0byBkZXRlcm1pbmUKCSAgbnVtYmVyIG9mIGZyYW1lcyBwZXIgY2h1bmssIGFuZCBibG9ja2FsaWduID09IDEgaXMgdGhlbiBtb3N0IHVubGlrZWx5IHRvIHJlc3VsdAoJICBpbiByZWFzb25hYmxlIHZhbHVlcyAod2hpY2ggYWxzbyBhbGlnbnMgd2l0aCAic3BlYyIpLgoKMjAxMC0wNi0xNiAxNTo1Mjo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHR3ZWFrIERFTFRBX1VOSVQgbGFiZWxpbmcKCSAgQ29uc2lkZXIgU1BTLCBQUFMgYW5kIElEUiBhcyBrZXlmcmFtZSwgYWxsIG90aGVycyBhcyBERUxUQV9VTklULgoJICBTZWUgIzYyMDE1NC4KCjIwMTAtMDYtMTUgMjA6MDY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBJbml0aWFsaXplIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgYW5kIGRvbid0IHVucmVmIGl0IGlmIGl0J3MgTlVMTAoKMjAxMC0wNi0xNSAyMDowNDozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBc3NpZ24gdmFyaWFibGVzIGJlZm9yZSBwcmludGluZyB0aGVtCgoyMDEwLTA2LTE1IDIwOjAwOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogSW5pdGlhbGl6ZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEwLTA2LTE1IDE5OjQ3OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogSW5pdGlhbGl6ZSB2YXJpYWJsZQoKMjAxMC0wNi0xNSAxOTo0NTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IEZpeCBORVdTRUdNRU5UIHBhcnNpbmcgbG9naWMgYW5kIGRvbid0IHVzZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMC0wNi0xNSAxNzoyMDoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNi0xNSAxNjo0OTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTMzOWNjYyB0byAzNTYxN2MyCgoyMDEwLTA2LTE1IDE2OjU0OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhZGIxY2EgdG8gOTMzOWNjYwoKMjAxMC0wNi0xNSAxNjozNToxOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1N2M4OWI3IHRvIDVhZGIxY2EKCjIwMTAtMDYtMTUgMTQ6MDg6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGdlbmVyYXRlZCB0dnRpbWUuaCBmaWxlCgoyMDEwLTA2LTE1IDE1OjM2OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM4MDQ5ODggdG8gNTdjODliNwoKMjAxMC0wNS0xNyAxMzo1NDowMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkgIHJhdzEzOTQ6IHJlbW92ZSB1c2VsZXNzIGxhc3RfdGltZQoJICBJdCBzZWVtcyB0byBtZSB0aGlzIGNvZGUgaXMgdXNlbGVzczogcmVtb3ZpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTg4NzEKCjIwMTAtMDYtMTQgMTk6MjE6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogcmVzcGVjdCBhZ2dyZWdhdGUgY29udHJvbCBhdHRyaWJ1dGVzCgkgIHdoZW4gdGhlIFNEUCBzcGVjaWZpZXMgYW4gYWdncmVnYXRlIGNvbnRyb2wgdXJsLCB1c2UgdGhhdCBmb3IgcGxheWJhY2sKCSAgY29udHJvbC4KCSAgRml4ZXMgIzYxOTUzMQoKMjAxMC0wNi0xNCAxNTozNjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IENhbGwgb3JjX2luaXQoKSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0YXJnZXQgZmxhZ3MKCjIwMTAtMDYtMTQgMTU6MzU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDYWxsIG9yY19pbml0KCkgYmVmb3JlIHRyeWluZyB0byBnZXQgdGFyZ2V0IGZsYWdzCgoyMDEwLTA2LTE0IDE0OjI2OjIyICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogcmV2ZXJ0IGNoYW5nZSB0aGF0IHNldCBhIHJlc2VydmVkIGZsYWcgb24gdGhlIEJsb2NrLgoJICBTbyBtYXRyb3NrYSdzIEJsb2NrIHN0cnVjdHVyZSBoYXMgbm8ga2V5ZnJhbWUgZmxhZywgb25seSB0aGUgU2ltcGxlQmxvY2sgaGFzIGl0LgoJICBUbyBkZXRlY3Qga2V5ZnJhbWVzIGluIEJsb2NrcywgaXQgaXMganVzdCB0aGUgQmxvY2tHcm91cCBjb250YWluZXIgdGhhdCBuZWVkcwoJICB0byBoYXZlIGEgUmVmZXJlbmNlQmxvY2sgYXR0YWNoZWQgaWYgaXQgaXMgYSBkZWx0YSBmcmFtZSBpbiB2aWRlby4KCjIwMTAtMDUtMzEgMTI6NDU6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHVzZSBsaWJqcGVnIHNjYXR0ZXItZ2F0aGVyIG9wZXJhdGlvbiB0byBhdm9pZCBkYXRhIGNvcHlpbmcKCSAgRml4ZXMgIzU4MzA0NyAobW9yZSkuCgoyMDEwLTA1LTI3IDE1OjQ1OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBvcHRpbWl6ZSBidWZmZXIgaGFuZGxpbmcgd2hlbiBwYXJzaW5nCgkgIFVzZSBhbiBhZGFwdGVyIHRvIGNvbGxlY3QgaW5jb21pbmcgZGF0YSwgYW5kIHVzZSBhZGFwdGVyIEFQSSB0byBzY2FuIGFuZCBwZWVrLgoJICBGaXhlcyAjNTgzMDQ3LgoKMjAxMC0wNi0xNCAxMzo0ODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IFVzZSBnX2FzY2lpX3N0cmNhc2VjbXAoKSBpbnN0ZWFkIG9mIHRoZSBkZXByZWNhdGVkIGdfc3RyY2FzZWNtcCgpCgoyMDEwLTA2LTE0IDEzOjI3OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgR0xJQl9FWFRSQV9DRkxBR1MKCjIwMTAtMDYtMTQgMTM6MDM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YTBmZGY1IHRvIGM4MDQ5ODgKCjIwMTAtMDYtMTQgMTE6NDY6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBhbHNvIGNvbnNpZGVyIEFVIGFuZCBTRUkgTkFMVXMgYXMgREVMVEFfVU5JVAoJICBGaXhlcyAjNjIwMTU0LgoKMjAxMC0wNi0xNCAxMTozMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYTNiYWIgdG8gN2EwZmRmNQoKMjAxMC0wNi0xMiAyMToyNjoxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBidWlsZDogaW5jbHVkZSBzdGRpby5oIGZvciBzc2NhbmYKCjIwMTAtMDYtMTIgMTQ6MTI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgY2xlYW4gcnVsZSBmb3IgdGhlIG9yYyB0ZXN0cwoKMjAxMC0wNi0xMiAxNDoxMjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBhdXRvZ2VuZXJhdGVkIG9yYyB0ZXN0cwoKMjAxMC0wNi0xMiAwODoyNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDczM2ZjYTkgdG8gNmRhM2JhYgoKMjAxMC0wNi0xMSAxNjoyMzoyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDEwLTA2LTExIDIxOjEzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGRvbid0IHRyeSB0byB1bnJlZiBOVUxMIGJ1ZmZlcnMKCSAgRml4ZXMgZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0LgoKMjAxMC0wNi0xMSAyMDo1MDoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHVzZSB0eXBlZmluZCBmdW5jdGlvbnMgdG8gY2hlY2sgaWYgUENNIGRhdGEgY29udGFpbnMgZHRzIHN0cmVhbQoJICBVc2UgbmV3IGR0cyBhdWRpbyB0eXBlZmluZGVyIGZyb20gLWJhc2UgdG8gY2hlY2sgaWYgdGhlIFBDTSBkYXRhCgkgIGNvbnRhaW5zIGEgZHRzIHN0cmVhbS4gVGhpcyB3YXkgd2UgcmVjb2duaXNlIG1vcmUgdmFyaWV0aWVzIG1vcmUKCSAgcmVsaWFibHkgYW5kIGFsc28gZGV0ZWN0IHRoZSBkdHMgc3RyZWFtIGlmIHRoZXJlIGlzbid0IGEgZnJhbWUKCSAgc3luYyByaWdodCBhdCB0aGUgc3RhcnQgb2YgdGhlIGRhdGEuCgkgIEZpeGVzICM0MTM5NDIuCgoyMDEwLTA2LTExIDIwOjQ3OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc2V0IGJ1ZmZlciBvZmZzZXRzIGJlZm9yZSB1c2luZyB0aGUgYnVmZmVyIGZvciB0aGUgZmlyc3QgdGltZQoJICBnc3RfdHlwZV9maW5kX2hlbHBlcl9mb3JfYnVmZmVyKCkgd2lsbCBuZWVkIHRoZSBjb3JyZWN0IG9mZnNldAoJICBzZXQgb24gdGhlIGJ1ZmZlciAoaWUuIDApIGFuZCBub3QgdGhlIGJ5dGUgb2Zmc2V0IHdlIHN0YXJ0ZWQKCSAgcHVsbGluZyB0aGUgZGF0YSBmcm9tLgoKMjAxMC0wNi0xMCAxNjoxNDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuaDoKCSAgcnRwOiBhZGQgbXBhLXJvYnVzdCBkZXBheWxvYWRlcgoJICBGaXhlcyAjNTg5OTk3LgoKMjAxMC0wNi0xMSAxMDo1Nzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGZpeCBhdmkgaGVhZGVyIGJ5dGV3cml0aW5nCgkgIC4uLiBieSB1c2luZyBwcm9wZXIgb2Zmc2V0cyBmb3IgdGFnIGxpc3Qgd3JpdGluZy4KCSAgQWxzbyB1c2UgX3Jlc2V0IHJhdGhlciB0aGFuIF9mcmVlIGFuZCBjb25zaXN0ZW50bHkgdXNlIGJ5dGV3cml0ZXIgcG9zaXRpb24uCgkgIFNlZSAjNjE5MjkzLgoKMjAxMC0wNi0xMCAyMjo1ODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoJICBBZGQgdGhlIGdlbmVyYXRlZCBvcmMgc291cmNlIGZpbGVzCgoyMDEwLTA2LTEwIDIyOjU1OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGaXggdW5pdCB0ZXN0IGZvciBjaGFuZ2VkIGtleS1mcmFtZSBiZWhhdmlvdXIKCSAgQWxsIGF1ZGlvIGZyYW1lcyBhcmUgbWFya2VkIGFzIGtleWZyYW1lIG5vdyBpbnN0ZWFkIG9mIG1hcmtpbmcKCSAgdGhlbSBhbGwgYXMgZGVsdGEgdW5pdC4uLgoKMjAxMC0wNi0xMCAyMjo0NToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IFBvcnQgbW9zdCBibGVuZGluZyByZWxhdGVkIGZ1bmN0aW9ucyB0byBvcmMKCSAgT25seSByZW1haW5pbmcgTU1YIGltcGxlbWVudGF0aW9uIGlzIHRoZSBBUkdCL0JHUkEvQVlVViBibGVuZGluZwoJICBmb3Igd2hpY2ggd2UgZmlyc3QgbmVlZCB0aGUgb3JjIGNvbXBvc2l0aW5nIG9wY29kZXMuCgoyMDEwLTA2LTEwIDIwOjE3OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBSZXBsYWNlIHNvbWUgdGFicyBieSBzcGFjZXMKCjIwMTAtMDYtMTAgMTE6MDQ6MzggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICBkdjEzOTQ6IEZpeCB0aGUgaW50ZXJuYWwgY2xvY2sgZXZlbiBtb3JlCgkgIFRoZSBjeWNsZUNvdW50IHJlZ2lzdGVyIGlzIDEzIGJpdHMgbG9uZyBhbmQgdGhlIGN5Y2xlT2Zmc2V0IG9uZQoJICBpcyAxMiBiaXRzIGxvbmcuIFRvIHJlYWQgdGhlIGN5Y2xlQ291bnQgcmVnaXN0ZXIgd2UgbmVlZCB0byBzaGlmdAoJICAxMiBiaXRzIGFuZCBub3QgMTMuIEZpeGVzICM2MTU0NjEKCjIwMTAtMDYtMDkgMTg6Mzc6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBtNCBtYWNybyB0byBjaGVjayBmb3IgT3JjCgoyMDEwLTA2LTA5IDIyOjQwOjIzICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc29tZSBub24tZGVsdGEgYnVmZmVycyB3ZXJlIG5vdCBtYXJrZWQgYXMga2V5ZnJhbWVzCgoyMDEwLTA2LTA5IDIyOjAwOjE2ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBjaGFuZ2UgMiBzZWNvbmQgbGltaXQgcGVyIGNsdXN0ZXIKCSAgU3RhcnQgY2x1c3RlciBhdCBldmVyeSBrZXlmcmFtZSBvciB3aGVuIHdlIHdvdWxkIG92ZXJmbG93IHRoZSBwcmV2aW91cwoJICBjbHVzdGVyJ3MgcmVsYXRpdmUgdGltZXN0YW1wIGZpZWxkLiBUaGlzIHdvdWxkIGF2b2lkIGFzIG11Y2ggYXMgcG9zc2libGUKCSAgc3RhcnRpbmcgY2x1c3RlcnMgYXQgbm9uLWtleWZyYW1lcy4KCjIwMTAtMDYtMDkgMTI6NDA6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYWQxNDViIHRvIDczM2ZjYTkKCjIwMTAtMDYtMDkgMTI6MzQ6MDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NzY4M2MxIHRvIGZhZDE0NWIKCjIwMTAtMDYtMDkgMjA6NTM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IERvbid0IHJlcXVlc3QgbW9yZSBzaGFyZWQgbWVtb3J5IHRoYW4gbmVlZGVkCgoyMDEwLTA2LTA5IDIwOjQ1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkgIHN3aXRjaHNpbms6IFNldCB0aGUgR1NUX0VMRU1FTlRfSVNfU0lOSyBmbGFnIG9uIHRoZSBzaW5rCgoyMDEwLTA2LTA5IDIwOjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSAgZ2NvbmZ2aWRlb3Npbms6IFVzZSBHc3RTd2l0Y2hTaW5rIGFzIGJhc2UgY2xhc3MKCjIwMTAtMDYtMDkgMjA6MzA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkgIGdjb25mYXVkaW9zaW5rOiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMC0wNi0wOSAyMDoyOTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgIGdjb25mYXVkaW9zaW5rOiBSZW5hbWUgaW5zdGFuY2UgdmFyaWFibGUgdG8gYmUgbW9yZSBkZXNjcmlwdGl2ZQoKMjAxMC0wNi0wOSAyMDoyMjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgYXV0b3thdWRpbyx2aWRlb31zaW5rOiBEb24ndCBsb3NlIHRoZSBHU1RfRUxFTUVOVF9JU19TSU5LIGZsYWcgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGNoaWxkCgoyMDEwLTA2LTA5IDIwOjA3OjA5ICswMjAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogUGx1ZyBzb21lIG1lbWxlYWsgYW5kIHN1cHBvcnQgMjIwNTBIeiBtb25vIHNvdW5kLgoJICBTZWdtZW50IHNpemUgbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiB0aGUgc2FtcGxlIHNpemUgaW4gYnl0ZXMuCgoyMDEwLTA2LTA5IDE2OjIyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGbHVzaCBzaG0gYnVmZmVyIGltbWVkaWF0ZWx5IGlmIGl0J3MgZnVsbAoKMjAxMC0wNi0wOSAxNjoyMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4IHdyaXRpbmcgb2YgYnVmZmVycyBsYXJnZXIgdGhhbiBzZWdzaXplCgkgIEZpeGVzIGJ1ZyAjNjIwNTQwLgoKMjAxMC0wNi0wOSAxNTo0MjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4IHBsYXliYWNrIGlmIFBBIGRvZXNuJ3QgZ2l2ZSB1cyBhIGxhcmdlIGVub3VnaCBzaGFyZWQgbWVtb3J5IGJ1ZmZlcgoKMjAxMC0wNi0wOSAxNTo0MjoxOSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogY2hhbmdlIGluZGV4ZWQgcHJvcGVydHkgdG8gc3RyZWFtYWJsZQoJICBUaGUgcHJvcGVydHkgc3RyZWFtYWJsZSBoYXMgcmV2ZXJzZSBzZW1hbnRpY3MgdG8gaW5kZXhlZC4KCjIwMTAtMDYtMDkgMDk6MTM6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBSZW5hbWUgdW5yZWxlYXNlZCBwcm9wZXJ0eSAnaW5kZXhlZCcgdG8gJ3N0cmVhbWFibGUnCgkgIFJlbmFtZSAnaW5kZXhlZCcgdG8gJ3N0cmVhbWFibGUnIGZvciBhIGJldHRlciBuYW1lIHdoaWxlIGl0CgkgIGhhc24ndCBiZWVuIHJlbGVhc2VkCgoyMDEwLTA2LTA4IDE1OjIzOjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBsaWJvaWwgY2hlY2sKCjIwMTAtMDYtMDggMTQ6NDQ6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiByZW1vdmUgdW51c2VkIGxpYm9pbCBpbmNsdWRlCgoyMDEwLTA2LTA0IDE4OjIyOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDQgMTg6MjE6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLm9yYzoKCSAgdmlkZW9ib3g6IGxpYm9pbCB0byBvcmMgY29udmVyc2lvbgoKMjAxMC0wNi0wNCAxODoxNjoyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vUkVBRE1FOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IGxpYm9pbCB0byBvcmMgY29udmVyc2lvbgoKMjAxMC0wNi0wOCAxNjowNDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkgIGRlaW50ZXJsYWNlOiBvcmNpZnkgc29tZSBkZWludGVybGFjaW5nIG1ldGhvZHMKCjIwMTAtMDYtMDggMTY6MDM6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogY29udmVydCBmcm9tIGxpYm9pbCB0byBvcmMKCjIwMTAtMDYtMDggMTU6MjM6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIG9yYyBjaGVjawoKMjAxMC0wNi0wOCAxNDowOTowMCArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWRkIGluZGV4ZWQgcHJvcGVydHkgdG8gcmVwbGFjZSBkaXNhYmxlZCBpcy1saXZlLgoJICBBZGQgaW5kZXhlZCBwcm9wZXJ0eSB0byBiZSB0aGUgbmVnYXRpb24gb2Ygd2hhdCB0aGUgZGlzYWJsZWQgaXMtbGl2ZSBwcm9wZXJ0eQoJICB3YXMuIEZpeGVzIGJ1ZyAjNjEzMDY2LgoKMjAxMC0wNi0wOCAwOToyMjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJhdzEzOTQ6IFJlcXVpcmUgbGlicmF3MTM5NCA+PSAyLjAuMCBmb3IgcmF3MTM5NF9yZWFkX2N5Y2xlX3RpbWVyCgkgIEZpeGVzIGJ1ZyAjNjIwOTI5LgoKMjAxMC0wNi0wOCAwNzozNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGNtbWxlbmM6IFJlbW92ZSBoYWNrIHRvIGxldCBvZ2dtdXggc3RhcnQgYSBuZXcgcGFnZSBmb3IgZXZlcnkgQ01NTCBidWZmZXIKCSAgb2dnbXV4IGRvZXMgdGhpcyBmb3IgQ01NTCBieSBpdHMgb3duIG5vdwoKMjAxMC0wNi0wNyAxODozMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBoYW5kbGUgbm9uLVRJTUUgc2Vla3MKCSAgRG9uJ3Qgc2VuZCB0aGVtIHVwc3RyZWFtIGJlY2F1c2UgZm9yIHVwc3RyZWFtIGEgQllURVMgc2VlawoJICBtaWdodCBtYWtlIHNlbnNlIGJ1dCBpcyBjb21wbGV0ZWx5IHdyb25nIGJlY2F1c2UgdXBzdHJlYW0KCSAgY2FuJ3Qgc2VlayB0byBhIGJ5dGUgcG9zaXRpb24gb2YgdGhlIGF1ZGlvIG9yIHZpZGVvIHN0cmVhbS4KCSAgQWxzbyBkb24ndCBidWlsZCB0aGUgaW5kZXggaW4gcHVzaCBtb2RlIGZvciBub24tVElNRSBzZWVrcywKCSAgdGhpbmdzIHdpbGwgZ28gd3JvbmcgaGVyZSBvdGhlcndpc2UuCgoyMDEwLTA2LTA3IDExOjE1OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJICBkdG1mZGV0ZWN0OiBPbmx5IHdvcmtzIHdpdGggcmF0ZT04MDAwLCBmaXggaW4gY2FwcwoKMjAxMC0wNi0wMiAxOToxNjoyMCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgQ29wZSB3aXRoIHNob3J0IHN0YXJ0Y29kZXMgaW4gdGhlIGgyNjQgYnl0ZXN0cmVhbQoKMjAxMC0wNi0wNiAxNzoyNToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBsb2cgbWVzc2FnZSBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEwLTA2LTA2IDE4OjAwOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGV4dDogRG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMC0wNi0wNiAxNzo1NzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICBzeXM6IERvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTAtMDYtMDYgMTc6NTI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZ3N0OiBEb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEwLTA2LTA2IDE1OjEyOjE2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlZmFjdG9yIGRlbHRhIHVuaXQgaGFuZGxpbmcKCSAgVGhpcyBhbGxvd3MgdXMgdG8gc2tpcCBkZWx0YSB1bml0cyBlYXJsaWVyIGFuZCBpcyBhIGJpdCBjbGVhcmVyIGluIG15CgkgIG9waW5pb24uIEl0IGFsc28gbWFrZXMgb25seSB2aWRlbyBidWZmZXJzIGV2ZXIgYmUgZGVsdGEgdW5pdHMsIG5vdAoJICBqdXN0IGZvciBTaW1wbGVCbG9jayBhcyBiZWZvcmUuCgoyMDEwLTA2LTA2IDE1OjE3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IENsZWFyIGFkYXB0ZXIgb24gZGlzY29udGludWl0aWVzCgoyMDEwLTA2LTA2IDE0OjAzOjUzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IElnbm9yZSBrZXlmcmFtZSBmbGFnIGZvciBub24tdmlkZW8gc3RyZWFtcwoJICBXaGVuIHRoZSBrZXlmcmFtZSBiaXQgb2YgU2ltcGxlQmxvY2sgRmxhZ3Mgd2Fzbid0IHNldCwgdGhlIGJ1ZmZlciB3YXMgYmVpbmcKCSAgbWFya2VkIHdpdGggR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQsIGNhdXNpbmcgYWxsIGJ1ZmZlcnMgdG8gYmUgc2tpcHBlZAoJICBhZnRlciBhIHNlZWsuIFRoaXMgbWF5IGJlIGEgcHJvYmxlbSB3aXRoIHRoZSBTb3JlbnNvbiBTcXVpc2ggZW5jb2RlciwgYnV0CgkgIGFyZ3VhYmx5IHRoZSBrZXlmcmFtZSBiaXQgc2hvdWxkIG9ubHkgYmUgYXBwbGllZCB0byB2aWRlby4KCSAgRml4ZXMgYnVnICM2MjAzNTguCgoyMDEwLTA2LTA2IDE0OjU2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpcnN0IHRyeSB1cHN0cmVhbSB3aGVuIGhhbmRsaW5nIHNlZWsgZXZlbnRzL3F1ZXJpZXMKCjIwMTAtMDYtMDQgMTQ6NTQ6NTkgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGdzdHJ0cGNlbHRwYXk6IGRvbid0IGFsd2F5cyBmaXhhdGUgc2luayBjYXBzIHRvIDEgY2hhbm5lbAoJICBUaGUgZ2V0Y2FwcyBmdW5jdGlvbiBzaG91bGQgbm90IGZpeGF0ZSB0aGUgY2hhbm5lbHMgZmllbGQgdW50aWwgd2UKCSAgZ2V0IHRoZSBlbmNvZGluZy1wYXJhbXMgZmllbGQgZnJvbSBvdXIgc3JjcGFkJ3MgY2Fwcy4gRml4ZXMgIzYyMDU5MQoKMjAxMC0wNi0wNCAxMzo1NzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogdHJ5IGFsbCByYW5nZXMgZnJvbSB0aGUgc2RwCgkgIFRyeSBhbGwgcmFuZ2VzIGluIHRoZSBTRFAgYmVmb3JlIGdpdmluZyB1cC4KCjIwMTAtMDYtMDQgMTM6NTY6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2UgcGFyc2VfcmFuZ2UgcmV0dXJuIHJlc3VsdAoJICBNYWtlIHRoZSBwYXJzZV9yYW5nZSBmdW5jdGlvbiByZXR1cm4gaWYgdGhlIHBhcnNpbmcgc3VjY2VlZGVkIG9yIGZhaWxlZC4KCjIwMTAtMDYtMDQgMTE6NDQ6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGlmIHdlJ3JlIG5vdCBsaW5rZWQgZG93bnN0cmVhbSwgd2UgY2FuIGRvIGFueSBmb3JtYXQKCSAgU3R1cGlkIG1lLCBhc3N1bWluZyBfZ2V0X2FsbG93ZWRfY2FwcygpIHdvdWxkIGFjdHVhbGx5IHJldHVybiB0aGUKCSAgcGFkIHRlbXBsYXRlcyBpZiB0aGVyZSB3YXMgbm8gcGVlci4KCjIwMTAtMDUtMzEgMTY6MjY6MTkgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgS2VlcCBhbm5vdW5jaW5nIHRoZSBkZWxpdmVyeS1tZXRob2QgaW4gdGhlIGNhcGFiaWxpdGllcwoJICBFdmVuIHRob3VnaCB3ZSBkb24ndCB1c2UgZGVsaXZlcnktbWV0aG9kIGluIG91ciBwYXlsb2FkZXIsIG9sZGVyIHZlcnNpb25zIG9mCgkgIHRoZSB0aGVvcmEgcGF5bG9hZGVyIGluIGdzdHJlYW1lciByZXF1aXJlZCBpdC4gQXMgc3VjaCB3ZSBuZWVkIHRvIGtlZXAgdGhpcwoJICBhcm91bmQgaW4gdGhlIGNhcHMgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LgoJICBUaGlzIHJldmVydHMgcGFydCBvZiA0OTQ2M2EzN2NiYWE5NTJlMTQwMTI5MWYwYTI2MjNkZTZjYWIzODgwCgkgIEZpeGVzICM2MTg5NDAKCjIwMTAtMDYtMDMgMTc6NTI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBhZGQgc29tZSBjb21tZW50cyBmb3IgdHJhbnNsYXRvcnMgdG8gY2xhcmlmeSBtZWFuaW5nIG9mICJMb3ciCgkgICJMb3ciIGV0Yy4gYXJlIHF1YWxpdHkgc2V0dGluZ3MgaGVyZSAoZS5nLiBmb3IgdGhlIGludGVybmFsIHJlc2FtcGxlcikuCgkgIFNvbWUgZGF5IHdoZW4gd2UgdXNlIEdMaWIncyBpMThuIGZ1bmN0aW9ucyB3ZSBtaWdodCB3YW50IHRvIHVzZQoJICBOQ18oKSBhbmQgZ19kcGdldHRleHQyKCkgaGVyZSBpbnN0ZWFkIG9mIHRoZSBjb21tZW50cy4KCSAgRml4ZXMgIzU1NTk2Ny4KCjIwMTAtMDYtMDMgMTk6MjM6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICBtcDRnZGVwYXk6IGNhbGN1bGF0ZSB0aGUgZnJhbWUgZHVyYXRpb24gY29ycmVjdGx5CgkgIFdoZW4gd2UgY2FsY3VsYXRlIHRoZSBmcmFtZSBkdXJhdGlvbiwgd2UgbmVlZCB0byB1c2UgdGhlIGFtb3VudCBvZgoJICBmcmFtZXMgaW4gdGhlIF9wcmV2aW91c18gcGFja2V0LCBub3QgdGhlIGN1cnJlbnQgcGFja2V0LiBUaGUgZnJhbWUgZHVyYXRpb24gaXMKCSAgbmVlZGVkIHRvIGNvcnJlY3RseSBkZS1pbnRlcmxlYXZlIGludGVybGVhdmVkIHN0cmVhbXMuIFRoaXMgZml4ZXMgdGhlIGNhc2Ugd2hlcmUKCSAgdGhlcmUgYXJlIGEgdmFyaWFibGUgbnVtYmVyIG9mIGZyYW1lcyBpbiBhIHBhY2tldC4KCSAgRml4ZXMgIzYyMDQ5NAoKMjAxMC0wNi0wMyAxODo1ODo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgcmV0dXJuIGNhcHMgaW4gZ2V0X2NhcHMoKSB0aGF0IHdpbGwgYmUgcmVqZWN0ZWQKCSAgVGhpcyBjb21taXQgYmFzaWNhbGx5IHB1dHMgX2dldF9jYXBzKCkgaW4gc3luYyB3aXRoIGFjY2VwdF9jYXBzKCkuCgkgIElmIHdlIGRvbid0IGhhdmUgYSBtYXN0ZXIgcGFkIE9SIHRoZSBtYXN0ZXIgcGFkIGNhcHMgYXJlbid0IG5lZ290aWF0ZWQKCSAgdGhlbiB3ZSBqdXN0IHJldHVybiB0aGUgZG93bnN0cmVhbSBhbGxvd2VkIGNhcHMuCgkgIElmIHdlIGhhdmUgYSBtYXN0ZXIgcGFkIHdpdGggbmVnb3RpYXRlZCBjYXBzLCB3ZSByZXR1cm4gdGhvc2UgY2FwcwoJICB3aXRoIGEgZnJlZSByYW5nZSBvZiB3aWR0aC9oZWlnaHQvZnJhbWVyYXRlCgoyMDEwLTA2LTAzIDEzOjQ1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgUmV2ZXJ0ICJwdWxzZXNpbms6IEFkZCBjb21tZW50cyB0byByZW1vdmUgdGhlIHByb3ZpZGUtY2xvY2sgbWVzc2FnZSBwb3N0aW5nIG9uY2Ugd2UgZGVwZW5kIG9uIGJhc2UgMC4xMC4zMCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZjM3MDhmMzhhYTM4MzlhNmE2MjVjYTdkMWMxNjYxMDFjOWZiYjdmLgoJICBUaGUgYmFzZWF1ZGlvc2luayBjb21taXQgd2FzIHJldmVydGVkCgoyMDEwLTA2LTAzIDEwOjI3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBBZGQgY29tbWVudHMgdG8gcmVtb3ZlIHRoZSBwcm92aWRlLWNsb2NrIG1lc3NhZ2UgcG9zdGluZyBvbmNlIHdlIGRlcGVuZCBvbiBiYXNlIDAuMTAuMzAKCSAgYmFzZWF1ZGlvc2luayBkb2VzIGFsbCB0aGlzIGZvciB1cyBub3cuCgoyMDEwLTA1LTA3IDE4OjQyOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIHJ0cGR0bWZtdXggc3RyZWFtLWxvY2sgY29kZQoKMjAxMC0wNi0wMiAxNjozNjoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBkZWxheWVkIHNlZWsgaGFuZGxpbmcgYWxzbyBkZXNlcnZlcyBUUlVFIGV2ZW50IHJlc3BvbnNlCgoyMDEwLTA2LTAyIDE1OjMwOjQ3ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgdW51c2VkIHZhcmlhYmxlIOKAmGVzdGltYXRlZOKAmQoKMjAxMC0wNi0wMiAxNTowNDowMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb21tb246CgkgIGNvbW1vbjogcmV2ZXJ0IHRoZSBjaGFuZ2UgaSBkaWQgaW4gbXkgcHJldmlvdXMgY29tbWl0CgoyMDEwLTA2LTAyIDEzOjM5OjEwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc3RvcCBidWZmZXJpbmcgYW5kIGVtaXQgRU9TIGF0IHRoZSBlbmQgb2YgYSBzdHJlYW0KCSAgV2hlbiB1c2luZyBSVFBfSklUVEVSX0JVRkZFUl9NT0RFX0JVRkZFUiwgbWFrZSBzdXJlIHRoYXQgdGhlIHJpbmdidWZmZXIgZG9lc24ndAoJICBnZXQgc3R1Y2sgYnVmZmVyaW5nIGZvcmV2ZXIgd2hlbiB0aGVyZSBpc24ndCBlbm91Z2ggZGF0YSBsZWZ0IHRvIGZpbGwgdGhlCgkgIGJ1ZmZlci4KCjIwMTAtMDYtMDEgMjE6NTI6NTkgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSAgZGVidWd1dGlsczogRG9uJ3QgY29uc3VtZSBwcmVyb2xsIGJ1ZmZlciB0d2ljZQoKMjAxMC0wNi0wMSAyMTozMjoxMSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogU3R5bGUgZml4OiB1c2UgZ19zdHJkdXAoKSBpbnN0ZWFkIG9mIHByaW50ZigpaW5nIGEgc2ltcGxlIHN0cmluZwoKMjAxMC0wNS0yNyAxNjowNzozMSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSAgZGVidWd1dGlsczogUmVwbGFjZSBtZDUgaW1wbGVtZW50YXRpb24gd2l0aCBnbGliJ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTgyNAoKMjAxMC0wNS0yMiAxMTo1NTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNsZWFuIHVwIGNvZGUgZm9yIGF2aSBoZWFkZXIgdXNpbmcgYSBieXRld3JpdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTkyOTMKCjIwMTAtMDYtMDEgMTg6NTQ6NDEgLTA1MDAgIFBpZXJyZS1Mb3VpcyBCb3NzYXJ0IDxwaWVycmUtbG91aXMuYm9zc2FydEBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBvcHRpbWl6ZSBjb21tdW5pY2F0aW9uIHdpdGggUHVsc2VBdWRpbyB1c2luZyBwYV9zdHJlYW1fYmVnaW5fd3JpdGUKCjIwMTAtMDYtMDIgMTA6NTI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgcHJvdmlkZS1jbG9jayBtZXNzYWdlIG9uIHRoZSBidXMgaWYgdGhlIGNsb2NrIGFwcGVhcnMvZGlzYXBwZWFycwoJICBGaXhlcyBidWcgIzYyMDI3Ny4KCjIwMTAtMDYtMDEgMjM6NDk6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxN2Y4OWU1IHRvIDQ3NjgzYzEKCjIwMTAtMDYtMDEgMjI6NTQ6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjZGZmMGZiIHRvIDE3Zjg5ZTUKCjIwMTAtMDYtMDEgMjA6NDU6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpbHRlciBjYXBzIHJldHVybmVkIGZyb20gZG93bnN0cmVhbSB3aXRoIG91ciBwYWQgdGVtcGxhdGUuCgoyMDEwLTA2LTAxIDE2OjU2OjMyICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogUmVtb3ZlIG1vcmUgdW5uZWVkZWQgd2FybmluZ3MKCjIwMTAtMDYtMDEgMTY6NTQ6MDMgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIHVubmVlZGVkIHdhcm5pbmcKCjIwMTAtMDYtMDEgMTY6NDk6MTQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIHVubmVlZGVkIGRlYnVnIHN0YXRlbWVudAoKMjAxMC0wNi0wMSAxNjoyNDo1MyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogY2hhbmdlIGlzLWxpdmUgcHJvcGVydHkgdG8gaW5kZXhlZAoKMjAxMC0wNS0yMyAxMzo1NjoxNiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiB1c2UgdGhlIHVpbnQ2NCBzY2FsaW5nIGZ1bmN0aW9ucwoJICBJbiBkZW11eGVyIGFuZCBtdXhlciB1c2UgdGhlIGdzdF91dGlsX3VpbnQ2NCBzY2FsaW5nIGZ1bmN0aW9ucyByYXRoZXIgdGhhbgoJICBzdGFuZGFyZCBpbnRlZ2VyIGRpdmlzaW9uLiBBZGQgd2FybmluZ3MgKHRvIGJlIGNoYW5nZWQgdG8gZGVidWcpIGZvciBkZWJ1Z2dpbmcKCSAgdGhlIHRpbWVzdGFtcCBhbmQgZHVyYXRpb24uCgoyMDEwLTA1LTIxIDE0OjM1OjM0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc2V0IGRlbHRhIHVuaXQgb24gYWxsIGJ1ZmZlcnMgZXhjZXB0IGNsdXN0ZXIgc3RhcnQgb25lcwoKMjAxMC0wNS0yMSAxMzozODoxMSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0b3JlIGNhcHMgYW5kIHNldCBvbiBidWZmZXJzIHJhdGhlciB0aGFuIHVzaW5nIHBhZCBjYXBzCgoyMDEwLTA1LTIxIDEzOjI1OjI0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBzdXJlIHBhZHMgY2FwcyBhcmUgc2V0IGJlZm9yZSBhbnkgYnVmZmVycyBwdXNoZWQuCgoyMDEwLTA1LTIxIDEzOjE0OjA0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRkIHN0cmVhbWhlYWRlcnMKCjIwMTAtMDUtMjEgMTI6MjM6MDggKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBubyBuZWVkIHRvIHNldCBjYWNoZSB0d2ljZQoKMjAxMC0wNS0yMSAwMTo1OTo1MyArMDIwMCAgWGF2aWVyIFF1ZXJhbHQgPHhxdWVyYWx0QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRG8gbm90IGNyZWF0ZSBhIFNlZWtIZWFkZXIsIEN1ZXMsIC4uIHdoZW4gZG9pbmcgbGl2ZQoKMjAxMC0wNS0yMCAyMzozOTo1OSArMDIwMCAgWGF2aWVyIFF1ZXJhbHQgPHhxdWVyYWx0QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBBZGQgaXMtbGl2ZSBwcm9wZXJ0eQoKMjAxMC0wNi0wMSAxMzoyMjoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB2YXJpYWJsZSBpbml0CgoyMDEwLTA1LTI4IDE2OjM3OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIHJldmVyc2UgcGxheWJhY2sKCSAgU2xpZ2h0bHkgbW9kaWZ5IGFwcHJvYWNoIHRvIGFsc28gaGFuZGxlIGNhc2VzIHdoZXJlIGN1ZSBlbnRyaWVzIGRvIG5vdCByZWxpYWJseQoJICBsZWFkIHRvIGluaXRpYWwga2V5ZnJhbWVzLgoJICBGaXhlcyAjNjE5ODE3LgoKMjAxMC0wNS0yNCAxNjowMjo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBhdm9pZCBndGstZG9jIGNvbmZ1c2luZyBjb21tZW50cwoKMjAxMC0wNS0yMSAxMToyMTo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkanVzdCB1bml0IHRlc3QgdG8gbW9kaWZpZWQgYmVoYXZpb3VyCgoyMDEwLTA1LTIwIDE0OjMzOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSB3cml0ZSBjYWNoaW5nIGFsc28gd2hlbiB3cml0aW5nIGJ1ZmZlciBkYXRhCgkgIFNwZWNpZmljYWxseSwgdGhpcyByZWR1Y2VzIHB1c2hpbmcgc2V2ZXJhbCBzbWFsbCBidWZmZXJzIGZvciBlYWNoCgkgIGRhdGEgYnVmZmVyIGFuZCBhbHNvIGF2b2lkcyBhIHNlZWsgZm9yIGVhY2ggYnVmZmVyIGFsdG9nZXRoZXIKCSAgKHRob3VnaCBhIHNlZWsgaXMgc3RpbGwgbmVlZGVkIGZvciBlYWNoIGNsdXN0ZXIpLgoJICBGaXhlcyAjNjE5MjczLgoKMjAxMC0wNS0yMCAxNDoyMzowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggZWJtbCB3cml0ZSBjYWNoaW5nIHdpdGggYnl0ZXdyaXRlciBpbXBsZW1lbnRhdGlvbgoJICBBbHNvIGNhY2hlIGEgYml0IG1vcmUgZHVyaW5nIGhlYWRlciB3cml0aW5nLgoJICBGaXhlcyAjNjE5MjczLgoKMjAxMC0wNS0yMCAxNDowODo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogdXNlIGNvbnNpc3RlbnQgZGVidWcgY2F0ZWdvcnkgbmFtZSBmb3IgZWJtbHdyaXRlCgoyMDEwLTA1LTE4IDE0OjQ0OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHVzZSBieXRlcmVhZGVyIGJhc2VkIEdzdEVibWxSZWFkIGFzIGEgaGVscGVyCgkgIC4uLiByYXRoZXIgdGhhbiBiYXNpbmcgb24gaXQgYnkgaW5oZXJpdGFuY2UuCgkgIEFsc28gdXNlIG1vcmUgY29tbW9uIGNvZGUgZm9yIHB1c2ggYW5kIHB1bGwgbW9kZS4KCSAgRml4ZXMgIzYxOTE5OC4KCSAgRml4ZXMgIzYxMTExNy4KCjIwMTAtMDYtMDEgMTU6NDc6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogX2dldF9wYWRfdGVtcGxhdGUgcmVzdWx0IG5lZWRzIG5vIHVucmVmCgoyMDEwLTA1LTE4IDE5OjQyOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogU3VwcG9ydCA4IGJpdCBncmF5c2NhbGUKCSAgQWRkcyBzdXBwb3J0IHRvIDggYml0IGdyYXlzY2FsZSBpbnB1dAoKMjAxMC0wNS0xOCAxNDo0Njo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEFkZHMgOGJpdCBncmF5c2NhbGUgc3VwcG9ydAoJICBBZGRzIGRlY29kaW5nIHN1cHBvcnQgZm9yIGpwZWcgaW1hZ2VzIGluIDggYml0IGdyYXlzY2FsZSBmb3JtYXQuCgoyMDEwLTA1LTE4IDAxOjU3OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogQWNjZXB0IGdyYXlzY2FsZSBhcyBpbnB1dAoJICBBZGRzIHZpZGVvL3gtcmF3LWdyYXlzY2FsZSAoOCBiaXQpIHN1cHBvcnQgdG8ganBlZ2VuYwoKMjAxMC0wNS0zMSAxMzozMDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogSW1wbGVtZW50IHNpbmtwYWQgR2V0Q2Fwc0Z1bmN0aW9uLgoJICBUaGlzIGFsbG93cyByZXR1cm5pbmcgb25seSB0aGUgZm9ybWF0cywgd2lkdGgsIGhlaWdodCwgZnJhbWVyYXRlCgkgIGFuZCBwaXhlbC1hc3BlY3QtcmF0aW8gdGhhdCBkb3duc3RyZWFtIGNhbiBzdXBwb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMTQ4CgoyMDEwLTA1LTMxIDA3OjQ5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBjb21wYXJlIHJ1bm5pbmcgdGltZXMgd2l0aCBzdHJlYW0gdGltZXMgd2hlbiBkb2luZyBRb1MKCjIwMTAtMDUtMjcgMjE6MDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogRG9uJ3QgcmVjb25maWd1cmUgdGhlIGNhcHMgd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzCgkgIEZpeGVzIGJ1ZyAjNjE5ODQ4LgoKMjAxMC0wNS0yNiAxMzoxMzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBBZGQgcHJvcGVydHkgdG8gYWxsb3cgcGFzc3Rocm91Z2ggbW9kZQoJICBUaGlzIHBhc3N0aHJvdWdoIG1vZGUgaXMgdXNlZCBpZiB0aGUgYWxwaGEgbWV0aG9kIGlzICJzZXQiCgkgIGFuZCB0aGUgYWxwaGEgdmFsdWUgaXMgMS4wLgoJICBGaXhlcyBidWcgIzYxNzUxMi4KCjIwMTAtMDUtMjUgMTU6MTY6MDYgKzEwMDAgIEFsZXhhbmRlciBLb2pldm5pa292IDxhbGV4YW5kZXJAa29qZXZuaWtvdi5jb20+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHN1cHBvcnQgMjQtYml0IHdpZHRoCgkgIEZpeGVzICM2MTkwNDUKCjIwMTAtMDUtMjQgMjE6NTA6NTggKzEwMDAgIEFsZXhhbmRlciBLb2pldm5pa292IDxhbGV4YW5kZXJAa29qZXZuaWtvdi5jb20+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHN1cHBvcnQgYXJiaXRyYXJ5IGJpdCBkZXB0aAoJICBQYXJ0aWFsbHkgZml4ZXMgIzYxOTA0NQoKMjAxMC0wNS0yNSAwNTozNjo0NiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggZGVhZGxvY2sgaW50cm9kdWNlZCBieSB2aWRlbyBrZXlmcmFtZSBRb1MKCjIwMTAtMDUtMjMgMDk6MzI6MDggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IHNraXAgYnVmZmVycyBiZWZvcmUgYSBsYXRlIGtleWZyYW1lIChRb1MpCgkgIEJlZm9yZSwgdnA4ZGVjIGhhZCBubyBvcHRpb24gYnV0IHRvIGRlY29kZSBhbGwgZnJhbWVzIGV2ZW4gaWYgc29tZS9hbGwKCSAgb2YgdGhlbSB3b3VsZCBiZSBsYXRlLiBXaXRoIHRoaXMgY2hhbmdlLCBwZXJmb3JtYW5jZSB3aGVuIGtleWZyYW1lcyBhcmUKCSAgZnJlcXVlbnQgaXMgaGVscGVkIGEgZ3JlYXQgZGVhbC4gT24gbXkgVGhpbmtwYWQgWDYwcywgZGVjb2RpbmcgYSAyMCBzCgkgIDEwODBwIHN1bmZsb3dlciBlbmNvZGUgd2l0aCBrZXlmcmFtZXMgZXZlcnkgMTAgZnJhbWVzIHdlbnQgZnJvbSB0YWtpbmcKCSAgNDIgcyB3aXRoIDUgZnJhbWVzIHNob3duIHRvIDIxIHMgd2l0aCAxNSBmcmFtZXMgc2hvd24gKHN0aWxsIHNsb3cKCSAgZW5vdWdoIHRvIGNvdW50IGJ5IGhhbmQpLiBXaGVuIGtleWZyYW1lcyBhcmUgbW9yZSBzcGFyc2UsIHlvdSB3aWxsCgkgIHN0aWxsIGJlIGFibGUgdG8gY2F0Y2ggdXAgZXZlbnR1YWxseSwgYnV0IHRoZSByZXN1bHRzIHdvbid0IGJlIGFzCgkgIG5vdGljYWJsZS4KCjIwMTAtMDUtMTQgMTc6NTc6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJwYWQuaDoKCSAgdmlkZW9taXhlcjogRG9uJ3QgbWl4IGlucHV0IHdpdGggZGlmZmVyZW50IHBpeGVsIGFzcGVjdCByYXRpb3MKCSAgRml4ZXMgYnVnICM2MTg1MzAuCgoyMDEwLTA1LTE3IDE5OjU0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogQWRkIE1NWC8zRE5vdyBpbXBsZW1lbnRhdGlvbnMgb2YgZ3JlZWR5aCBmb3IgVVlWWQoKMjAxMC0wNS0xNyAxOToxNjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBVWVZZIGltcGxlbWVudGF0aW9uIG9mIGdyZWVkeWggdG8gYmUgYWN0dWFsbHkgdXNlZAoKMjAxMC0wNS0xMSAxMTo0MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgIGdka3BpeGJ1ZjogQWRkIGEgZ2RrcGl4YnVmMyBwbHVnaW4gdGhhdCB1c2VzIGdka3BpeGJ1ZjMKCjIwMTAtMDYtMDEgMTA6MDY6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmg6CgkgIHdpbjMyOiBhZGQgbW9yZSBnZW5lcmF0ZWQgbWFyc2hhbCBhbmQgZW51bXR5cGUgZmlsZXMgdG8gd2luMzItdXBkYXRlCgoyMDEwLTA2LTAxIDA5OjI3OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBSZXZlcnQgIm1hdHJvc2thOiBhZGQgdGVtcG9yYXJ5IHdlYm0gdHlwZWZpbmRlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMTQ4ZWMwYWQyMDUzYWJiMGMzOGZjNjgxYTg5NTMyOTI5ODUzODhmLgoJICBXZSBkZXBlbmQgb24gLWJhc2UgZ2l0IG5vdywgd2hpY2ggaGFzIGEgd2VibSB0eXBlZmluZGVyIGluIHRoZSB1c3VhbAoJICBwbGFjZS4KCjIwMTAtMDYtMDEgMDk6MjY6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBSZXZlcnQgImF2aW11eCwgZmx2bXV4LCBtYXRyb3NrYW11eDogZG9uJ3QgY3Jhc2ggaWYgdGFncyBhcnJpdmUgb24gbXVsdGlwbGUgaW5wdXQgcGFkcyBhdCB0aGUgc2FtZSB0aW1lIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZhOTk4M2NkMjBjNDhiOTYzOTYyMjliM2Y5NGQwMjU0YTA1ZGRmNDguCgkgIFJlbHkgb24gbG9ja2luZyBkb25lIGluIEdzdFRhZ1NldHRlciBpbiBjb3JlIGdpdC4KCjIwMTAtMDYtMDEgMDk6MjM6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgY29yZS9iYXNlIGdpdAoJICBGb3IgV2ViTSB0eXBlZmluZGluZyBhbmQgR3N0VGFnc2V0dGVyIGZpeGVzLgoKMjAxMC0wNi0wMSAwOToxNzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjMgPT09CgoyMDEwLTA1LTMwIDE0OjAzOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMwoKMjAxMC0wNS0zMCAxNDowMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTA1LTI5IDEwOjIzOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCBwb3NpdGlvbiBxdWVyeQoKMjAxMC0wNS0yOCAxNToxNDowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgZG9jczogcmVtb3ZlIHVubmVjZXNzYXJ5IHZpZGVvcmF0ZSBlbGVtZW50IGZyb20gd2VibW11eCBleGFtcGxlIHBpcGVsaW5lCgoyMDEwLTA1LTI4IDEwOjQzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogS2VlcCB2YXJpYWJsZXMgaW4gc2FuZSBzdGF0ZSBhZnRlciBfcmVzZXQKCSAgV2hlbiByZXNldGluZywga2VlcCAncm93JyB2YXJpYWJsZXMgYXQgYSBzYW5lIHN0YXRlIGFmdGVyCgkgIGZyZWVpbmcgdG8gYXZvaWQgaXQgYmVpbmcgZnJlZWQgYWdhaW4gb24gX3Jlc3luYyByZWFsbG9jCgkgIHdoZW4gdGhlIGVsZW1lbnQgaXMgcmV1c2VkLgoJICBGaXhlcyAjNjE5OTQzCgoyMDEwLTA1LTI3IDE4OjA4OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IGZsb2F0aW5nIHBvaW50IHRvIGludGVnZXIgY29udmVyc2lvbiBmb3IgdGhlIGFscGhhIHZhbHVlcwoJICBGaXhlcyBidWcgIzYxOTgzNS4KCjIwMTAtMDUtMjYgMDg6NTQ6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjIuMyBwcmUtcmVsZWFzZQoKMjAxMC0wNS0yNiAwMDozMzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNS0yNSAxNTozNDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGhhbmRsZSB0cnVuY2F0ZWQgaW5wdXQgZGF0YSBhdCBFT1MgaW4gcHVsbCBtb2RlCgkgIEZpeGVzICM2MTc3MzMuCgoyMDEwLTA1LTI2IDExOjU1OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU3YjBkYiB0byBmZDdjYTA0CgoyMDEwLTA1LTI1IDIxOjE0OjA1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJvdW5kIHRpbWVzdGFtcCB1cCB3aGVuIHNjYWxpbmcgdG8gbW92IGZvcm1hdAoJICBGaXggdGltZXN0YW1wIHJvdW5kaW5nIHRvIGFsbG93IHRoZSBjb3JyZWN0IGluZGV4IHRvIGJlIGxvY2F0ZWQuCgkgIFRoZSBpc3N1ZSB3YXMgdGhhdCBzY2FsaW5nIGZyb20gR1N0cmVhbWVyIHRpbWUgZm9ybWF0IHRvIG1vdiB0aW1lIGZvcm1hdCB3YXMKCSAgcm91bmRpbmcgZG93biBjYXVzaW5nIHRoZSB0aW1lc3RhbXAgb2YgdGhlIG5ld3NlZ21lbnQgZXZlbnQgcmVjZWl2ZWQgYWZ0ZXIgYQoJICBmbHVzaGluZyBrZXlmcmFtZSBzZWVrIHRvIGZpbmQgdGhlIHNhbXBsZSBpbmRleCBiZWZvcmUgdGhlIG9uZSBpdCBzaG91bGQKCSAgY2F1c2luZyBmdXJ0aGVyIGJhY2t3YXJkIHNlZWtpbmcgdG8gdGhlIGtleWZyYW1lIHByaW9yIHVudGlsIG5vIHJvdW5kaW5nIGVycm9yCgkgIG9jY3VycmVkLgoJICBSb3VuZGluZyB1cCB3aGVuIHNjYWxpbmcgdG8gbW92IGZvcm1hdCBoYXMgdGhlIGRlc2lyZWQgZWZmZWN0LCBhbmQgaXQgaXMKCSAgbm90IGNsZWFyIHdoZXRoZXIganVzdCB0aGUgX3JvdW5kICgpIHZhcmlhbnQgd291bGQgYmUgc3VmZmljaWVudC4KCSAgRml4ZXMgYnVnICM2MTkxMDUKCjIwMTAtMDUtMjQgMTc6MjY6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBhdmltdXgsIGZsdm11eCwgbWF0cm9za2FtdXg6IGRvbid0IGNyYXNoIGlmIHRhZ3MgYXJyaXZlIG9uIG11bHRpcGxlIGlucHV0IHBhZHMgYXQgdGhlIHNhbWUgdGltZQoJICBUaGlzIGlzIGEgdGVtcG9yYXJ5IGZpeCBmb3IgdGhlIHJlbGVhc2Ugb25seS4KCSAgRml4ZXMgIzYxOTUzMy4KCjIwMTAtMDUtMjUgMTc6MDU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYTogcmVtb3ZlIGRlbGl2ZXJ5LW1ldGhvZCBmcm9tIGNhcHMKCSAgV2UgY2FuIGFjY2VwdCBhbGwgZGVsaXZlcnkgbWV0aG9kcyBzbyBkb24ndCBhZHZlcnRpc2UgYW55dGhpbmcgb24gdGhlIGNhcHMgb3IKCSAgcGFyc2UgYW55dGhpbmcsIHdlIHdpbGwgaGFuZGxlIHdoYXRldmVyIHdlIHJlY2VpdmUuCgkgIEZpeGVzICM2MTg5NDAKCjIwMTAtMDUtMjUgMTU6NDA6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thOiBhZGQgdGVtcG9yYXJ5IHdlYm0gdHlwZWZpbmRlcgoJICBBZGQgd2VibSB0eXBlZmluZGVyIGp1c3QgZm9yIHRoZSByZWxlYXNlLCBzbyB3ZWJtIHdvcmtzIGZvcgoJICBwZW9wbGUgd2hvc2UgZGlzdHJvcyBkb24ndCBwYXRjaCBnc3QtcGx1Z2lucy1iYXNlIGFzIHdlbGwuCgkgIFdlJ2xsIHJlbW92ZSB0aGlzIGFnYWluIGFmdGVyIHRoZSByZWxlYXNlLgoKMjAxMC0wNS0yMyAxMToxNzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgZG9jczogYWRkIHNvbWUgcGlwZWxpbmUgZXhhbXBsZXMgdG8gd2VibW11eCBkb2NzCgoyMDEwLTA1LTIxIDEyOjI3OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiBhZGQgd2VibW11eCB0byBkb2NzCgoyMDEwLTA1LTIxIDEzOjAxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggdXAgcGx1Z2luIGFuZCBlbGVtZW50IGRlc2NyaXB0aW9ucyBhIGJpdAoKMjAxMC0wNS0yMSAxMjo0NzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5oOgoJICBtYXRyb3NrYTogbW92ZSB3ZWJtbXV4IGludG8gb3duIHNvdXJjZSBmaWxlcwoJICBNYWtlcyB0aGluZ3MgZWFzaWVyIGZvciBndGstZG9jLgoKMjAxMC0wNS0yMSAxMjoyNjowNSArMDUwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMTAtMDUtMjAgMjA6MDE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBSZW1vdmUgdGhlIGRvY3R5cGUgZW51bSwgaXQncyBub3QgbmVlZGVkIGFueW1vcmUKCjIwMTAtMDUtMjAgMTk6NTc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIHdlYm1tdXg6IEFkZCBuZXcgd2VibW11eCBlbGVtZW50IHRoYXQgb25seSBzdXBwb3J0cyBtdXhpbmcgb2YgV2ViTQoJICAuLi5hbmQgcmVtb3ZlIHRoZSBkb2N0eXBlIHByb3BlcnR5IGZyb20gbWF0cm9za2FtdXggYWdhaW4uCgoyMDEwLTA1LTIwIDE3OjMxOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1bml0IHRlc3QgY2hlY2tzIHZlcnNpb24gMSBmaWxlcwoKMjAxMC0wNS0xOCAxNToyNzowNiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IGZpeCBsYXRlbmN5IHF1ZXJ5CgkgIFNwZWV4IHNob3VsZCByZXBvcnQgMzAgbXMgbGF0ZW5jeSBmb3IgbmFycm93YmFuZCBtb2RlLCAzNCBvdGhlcndpc2UuCgkgIEZpeGVzICM2MTkwMTgKCjIwMTAtMDUtMTggMjE6MDQ6MzIgKzA4MDAgIFBoaWxpcCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIGVibWxyZWFkOiBybSBmbG9hdGNhc3QuaCBpbmNsdWRlIChub3QgdXNlZCkKCjIwMTAtMDUtMTcgMDU6MzY6MDAgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBidW1wIGRlZmF1bHQgZG9jdHlwZSB2ZXJzaW9uIHRvIDIKCSAgSW4gdGhpcyBkYXkgYW5kIGFnZSB0aGlzIHNob3VsZCBiZSBzYWZlLiBUaGVyZSdzIG90aGVyd2lzZSBhIHJpc2sgcGVvcGxlCgkgIHdpbGwgYmUgY3JlYXRpbmcgdW5uZWNjZXNzYXJpbHkgYmlnIFdlYk0gZmlsZXMgYXMgdGhleSBjYW4ndCB1c2UKCSAgU2ltcGxlQmxvY2sgaW4gdjEuCgoyMDEwLTA1LTE3IDA1OjI3OjQ0ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGhhbmRsZSBtYXRyb3NrYSBhbmQgd2VibSBkb2N0eXBlIHZlcnNpb25zIGVxdWFsbHkKCSAgVGhlIG9yaWdpbmFsIHBsYW4gd2FzIHRvIGxldCBXZWJNIHYxIGJlIHRoZSBzYW1lIGFzIE1hdHJvc2thIHYyICh3aXRoCgkgIGV4dHJhIGNvbnN0cmFpbnRzKSwgYnV0IGZvciBzaW1wbGljaXR5IGl0IHdhcyBkZWNpZGVkIHRvIGhhbmRsZSB0aGUKCSAgdmVyc2lvbnMgZXF1YWxseSwgc3VjaCB0aGF0IGUuZy4gU2ltcGxlQmxvY2sgaXMgb25seSBhbGxvd2VkIGluIFdlYk0gdjIuCgoyMDEwLTA1LTEzIDEyOjEwOjU0ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFZlcmlmeSBsYWNlIHNpemUgaW4gX3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2sKCSAgRmFpbHVyZSB0byBkbyB0aGlzIGZvciBjb3JydXB0IGlucHV0IGNhbiBjYXVzZSBhIHN1YmJ1ZmZlciBiaWdnZXIKCSAgdGhhbiB0aGUgYWN0dWFsIGJ1ZmZlciB0byBiZSBjcmVhdGVkLCBxdWlja2x5IGxlYWRpbmcgdG8gc2VnZmF1bHQuCgkgIFRlc3QgY2FzZToKCSAgYnVnX3MyMjIwMDU3NTFfcjAuMDAxX19fX21lbWNweS53ZWJtCgoyMDEwLTA1LTEzIDEwOjIzOjEwICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGVibWw6IGNydWRlIGhhY2sgdG8gYXZvaWQgY3Jhc2hpbmcgb24gdW5leHBlY3RlZCBtZXRhZGF0YQoJICBUaGUgY29tbWVudCBzYXlzIHRoaXMgY2Fubm90IGhhcHBlbiwgYnV0IGl0IGRpZCBhbmQgSSBkb24ndCBrbm93CgkgIHdoeS4gVGhpcyBpcyBub3QgdGhlIGNvcnJlY3QgZml4LCBuZWVkcyBpbnZlc3RpZ2F0aW9uLiBUZXN0IGNhc2U6CgkgIGJ1Z19zNTU1MDEwMDk0X3IwLjAwMDU6MC4wMDhfX19fSUFfX2dfYXNzZXJ0aW9uX21lc3NhZ2VfZXhwci53ZWJtCgoyMDEwLTA1LTEzIDA5OjE4OjU2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1sOiBkb24ndCBtb2RpZnkgb3V0IHN0ciBpZiByZXR1cm5pbmcgYW4gZXJyb3IgaW4gX3JlYWRfYXNjaWkKCSAgVGhpcyBpcyBhIHJlZ3Jlc3Npb24gZnJvbSBBU0NJSSB2YWxpZGF0aW9uIGNoYW5nZXMuIFRlc3QgY2FzZToKCSAgYnVnX3M2Njg3NjM5MF9yMC4wMDFfX19fbWFsbG9jX3ByaW50ZXJyLndlYm0KCjIwMTAtMDUtMTIgMTM6MTY6MjggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIGVibWw6IFZhbGlkYXRlIDctYml0IEFTQ0lJIGluIGdzdF9lYm1sX3JlYWRfYXNjaWkKCSAgVGhpcyB3YXMgdHJpZ2dlcmluZyBhbiBVVEYtOCBhc3NlcnRpb24gaW4gZ3N0X2NhcHNfc2V0X3NpbXBsZSBmb3IKCSAgY29ycnVwdCBmaWxlcyB3aXRoIGdhcmJhZ2UgYXMgY29kZWMgaWQuIFRlc3QgY2FzZToKCSAgZ3N0cmVhbWVyX2Vycm9yX3RyeWluZ190b19zZXRfaW52YWxpZF91dGY4X2FzX2NvZGVjX2lkLndlYm0KCSAgT2xkIGdzdF9lYm1sX3JlYWRfYXNjaWkgcmVuYW1lZCB0byBnc3RfZWJtbF9yZWFkX3N0cmluZywgYWxzbyB1c2VkIGJ5CgkgIGdzdF9lYm1sX3JlYWRfdXRmOC4gVW5saWtlIGZvciBVVEYtOCwgZmFpbHVyZSB0byB2YWxpZGF0ZSBpcyBhbiBlcnJvciwKCSAgYXMgZ3N0X2VibWxfcmVhZF9hc2NpaSBpcyB1c2VkIGZvciByZWFkaW5nIGRvY3R5cGUgYW5kIGNvZGVjIGlkIGFuZCB3ZQoJICBtaWdodCBqdXN0IGFzIHdlbGwgZ2l2ZSB1cCBlYXJseSBpbiB0aG9zZSBjYXNlcy4KCjIwMTAtMDUtMTIgMTQ6MzA6MTggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSWdub3JlIHVuZXhwZWN0ZWQgQ29kZWNTdGF0ZQoJICBCZWNhdXNlIEdzdE1hdHJvc2thVHJhY2tDb250ZXh0ICpzdHJlYW0gaXMgc2V0IHVwIGluIHRoZSBmaXJzdAoJICBTaW1wbGVCbG9jayBvciBCbG9jaywgYSByb2d1ZSBDb2RlY1N0YXRlIG90aGVyd2lzZSBjYXVzZXMgYSBzZWdmYXVsdCBvbgoJICBkZXJlZmVuY2luZyB0aGUgTlVMTCBwb2ludGVyLiBUZXN0IGNhc2U6CgkgIGJ1Z19zNTUwNjE2N19yMC4wMDFfX19fZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2sud2VibQoKMjAxMC0wNS0xMCAwNjowMDo0OSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgdmlkZW8vd2VibSBzaW5rIGNhcHMKCjIwMTAtMDUtMDkgMTk6NDY6NTEgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwQGZvb2xpcC5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgU2ltcGxlQmxvY2sgZm9yIFdlYk0gd2hlbiBwb3NzaWJsZQoKMjAxMC0wNS0wOSAxOToyODo1OSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTdXBwb3J0ICJ3ZWJtIiBEb2NUeXBlCgoyMDEwLTA1LTA5IDEyOjM1OjEwICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiByZW5hbWUgbWF0cm9za2FfdmVyc2lvbiB0byBkb2N0eXBlX3ZlcnNpb24KCjIwMTAtMDUtMDkgMTI6MDk6NTcgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwQGZvb2xpcC5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBTdXBwb3J0ICJ3ZWJtIiBEb2NUeXBlCgoyMDEwLTA1LTEyIDE4OjM4OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIFZQOAoKMjAxMC0wNC0yNyAxNToyNjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgT24yIFZQOAoJICAuLi5tYXRyb3NrYWRlbXV4IGF1dG9tYXRpY2FsbHkgc3VwcG9ydHMgaXQgdGhyb3VnaCBsaWJnc3RyaWZmLgoKMjAxMC0wNC0yNyAxNToyNTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEFkZCBzdXBwb3J0IGZvciBPbjIgVlA4CgkgIC4uLmF2aWRlbXV4IGF1dG9tYXRpY2FsbHkgc3VwcG9ydHMgaXQgdGhyb3VnaCBsaWJnc3RyaWZmLgoKMjAxMC0wNS0xNyAxNzoxNzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogRG9uJ3QgbG9jayB0aGUgbWFpbmxvb3AgaW4gTlVMTAoKMjAxMC0wNS0xNSAyMToxNTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlID0gaW5zdGVhZCBvZiA9PSBpbiBzaGVsbCBzY3JpcHRzIGZvciBlcXVhbGl0eSBjaGVja3MKCjIwMTAtMDUtMTQgMTg6MzM6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjIuMiBwcmUtcmVsZWFzZQoKMjAxMC0wNS0xNCAxODoyNDoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRkNjdiZDYgdG8gMzU3YjBkYgoKMjAxMC0wNS0xNCAxODoxNjo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogZml4IGxlYWsgaW4gc291cGh0dHBzcmMgdW5pdCB0ZXN0CgkgIFVucmVmIHNlcnZlciBvYmplY3RzIHdoZW4gZG9uZS4gRml4ZXMgY2hlY2stdmFsZ3JpbmQuCgoyMDEwLTA1LTE0IDE3OjMwOjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZml4IHR3byBsZWFrcwoJICBEb24ndCBsZWFrIG90aGVyY2FwcyBvciBqcGVnZW5jIHJlZi4KCjIwMTAtMDUtMTMgMTM6MDE6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggZG9jcwoJICBEb2N1bWVudGF0aW9uIGVycm9yIHNwb3R0ZWQgYnkgdG9ueSA8Y2FpY2FpMDExOSBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MTg0MTkKCjIwMTAtMDUtMTEgMTM6MTg6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IG1ha2UgZGVsaXZlcnktbWV0aG9kIHBhcmFtZXRlciBvcHRpb25hbAoJICBJdCBwcm9iYWJseSB3aWxsIG5vdCBiZSBpbiB0aGUgZmluYWwgUkZDIGFzIGl0IGlzIG5vdCBpbiBSRkMgNTIxNSBmb3IgVm9yYmlzLgoJICBJZiB0aGVyZSBpcyBhIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkLCBhc3N1bWUgaXQgaXMgaW4tbGluZSBhbmQgaWYgbm90aGluZyBpcwoJICBzcGVjaWZpZWQsIGFzc3VtZSBpdCBpcyBpbi1iYW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4Mzg2CgoyMDEwLTA1LTEzIDEyOjE2OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBpbmNyZWFzZSBhY2NlcHRhYmxlIG91dHB1dCBzaXplcwoJICBXZSBjYW4gcGVyZmVjdGx5IGRlY29kZSAxeDEgaW1hZ2VzIHNvIGxvd2VyIHRoZSBtaW4gd2lkdGggYW5kIGhlaWdodCB0byAxLgoJICBGaXhlcyAjNjE4MzkyCgoyMDEwLTA1LTEzIDExOjMwOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGNlbHRwYXk6IGZpeCBxdWV1ZSBkdXJhdGlvbiBjYWxjdWxhdGlvbnMKCSAgRG9uJ3QgYmxpbmRseSBhZGQgdGhlIGR1cmF0aW9ucyBvZiBpbmNvbW1pbmcgYnVmZmVycyB0byB0aGUgdG90YWwgcXVldWVkCgkgIGR1cmF0aW9uIGJlY2F1c2UgaXQgbWlnaHQgYmUgaW52YWxpZC4gTWFyayB0aGUgdG90YWwgcXVldWVkIGR1cmF0aW9uIGludmFsaWQKCSAgd2hlbiB3ZSByZWNlaXZlIGFuIGludmFsaWQgaW5jb21taW5nIHRpbWVzdGFtcCBiZWNhdXNlIHRoYXQncyB3aGVuIHdlIGxvc2UgdHJhY2sKCSAgb2YgdGhlIHRvdGFsIHF1ZXVlZCBkdXJhdGlvbi4KCSAgRml4ZXMgIzYxODMyNAoKMjAxMC0wNS0xMCAxMToxNDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZXh0cmFjdCBTUFMgYW5kIFBQUyBmcm9tIHByb3BlcnR5IHByb3ZpZGVkIHBhcmFtZXRlciBzZXQKCSAgLi4uIHNvIGl0IGNhbiBhbHNvIGJlIHJlZ3VsYXJseSBpbnNlcnRlZCBpbnRvIHRoZSBzdHJlYW0gaWYgc28gY29uZmlndXJlZC4KCSAgRml4ZXMgIzYxNzE2NC4KCjIwMTAtMDUtMTEgMjI6Mjg6MDggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFsbG93IHN3aXRjaGluZyB2aWV3cyBhdCBydW50aW1lLgoKMjAxMC0wNS0xMSAyMDoyNjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IGRpc3QgbWlzc2luZyBoZWFkZXIgZmlsZSB0byBmaXggbWFrZSBkaXN0Y2hlY2sKCjIwMTAtMDUtMTEgMTk6MDU6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgIG9zczQ6IG1pbm9yIGNsZWFudXAKCSAgUmVtb3ZlIGZpeGVkIEZJWE1FLCBjaGFuZ2UgZmluYWxpc2UgdG8gZmluYWxpemUgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMC0wNS0xMSAxOTowMTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkgIGRvY3M6IGFkZCBvc3M0IGVsZW1lbnRzIHRvIGRvY3MKCjIwMTAtMDUtMTEgMTY6MDk6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBtb3ZlIG9zczQgc3RyaW5ncyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMTAtMDUtMTEgMTY6MDg6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIG9zczQgcGx1Z2luIGZyb20gLWJhZCB0byAtZ29vZAoJICBIb29rIHVwIGJ1aWxkIGluZnJhc3RydWN0dXJlLCBkb2NzIGFuZCB0ZXN0cy4KCSAgRml4ZXMgIzYxNDMwNS4KCjIwMTAtMDQtMjkgMTM6MTg6NTggKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ab3JhY2xlLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSAgb3NzNHNpbms6IGltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlIGFuZCBhZGQgbXV0ZSBhbmQgdm9sdW1lIHByb3BlcnRpZXMKCSAgT1NTNCBzdXBwb3J0cyBwZXItc3RyZWFtIHZvbHVtZSBjb250cm9sLCBzbyBleHBvc2UgdGhpcyB1c2luZyB0aGUgcmlnaHQKCSAgQVBJLCBzbyB0aGF0IHBsYXliaW4yIGFuZCBhcHBsaWNhdGlvbnMgbGlrZSB0b3RlbSBjYW4gbWFrZSB1c2Ugb2YgaXQKCSAgKGluc3RlYWQgb2YgdXNpbmcgYSB2b2x1bWUgZWxlbWVudCBmb3Igdm9sdW1lIGNvbnRyb2wpLgoJICBGaXhlcyAjNjE0MzA1LgoKMjAxMC0wNC0wOCAxMDo0NTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IDgtYml0IFBDTSBhdWRpbyBjYXBzIGRvbid0IG5lZWQgYW4gZW5kaWFubmVzcyBmaWVsZAoKMjAxMC0wNC0wOCAxMDo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGRvbid0IGl0ZXJhdGUgdGhlIGZvcm1hdHMgdGFibGUgdHdpY2UgZm9yIGVhY2ggZW50cnkKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIGZvcm1hdHMgdGFibGUsIHdlIGNhbiBqdXN0IHBhc3MgdGhlIHdob2xlCgkgIGVudHJ5IHRvIG91ciBoZWxwZXIgZnVuY3Rpb24sIHdoaWNoIGF2b2lkcyBpdGVyYXRpbmcgdGhlIHRhYmxlCgkgIGFnYWluIHRvIGZpbmQgdGhlIGVudHJ5IHN0cnVjdHVyZSBmcm9tIHRoZSBwYXNzZWQgZm9ybWF0IGlkLgoKMjAxMC0wMy0zMCAxMTo0MzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGFsc28gYWNjZXB0IGZvcm1hdHMgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZAoJICBBbHNvIGFjY2VwdCBmb3JtYXRzIHRoYXQgYXJlIG5vdCBuYXRpdmVseSBzdXBwb3J0ZWQgYnkgdGhlCgkgIGhhcmR3YXJlLCBPU1M0IGNhbiBjb252ZXJ0IHRoZW0gaW50ZXJuYWxseS4gTGlzdCB0aGUgbmF0aXZlCgkgIGZvcm1hdHMgZmlyc3QgaW4gdGhlIGNhcHMgdGhvdWdoLCB0byBleHByZXNzIG91ciBwcmVmZXJlbmNlCgkgIGZvciB0aGUgbmF0aXZlIGZvcm1hdHMuIFdlIG5lZWQgdGhpcyBpbiBvcmRlciB0byBzdXBwb3J0IHRoZQoJICBjYXNlIHByb3Blcmx5IHdoZXJlIHRoZSBhdWRpbyBoYXJkd2FyZSBzdXBwb3J0cyBvbmx5IGUuZy4KCSAgbGl0dGxlIGVuZGlhbiBQQ00sIGJ1dCB0aGUgaG9zdCBpcyBiaWcgZW5kaWFuLCBzaW5jZSBtYW55CgkgIGF1ZGlvIGVsZW1lbnRzIG9ubHkgc3VwcG9ydCBuYXRpdmUgZW5kaWFubmVzcyBhbmQgbWFrZSB0aGUKCSAgcmVhc29uYWJsZSBhc3N1bXB0aW9uIHRoYXQgYW55IGF1ZGlvc2luayB3aWxsIGJlIGFibGUgdG8KCSAgaGFuZGxlIGF1ZGlvIGluIG5hdGl2ZSBlbmRpYW5uZXNzLgoJICBCYXNlZCBvbiBwYXRjaCBieSBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoJICBGaXhlcyAjNjE0MzE3LgoKMjAxMC0wMy0zMCAwMToxNDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IGFkZCBjb21tZW50IGZvciB0cmFuc2xhdG9ycwoJICBOb3QgdGhhdCB0aGF0IHdpbGwgbWFrZSB0aGVzZSBzdHJpbmdzIG11Y2ggYmV0dGVyLiBBbHNvIHJlbW92ZSBpMThuCgkgIG1hcmtlciB3aGVyZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UuCgoyMDEwLTAzLTIyIDE2OjEzOjEyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IFJlZmFjdG9yIGNvZGUgdG8gbWFrZSBpdCBsb29rIG1vcmUgbW9kZXJuCgkgIEEgc2lkZSBlZmZlY3QgaXMgdGhhdCBpdCBwYXNzZXMgLVdmb3JtYXQtbm9ubGl0ZXJhbCBhbmQgZG9lc24ndCByZWFkCgkgIGludmFsaWQgbWVtb3J5IGluIHNvbWUgY2FzZXMsIGxpa2Ugd2hlbiB0aGUgbWl4ZXIgdHJhY2sgY29udGFpbnMKCSAgYSAlIHNpZ24gb3IgdGhlcmUgaXMgYSBudW1iZXIgYnV0IG5vdCBhIGtub3duIG1peGVyIG5hbWUuCgoyMDEwLTAzLTIyIDE0OjA5OjI0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF2b2lkIGdfcXVhcmtfdG9fc3RyaW5nIChnX3F1YXJrX2Zyb21fc3RyaW5nICgpKSBtYWRuZXNzCgkgIFdlIHRvIHRoZSBzdHJkdXAgaW5zaWRlIGdzdF9vc3M0X21peGVyX2NvbnRyb2xfZ2V0X3RyYW5zbGF0ZWRfbmFtZSgpCgkgIGluc3RlYWQgb2YgaW4gdGhlIG9ubHkgY2FsbGVyLgoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDEtMjAgMTM6Mjk6NTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIHJldHVybiB2YWx1ZQoKMjAwOS0wOC0yMSAwMToxNzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgdGVzdHM6IGZpeCB0ZXN0LW9zczQgdG8gdHJlYXQgYW4gZW1wdHkgZGV2aWNlIG5hbWUgdGhlIHNhbWUgYXMgYSBOVUxMIG5hbWUKCjIwMDktMDctMTYgMTM6NTU6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXR0ZW1wdCB0byBmaXggYSBjb21waWxlciB3YXJuaW5nCgkgIERvbid0IHN0b3JlIGEgY29uc3QgZ2NoYXIgKiBpbiBhIG5vbi1jb25zdCBnY2hhciAqIGxvY2FsIHZhci4KCSAgQWxzbywgbWFrZSB0aGUgdHJhbnNsYXRpb24gc3RyaW5nIGZ1bmN0aW9uIHN0YXRpYyBzaW5jZSBpdCdzIG9ubHkKCSAgdXNlZCBpbiB0aGUgb25lIGZpbGUuCgoyMDA5LTA2LTEwIDE5OjIxOjIxICswMTAwICBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogRW5oYW5jZW1lbnRzIHRvIHRoZSBtaXhlciBhbmQgYXVkaW8gb3V0cHV0CgkgIENvZGUgY2xlYW51cHMsIGdlbmVyYWwgaW1wcm92ZW1lbnRzLCBzdXBwb3J0IGZvciB0aGUKCSAgbmV3IG1peGVyIGZsYWdzIGluIGxhdGVzdCBnc3QtcGx1Z2lucy1iYXNlLgoJICBGaXhlczogIzU4NDI1MgoJICBQYXRjaCBCeTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoJICBQYXRjaCBCeTogR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKMjAwOS0wNi0xOSAxNjoyMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIE1ha2UgYnVpbGQgd2l0aG91dCB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMTIgMjE6NTI6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zczQvOiBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgQWRkIHNvbWUgc3BhY2VzIGluIHRyYW5zbGF0ZWFibGUgc3RyaW5ncy4KCSAgRml4ZXM6ICM1NTU5NjkgIzU1NTk2OCAjNTU1OTY1CgoyMDA4LTA4LTA3IDE2OjIwOjMwICswMDAwICBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfcGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyCgkgIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCjIwMDgtMDYtMTYgMDc6MzA6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTEyIDE0OjQ5OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgkgIEFsc28gZml4aW5nIHVwIHRoZSBDaGFuZ2VMb2cgb3JkZXIuCgoyMDA4LTA2LTEyIDEzOjA2OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogSW5jbHVkZSBzdGRsaWIuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIEluY2x1ZGUgc3RkbGliLmguCgoyMDA4LTA1LTIyIDE2OjMzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6IChvcHRfc2hvd19taXhlcl9tZXNzYWdlcyksIChXQUlUX1RJTUUpLAoJICAoc2hvd19taXhlcl9tZXNzYWdlcyksIChwcm9iZV9taXhlcl90cmFja3MpLCAocHJvYmVfcGFkKSwKCSAgKHByb2JlX2RldGFpbHMpLCAocHJvYmVfZWxlbWVudCksIChtYWluKToKCSAgU21hbGwgb3NzNCB0ZXN0IHRoYXQgcHJvYmVzIGZvciBhdmFpbGFibGUgZGV2aWNlcyBhbmQgcmV0cmlldmVzCgkgIHRoZWlyIGNhcHMgYW5kIG1peGVyIHRyYWNrcyBhbmQgYWxsIHRoYXQuIEFsc28gYWxsb3dzIHRlc3Rpbmcgb2YKCSAgbWl4ZXIgY2hhbmdlIG1lc3NhZ2VzIG9uIHRoZSBidXMuCgoyMDA4LTA1LTIyIDE1OjE0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zczQvOiBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6IChnc3Rfb3NzNF9taXhlcl9vcGVuKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgIChnc3Rfb3NzNF9wcm9wZXJ0eV9wcm9iZV9maW5kX2RldmljZV9uYW1lKSwKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWVfbm9mZCk6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOiAoZ3N0X29zczRfc2lua19nZXRfcHJvcGVydHkpOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6IChnc3Rfb3NzNF9zb3VyY2VfZ2V0X3Byb3BlcnR5KToKCSAgTWFrZSBkZXZpY2UtbmFtZSBwcm9iaW5nIGluIE5VTEwgc3RhdGUgd29yayBiZXR0ZXIgKGUuZy4gZm9yIHRoZQoJICBnbm9tZS1jb250cm9sLWNlbnRlciBzb3VuZCBjYXBwbGV0KS4KCjIwMDgtMDUtMDggMTk6MTY6MTcgKzAwMDAgIENsaXZlIFdyaWdodCA8Y2xpdmVfd3JpZ2h0QG50bHdvcmxkLmNvbT4KCgkgIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsIHNvIG1hc2sgdGhvc2Ugby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IENsaXZlIFdyaWdodCA8Y2xpdmVfd3JpZ2h0IG50bHdvcmxkIGNvbT4KCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOiAoZ3N0X29zczRfbWl4ZXJfc2xpZGVyX3VucGFja192b2x1bWUpOgoJICBBcHBhcmVudGx5IG1vbm8gc2xpZGVycyBoYXZlIHRoZSBtb25vIHZhbHVlIHJlcGVhdGVkIGluIHRoZSB1cHBlciBiaXRzLAoJICBzbyBtYXNrIHRob3NlIG91dCB3aGVuIHJlYWRpbmcgdGhlbS4gUHJvYmFibHkgbWFrZXMgdGhlIG1peGVyIGFwcGxldAoJICB3b3JrIHByb3Blcmx5IGluIHNvbWUgbW9yZSBjYXNlcy4KCjIwMDgtMDQtMTEgMDg6MTM6MjIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL29zczQvOiBGaXggYXJndW1lbnRzIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0xMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKGdzdF9vc3M0X21peGVyX2VudW1fZ2V0X3ZhbHVlc19sb2NrZWQpOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6IChnc3Rfb3NzNF9zb3VyY2VfZGVsYXkpOiBGaXggYXJndW1lbnRzCgkgIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOC0wNC0wMiAyMDoxODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5oOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VuZGNhcmQuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsCgkgIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoKMjAxMC0wNS0xMSAxMDo1Mjo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGltcGxlbWVudCB0aGUgeG92ZXJsYXkgaW50ZXJmYWNlLiBGaXhlcyAjNjE4MzQ5LgoKMjAxMC0wNS0xMSAxODo0MjozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwdXNoIGJhc2VkIHNlZWtpbmcKCSAgLi4uIHdoZXJlIGl0IGNvbWVzIGRvd24gdG8gdHJhbnNmb3JtaW5nIGluY29taW5nIEJZVEUgc2VnbWVudAoJICB0byBhIGNvcnJlc3BvbmRpbmcgVElNRSBzZWdtZW50LgoJICBBbHNvIGZpeGVzICM2MDk0MDUuCgoyMDEwLTA1LTExIDE0OjIzOjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgTW92ZSBpbWFnZWZyZWV6ZSBwbHVnaW4gZnJvbSAtYmFkIHRvIC1nb29kCgkgIEhvb2sgdXAgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUsIGRvY3MgYW5kIHVuaXQgdGVzdCBmb3IgbmV3IHBsdWdpbi4KCSAgRml4ZXMgIzYxMzc4Ni4KCjIwMTAtMDUtMDUgMTI6MjM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgZml4ZWQgY2FwcyBvbiB0aGUgY29ycmVjdCBwYWQKCSAgVGhpcyBtYWtlcyB0aGUgc2luayBnZXRjYXBzIGZ1bmN0aW9uIGFjdHVhbGx5IHVzZWQgaW5zdGVhZCBvZiB1c2luZwoJICB0aGUgZml4ZWQgY2FwcyBmdW5jdGlvbiBmb3IgaXQuCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTUgMTE6NTQ6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBPbmx5IHN0YXJ0IHRoZSB0YXNrIGFmdGVyIGEgc2VlayBpZiBhIGJ1ZmZlciB3YXMgcmVjZWl2ZWQgYWxyZWFkeQoKMjAxMC0wMi0yOCAxNjowODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWRkIHNvbWUgdW5pdCB0ZXN0cwoKMjAxMC0wMi0yOCAxNjowNDozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCB1bmRlZmluZWQgZnJhbWVyYXRlIGluIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbgoKMjAxMC0wMi0yOCAxNTowMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrIGFuZCBzZXQgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDItMjcgMTc6MzM6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBBZGQgc3RpbGwgZnJhbWUgc3RyZWFtIGdlbmVyYXRvciBlbGVtZW50CgoyMDEwLTA1LTExIDEzOjA3OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIE1vdmUgY2Fwc2ZpbHRlciBlbGVtZW50IGZyb20gLWJhZCB0byAtZ29vZAoJICBIb29rIHVwIG1vdmVkIGZpbGVzIHRvIHRoZSBidWlsZCBpbmZyYXN0cnVjdHVyZSBhbmQgZG9jcy4KCSAgRml4ZXMgIzYxNzczOS4KCjIwMTAtMDUtMDYgMTM6MTI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMDktMTAtMDggMTk6NTE6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBhZGQgdW5pdCB0ZXN0CgoyMDA5LTA2LTI1IDE2OjQxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBpbXBvcnQgZWxlbWVudCBpbnRvIC1iYWQKCjIwMTAtMDUtMTEgMTI6MDY6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBjaGVjayB0aGF0IHBhZHMgaGF2ZSBiZWVuIG5lZ290aWF0ZWQKCSAgQWxzbyBzZXQgZmNjX2hhbmRsZXIgZmllbGQgaW4gYXVkaW8gc3RyZWFtIGhlYWRlci4KCSAgRml4ZXMgIzYxODM1MS4KCjIwMTAtMDUtMTAgMTg6MzM6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcGFydGlhbCBwYXJzaW5nIG9mIGN0dHMgdGFibGUKCSAgRml4ZXMgIzYxNjUxNi4KCjIwMTAtMDUtMTAgMTg6MzI6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjbGVhbnVwIGEgY29tbWVudCBhbmQgYWRkIHNvbWUgZGVidWcgYW5kIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uCgoyMDEwLTA1LTExIDEwOjAxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3IgR1RLKyAzLjAgYW5kIGlmIGl0J3Mgbm90IGF2YWlsYWJsZSBmb3IgR1RLKyAyLjAKCjIwMTAtMDUtMTAgMjI6MTE6MTAgKzAyMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IG9ubHkgc3RvcmUgdGhlIGxhc3QgYnVmZmVyIHRpbWVzdGFtcCBpZiBpdCdzIHZhbGlkCgkgIEZpeGVzIGJ1ZyAjNjE4MzA1CgoyMDEwLTAxLTA4IDIyOjEzOjU5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogUmUtc2VuZCBTUFMvUFBTIHdoZW4gcmVxdWVzdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2ODkKCjIwMTAtMDUtMDcgMTc6MDk6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCB0eXBvIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDUtMDcgMTU6NDI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgcnRwdGhlb3JhcGF5OiBhZGQgY29uZmlnLWludGVydmFsIHBhcmFtZXRlciB0byByZS1pbnNlcnQgY29uZmlnIGluIHN0cmVhbQoJICBBZGQgYSBuZXcgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSBwYXlsb2FkZXIgdG8gaW5zZXJ0CgkgIGNvbmZpZ3VyYXRpb24gaGVhZGVycyBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbQoJICAod2hlbiBhIGtleWZyYW1lIGlzIGNvdW50ZXJlZCkuCgoyMDEwLTA1LTA3IDE1OjMxOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IGZpeCBpbi1iYW5kIGNvbmZpZ3VyYXRpb24gcGFyc2luZwoJICBBbHNvIG1ha2UgY29uZmlndXJhdGlvbiBoZWFkZXIgcGFyc2luZyBhIGJpdCBtb3JlIHJlbGF4ZWQgd2l0aCByZXNwZWN0CgkgIHRvIGxlbmd0aCBmaWVsZCBpbnRlcnByZXRhdGlvbi4KCjIwMTAtMDUtMDcgMTU6MzA6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXNkZXBheTogZml4IGluLWxpbmUgY29uZmlndXJhdGlvbiBwYXJzaW5nCgkgIEFsc28gbWFrZSBjb25maWd1cmF0aW9uIGhlYWRlciBwYXJzaW5nIGEgYml0IG1vcmUgcmVsYXhlZCB3aXRoIHJlc3BlY3QKCSAgdG8gbGVuZ3RoIGZpZWxkIGludGVycHJldGF0aW9uLgoKMjAxMC0wNS0wNCAxNjo1NzozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IGRvIG5vdCBkaXNjYXJkIGRvd25zdHJlYW0gZmxvdyByZXR1cm4KCjIwMTAtMDUtMDQgMTY6NTc6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiByZWZhY3RvciBidWZmZXIgcGF5bG9hZGluZwoKMjAxMC0wNS0wNyAyMDo0MTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBVWVZZCgoyMDEwLTA1LTA3IDE5OjA2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmaXggcmV0dXJuIHZhbHVlCgoyMDEwLTA1LTA3IDE5OjAyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBsZWFrIHRoZSBzZXNzaW9uCgoyMDEwLTA1LTA3IDE4OjU5OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBjb25maWd1cmUgYmFuZHdpZHRoIHByb3BlcnRpZXMgaW4gdGhlIHNlc3Npb24KCjIwMTAtMDUtMDcgMTg6NTg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBwcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSB0aGUgYmFuZHdpZHRoCgkgIEFkZCBwcm9wZXJ0aWVzIHRvIHByb3h5IHRoZSBiYW5kd2lkdGggY29uZmlndXJhdGlvbiB0byB0aGUgc2Vzc2lvbiBvYmplY3QuCgoyMDEwLTA1LTA3IDE4OjU3OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGFkZCBwcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSBiYW5kd2lkdGhzCgkgIEFkZCBwcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSB0aGUgc2VuZGVyIGFuZCByZWNlaXZlciBiYW5kd2lkdGhzLgoJICBDb25maWd1cmUgdGhlIGJhbmR3aWR0aHMgYmVmb3JlIGNhbGN1bGF0aW5nIHRoZSBSVENQIHRpbWVvdXQgd2hlbiB3ZSBuZWVkIHRvLgoKMjAxMC0wNS0wNyAxODo1NjozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBhZGQgc29tZSBkZWJ1ZyBpbmZvCgoyMDEwLTA1LTA3IDE4OjU1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBzbWFsbCBjbGVhbnVwcwoKMjAxMC0wNS0wNyAxNjo1NToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBtYWtlIGJhbmR3aWR0aHMgbW9yZSBjb25maWd1cmFibGUKCSAgQWRkIGEgbWV0aG9kIHRvIGNvbmZpZ3VyZSB0aGUgdmFyaW91cyBiYW5kd2lkdGhzIGluIHRoZSBzZXNzaW9uLgoKMjAxMC0wNS0wNyAxMzozMjozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogaGFuZGxlIE5PTkUgUlRDUCBpbnRlcnZhbHMKCSAgUHJlcGFyZSBmb3IgaGFuZGxpbmcgUlRDUCByZXBvcnRpbmcgaW50ZXJ2YWxzIG9mIEdTVF9DTE9DS19USU1FX05PTkUsIHdoaWNoCgkgIG1lYW5zIGRvbid0IHNlbmQgUlRDUCBhdCBhbGwuCgoyMDEwLTA1LTA3IDEyOjUxOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZhbGwgYmFjayB0byBTRFAgcG9ydHMgaW5zdGVhZCBvZiBzZXJ2ZXJfcG9ydAoJICBJbiBtdWx0aWNhc3QsIGZhbGwgYmFjayB0byB0aGUgcG9ydHMgaW4gdGhlIFNEUCBpbnN0ZWFkIG9mIHRoZSBzZXJ2ZXJfcG9ydAoJICBhdHRyaWJ1dGUgYXMgdGhpcyBpcyBtb3JlIGluIGxpbmUgd2l0aCB0aGUgUkZDLgoKMjAxMC0wNS0wNyAxMjoyNDo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVmYWN0b3IgY29sbGVjdGluZyB0aGUgdHJhbnNwb3J0IGluZm8KCSAgTWFrZSBhIG1ldGhvZCB0byBjb2xsZWN0IHRoZSBwb3J0cyBhbmQgZGVzdGluYXRpb24gYWRkcmVzcy4KCjIwMTAtMDUtMDcgMTE6Mjg6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBzZXJ2ZXJzIHRoYXQgc2VuZCBicm9rZW4gVHJhbnNwb3J0cwoJICBIYW5kbGUgc2VydmVycyB0aGF0IHNlbmQgdGhlaXIgcG9ydCBwYWlycyB3aXRoIHRoZSB3cm9uZyBuYW1lLgoJICBGaXhlcyAjNjE3NTM3CgoyMDEwLTA1LTA2IDE2OjUyOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHVzZSB0aGUgU0RQIGNvbm5lY3Rpb24gaW5mbyBpbiBtdWx0aWNhc3QKCSAgUGFyc2UgdGhlIGNvbm5lY3Rpb24gaW5mbyBmcm9tIHRoZSBTRFAuCgkgIFdoZW4gd2UgbmVlZCB0byBjb25maWd1cmUgdGhlIG11bHRpY2FzdCBkZXN0aW5hdGlvbiwgZmFsbCBiYWNrIHRvIHRoZSBTRFAKCSAgY29ubmVjdGlvbiBpbmZvIHdoZW4gdGhlIHRyYW5zcG9ydCBkaWQgbm90IHNwZWNpZnkgYSBkZXN0aW5hdGlvbiBhbmQgdHRsLgoJICBGaXhlcyAjNjE3NTM3CgoyMDEwLTA1LTA2IDE1OjQyOjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgZ29vbSxtb25vc2NvcGU6IHRydW5jYXRlIG93biBjYXBzLCBpbnN0ZWFkIG9mIGNvcHlpbmcgYW5kIHVzaW5nIHRoZSBmaXJzdCBvbmx5CgkgIFdlIGdvdCB0aGUgY2FwcyBmcm9tIGFuIGludGVyc2VjdCwgaXQgaXMgb3VyIG93biwgaGVuY2Ugd2UgY2FuIHRydW5jYXRlIGl0LgoKMjAxMC0wNS0wNiAxNTo0MDozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiByZWZsb3cgdG8gdHJ1bmNhdGUgY2FwcyBqdXN0IG9uY2UKCSAgV2UgZ2V0IHdyaXRhYmxlIGNwYXMgZnJvbSB0aGUgaW50ZXJzZWN0aW9uICh1bmxlc3MgaXQgZmFpbGVkKS4gQXMgd2UgdHJ1bmNhdGUKCSAgdGhvc2UgYW55d2F5LCB3ZSBkb24ndCBuZWVkIHRvIG1hbnlhbHkgY29weSB0aGUgZmlyc3Qgc3RydWN0dXJlLgoKMjAxMC0wNS0wNiAxNTozOTozMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIGdka3BpeGJ1ZjogZG9uJ3QgbGVhayB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTA1LTA2IDE1OjM4OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRve2F1ZGlvLHZpZGVvfXtzcmMsc2lua306IHVzZSBjYW5faW50ZXJzZWN0IHRvIGF2b2lkIGEgY2FwcyBjb3B5CgoyMDEwLTA0LTI3IDEzOjM2OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB0ZWxsIHdoYXQgd2UgY2FuIGRvCgkgIEFueS1jYXBzIGFyZSBiYWQuIElmIGFwcHMgc2NhbiB0aGUgcmVnaXN0cnksIHRoZXknZCBsaWtlIHRvIGtub3cgd2hhdCB3ZSBjYW4KCSAgb3V0cHV0LgoKMjAxMC0wNC0yNyAxMzo0MzoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBhbHNvIGxpZnQgdGhlIGFyYml0cmFyeSByZXN0cmljdGlvbnMgZm9yIHdpZHRoIGFuZCBoZWlnaHQKCSAgVGhpcyB3YXMgYWxyZWFkeSBkb25lIGZvciBqcGVnZGVjLgoKMjAxMC0wNS0wNiAxNDowMzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEFsbG9jYXRlL2ZyZWUgUEEgbWFpbmxvb3AgZHVyaW5nIHN0YXRlIGNoYW5nZXMKCSAgLi4uYWxzbyBkZXN0cm95IHRoZSBzdHJlYW0gYW5kIGNvbnRleHQgZHVyaW5nIHN0YXRlIGNoYW5nZXMuCgoyMDEwLTA1LTA2IDEzOjU3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBBbGxvY2F0ZSBhbmQgZnJlZSB0aGUgY3VzdG9tIGNsb2NrIGluIE5VTEw8LT5SRUFEWQoKMjAxMC0wNS0wNiAxMzo1MTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQ3JlYXRlIGFuZCBmcmVlIHRoZSBQQSBtYWlubG9vcCBpbiBOVUxMLT5SRUFEWS9SRUFEWS0+TlVMTAoJICBUaGlzIGZpeGVzIGEgcmFjZSBjb25kaXRpb24sIHdoZW4gc3RvcHBpbmcgdGhlIG1haW5sb29wIGR1cmluZyBmaW5hbGl6YXRpb24KCSAgaXMgZG9uZSBmcm9tIGEgbWFpbmxvb3AgY2FsbGJhY2suCgkgIEZpeGVzIGJ1Z3MgIzYxNDc2NSBhbmQgIzU5MDY2Mi4KCjIwMTAtMDUtMDUgMTk6MzU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBNYWtlIHNlbGVjdGlvbiBvZiBhIHNpbmtwYWQgbnVtYmVyIHRocmVhZHNhZmUKCjIwMTAtMDUtMDUgMTc6Mzk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBhbGwgY29tbW9uIFJHQiBmb3JtYXRzCgoyMDEwLTA1LTA1IDE2OjA2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIEFZVVYKCjIwMTAtMDUtMDQgMTY6MzQ6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2Ugc2V0dXAgdXJsIGluIGEgc21hcnRlciB3YXkKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZXBhcmF0ZSB0aGUgYmFzZSBhbmQgY29udHJvbCB1cmwgcGFydHMgd2l0aCBhIC8gd2hlbgoJICBjcmVhdGluZyB0aGUgc2V0dXAgdXJsLgoKMjAxMC0wNS0wNCAxNjowNDozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBTRUVLSU5HIHF1ZXJpZXMuCgoyMDEwLTA1LTA0IDExOjEzOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogYWRkIGNvbmZpZy1pbnRlcnZhbCBwYXJhbWV0ZXIgdG8gcmUtaW5zZXJ0IGNvbmZpZyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGF5bG9hZGVyIHRvIGluc2VydAoJICBjb25maWcgKFZPU0gsIFZPUywgZXRjKSBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbQoJICAod2hlbiBhIEdPUCBvciBWT1AtSSBpcyBlbmNvdW50ZXJlZCkuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MDc0NTIuCgoyMDEwLTA1LTAzIDEzOjI2OjMyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbW92ZSBzb21lIGluaXRpYWxpemF0aW9uIGNvZGUgZnJvbSBjaGFuZ2Vfc3RhdGUgdG8gX2luaXQuCgkgIFNldCAtPmFjdGl2ZSB0byBUUlVFIGluIF9pbml0IHNvIGl0IGNhbiBiZSBzZXQgdG8gRkFMU0UgYWZ0ZXIgY3JlYXRpbmcgdGhlCgkgIGppdHRlcmJ1ZmZlciBhbmQgaXQgd29uJ3QgYmUgbWlzdGFrZW5seSByZXNldCB0byBUUlVFIGluIHRoZSBjaGFuZ2Vfc3RhdGUKCSAgZnVuY3Rpb24uCgkgIFRoaXMgaXMgbmVlZGVkIHRvIHN0YXJ0IHRoZSBqaXR0ZXJidWZmZXIgYXMgaW5hY3RpdmUgd2hlbiBydHBiaW4gaXMgYnVmZmVyaW5nLgoKMjAxMC0wNS0wMyAxMTo1Njo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBhIGJ1ZyBoYW5kbGluZyBCVUZGRVJJTkcgbWVzc2FnZXMuCgkgIElmIGEgc2Vzc2lvbiBleGlzdHMgYnV0IGhhcyBubyBzdHJlYW1zLCBzZXQgdGhlIG1pbiBidWZmZXJpbmcgcGVyY2VudCB0byAwCgkgIHNpbmNlIGl0IG1lYW5zIHRoYXQgd2UgaGF2ZW4ndCByZWNlaXZlZCBhbnl0aGluZyBmb3IgdGhhdCBzZXNzaW9uIHlldC4KCjIwMTAtMDUtMDMgMTE6NTE6MzcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB3aGVuIGEgc3RyZWFtIGlzIGNyZWF0ZWQsIHBhdXNlIHRoZSBqaXR0ZXJidWZmZXIgaWYgcnRwYmluIGlzIGJ1ZmZlcmluZy4KCjIwMTAtMDUtMDMgMTE6MjM6NTkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggYSBidWcgY2FsY3VsYXRpbmcgc3RyZWFtIG9mZnNldHMuCgoyMDEwLTA1LTAxIDE0OjIwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogV3JpdGUgcHJldmlvdXMgY2x1c3RlcidzIHNpemUKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGJhY2t3YXJkcyBwbGF5YmFjaywgd2hpY2ggc2hvdWxkIGJlIGltcGxlbWVudGVkCgkgIGluIG1hdHJvc2thZGVtdXggYXQgc29tZSBwb2ludC4KCjIwMTAtMDUtMDEgMTQ6MTU6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFNldCBpbnRlcmxhY2VkIGZsYWcgaW4gdGhlIGNhcHMgaWYgdGhlIGZsYWcgaXMgc2V0IGluIHRoZSBNYXRyb3NrYSBmaWxlCgoyMDEwLTA1LTAxIDE0OjEyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFdyaXRlIGludGVybGFjZWQgZmxhZyBpZiB0aGUgaW5wdXQgdmlkZW8gY29udGVudCBpcyBpbnRlcmxhY2VkCgkgIFVuZm9ydHVuYXRlbHkgTWF0cm9za2EgaGFzIG5vIHdheSB0byBzcGVjaWZ5IFRGRiBhbmQgZnJpZW5kcy4uLgoKMjAxMC0wNS0wMSAxMToyNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwOiBmaXggcHJpbnRmIGZvcm1hdCBvZiBzb21lIGRlYnVnIG1lc3NhZ2VzCgoyMDEwLTA1LTAxIDExOjA2OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogaW5pdCB2YXJpYWJsZSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nIG9uIE9TWAoJICBGaXhlcyAoYm9ndXMpICInb2Zmc2V0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24iCgkgIHdhcm5pbmcgb24gYnVpbGQgYm90IChhbHNvIHNwb3R0ZWQgYnkgcGhpbG4pLgoKMjAxMC0wNC0zMCAxNzoxOTo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVZVlkgaXMgNDoyOjIsIG5vdCA0OjI6MAoKMjAxMC0wNC0zMCAyMjoyMjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBEb24ndCBjb21wYXJlIHZhbHVlcyBvZiB0d28gZGlmZmVyZW50IGVudW0gdHlwZXMKCjIwMTAtMDQtMzAgMjI6MTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBNYWtlIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2YgaW50ZXJsYWNpbmcgdGhlIGRlZmF1bHQKCSAgUHJldmlvdXNseSAiZm9yY2UgZGVpbnRlcmxhY2luZyIgd2FzIHRoZSBkZWZhdWx0LCB3aGljaCBpcyBhIG5vdCB2ZXJ5CgkgIHNlbnNpYmxlIGRlZmF1bHQgZm9yIHRoZSBub3JtYWwgdXNlIGNhc2Ugd2hlcmUgZGVpbnRlcmxhY2Ugc2hvdWxkIGFjdAoJICBpbiBwYXNzdGhyb3VnaCBtb2RlIHVubGVzcyBpbnRlcmxhY2VkIGNvbnRlbnQgaXMgcHJlc2VudC4KCjIwMTAtMDQtMjkgMTY6MjY6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IG9wdGltaXNlIGJ1ZmZlciBzY2FubmluZwoJICBTcGVjaWZpY2FsbHksIHdoZW4gbmVlZGluZyBtb3JlIGRhdGEsIGRvIG5vdCByZXNjYW4gZnJvbSBzdGFydCBuZXh0IHRpbWUKCSAgYXJvdW5kLCBidXQgcmVzdW1lIGZyb20gbGFzdCBwb3NpdGlvbi4KCSAgU2VlIGFsc28gIzU4MzA0Ny4KCjIwMTAtMDQtMjkgMTU6Mzg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkaXNyZWdhcmQgc3VwZXJmbHVvdXMgbGluZXMgd2hlbiBpbmRpcmVjdCBkZWNvZGluZwoKMjAxMC0wNC0yNyAxNTo0NDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogYWRkIHN1cHBvcnQgZm9yIFJHQiBhbmQgZ3JheXNjYWxlIGNvbG9yIHNwYWNlCgkgIEFsc28gcmVmYWN0b3Igc3JjIGNhcHMgbmVnb3RpYXRpb24gYW5kIHNldHRpbmcuCgoyMDEwLTA0LTI3IDEyOjE5OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogc3VwcG9ydCBtb3JlIGNvbG91ciBzcGFjZXMgYW5kIHNvbWUgY2xlYW51cHMKCjIwMTAtMDQtMzAgMTI6NDc6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBtb3JlIGdlbmVyaWMgc2luayBnZXRjYXBzCgoyMDEwLTA0LTMwIDEyOjQyOjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogbW9yZSBzYW5pdHkgY2hlY2tzIG9uIGlucHV0CgkgIFNwZWNpZmljYWxseSwgdmVyaWZ5IGlucHV0IGNvbXBvbmVudHMgLyBjb2xvdXIgc3BhY2UgaXMgYXMgY29kZQoJICBzdWJzZXF1ZW50bHkgZXhwZWN0cywgdGhlcmVieSBhdm9pZGluZyBjcmFzaGVzIG9yIG90aGVyd2lzZSBib2d1cyBvdXRwdXQuCgkgIFByZXNlbnRseSwgdGhhdCBtZWFucyAzIGNvbXBvbmVudHMgWUNiQ3IgY29sb3VyIHNwYWNlLCBhbmQgc29tZXdoYXQKCSAgbGltaXRlZCBzYW1wbGluZyBmYWN0b3JzLgoJICBGaXhlcyAjNjAwNTUzLgoKMjAxMC0wNC0yMiAxMjoyODoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBhbHNvIGFjY2VwdCBpbi1iYW5kIGNvbmZpZ3VyYXRpb24KCSAgRml4ZXMgIzU3NDQxNiAodGhlb3JhKS4KCjIwMTAtMDQtMjIgMTI6Mjc6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXNkZXBheTogYWxzbyBhY2NlcHQgaW4tbGluZSBjb25maWd1cmF0aW9uCgkgIEZpeGVzICM1NzQ0MTYgKHZvcmJpcykuCgoyMDEwLTA0LTA3IDE3OjIxOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBJZ25vcmUgcGFja2V0cyB3aXRob3V0IGEga25vd24gY29kZWJvb2sKCSAgRG9uJ3QgcHJvZHVjZSBhbiBlcnJvciBpZiBhIHBhY2tldCBpcyByZWNlaXZlZCB3aXRob3V0IGEgdmFsaWQgY29kZWJvb2ssCgkgIGl0J3MgcG9zc2libGUgdGhhdCB0aGUgY29kZWJvb2sgd2lsbCBqdXN0IGJlIGNvbWluZyBsYXRlci4KCSAgU2VlICM1NzQ0MTYuCgoyMDEwLTA0LTIwIDEyOjE3OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICB5NG1lbmM6IGFkanVzdCB1bml0IHRlc3QgdG8gZWxlbWVudCBiZWhhdmlvdXIKCjIwMTAtMDItMjMgMjI6MTY6MzkgLTA1MDAgIEJlbmphbWluIE0uIFNjaHdhcnR6IDxiZW5zQGFsdW0ubWl0LmVkdT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIHk0bWVuYzogYWRkIDQ6MjoyLCA0OjE6MSwgYW5kIDQ6NDo0IG91dHB1dCBzdXBwb3J0CgkgIEZpeGVzICM2MTA5MDIuCgoyMDEwLTA0LTE1IDEyOjIxOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogREVMVEFfVU5JVCBtYXJraW5nIG9mIG91dHB1dCBidWZmZXJzCgkgIC4uLiB3aGljaCBldmlkZW50bHkgbWFrZXMgKG1vc3QpIHNlbnNlIGlmIG91dHB1dCBidWZmZXJzIGFyZQoJICBhY3R1YWxseSBmcmFtZXMuCgkgIFBhcnRpYWxseSBiYXNlZCBvbiBhIHBhdGNoIGJ5CgkgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIDxtYWRfYWx1Y2hlIGF0IGhvdG1haWwuY29tPgoJICBGaXhlcyAjNjA5NjU4LgoKMjAxMC0wNC0xNiAxNzoyMTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBydHBoMjYzZGVwYXk6IGV4dHJhIGtleWZyYW1lIGluZm8gZnJvbSBQVFlQRSBoZWFkZXIKCSAgLi4uIGFzIG9wcG9zZWQgdG8gdGFraW5nIGl0IGZyb20gaDI2MyBwYXlsb2FkIGhlYWRlciwgd2hpY2ggbmVlZCBub3QKCSAgYmUgc28gcmVsaWFibGUuCgkgIEZpeGVzICM2MTAxNzIuCgoyMDEwLTA0LTE2IDE3OjA4OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogYWxzbyB1c2UgUGljdHVyZSBTdGFydCBDb2RlIHRvIGRldGVjdCBwYWNrZXQgbG9zcwoJICBUaGlzIGVuc3VyZXMgYSB3aG9sZSBmcmFtZSBpcyBkcm9wcGVkIGlmIGEgKHN0YXJ0KSBwYWNrZXQgaXMgbG9zdCwKCSAgcmF0aGVyIHRoYW4gcmVseWluZyBvbmx5IG9uIHRoZSBESVNDT05UIGZsYWcuCgoyMDEwLTA0LTE2IDE3OjA2OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogZGV0ZWN0IGZyYW1lIHN0YXJ0IHVzaW5nIFBpY3R1cmUgU3RhcnQgQ29kZQoJICBTbyB3ZSBzdG9wIGRyb3BwaW5nIGZyYWdtZW50cyBhcyBzb29uIGFzIHRoZXJlIGlzIGEgcGljdHVyZSBzdGFydCAoY29kZSkuCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgcHJldmVudHMgZHJvcHBpbmcgdGhlIGZpcnN0IGZyYW1lIGZvbGxvd2luZwoJICBpbml0aWFsIERJU0NPTlQuCgoyMDEwLTA0LTE2IDE2OjM0OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogaGFuZGxlIGEgZmV3IEZJWE1FcwoKMjAxMC0wNC0xNiAxNjoyNzoyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IHNsaWdodGx5IHJlZmFjdG9yIHBheWxvYWQgZHJvcHBpbmcKCjIwMTAtMDQtMTYgMTE6NTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiB1c2UgZm91bmQgR09CcyB0byBhcHBseSBNb2RlIEEgcGF5bG9hZGluZwoJICAuLi4gcmF0aGVyIHRoYW4gZmFsbGluZyBiYWNrIHRvIHNlbmRpbmcgdGhlIHdob2xlIGZyYW1lIGluIG9uZSBwYWNrZXQKCSAgaWYgbnVtYmVyIG9mIEdPQiBzdGFydGNvZGVzIDwgbWF4aW11bS4KCSAgT25lIG1pZ2h0IHRha2UgdGhpcyBmdXJ0aGVyIGFuZCBzdGlsbCBwZXJmb3JtIE1vZGUgQi9DIHBheWxvYWRpbmcsCgkgIGJ1dCBhdCBsZWFzdCB0aGlzIHNob3VsZCBjYXRlciBmb3IgZGVjZW50IGZyYWdtZW50cyBpbiB0eXBpY2FsIGNhc2VzLgoJICBGaXhlcyAjNTk5NTg1LgoKMjAxMC0wNC0xNCAxMTo1Mzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcGxlbWVudCBwdXNoIG1vZGUgc2Vla2luZwoKMjAxMC0wNC0yOSAyMDowODo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBkb2NzOiB1cGRhdGUgZm9yIHZpZGVvZmlsdGVyIHBsdWdpbiBtZXJnZSBhbmQgYWRkIGd0ay1kb2MgYmx1cmIgZm9yIG5ldyBwcm9wZXJ0eQoKMjAxMC0wNC0yNiAxODoxMjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgc2VnbWVudCBoYW5kbGluZyBhIGJpdAoKMjAxMC0wNC0yNiAxODowNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IE9yZGVyIGNhcHMgYnkgYW1vdW50IG9mIGNvbnRhaW5lZCBpbmZvcm1hdGlvbgoKMjAxMC0wNC0yNiAxNzoyNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFByb3Blcmx5IHNldCBpbnRlcmxhY2VkIGZpZWxkIGluIGdldGNhcHMKCjIwMTAtMDQtMjQgMTY6Mjg6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHBsYW5hciBZVVYgc3VwcG9ydCB0byBhbGwgb3RoZXIgc2ltcGxlIG1ldGhvZHMKCjIwMTAtMDQtMjQgMTY6MTA6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgcGxhbmFyIFlVViBzdXBwb3J0IHRvIGdyZWVkeWggbWV0aG9kCgoyMDEwLTA0LTI0IDE1OjQyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgcGxhbmFyIFlVViBmb3JtYXRzIGluIGdyZWVkeWwgbWV0aG9kCgoyMDEwLTA0LTI0IDEzOjU4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIFk0NDQsIFk0MkIsIEk0MjAsIFlWMTIgYW5kIFk0MUIKCSAgVGhlIHZmaXIgbWV0aG9kIHN1cHBvcnRzIHRoZW0gYW5kIHdpbGwgYmUgdXNlZCB1bnRpbCBzb21ldGhpbmcgZWxzZQoJICBzdXBwb3J0cyBpdC4KCjIwMTAtMDQtMjQgMDk6MTY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiBEZWZpbmUgZGVpbnRlcmxhY2UgbWV0aG9kIGJhc2UgY2xhc3NlcyBhcyBhYnN0cmFjdCB0eXBlcwoKMjAxMC0wNC0yMyAxNzo0MDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBNb3ZlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyB0byB0aGVpciBvd24gZmlsZQoKMjAxMC0wNC0yMyAxNzoyNToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBTaW1wbGlmeSBwYXNzdGhyb3VnaCBtb2RlIGRldGVjdGlvbgoKMjAxMC0wNC0yMyAxNDozNTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHVuaXQgdGVzdCB0aGF0IGNoZWNrcyBjYXBzIGhhbmRsaW5nCgkgIGRlaW50ZXJsYWNlIG5vdyBhbHdheXMgYWRkcyB0aGUgaW50ZXJsYWNlZCBmaWVsZCB0byB0aGUgb3V0cHV0IGNhcHMsCgkgIGlmIGl0IHdhc24ndCBwcmVzZW50IGluIHRoZSBpbnB1dCBjYXBzIHRoZSBvdXRwdXQgY2FwcyB3aWxsIHN0aWxsCgkgIGNvbnRhaW4gaW50ZXJsYWNlZD1mYWxzZS4KCjIwMTAtMDQtMjEgMTc6MDA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogUmVmYWN0b3IgZGVpbnRlcmxhY2luZyBhcyBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBtb3JlIGNvbG9yIGZvcm1hdHMKCjIwMTAtMDQtMjIgMTk6MDU6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiBhbmQgWTQxQgoKMjAxMC0wNC0yMiAxNTo1NDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBZVllVIGFuZCByZW9yZGVyIHRlbXBsYXRlIGNhcHMKCjIwMTAtMDQtMTggMjE6MTE6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBUcmFuc2xhdGUgbmF2aWdhdGlvbiBldmVudHMgdG8gbWFrZSBzZW5zZSBhZ2FpbiB1cHN0cmVhbQoKMjAxMC0wNC0xOCAyMDo1ODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFByb3Blcmx5IGhhbmRsZSByYW5nZXMvbGlzdHMgb2Ygd2lkdGggb3IgaGVpZ2h0IHdoZW4gdHJhbnNmb3JtaW5nIGNhcHMKCSAgQ29kZSBwYXJ0bHkgdGFrZW4gZnJvbSB0aGUgdmlkZW9jcm9wIGVsZW1lbnQuCgoyMDEwLTA0LTIyIDE1OjQ1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogRml4IHBsYW5hciBZVVYtPlJHQiBwcm9jZXNzaW5nCgoyMDEwLTA0LTIyIDE1OjQyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQ29ycmVjdGx5IGNsYW1wIGFmdGVyIFlVVi0+UkdCIGNvbnZlcnNpb24KCjIwMTAtMDQtMjIgMTU6MjA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiwgWVZZVSBhbmQgVVlWWQoKMjAxMC0wNC0xOCAxNTowMjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpbiBiZWZvcmVfdHJhbnNmb3JtCgoyMDEwLTA0LTE2IDE3OjAwOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFlVWTIgYW5kIFVZVVYKCjIwMTAtMDQtMjEgMTc6NDE6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZWZhY3RvciBwcm9jZXNzaW5nIGFuZCBhZGQgc3VwcG9ydCBmb3Igb3RoZXIgcGxhbmFyIFlVViBmb3JtYXRzCgkgIFRoaXMgcmVkdWNlcyB0aGUgZ2VuZXJhdGVkIGNvZGUgc2l6ZSBieSBhIGZhY3RvciBvZiAyLjUuCgoyMDEwLTA0LTIxIDE3OjE1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFlWMTIgaW5wdXQKCjIwMTAtMDQtMjIgMTM6NTY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiwgWVZZVSwgVVlWWQoKMjAxMC0wNC0yMCAxMjoxODoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCLCBZNDFCIGFuZCBZVjEyCgoyMDEwLTA0LTIxIDE3OjA3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9maWx0ZXI6IE9yZGVyIGNvbG9yIGZvcm1hdHMgYnkgdGhlaXIgY29udGFpbmVkIGFtb3VudCBvZiBpbmZvcm1hdGlvbgoKMjAxMC0wNC0yMCAxODoyMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogRHJvcCBZNDFCL1k0MkIgc3VwcG9ydAoJICBSb3RhdGluZyA5MMKwLzI3MMKwIHdpdGggc3Vic2FtcGxlZCBZVVYgd2hlcmUgaG9yaXpvbnRhbAoJICBhbmQgdmVydGljYWwgc3Vic2FtcGxpbmcgYXJlIGRpZmZlcmVudCBkb2Vzbid0IHJlYWxseSB3b3JrLgoKMjAxMC0wNC0xOSAxNDozNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWxzbyBmbGlwIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgd2lkdGgvaGVpZ2h0IGFyZSBleGNoYW5nZWQKCjIwMTAtMDQtMTggMjM6MDg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmlsdGVyOiBFeHRlbmQgdGhlIHVuaXQgdGVzdCB0byB0ZXN0IGRpZmZlcmVudCBjb2xvciBmb3JtYXRzCgoyMDEwLTA0LTE4IDIyOjU1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmlsdGVyOiBBZGQgc29tZSBtb3JlIHRlc3RzCgkgIFRoZXNlIGNoZWNrIGRpZmZlcmVudCBwcm9wZXJ0eSBjb21iaW5hdGlvbnMKCjIwMTAtMDQtMTggMjI6NTQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IENoYW5nZSB0aGUgZGVmYXVsdCBtZXRob2QgdG8gaWRlbnRpdHkKCjIwMTAtMDQtMTggMjI6NTA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIHZpZGVvYmFsYW5jZTogUmVkdWNlIG51bWJlciBvZiBhbGxvY2F0aW9ucyBwZXIgaW5zdGFuY2UKCjIwMTAtMDQtMTggMjI6NDU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZpbHRlcjogVXBkYXRlIGxhc3QtcmV2aWV3ZWQgY29tbWVudHMKCjIwMTAtMDQtMTggMjI6NDA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBzdXBwb3J0IGZvciBhbGwgUkdCIGZvcm1hdHMKCjIwMTAtMDQtMTggMjI6Mjg6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBVWVZZLCBBWVVWIGFuZCBZVllVCgoyMDEwLTA0LTE4IDIyOjIzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgZGVidWcgY2F0ZWdvcnkKCjIwMTAtMDQtMTggMjI6MTk6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IE1ha2UgcHJvcGVydHkgYWNjZXNzIHRocmVhZHNhZmUKCjIwMTAtMDQtMTggMjI6MTg6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBzdXBwb3J0IGZvciBZNDFCLCBZNDJCIGFuZCBZNDQ0CgoyMDEwLTA0LTE4IDIyOjE3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICB2aWRlb2JhbGFuY2U6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZm9ybWF0IHNwZWNpZmljIHRoaW5ncwoKMjAxMC0wNC0xOCAyMjowOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogTWFrZSBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZQoKMjAxMC0wNC0xOCAyMjowNjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogRW1pdCAidmFsdWUtY2hhbmdlZCIgc2lnbmFsIG9mIGNvbG9yIGJhbGFuY2UgaW50ZXJmYWNlIHdoZW4gdmFsdWVzIGNoYW5nZQoKMjAxMC0wNC0xOCAyMTo1ODoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgdmlkZW9iYWxhbmNlOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE4IDIxOjM3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBTdG9wIHVzaW5nIGxpYm9pbAoJICBUaGUgdXNlZCBsaWJvaWwgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgaGFzIG5vIG9wdGltaXplZAoJICBpbXBsZW1lbnRhdGlvbiBhbnl3YXkuCgoyMDEwLTA0LTE4IDIxOjE0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBNYWtlIHByb3BlcnR5IGFjY2VzcyB0aHJlYWRzYWZlCgoyMDEwLTA0LTE4IDE1OjAwOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGluIGJlZm9yZV90cmFuc2Zvcm0KCjIwMTAtMDQtMTggMTQ6NDY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBzdXBwb3J0IGZvciBhbGwgUkdCIGZvcm1hdHMgYW5kIEFZVVYKCjIwMTAtMDQtMTggMTQ6MzE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBzdXBwb3J0IGZvciBZNDFCLCBZNDJCIGFuZCBZNDQ0CgoyMDEwLTA0LTE4IDE0OjI5OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB2aWRlb2ZsaXA6IE1ha2UgcHJvY2Vzc2luZyBtb3JlIGdlbmVyYWwgYW5kIHVzZSBsaWJnc3R2aWRlbyBmb3IgYWxsIGZvcm1hdCBzcGVjaWZpYyB0aGluZ3MKCjIwMTAtMDQtMTggMTM6MTI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IE1ha2UgbWV0aG9kIHByb3BlcnR5IGNvbnRyb2xsYWJsZSBhbmQgaW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDQtMTggMTM6MDM6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvZmxpcDogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNC0xOCAxMDoxNzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9wbHVnaW4uYzoKCSAgdmlkZW9maWx0ZXI6IE1vdmUgYWxsIGVsZW1lbnRzIGludG8gYSBzaW5nbGUgcGx1Z2luCgkgIEhhdmluZyBhbGwgdGhlc2Ugc21hbGwgZWxlbWVudHMgaW4gYSBzZXBhcmF0ZSBwbHVnaW4KCSAgaXMgbm90IHZlcnkgbWVtb3J5IGVmZmVjdGl2ZS4uLgoKMjAxMC0wNC0xOCAxMDowNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkgIGdhbW1hOiBJbXByb3ZlIGRvY3MgYSBiaXQKCjIwMTAtMDQtMTggMDk6NTk6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBBZGQgc3VwcG9ydCBmb3IgYWxsIFJHQiBmb3JtYXRzCgoyMDEwLTA0LTE4IDA5OjQ2OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogQWRkIHN1cHBvcnQgZm9yIG1hbnkgcGFja2VkIFlVViBmb3JtYXRzCgkgIFRoYXQgaXMgWVVZMiwgVVlWWSwgQVlVViBhbmQgWVZZVS4KCjIwMTAtMDQtMTggMDk6Mzg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBBZGQgc3VwcG9ydCBmb3IgYWxsIG90aGVyIHBsYW5hciBZVVYgZm9ybWF0cwoJICBUaGF0IGlzIFk0MUIsIFk0MkIsIFk0NDQsIE5WMTIgYW5kIE5WMjEuCgoyMDEwLTA0LTE4IDA5OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBTdG9wIHVzaW5nIGxpYm9pbAoJICBUaGUgdXNlZCBsaWJvaWwgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCwgb25seSBoYXMgYSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24KCSAgYW5kIGlzIG1vcmUgY29tcGxleCB0aGFuIHdoYXQncyBuZWVkZWQgaGVyZS4KCjIwMTAtMDQtMTcgMTg6MTM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJICBnYW1tYTogVXNlIGxpYmdzdHZpZGVvIGZvciBmb3JtYXQgc3BlY2lmaWMgdmFsdWVzIGFuZCBtYWtlIGdhbW1hIHByb2Nlc3NpbmcgbW9yZSBnZW5lcmljCgkgIEFsbG93cyB1cyB0byBlYXNpbHkgYWRkIHN1cHBvcnQgZm9yIG5ldyBjb2xvciBmb3JtYXRzIGxhdGVyLgoKMjAxMC0wNC0xNyAxODowMTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogTWFrZSBnYW1tYSBwcm9wZXJ0eSBjb250cm9sbGFibGUKCSAgLi4uYW5kIHByb3Blcmx5IHVzZSBsaWJvaWwuCgoyMDEwLTA0LTE3IDE3OjU1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNC0xOSAxNDo0NTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaW4gYmVmb3JlX3RyYW5zZm9ybQoKMjAxMC0wNC0xNyAxNzo0NzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBBZGQgc3VwcG9ydCBmb3IgWVYxMiAoY29udmVydGVkIHRvIEFZVVYpCgoyMDEwLTA0LTE3IDE3OjQzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBhbGwgNCBBUkdCIGZvcm1hdHMKCSAgLi4ud2l0aG91dCBmb3JtYXQgY29udmVyc2lvbi4KCjIwMTAtMDQtMTYgMTc6Mjc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgc21wdGVhbHBoYTogTWFrZSBjb2xvciBmb3JtYXQgc3VwcG9ydCBtb3JlIGdlbmVyaWMKCSAgVGhpcyBhbGxvd3MgZWFzaWVyIGFkZGl0aW9uIG9mIG5ldyBmb3JtYXRzIGxhdGVyLgoKMjAxMC0wNC0xNiAxNzoxODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZWFscGhhOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE1IDIyOjI4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgc21wdGU6IEFkZCBwcm9wZXJ0eSBmb3IgaW52ZXJ0aW5nIHRoZSB0cmFuc2l0aW9uIG1hc2sKCSAgVGhpcyBjb252ZXJ0cyBhIGxlZnQtdG8tcmlnaHQgdHJhbnNpdGlvbiB0byByaWdodC10by1sZWZ0IG9yCgkgIGNsb2NrLXdpc2UgdG8gY291bnRlci1jbG9jay13aXNlLgoKMjAxMC0wNC0xNSAyMjoyNzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBDb3JyZWN0bHkgZGV0ZWN0IHByb3BlcnR5IGNoYW5nZXMgYW5kIHVwZGF0ZSBwcm9wZXJ0aWVzCgoyMDEwLTA0LTE2IDE5OjM1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5oOgoJICBxY2VscGRlcGF5OiBhZGQgZmlyc3QgdmVyc2lvbiBvZiBhIFFDRUxQIGRlcGF5bG9hZGVyCgoyMDEwLTA0LTI5IDE1OjE4OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50LgoKPT09IHJlbGVhc2UgMC4xMC4yMiA9PT0KCjIwMTAtMDQtMjggMDI6NTg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjIKCjIwMTAtMDQtMjggMDI6NTc6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wNC0yNSAyMzozNjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS4zIHByZS1yZWxlYXNlCgoyMDEwLTA0LTI1IDIxOjE5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogaGlkZSBpcy1saXZlIHByb3BlcnR5IGZvciByZWxlYXNlCgkgIEF0IHRoZSB2ZXJ5IGxlYXN0IGl0IG5lZWRzIGEgYmV0dGVyL2xlc3Mgd3JvbmcgbmFtZS4KCSAgU2VlICM2MTMwNjYuCgoyMDEwLTA0LTI1IDE1OjEyOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgY3Jhc2ggaWYganBlZyBpbWFnZSBjb250YWlucyBtb3JlIHRoYW4gdGhyZWUgY29tcG9uZW50cwoJICBPdXIgY29kZSBjdXJyZW50bHkgb25seSBoYW5kbGVzIGEgbWF4aW11bSBvZiAzIGNvbXBvbmVudHMsIHNvIGVycm9yCgkgIG91dCBmb3Igbm93IGlmIHRoZSBpbWFnZSBoYXMgbW9yZSBjb21wb25lbnRzIHRoYW4gdGhhdC4KCSAgRml4ZXMgIzYwNDEwNi4KCjIwMTAtMDQtMjAgMTc6MjE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBkb2FwOiB1cGRhdGUgcmVwb3NpdG9yeSBpbmZvIGZyb20gY3ZzLT5naXQgYW5kIG1haW50YWluZXJzCgoyMDEwLTA0LTIzIDE0OjQwOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmM4NTg2NyB0byA0ZDY3YmQ2CgoyMDEwLTA0LTIyIDEzOjMwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBieXRlIG9yZGVyIGZvciBNTVggQVJHQi9BWVVWIGNvbG9yIGZpbGxpbmcKCSAgRml4ZXMgYnVnICM2MTY0MDkuCgoyMDEwLTA0LTIxIDE3OjUzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBBWVVWIGNoZWNrZXIvY29sb3IgZmlsbGluZwoKMjAxMC0wNC0xOSAxNjo0MzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogQWRkIGkzODcgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIGxpc3QKCSAgVGhleSBhcmUgdGhlIHNhbWUgYXMgdGhlIG1tMC1tbTcgTU1YIHJlZ2lzdGVycyBhbmQgd2lsbCBiZSBvdmVyd3JpdHRlbgoJICBieSB0aGUgYXNzZW1ibHkgY29kZSBpZiBnY2MgZG9lc24ndCBrbm93IGFib3V0IHRoZSBNTVggcmVnaXN0ZXJzLgoJICBOb3RlOiBUaGV5J3JlIGFsbCBhZGRlZCB0byB0aGUgbGlzdCBvZiBjbG9iYmVyZWQgcmVnaXN0ZXJzIGluIGFsbCBjYXNlcwoJICBhbmQgbm90IG9ubHkgd2hlbiBfX01NWF9fIGlzIG5vdCBkZWZpbmVkIGp1c3QgdG8gbWFrZSBzdXJlIHRoYXQgbm8gb3RoZXIKCSAgYnVncyBoYXBwZW4gd2l0aCB0aGlzIGNvZGUganVzdCBiZWNhdXNlIHNvbWUgY29tcGlsZXIgdmVyc2lvbiBnZXRzIHRoaW5ncwoJICB3cm9uZy4KCSAgRml4ZXMgYnVnICM2MTQ0NjYuCgoyMDEwLTA0LTE5IDE0OjA5OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogVXNlIGxpYmdzdHZpZGVvIHRvIGdldCB0aGUgb3JkZXIgb2YgUkdCCgoyMDEwLTA0LTE3IDEwOjA2OjQxICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgoJKiBnc3QvZ29vbS94bW14LmM6CgkgIGdvb206IGFkZCBlZHggdG8gY2xvYmJlciBsaXN0IGluIGlubGluZSBhc3NlbWJseSBjb2RlCgkgIG11bGwgbW9kaWZpZXMgJWVkeCwgc28gc2hvdWxkIGJlIG1lbnRpb25lZCBpbiBjbG9iYmVyIGxpc3QuCgkgIEZpeGVzIGNyYXNoIG9uIFNvbGFyaXMgKCM2MTU5OTgpLgoKMjAxMC0wNC0xNSAxMzozOTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRvbid0IHVzZSBHU1RfUExVR0lOX0xERkxBR1Mgd2hlbiBidWlsZGluZyB0ZXN0IGJpbmFyaWVzCgoyMDEwLTA0LTE2IDE1OjI3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEk0MjAtPkk0MjAgY29weWluZwoJICBGaXhlcyBidWcgIzYxNTE0My4KCjIwMTAtMDQtMTMgMTg6MTU6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggQVlVVi0+STQyMCBjb3B5aW5nCgoyMDEwLTA0LTE2IDEyOjE0OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcHJvZmlsZS1sZXZlbC1pZCBpcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIKCSAgU28sIGlmIG5lZWRlZCwgZXh0cmFjdCB0aGUgY29ycmVzcG9uZGluZyBpbmZvIGZyb20KCSAgc3Byb3AtcGFyYW1ldGVyLXNldHMuCgkgIEJhc2VkIG9uIHBhdGNoIHByb3ZpZGVkIGJ5IDxkeHNzeCBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MTI2NTcuCgoyMDEwLTA0LTE1IDA3OjEzOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEcm9wIC1XY2FzdC1hbGlnbgoJICBDb21taXQgbWVzc2FnZSBjb3BpZWQgZnJvbSBjb3JlJ3MgY29tbWl0IGZyb20gQmVuamFtaW4gT3R0ZToKCSAgMjQ2ZjVkYmE5NmE1YjUwYmI3NDYyMWFmNjdiMzA5NDJjY2E3MmFmNQoJICBBcHBhcmVudGx5IGdjYyB3YXJucyB0aGF0IEdzdE1pbmlPYmplY3QgaXMgbm90IGNhc3RhYmxlIHRvCgkgIEdzdEV2ZW50L01lc3NhZ2UvQnVmZmVyIGR1ZSB0byB0aGVtIGNvbnRhaW5pbmcgNjRiaXQgdmFyaWFibGVzLCBldmVuCgkgIHRob3VnaCBBUk0gaGFja2VycyBjbGFpbSB0aGF0IHRob3NlIG9ubHkgbmVlZCA0Ynl0ZSBhbGlnbm1lbnQuIEFuZCBhcwoJICBsb25nIGFzIGdjYyBiZWhhdmVzIHRoYXQgd2F5LCB0aGlzIHdhcm5pbmcgaXMgbm90IHZlcnkgdXNlZnVsLgoJICBTbyB3ZSdsbCByZW1vdmUgdGhlIHdhcm5pbmcgdW50aWwgdGhpcyBwcm9ibGVtIGlzIGZpeGVkLgoJICBGaXhlcyAjNjE1Njk4CgoyMDEwLTA0LTE0IDIzOjQ2OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhY3RhZzogZml4IGFkYXB0ZXIgYXNzZXJ0aW9uIHdoZW4gdXNlZCBkaXJlY3RseSBhZnRlciBmbGFjZW5jCgkgIFVubGlrZSBmaWxlc3JjLCBmbGFjZW5jIG91dHB1dHMgdGhlIGZsYWMgYmxvY2tzIG5lYXRseSBhbGlnbmVkIG9uZSBpbgoJICBlYWNoIGJ1ZmZlci4gVGhpcyBtZWFucyB0aGF0IHdoZW4gd2Ugc3dpdGNoIGZyb20gbWV0YWRhdGEgbW9kZSB0bwoJICBhdWRpbyBkYXRhIHBhc3N0aHJvdWdoIG1vZGUsIHRoZXJlJ3Mgbm8gZGF0YSBsZWZ0IGluIHRoZSBhZGFwdGVyIHRvCgkgIHB1c2ggb3V0IGF0IHRoaXMgcG9pbnQsIHNvIGNoZWNrIGlmIHRoZXJlJ3MgZGF0YSBpbiB0aGUgYWRhcHRlcgoJICBiZWZvcmUgcmVxdWVzdGluZyBidWZmZXJzIGZyb20gaXQgKGFsc28gbmVlZGVkIGluIGNhc2Ugd2UgZ2V0IGlucHV0CgkgIGJ1ZmZlcnMgb2YgMCBzaXplKS4KCSAgRml4ZXMgIzYxNTc5My4KCjIwMTAtMDQtMTQgMjM6MTg6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMiBwcmUtcmVsZWFzZQoKMjAxMC0wNC0xNCAyMDozMTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlCgoyMDEwLTA0LTE0IDIwOjA2OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB1c2UgTERBREQgZm9yIGxpYnMgdG8gbGluayB0byBpbnN0ZWFkIG9mIExERkxBR1MKCSAgVXNlIGZvb19MREFERCBpbnN0ZWFkIG9mIGZvb19MREZMQUdTIHRvIHNwZWNpZnkgdGhlIGxpYnJhcmllcyB0byBsaW5rIHRvLgoJICBUaGlzIHNob3VsZCBtYWtlIHN1cmUgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIGxpbmtlciBpbiB0aGUgcmlnaHQKCSAgb3JkZXIsIGFuZCBtYWtlcyBMREZMQUdTIHVzYWJsZSBhZ2Fpbi4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoJICBGaXhlcyAjNjE1Njk3LgoKMjAxMC0wNC0xNCAxODoxMzo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogdHJhbnNmb3JtX2NhcHMgOiBXZSBjYW4gb25seSBjb252ZXJ0IEFZVVYgdG8geFJHQgoJICBXZSB3ZXJlIHByZXZpb3VzbHkgc3RhdGluZyB0aGF0IHdlIGNvdWxkIGNvbnZlcnQgQVlVVi9JNDIwL1lWMTIgdG8geFJHQi4KCjIwMTAtMDQtMTMgMDA6MTQ6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gcmVtb3ZlIC1XYWdncmVnYXRlLXJldHVybiBmcm9tIHdhcm5pbmcgZmxhZ3MKCSAgSXQgY2F1c2VzIHByb2JsZW1zIHdpdGggT2JqZWN0aXZlLUMgY29kZSBsaWtlIGluIG9zeHZpZGVvc2luay4KCSAgRml4ZXMgIzYxMzY2My4KCjIwMTAtMDQtMTIgMTg6MjI6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IElnbm9yZSBvc3ggYXVkaW8vdmlkZW8gc3JjL3NpbmtzIGluIHN0YXRlIGNoYW5nZSB0ZXN0cwoJICBBbmQgbWFrZSB0aGUgbGluZSByZWFkYWJsZSBmb3IgdGhvc2UgbWVyZSBtb3J0YWxzIHRoYXQgZG9uJ3Qgb3duIGEgMzAiIHNjcmVlbgoKMjAxMC0wNC0xMiAxODowMzoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICBjaGVjazogRG9uJ3QgcmUtZGVjbGFyZSAnR0xpc3QgKmJ1ZmZlcnMnIGluIHRoZSB0ZXN0cwoJICBJdCdzIGFuIGV4dGVybmFsIHdoaWNoIGxpdmVzIGluIGdzdGNoZWNrLmMuIFJlZGVjbGFyaW5nIGl0IG1ha2VzIHNvbWUKCSAgY29tcGlsZXJzL2FyY2hpdGVjdHVyZXMgdGhpbmsgdGhlICdidWZmZXJzJyBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cyBhcmUKCSAgYSBkaWZmZXJlbnQgc3ltYm9sLi4uIGFuZCB0aGVyZWZvcmUgd2UgZW5kIHVwIGNvbXBhcmluZyBob2xvZGVja3Mgd2l0aAoJICBvcmFuZ2VzLgoKMjAxMC0wNC0xMiAxNDo1MDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4LCBxdGRlbXV4OiBtaW5vciBjb2RlIGNsZWFudXAgaW4gYXZjX2xldmVsX2lkY190b19zdHJpbmcoKQoJICBEbyB0aGUgc2FtZSB3aXRoIHNsaWdodGx5IGZld2VyIExPQy4KCjIwMTAtMDQtMTIgMTI6NDA6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIC1XdW5kZWYgZmxhZwoJICBGaXhlcyAjNjE1MTYxCgoyMDEwLTA0LTEyIDExOjQzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEk0MjAtPkFZVVYgY29weWluZwoKMjAxMC0wNC0xMiAxMToyNTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IENvcnJlY3RseSBjbGFtcCBmcmFtZS9iYWNrZ3JvdW5kIGFscGhhcyB0byBbMCwyNTVdIGJlZm9yZSB3cml0aW5nIHRoZW0KCjIwMTAtMDQtMTIgMTE6MTY6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVjazogSWdub3JlIGpwZWdlbmMgdGVzdAoKMjAxMC0wNC0xMSAxMzoxNDozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBPbmx5IGNoZWNrIGludGVybGFjZWQgZmxhZyBpbiBzaW5rIGNhcHMKCSAgRml4ZXMgIzYxNTQ2MC4KCjIwMTAtMDQtMDkgMTE6MjE6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiYTMzZDFmIHRvIGZjODU4NjcKCjIwMTAtMDQtMDggMTg6MDU6NDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZG9jczogZG8gcHJvcGVyIGVzY2FwaW5nIGZvciAiJSIKCjIwMTAtMDQtMDggMTc6NTA6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5oOgoJICBydHNwOiByZW1vdmUgb2Jzb2xldGUgZ29vZ2xlIGV4dGVuc2lvbgoJICBUaGlzIHdhcyBub3QgYnVpbGQgZm9yIGEgd2hpbGUgYW5kIGNhbiBiZSByZW1vdmVkLgoKMjAxMC0wNC0wOCAxNzo0Mjo1MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IG1vdmUgdHdvIHN5bWJvbHMgdG8gcHJpdmF0ZSBzZWN0aW9uCgoyMDEwLTA0LTA4IDE3OjM2OjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGZseGRlYyBkb2NzCgoyMDEwLTA0LTA4IDE3OjE3OjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGRvY3M6IGVuYWJsZSB0aGUgMiBvZiA2NSBydHAgZWxlbWVudHMgaW4gdGhlIGRvY3MKCjIwMTAtMDQtMDggMTE6NTQ6MTkgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogRG9uJ3Qgd2FpdCBpZiB3ZSdyZSBsYXRlCgkgIEluIGZhY3QsIGR1ZSB0byBzaWduZWRuZXNzIGlzc3VlcywgYSBuZWdhdGl2ZSBkZWxheSB3b3VsZCBiZSBjaGFuZ2VkIHRvCgkgIGFuIGFsbW9zdCBpbmZpbml0ZSB3YWl0IGNhdXNpbmcgc2hvdXQyc2VuZCB0byAibG9jayB1cCIuCgkgIFJlcG9ydGVkIGJ5IENocmlzdG9waGVyIE1vbnRnb21lcnkuCgoyMDEwLTA0LTA4IDE2OjU2OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBkb2NzOiB1cGQgLT4gdWRwIGFuZCB2b2lsYSBpdCBzaG93cyB1cCBpbiB0aGUgZG9jcwoKMjAxMC0wNC0wOCAxNjo1MToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGRvY3M6IGZpeCBkb2MgYmxvYiBzeW50YXgKCjIwMTAtMDQtMDggMTY6NTE6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgKHNwYXJzZSkgZG9jcyBmb3IgYXVwYXJzZSBlbGVtZW50CgoyMDEwLTA0LTA4IDE0OjQwOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIHZpZGVvYm94IHN5bWJvbHMKCjIwMTAtMDQtMDggMTQ6NDA6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIGR5bnVkcHNpbmsgdW50aWwgc29tZW9uZSBkb2N1bWVudHMgaXQKCjIwMTAtMDQtMDggMTQ6MzQ6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IG1ha2UgZGVidWcgY2F0ZWdvcnkgc3RhdGljCgoyMDEwLTA0LTA4IDE0OjI5OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZseGRlbXV4OiByZW5hbWUgR3N0RkxWRGVtdXggZm9yIEdzdEZsdkRlbXV4CgoyMDEwLTA0LTA4IDE0OjIzOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBmbHZkZW11eDogbWVyZ2UgZmx2cGFyc2UgaW50byB0aGUgZGVtdXhlciBhbmQgbWFrZSBmdW5jdGlvbiBzdGF0aWMKCSAgTm8gbmVlZCB0byBoaWRlIGNlcnRhaW4gZnVuY3Rpb24gaW4gdGhlIGRvY3MuIEFsbG93cyB0byBkbyBtb3JlIGNsZWFudXBzLgoKMjAxMC0wNC0wOCAxMzoxMzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IEFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTA0LTA4IDE0OjAwOjA4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogdjRsMmJ1ZmZlciBwb29sIGlzIG5vdyBhIHNlcGFyYXRlIG9iamVjdCwgcmVtb3ZlIHRoZW0gZnJvbSB2NGwyc3JjIGRvY3MKCjIwMTAtMDQtMDggMTM6NTg6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiByZW1vdmUgbm9uIGV4aXN0aW5nIGZsYWdzIGFuZCBhZGQgdHdvIGludGVybmFsIG1ldGhvZHMKCSAgSWYgc29tZW9uZSBjYXJlcyBmbHZwYXJzZSBjb3VsZCBiZSBtZXJnZWQgaW50byBmbHZkZW11eC4KCjIwMTAtMDQtMDggMTM6NTc6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIHByb3RvdHlwZSBmb3Igbm9uIGV4aXN0aW5nIGZ1bmN0aW9uCgkgIFRoZXJlIGlzIG5vIGZ1bmN0aW9uIGJ5IHRoYXQgbmFtZSBhbnl3aGVyZS4KCjIwMTAtMDQtMDggMTI6NTY6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICBkb2NzOiBVcGRhdGUgaW5zcGVjdGVkIHBsdWdpbiBpbmZvcm1hdGlvbgoKMjAxMC0wNC0wOCAxMjo1NjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBJbXByb3ZlIGRvY3MgYSBiaXQKCjIwMTAtMDQtMDggMTM6NDc6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZWZmZWN0dHYgZGVmaW5lcyBhbmQgcmVvcmRlciBsaXN0CgoyMDEwLTA0LTA4IDEzOjQxOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogcmVtb3ZlIHRocmVlIGVudHJpZXMgdGhhdCBhcmUgbm90IGV4cG9ydGVkIGZyb20gdGhlIGhlYWRlcnMgYW55bW9yZQoKMjAxMC0wNC0wOCAxMzo0MDozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IG1vdmUgbWFjcm8gdG8gYyBzb3VyY2UKCSAgT25lIGxlc3Mgc2VtaSBwdWJsaWMgc3ltYm9sIHdpdGhvdXQgbmFtZXNwYWNlIHByZWZpeCBpbiB0aGUgaGVhZGVycy4KCjIwMTAtMDQtMDggMTM6NDA6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogcmVtb3ZlIHVudXNlZCBkZWZpbmVzCgoyMDEwLTA0LTA4IDEzOjIzOjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogZml4IGxhc3QgY29tbWl0CgkgIFVzZSBhIGxvY2FsIGRlZmluZSBmb3IgV0FWRUZPUk1BVF9FWCBiYXNlZCBvbiB0aGUgc2l6ZSBvZiB0aGUgc3RydWN0ICsgMiBieXRlcwoJICBmb3IgdGhlIGV4dGVuc2lvbiBzaXplLgoKMjAxMC0wNC0wOCAxMzoxNjo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4OiByZW1vdmUgdW51c2VkIGRlZmluZQoKMjAxMC0wNC0wOCAxMzowMzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9yaWZmLmg6CgkgIHdhdmVuYzogcmVtb3ZlIGludGVybmFsIGNvcHkgb2YgcmlmZi5oIGFuZCB1c2UgcmlmZi1saWJyYXJ5IGluc3RlYWQuCgkgIFdlIGRvbid0IHVzZSBhbnkgZnVuY3Rpb24geWV0LCBqdXN0IHRoZSBzdHJ1Y3R1cmVzIGFuZCBkZWZpbmVzLgoKMjAxMC0wNC0wOCAxMjo1NjowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiB1c2UgcmlmZiBsaWIgbW9yZQoJICBSZW1vdmUgQklUTUFQSU5GT0hFQURFUiBhbmQgdXNlIHRoZSBvbmUgZnJvbSByaWZmLWxpYi4gQWxzbyByZW1vdmUgdGhlCgkgIFdBVkVGT1JNQVRFWF9TSVpFIGRlZmluZSBhbmQgdXNlIGEgc2l6ZW9mIHRvZ2V0aGVyIHdpdGggdGhlIHJlc3BlY3RpdmUgc3RydWN0LgoJICBCZXNpZGVzIGJldHRlciBjb2RlIHJldXNlIHRoaXMgbGVzc2VucyB0aGUgdW51bnNlZCBzeW1ib2xzIGluIHRoZSBkb2NzLgoKMjAxMC0wNC0wOCAxMjoxNDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRvY3M6IHRyaW0gc2VjdGlvbnMgZmlsZSBtb3JlCgkgIFJlbmFtZSBzb21lIGRlZmluZXMgYW5kIG1vdmUgc29tZSBpdGVzbSB0byAqLmMgZmlsZXMuIEFkZCBtb3JlIGl0ZW1zIHRvIGludGVybmFsCgkgIHN1YnNlY3Rpb24uCgoyMDEwLTA0LTA4IDExOjE5OjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jc3c6IHRyaW0gdGhlIHNlY3Rpb24gZmlsZQoKMjAxMC0wNC0wOCAxMDoyNjoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCB2NGwyc2luayB0byBkb2NzCgoyMDEwLTA0LTA4IDEwOjE1OjA4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIGRvY3M6IGZpeCB4bWwKCSAgVGhlIHRpdGxlIHRhZyBiZWxvbmdzIGludG8gdGhlIHJlZnNlY3QyLgoKMjAxMC0wNC0wNyAxNzo0Mzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBZVjEyLCBpbmNsdWRpbmcgY29udmVyc2lvbiBzdXBwb3J0IGZvciBJNDIwL0FZVVYKCjIwMTAtMDQtMDcgMTc6Mjc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgZ3JheXNjYWxlIGlucHV0L291dHB1dAoJICBUaGlzIGRvZXNuJ3QgZG8gYW55IGNvbnZlcnNpb24gYW5kIGlzIHRoZSBuZXh0IHN0ZXAgdG8KCSAgcmVwbGFjaW5nIHZpZGVvY3JvcCBieSBzdXBwb3J0aW5nIGFsbCByZW1haW5pbmcgZm9ybWF0cwoJICBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAxMC0wNC0wNyAxNjoyNDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgZmlsbGluZyB0aGUgYmFja2dyb3VuZCB3aXRoIHJlZCwgeWVsbG93IGFuZCB3aGl0ZQoKMjAxMC0wNC0wNyAxNjoxMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBkaXJlY3QgUkdCPC0+QVlVViBjb252ZXJzaW9uCgoyMDEwLTA0LTA3IDE2OjExOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IFJHQjI0IGZpbGxpbmcKCjIwMTAtMDQtMDcgMTY6MDY6NTQgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IGhhbmRsZSBwcm9wZXJseSBTVEFQcwoJICBpbiBydHBoMjY0ZGVwYXkuYywgbGluZXMgNTc3LTU3NiwgTkFMVS10eXBlIDI0IChTaW5nbGUtVGltZSBBZ2dyZWdhdGlvbgoJICBQYWNrZXQpIGlzIGhhbmRsZWQgaW4gZmFsbC10aHJvdWdoIGFzIE5BTFUtdHlwZSAyNiAodW5oYW5kbGVkKS4KCSAgVGhpcyBsZWFkcyBoaWdoIHF1YWxpdHkgaDI2NCBzdHJlYW1zIHN1Y2ggYXM6CgkgIHJ0c3A6Ly9zdHJlYW0ueWxlLm1vYmkveWxlL2FyZWVuYS9NRURJQV9FMDM0MjY1N19wMy5tcDQKCSAgdG8gZmFpbCB3aXRoICJOQUwgdW5pdCB0eXBlIDI0IG5vdCBzdXBwb3J0ZWQgeWV0IiAoYnV0IGl0J3MgYWN0dWFsbHkKCSAgc3VwcG9ydGVkKSwgYW5kIHRodXMgdG8gY2xvc2UgYW55IHN0cmVhbSB3aGljaCBjb250YWlucyBTVEFQcy4KCSAgVGhlIHByb3Bvc2VkIG9uZS1saW5lciBwYXRjaCBmaXhlcyB0aGUgaXNzdWUuCgkgIEZpeGVzICM2MTUwNTEuCgoyMDEwLTA0LTA3IDEzOjQ3OjAyICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJICBidWlsZDogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGZpeCB3YXJuaW5ncyBmb3IgYWxsIHBsdWdpbnMgdGhhdCB1c2U6IHNldGxvY2FsZSAoTENfQUxMLi4uCgoyMDEwLTA0LTA3IDEzOjMxOjEzICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSAgYXZpOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0zMSAxNzo1NDoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVzdHJpY3QgcmVzeW5jaW5nIHRvIHN1YnRpdGxlIHRyYWNrcwoJICBUaGlzIHNob3VsZCBwcmV2ZW50IHNraXBwaW5nIGF1ZGlvIG9yIHZpZGVvIGluIG5vdCBzbyB3ZWxsIGludGVybGVhdmVkCgkgIGNhc2VzLgoJICBGaXhlcyAjNjE0NDYwLgoKMjAxMC0wNC0wNiAxMzoyMTo1MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFBvc3QgYXZnLi9tYXguIGJpdHJhdGUgdGFncyBmb3IgSC4yNjQKCSAgVGhpcyByZWFkcyB0aGUgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlcyBmcm9tIHRoZSAnYnRydCcgYXRvbSBpZgoJICBhdmFpbGFibGUsIGFuZCBwdXNoZXMgdGhlc2UgYXMgdGFncywKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDkyNwoKMjAxMC0wNC0wMyAyMzozOToyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCByYWN5IHNodXRkb3duCgkgIEtlZXAgYSByZWYgb2YgcHVsc2VzaW5rIGZvciBkZWZlcnJlZCBtYWlubG9vcCBpbnZvY2F0aW9uLiBGaXhlcyAjNjE0NzY1CgoyMDEwLTA0LTA1IDE1OjQ4OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIHRlc3RzOiBqcGVnZW5jOiBBZGRzIHNvbWUgZ2V0Y2FwcyB0ZXN0CgkgIEFkZHMgdGVzdHMgZm9yIHRoZSBqcGVnZW5jIGdldGNhcHMgZnVuY3Rpb24sIHRvIGF2b2lkCgkgIGhhdmluZyBpdCByZXR1cm5pbmcgbm9uLXN1YnNldCBjYXBzCgoyMDEwLTA0LTA1IDE0OjUxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogRml4IGdldGNhcHMgZnVuY3Rpb24KCSAgV2hlbiBjcmVhdGluZyB0aGUgY2FwcyBhbGxvd2VkIHRvIHVwc3RyZWFtIHVzaW5nIGRvd25zdHJlYW0KCSAgcmVzdHJpY3Rpb25zLCB1c2UgZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzIGFzIHRoYXQgaGFzIHRoZQoJICB1c2FibGUgZm9ybWF0cyBhbmQgcHV0cyBpbnRvIGl0IHRoZSB3aWR0aCwgaGVpZ2h0IGFuZCBmcmFtZXJhdGUKCSAgZmllbGRzLiBUaGlzIGF2b2lkcyBnZXR0aW5nIGVycm9ycyBhYm91dCBnZXRjYXBzIHJldHVybmluZwoJICBub24gc3Vic2V0IGNhcHMgb2YgaXRzIHBhZCB0ZW1wbGF0ZS4KCSAgVGhpcyBlcnJvciBzaG93ZWQgdXAgb24gdGhlIG1ldGFkYXRhIHBsdWdpbiB1bml0IHRlc3QgaW4gLWJhZC4KCjIwMTAtMDQtMDUgMTc6MzE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggY29udmVyc2lvbiBmcm9tIDMgYnl0ZSBSR0IgdG8gQVJHQgoKMjAxMC0wNC0wNSAxNzowODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciAzIGJ5dGUgUkdCIGZvcm1hdHMgYW5kIHJlZmFjdG9yIFJHQiBjb2RlIGEgYml0CgoyMDEwLTA0LTA1IDE1OjUxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBhbGwgMzIgYml0IFJHQiBmb3JtYXRzCgkgIC4uLmluY2x1ZGluZyBjb252ZXJzaW9uIGJldHdlZW4gdGhlbS4KCjIwMTAtMDQtMDUgMTU6MjY6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIGJ1ZmZlcmluZyBtZXRob2QKCSAgQWRkIGEgcHJvcGVydHkgdG8gY29udHJvbCBob3cgdGhlIGppdHRlcmJ1ZmZlciBwZXJmb3JtcyB0aW1lc3RhbXBpbmcgYW5kCgkgIGJ1ZmZlcmluZy4KCjIwMTAtMDQtMDQgMTk6MDI6NDEgLTAzMDAgIEFuZHLDqSBEaWViIE1hcnRpbnMgPGFuZHJlLmRpZWJAZ21haWwuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogUmVtb3ZpbmcgdW51c2VkIHZhcmlhYmxlCgkgIEZpeGVzIGJ1ZyAjNjE0ODQzLgoKMjAxMC0wNC0wNCAyMDozMTozOCAtMDMwMCAgQW5kcsOpIERpZWIgTWFydGlucyA8YW5kcmUuZGllYkBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHNob3VsZCBub3QgcmV0dXJuIGNhcHMgQU5ZIGJhc2VkIG9uIGRvd25zdHJlYW0KCSAgV2hlbiBkb3duc3RyZWFtIGhhcyBhIHNpbmsgcGFkIHdpdGggQU5ZIGNhcHMsIGpwZWdlbmMgc2hvdWxkCgkgIHRyZWF0IGl0IHRoZSBzYW1lIGFzIE5VTEwgYW5kIHJldHVybiBpdHMgdGVtcGxhdGUgY2Fwcy4KCSAgRml4ZXMgIzYxNDg0MgoKMjAxMC0wNC0wNCAyMjoyODozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgb3NzOiBhZGQgZml4bWUgY29tbWVudAoKMjAxMC0wNC0wNCAyMjoyNjo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiB1c2UgJChidWlsZGRpcikgZm9yIGluc3RhbGxpbmcgZ2VuZXJhdGVkIGZpbGVzCgoyMDEwLTA0LTA0IDIyOjA3OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCAiY29uZmlndXJlOiBmaXggb3V0IG9mIHNvdXJjZSBkaXIgYnVpbGRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGNhMGJkM2E4Y2VhMzFmOWVhMGRmNzk4YTgzZDMwMDdlNjk2OTU4YmEuCgoyMDEwLTA0LTA0IDIxOjM2OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IG91dCBvZiBzb3VyY2UgZGlyIGJ1aWxkcwoJICBSZW1vdmUgbm9uLWV4aXN0aW5nIGdzdC1saWJzIGZyb20gaW5jbHVkZSBhbmQgbGlicmFyeS1wYXRocycuCgkgIEZpeGVzICM2MTQzNTQgZXZlbiBtb3JlLgoKMjAxMC0wNC0wMSAxMDoxOTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFJlYWQgcmVwbGF5Z2FpbiBwZWFrL2dhaW4gdGFncwoJICBNYWtlIHF0ZGVtdXggcmVhZCB0YWdzIHJlcGxheWdhaW4gdGFncyB0aGF0IGFyZSB3aXRoaW4gJy0tLS0nIGF0b21zLgoJICBGaXhlcyAjNjE0NDcxCgoyMDEwLTA0LTAxIDE4OjQ4OjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIG1hdHJvc2thOiBFeHBvcnQgaC4yNjQgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIHJlcGxpY2F0ZXMgdGhlIGNvZGUgaW4gcXRkZW11eCB0byBleHBvcnQgdGhlIGguMjY0IHByb2ZpbGUgYW5kCgkgIGxldmVsIGluIHRoZSBzdHJlYW0gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDY1MQoKMjAxMC0wNC0wMiAxODo1MDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvZmYtYnktb25lIGludHJvZHVjZWQgaW4gbGFzdCBjb21taXQKCjIwMTAtMDQtMDEgMTg6Mzg6MzggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNaW5vciByZWZhY3RvciBvZiB0aGUgY29kZQoJICBUaGlzIHdpbGwgbWFrZSBpdCBlYXNpZXIgdG8gY2x1bXAgdG9nZXRoZXIgY29tbW9uIGNvZGUgd2hlbiBjb3B5aW5nIHRvCgkgIG1hc3Ryb3NrYWRlbXV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTA0LTAxIDE4OjE3OjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IGguMjY0IGxldmVsIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHRoZSBoLjI2NCBsZXZlbCBpbiB0aGUgc3RyZWFtIGNhcHMgKGFzIGEgc3RyaW5nKSB3aGljaCBjYW4KCSAgYmUgdXNlZCB0byBtYXRjaCBhIGRlY29kZXIsIG9yIGFzIG1ldGFkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTA0LTAxIDE2OjU4OjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IGguMjY0IHByb2ZpbGUgaW4gY2FwcwoJICBUaGlzIGFkZHMgdGhlIGguMjY0IHByb2ZpbGUgZm9yIGEgZ2l2ZW4gc3RyZWFtIGludG8gY2Fwcy4gVGhpcyBjYW4KCSAgKGV2ZW50dWFsbHkpIGJlIHVzZWQgdG8gc2VsZWN0IGFuIGFwcHJvcHJpYXRlIGRlY29kZXIgYW5kIGFzIG1ldGFkYXRhCgkgIGZvciBjZXJ0YWluIGFwcGxpY2F0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDY1MQoKMjAxMC0wMy0zMSAxNDo0MzoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZW1vdmUgb2Jzb2xldGUgcmV2ZXJzZSBwbGF5YmFjayBjb2RlIHBhdGgKCjIwMTAtMDMtMzEgMTQ6NDA6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IHN1cHBvcnQgKHB1bGwgbW9kZSkgbmVnYXRpdmUgc2VlayByYXRlCgoyMDEwLTAzLTI5IDE1OjI3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGFsc28gY2hlY2sgZm9yIHNlZ21lbnQgc3RvcCBmb3Igbm9uLXNlZ21lbnQtc2VlawoKMjAxMC0wMy0zMCAxNjo1MDoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHVzaCBjb3JyZWN0bHkgc2l6ZWQgZmxhYyBoZWFkZXIgYnVmZmVycwoJICBGaXhlcyAjNjE0MzUzLgoKMjAxMC0wMy0zMCAwNzozNDowNyAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogZml4IGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBzcmNkaXIgIT0gYnVpbGRkaXIKCSAgRml4ZXMgJy4uLy4uL2dzdC1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5JyB3YXJuaW5nL2Vycm9yIHdoZW4KCSAgdGhlIGJ1aWxkIGRpcmVjdG9yeSBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIHNvdXJjZSBkaXJlY3RvcnkuCgkgIEZpeGVzICM2MTQzNTQuCgoyMDEwLTAzLTMwIDAxOjUwOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogZml4IHBhcnNpbmcgb2YgdW5zeW5jZWQgZnJhbWVzIHdpdGggZGF0YSBsZW5ndGggaW5kaWNhdG9yCgkgIEZpeGVzIGJ1ZyAjNjE0MTU4LgoKMjAxMC0wMy0yOSAxMTowMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0L01ha2VmaWxlLmFtOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBidWlsZDogYnVpbGQgcGx1Z2lucyBhbmQgZXhhbXBsZXMgaW4gcGFyYWxsZWwgd2hlcmUgcG9zc2libGUKCjIwMTAtMDMtMTggMTg6NDk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCByZWR1bmRhbnQgZnVuY3Rpb24gcmVkZWNsYXJhdGlvbiBjb21waWxlciB3YXJuaW5ncwoJICBSZS1hcHBseSB0aGlzIGFnYWluIGFzIHdlbGwsIGFzIGl0IHdhcyB1bmRvbmUgYnkgdGhlIHByZXZpb3VzIGNvbW1pdC4uCgoyMDEwLTAzLTE4IDE0OjMxOjM1ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoJICBBcHBseSB0aGlzIGFnYWluLCBhcyBpdCB3YXMgb3ZlcndyaXR0ZW4gYnkgdGhlIHByZXZpb3VzIGNvbW1pdC4gTWVyZ2luZwoJICBpcyBoYXJkLCBhcHBhcmVudGx5LgoKMjAxMC0wMy0yNiAyMzoyMDoxMCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogSW1wbGVtZW50IFNQRElGIHN1cHBvcnQgZm9yIEFDMy4KCSAgRGV0ZWN0IGlmIHRoZSBzb3VuZCBjYXJkIHN1cHBvcnRzIFNQRElGIHBhc3N0aHJ1IG9mIEFDMyBhbmQgYWRkCgkgIG5lY2Vzc2FyeSBjb2RlIHRvIHN1cHBvcnQgdGhhdCBsaWtlIGFsc2FzaW5rLgoKMjAxMC0wMy0yNiAxNzowNjo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBjcnVmdCBhbGVydCBmb3IgY29tbW9uL3NoYXZlKgoKMjAxMC0wMy0yNiAxNjo1MDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9sYW5nLmg6CgkgIHF0ZGVtdXg6IGV4dHJhY3Qgc3RyZWFtIGxhbmd1YWdlIGluIG1vcmUgY2FzZXMKCSAgVGhlIDE2LWJpdCBsYW5ndWFnZSBjb2RlIGNhbiBiZSBlaXRoZXIgYSBwYWNrZWQgSVNPLTYzOS0yVCBjb2RlCgkgIG9yIGEgJ01hY2ludG9zaCBsYW5ndWFnZSBjb2RlJy4gSGFuZGxlIHRoZSBsYXR0ZXIgdHlwZSBvZiBsYW5ndWFnZQoJICBjb2RlcyBhcyB3ZWxsLCBhbmQgbWFwIHRvIHRoZSBtYXRjaGluZyBJU08gY29kZS4gTGFzdGx5LCBmaXgKCSAgbGFuZ3VhZ2UgY29kZSBwb3N0aW5nIGZvciBsYW5ndWFnZSAjMCwgd2hpY2ggaXMgdmFsaWQgYW5kIHN0YW5kcwoJICBmb3IgJ0VuZ2xpc2gnLgoJICBGaXhlcyAjNjE0MDAxLgoKMjAxMC0wMy0yNiAxNDo1NTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEltcHJvdmUgZGVidWdnaW5nIGFuZCBhZGQgc29tZSBGSVhNRXMKCjIwMTAtMDMtMjYgMTQ6NDI6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBTYW1wbGUgcmF0ZSBtYXJrZXJzIDB4MDEsIDB4MDIgYW5kIDB4MDMgYXJlIHZhbGlkCgkgIFRoZXkgYXJlIGZvciA4OC4ya0h6LCAxNzYuNGtIeiBhbmQgMTkya0h6LgoKMjAxMC0wMy0yNiAxNDoxNjozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IFRha2Ugc2FtcGxlcmF0ZSwgd2lkdGggYW5kIG51bWJlciBvZiBjaGFubmVscyBmcm9tIHRoZSBTVFJFQU1JTkZPCgkgIC4uLmFuZCB1cGRhdGUgaXQgZnJvbSB0aGUgZnJhbWUgaGVhZGVycyBpZiBpdCBzaG91bGQgY2hhbmdlIGZvciBzb21lIHJlYXNvbi4KCSAgVGhpcyBhbGxvd3MgcGxheWJhY2sgb2YgZmlsZXMgd2l0aCBvZGQgc2FtcGxlIHJhdGVzLgoKMjAxMC0wMy0yNiAxMzo0NTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBBWVVWLT5JNDIwIGZyYW1lIGNvcHlpbmcKCjIwMTAtMDMtMjYgMTM6MzQ6MTcgKzAxMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBTZXQgY29ycmVjdCBnZXRjYXBzL3NldGNhcHMgZnVuY3Rpb25zIG9uIHNyY3BhZHMgYW5kIHNpbXBsaWZ5IHRoZW0KCSAgVGhpcyBmaXhlcyBkb3duc3RyZWFtIG5lZ290aWF0aW9uLCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBpc24ndCByZWFsbHkKCSAgc3VwcG9ydGVkIGJ5IGpwZWdlbmMgeWV0LgoJICBGaXhlcyBidWcgIzYxMzc4OS4KCjIwMTAtMDMtMjYgMTA6MzE6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogQWx3YXlzIGZpbGwgdGhlIGNvbXBsZXRlIGZyYW1lIGlmIGJvcmRlcnMgc2hvdWxkIGJlIGFkZGVkCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGRvbid0IGdldCBhbnkgZ2FwcyBiZXR3ZWVuIHJlY3RhbmdsZXMgYmVjYXVzZQoJICBvZiBjaHJvbWEgc3Vic2FtcGxpbmcgZm9yIGV4YW1wbGUuCgoyMDEwLTAzLTE4IDIyOjEyOjQwICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogRG9uJ3QgY2FsbCBjb25maWd1cmUgd2l0aCAtLWVuYWJsZS1wbHVnaW4tZG9jcwoJICBjb25maWd1cmUgZ2l2ZXMgYSBuaWNlIHdhcm5pbmc6CgkgIGNvbmZpZ3VyZTogV0FSTklORzogdW5yZWNvZ25pemVkIG9wdGlvbnM6IC0tZW5hYmxlLXBsdWdpbi1kb2NzCgkgIGFuZCBpbmRlZWQsIEkgY291bGQgbm90IGZpbmQgYW55dGhpbmcgaW4gdGhlIGNvbmZpZ3VyZS5hYyBvciB0aGUgbTQKCSAgbWFjcm9zIHRoYXQgd291bGQgYWxsb3cgZW5hYmxpbmcgdGhhdCBvcHRpb24uIFJlbW92ZSBpdCB0aGVuLgoKMjAxMC0wMy0yMiAxNjo1ODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBSZWZhY3RvciBib3hpbmcgdG8gcmVkdWNlIGNvZGUgZHVwbGljYXRpb24KCjIwMTAtMDMtMjIgMTM6MTM6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBTaW1wbGlmeSBjYXBzIHRyYW5zZm9ybWF0aW9uCgoyMDEwLTAzLTIxIDIwOjE0OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIGNvbnN0IHF1YWxpZmllciB0byB0aGUgc291cmNlIGZyYW1lIGRhdGEKCjIwMTAtMDMtMjMgMTc6NDc6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgc2VlayB3aGVuIGluIHByb3BlciBzdGF0ZQoJICAuLi4gYW5kIGRhdGEgc3RydWN0dXJlcyBjYW4gYmUgdGhyZWFkLXNhZmVseSBhY2Nlc3NlZC4KCSAgU2VlICM2MDE2MTcuCgoyMDEwLTAzLTIzIDE3OjM0OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBzdXBwb3J0IChwdWxsIG1vZGUpIG5lZ2F0aXZlIHNlZWsgcmF0ZQoKMjAxMC0wMy0xOCAxNToyOTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHRyYWNrIGNsaXAgZHVyYXRpb24gaW4gc2VnbWVudAoKMjAxMC0wMy0xOCAxMzozOTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJlZmVyIGluZGV4IG9mIHZpZGVvIHRyYWNrIHRvIHBlcmZvcm0gc2Vla2luZwoKMjAxMC0wMy0yNSAyMjo1ODo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBpZiB3ZSB0ZWxsIHRoYXQgd2UgaGFuZGxlIGdhcCBmbGFncywgdGhlbiBkbyBzbwoKMjAxMC0wMy0yNSAyMjo1NTozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiB1c2UgZ2xpYiB0eXBlcwoKMjAxMC0wMy0yNSAyMjo1NDo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBmaXggY2xhc3NpZmljYXRpb24KCjIwMTAtMDMtMjUgMjI6NTM6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogcmVmb3JtYXQgbWVzc2FnZSBkb2NzCgkgIFVzZSBhIGxpc3QgbGlrZSBpbiBvdGhlciBlbGVtZW50IGRvY3MgYXMgYW4gdW50d2Vha2VkIGRvY2Jvb2sgdGFibGUgbG9vayB1Z2x5LgoKMjAxMC0wMy0yNCAxNjoxOTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdHlwbyBpbiBoZWFkZXIgdmFsaWRhdGlvbiBjaGVjawoKMjAxMC0wMy0yNCAxODo1MzoyMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTVjZDUxNCB0byBjMWQwN2RkCgoyMDEwLTAzLTIzIDE5OjQ2OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICBpY3lkZW11eDogSGFuZGxlIHVwc3RyZWFtIENvbnRlbnQtVHlwZS4KCSAgQWxsb3dzIHVzIHRvIGhhbmRsZSBTaG91dENhc3QgVFYgKE5TVikgc3RyZWFtcy4KCSAgSWYgdGhlIHVwc3RyZWFtIGNhcHMgaGF2ZSB0aGUgJ2NvbnRlbnQtdHlwZScgZmllbGQgc2V0IHRvIHZpZGVvL25zdiwgdGhlbgoJICB3ZSBzaG9ydGN1dCB0aGUgdHlwZWZpbmRpbmcgYW5kIHNldCB2aWRlby94LW5zdiBkaXJlY3RseS4KCjIwMTAtMDMtMjMgMTk6MzA6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogU2V0IHRoZSBDb250ZW50LVR5cGUgSFRUUCBoZWFkZXIgb24gdGhlIGNhcHMuCgkgIEZpcnN0IHN0ZXAgdG8gZml4aW5nIFNob3V0Q2FzdCAoTlNWKSBzdHJlYW1pbmcuCgoyMDEwLTAzLTIzIDAyOjM4OjQzIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3g6IGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBBZGRlZCB2b2lkIHBhcmFtZXRlciB0byBhdm9pZCBvbGQtc3R5bGUgZGVmaW5pdGlvbiB3YXJuaW5nLgoJICBBZGRlZCAtV25vLWFnZ3JlZ2F0ZS1yZXR1cm4gZmxhZyB0byBhdm9pZCBlcnJvbmVvdXMgYWdncmVnYXRlIHJldHVybiB3YXJuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEzNjYzCgoyMDEwLTAzLTIzIDAwOjE1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogdXNlIGxvb3AgdGVzdCBmb3IgbG9uZy1ydW5uaW5nIHZpZGVvY3JvcCBjaGVjawoJICBUaGlzIHNob3VsZCBhdm9pZCB0aW1lb3V0cyBvbiBzbG93IG1hY2hpbmVzLgoJICBGaXhlcyAjNTk3NzM5LgoKMjAxMC0wMy0yMiAxNzoyNjozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIGkxOG46IGJ1aWxkIGZpeGVzOiAjaWYgLT4gI2lmZGVmIGZvciBFTkFCTEVfTkxTCgoyMDEwLTAzLTIyIDE3OjI1OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIGkxOG46IGZpeCB0aGUgYnVpbGQKCSAgRG9uJ3QgaW5sY3VkZSBsb2NhbGUuaCB3aGljaCB3ZSBpbmNsdWRlIGluIGdldHRleHQuaCBpZiBuZWVkZWQuIEd1YXJkIHRoZQoJICBpbmxjdWRlIGxpa2Ugd2UgZG8gaW4gdGhlIHNpbWlsbGFyIGhlYWRlcnMgaW4gY29yZS4KCjIwMTAtMDMtMjIgMTM6MTY6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MKCSAgYW5kIGZpeCBpdHMgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTI6MDI6MTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgQWRkIC1XcmVkdW5kYW50LWRlY2xzIGZsYWcKCSAgYW5kIGZpeCB3YXJuaW5ncyBmcm9tIGl0CgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDE3OjQ2OjA2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gaXMgbm90IHZhbGlkIGZvciBDKysKCjIwMTAtMDMtMjEgMTc6MzY6MjggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogSW5jbHVkZSBoZWFkZXJzIGluc3RlYWQgZm8gZGVmaW5pbmcgZnVuY3Rpb25zCgoyMDEwLTAzLTIxIDE3OjI0OjE0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCBhIGxhcmdlIHNldCBvZiB3YXJuaW5nIGZsYWdzLgoJICBOb25lIG9mIHRoZW0gdHJpZ2dlciB3YXJuaW5ncyBhbnltb3JlLCBzbyBub3RoaW5nIG5lZWRlZCB0byBiZSBmaXhlZC4KCjIwMTAtMDMtMjEgMTc6MjM6NDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tL2ZseWluZ19zdGFyc19meC5jOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSogZ3N0L2dvb20vZ29vbV9maWx0ZXJzLmg6CgkqIGdzdC9nb29tL2dvb21fZnguaDoKCSogZ3N0L2dvb20vaWZzLmM6CgkqIGdzdC9nb29tL2lmcy5oOgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuaDoKCSAgTWFrZSBnb29tIG5vdCB1c2UgYWdncmVnYXRlIHJldHVybnMKCjIwMTAtMDMtMjEgMTU6MTc6NDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gZmxhZwoJICBBbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMCAwMDo1NDoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGFsL2hhbC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncyB0byB0aGUgY29uZmlndXJlIGZsYWdzCgkgIC4uLiBhbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAxMToxNDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBzdXBwb3J0IGZvciB0aGUgcmVtYWluaW5nIEFSR0IgZm9ybWF0cwoJICBBbmQgaGFuZGxlIEFZVVYgbGlrZSBBUkdCLCB3ZSBuZWVkIG5vIFlVViBzcGVjaWZpYyBoYW5kbGluZy4KCjIwMTAtMDMtMjAgMjE6MzA6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgUkdCIGFuZCB4UkdCIGlucHV0CgoyMDEwLTAzLTIwIDIxOjEzOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIEFSR0IgaW5wdXQKCjIwMTAtMDMtMjAgMjA6NDY6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZyBBUkdCIG91dHB1dAoKMjAxMC0wMy0yMCAxMDo0Nzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgQUJHUiBhbmQgUkdCQQoJICBOb3cgYWxsIDQgQVJHQiB2YXJpYW50cyBhcmUgc3VwcG9ydGVkIGJ5IHZpZGVvbWl4ZXIuCgoyMDEwLTAzLTIwIDEwOjI0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogTW92ZSBjaHJvbWEga2V5aW5nIHBhcmFtZXRlcnMgaW50byBzdGFjayB2YXJpYWJsZXMgdG8gcHJldmVudCBtdWx0aXBsZSBwb2ludGVyIGRlcmVmZXJlbmNlcyBwZXIgcGl4ZWwKCjIwMTAtMDMtMjAgMTA6MjA6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBNb3ZlIGNvbG9yIGNvbnZlcnNpb24gbWF0cml4ZXMgaW50byBzdGFjayB2YXJpYWJsZXMgdG8gc3BlZWQgdXAgcHJvY2Vzc2luZwoKMjAxMC0wMy0yMCAxMDoxODowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFVzZSBjb3JyZWN0IG1hdHJpeGVzIHRvIGNvbnZlcnQgY2hyb21hIGtleWluZyBjb2xvciB0byBZVVYKCjIwMTAtMDMtMTkgMTg6NTE6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgZGlmZmVyZW50IGNvbG9yIG1hdHJpeGVzCgoyMDEwLTAzLTE5IDE4OjIxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUmVuYW1lIGFuZCBtb3ZlIGZ1bmN0aW9ucyBhcyBmdXJ0aGVyIHByZXBhcmF0aW9uIGZvciBzdXBwb3J0aW5nIG1vcmUgY29sb3IgZm9ybWF0cwoKMjAxMC0wMy0xOSAxODoxODowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBSZW1vdmUgc29tZSB1bm5lZWRlZCBjYWxjdWxhdGlvbnMgYW5kIGluc3RhbmNlIHN0cnVjdCBmaWVsZHMKCSAgQW5kIGRvY3VtZW50IHRoZSBpbnN0YW5jZSBzdHJ1Y3QgZmllbGRzIGEgYml0IGJldHRlcgoKMjAxMC0wMy0xOSAxODoxMToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBTb21lIHByZXBhcmF0aW9ucyBmb3Igc3VwcG9ydGluZyBtb3JlIGNvbG9yIGZvcm1hdHMKCjIwMTAtMDMtMTkgMTc6MDk6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgaDI2NHBheTogZml4IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eQoJICBVc2UgdGhlIHNhbWUgdW5pdHMgZm9yIGNvbXBhcmluZyB0aGUgZWxhcHNlZCB0aW1lIGFnYWluc3QgdGhlIGludGVydmFsLgoJICBGaXhlcyAjNjEzMDEzCgoyMDEwLTAzLTE5IDE2OjQ0OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IEltcGxlbWVudCBjb2xvci1tYXRyaXggc3VwcG9ydCBhbmQgdXNlIGludGVnZXIgYXJpdGhtZXRpYyBvbmx5CgkgIEFscGhhY29sb3Igbm93IHVzZXMgdGhlIGNvcnJlY3QgbWF0cml4ZXMgZm9yIFNEVFYgYW5kIEhEVFYgYW5kIGNhbgoJICBjb252ZXJ0IGJldHdlZW4gdGhlbS4KCjIwMTAtMDMtMTkgMTU6MDM6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogdXNlIEdUeXBlIGZyb20gLWJhc2UgYW5kIGJ1bXAgcmVxdWlyZWQgdmVyc2lvbgoJICBVc2UgdGhlIHRyYW5zcG9ydCBmbGFncyBHVHlwZSBmcm9tIC1iYXNlIGFuZCBidW1wIHRoZSByZXF1aXJlZCB2ZXJzaW9uIG9mIC1iYXNlCgkgIGJlY2F1c2Ugb2YgdGhpcy4KCjIwMTAtMDMtMTkgMDA6MDU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgYXBldGFnOiBtaW5vciBNYWtlZmlsZS5hbSBzdXJnZXJ5CgkgIC1JJCh0b3Bfc3JjZGlyKS9nc3QtbGlicy8gaXMgYWxyZWFkeSBpbiAkKEdTVF9DRkxBR1MpCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTA0IDIyOjEyOjM1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIGR2MTM5NHNyYzogRml4IGludGVybmFsIGNsb2NrCgkgIEZpeGVzICM1OTM5MTAuCgoyMDEwLTAzLTE4IDIxOjE0OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IE1ha2VmaWxlLmFtIGNsZWFudXBzCgkgIE1vc3RseSBhZGQgJChHU1RfQkFTRV9DRkxBR1MpIHdoZXJlIGl0IHdhcyBtaXNzaW5nLCBidXQgYWxzbyBmaXggdXAKCSAgb3JkZXIgb2YgZmxhZ3MgYW5kIGxpYnMgaWYgbmVlZGVkIChzZWUgZG9jcy9yYW5kb20vbW92aW5nLXBsdWdpbnMpLgoKMjAxMC0wMy0xOCAxODo0OToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IHJlZHVuZGFudCBmdW5jdGlvbiByZWRlY2xhcmF0aW9uIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE5OjAwOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IFJlbW92ZSByZW1haW5pbmcgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyB3aGVuIHByb2Nlc3NpbmcgYSBwaXhlbAoKMjAxMC0wMy0xOCAxODo1NTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlZmFjdG9yIGNocm9tYSBrZXlpbmcgaW50byBhIHNpbmdsZSBmdW5jdGlvbgoJICBUaGlzIHJlZHVjZXMgY29kZSBkdXBsaWNhdGlvbiBvbmNlIHdlIGFkZCBzdXBwb3J0IGZvciBtb3JlIGNvbG9yIGZvcm1hdHMuCgoyMDEwLTAzLTE4IDE0OjMxOjM1ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0xOCAxNDowMjozMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RlbGVtZW50cy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuYzoKCSogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmg6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuYzoKCSogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5oOgoJICBSZW1vdmUgb2xkY29yZSBkaXJlY3RvcnkKCSAgVGhlIGVsZW1lbnRzIGhhdmUgYmVlbiB1bnVzZWQgZm9yIGFnZXMgYW5kIGFsbCBpbXBvcnRhbnQgb25lcyBoYXZlIGJlZW4KCSAgcmVwbGFjZWQgb3IgY29waWVkIGVsc2V3aGVyZS4KCjIwMTAtMDMtMTggMTM6NDU6MDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVjb2Rlci5jOgoJICBhdmk6IFJlbW92ZSBvbGQgZmlsZQoJICBTZWVtcyB0byBiZSBsZWZ0b3ZlciBmcm9tIHRoZSAwLjQgZGF5cyBvciBzby4KCjIwMTAtMDMtMTggMTI6NDQ6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogdXNlICNpZmRlZiByYXRoZXIgdGhhbiAjaWYgY29uZGl0aW9uYWxzCgoyMDEwLTAzLTE4IDEyOjIwOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZG8gbm90IGNhbGwgX3B1c2hfdHMgd2l0aCB1bm5lZWRlZCAoYW5kIHdyb25nKSB0aW1lIHBhcmFtZXRlcgoJICBGaXhlcyAjNjEzMjA2LgoKMjAxMC0wMy0xOCAxMTozMzo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdHlwbyBpbiBoZWFkZXIgdmFsaWRhdGlvbiBjaGVjawoKMjAxMC0wMy0xOCAwMTo1MToxOSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcHV0IG1vcmUgaW5mb3JtYXRpb24gaW4gdGhlIG1ldGFkYXRhCgkgIEFkZGl0aW9uYWwgdGFncyBhcmU6IGF1ZGlvY29kZWNpZCwgdmlkZW9jb2RlY2lkIGZyYW1lcmF0ZSBhbmQgKGluIHRoZQoJICBub24tbGl2ZSBjYXNlKSBmaWxlc2l6ZS4KCSAgV2hpbGUgYXQgaXQsIGZpeCBpbmRleCByZXdyaXRpbmcgdG8gdXBkYXRlIGR1cmF0aW9uIGFuZCBmaWxlc2l6ZQoJICB2YWx1ZXMgZXZlbiBpZiB0aGUgaW5kZXggaXMgZW1wdHkuCgkgIEZpeGVzICM2MTMwOTQuCgoyMDEwLTAzLTE3IDIxOjMzOjI4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkqIGdzdC9nb29tL21hdGh0b29scy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBZGQgLVd1bmRlZiB0byBjb25maWd1cmUgZmxhZ3MKCSAgYW5kIGZpeCB0aGUgcmVzdWx0aW5nIHdhcm5pbmdzCgoyMDEwLTAzLTE3IDIwOjAyOjE2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIC1XbWlzc2luZy1wcm90b3R5cGVzIGlzIG5vdCB2YWxpZCBmb3IgQysrCgoyMDEwLTAzLTE3IDE5OjM1OjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBBZGQgLVdyZWR1bmRhbnQtZGVjbHMgd2FybmluZyBmbGFnCgkgIEFsc28gZml4IGNvbXBpbGUgaXNzdWVzCgoyMDEwLTAzLTE3IDE4OjQ5OjExICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJICBGaXggd2FybmluZ3MgaW4gZXhwZXJpbWVudGFsIHBsdWdpbnMsIHRvbwoKMjAxMC0wMy0xNyAxODoyMzowMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL21teC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9nb29tL2dvb21fZnguaDoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5jOgoJKiBnc3QvZ29vbTJrMS9maWx0ZXJzLmg6CgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3J0cC9mbnYxaGFzaC5jOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmg6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHdhcm5pbmcgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgdGhlIHdhcm5pbmdzLgoKMjAxMC0wMy0xNyAxNjoyMzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogaW1wcm92ZSBjb25zdGFudER1cmF0aW9uIGd1ZXNzaW5nCgkgIFdoZW4gbm8gY29uc3RhbnREdXJhdGlvbiBoYXMgYmVlbiBnaXZlbiBpbiB0aGUgY2FwcywgdHJ5IHRvIGRlcml2ZSBvbmUgZnJvbSB0aGUKCSAgdGltZXN0YW1wIGRpZmZlcmVuY2UgYmV0d2VlbiBwYWNrZXRzLiBBbHNvIGtlZXAgZG9pbmcgdGhpcyBmb3IgZWFjaCBwYWNrZXQKCSAgYmVjYXVzZSBzb21lIGJyb2tlbiBzdHJlYW1zIG1pZ2h0IHNpbXBseSBwcm92aWRlIHdyb25nIHRpbWVzdGFtcHMuCgoyMDEwLTAzLTE2IDIzOjQzOjM5ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBQdXQgd2lkdGggYW5kIGhlaWdodCBpbiB0aGUgbWV0YWRhdGEKCSAgU29tZSBwbGF5ZXJzIHVzZSB0aGF0IGluZm8gdG8gc2NhbGUgdGhlaXIgZGlzcGxheS4KCSAgU2VlICM2MTMwOTQuCgoyMDEwLTAzLTE2IDIzOjMyOjQ1ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCBwdXQgdGltZXN0YW1wcyBsYXJnZXIgdGhhbiBHX01BWElOVDMyIGluIHRoZSBGTFYgdGFncwoJICBGb3Igbm9uLWxpdmUgaW5wdXQgcmVzcG9uZCBieSBwdXNoaW5nIEVPUywgZm9yIGxpdmUgd3JhcCB0aGUKCSAgdGltZXN0YW1wcyBldmVyeSBHX01BWElOVDMyIG1pbGlzZWNvbmRzLgoJICBGaXhlcyAjNjEzMDAzLgoKMjAxMC0wMy0xNiAyMzo0MDoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogYWxzbyB1c2UgZ192YWx1ZV9zZXRfc3RhdGljX3N0cmluZygpIGhlcmUgZm9yIHN0YXRpYyBzdHJpbmdzCgoyMDEwLTAzLTE2IDIxOjIzOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEZpeCBSR0JBPC0+QVlVViBjb252ZXJzaW9uCgoyMDEwLTAzLTE2IDIxOjE2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IFJlbW92ZSByZWR1bmRhbnQgaW5zdGFuY2UgZmllbGQKCjIwMTAtMDMtMTYgMjE6MTA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBQcm90ZWN0IHByb3BlcnR5IHZhbHVlcyBmcm9tIGNoYW5nZXMgZHVyaW5nIGZyYW1lIHByb2Nlc3NpbmcKCjIwMTAtMDMtMTUgMjM6Mjk6NTUgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZW5jOiBVc2UgcG5nX2dldF9pb19wdHIoKSBpbnN0ZWFkIG9mIGFjY2Vzc2luZyBpb19wdHIgZGlyZWN0bHkKCSAgRml4ZXMgIzYxMjcwMCAoZm9yIHRoZSBsYXN0IHRpbWUhKQoKMjAxMC0wMy0xNSAyMzoyOTowNiArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHBuZzogQ2hlY2sgZm9yIGxpYnBuZyA+PSAxLjIgaW5zdGVhZCBvZiBsaWJwbmcxMgoKMjAxMC0wMy0xNiAwMToyOTozNiArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWx3YXlzIHB1dCBhIGR1cmF0aW9uIHRhZyBpbiB0aGUgbWV0YWRhdGEKCSAgU29tZSBGbGFzaCBwbGF5ZXJzIChmb3IgaW5zdGFuY2UgSlcgUGxheWVyKSBhbHdheXMgZXhwZWN0IGEgZHVyYXRpb24KCSAgdGFnLCBvdGhlcndpc2UgdGhleSBkb24ndCBzdGFydCBwbGF5YmFjay4KCSAgSWYgZHVyYXRpb24gY2FuIGJlIHF1ZXJpZWQgZnJvbSB0aGUgc2luayBwYWRzIG9yIGlzIHByb3ZpZGVkIGFzIGEgdGFnLAoJICB1c2UgaXQuIE90aGVyd2lzZSB0cnkgdG8gZGV0ZXJtaW5lIGl0IGZyb20gdGhlIGxhc3Qgc2VlbiB0aW1lc3RhbXAgb2YKCSAgdGhlIHNpbmsgcGFkcyBhZnRlciBFT1MgYW5kIHJld3JpdGUgaXQgaW4gdGhlIGhlYWRlciBiZWZvcmUgd3JpdGluZwoJICB0aGUgaW5kZXguCgoyMDEwLTAzLTE2IDAwOjM1OjQ2ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBSZW1vdmUgdGhlIHNlbmRfY29kZWNfZGF0YSBmaWVsZCBmcm9tIEdzdEZsdlBhZAoJICBUaGF0IGZpZWxkIGlzIG5vdCB1c2VkIGFueW1vcmUgYWZ0ZXIgdGhlIGNoYW5nZXMgaW4KCSAgOWZkZWNiYzFjMTFmNGU1YWY2NTc4YmJhMzJhOWIzMjc3MTAyOWQzMy4KCjIwMTAtMDMtMTYgMTM6NTM6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGdldCBmYW1pbHkgb2YgZXh0ZXJuYWwgc29ja2V0cyB0b28KCSAgR2V0IHRoZSBmYW1pbHkgb2YgZXh0ZXJuYWxseSBjb25maWd1cmVkIHNvY2tldHMgc28gdGhhdCB3ZSBjYW4gY29uZmlndXJlIGl0CgkgIGNvcnJlY3RseS4KCjIwMTAtMDMtMTUgMjA6Mzc6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogQWRkIHN1cHBvcnQgZm9yIHRoZSByZW1haW5pbmcgQVJHQiBmb3JtYXRzCgoyMDEwLTAzLTE1IDE5OjE2OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IFNpbXBsaWZ5IEFSR0I8LT5BWVVWIGNvbnZlcnNpb25zIGJ5IGNvZGUgZ2VuZXJhdGlvbiBtYWNyb3MKCjIwMTAtMDMtMTUgMTk6MDc6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IE1pbm9yIGNsZWFudXBzIGFuZCBtb3ZlIGRlY2xhcmF0aW9ucyBpbnRvIGEgc2VwYXJhdGUgaGVhZGVyIGZpbGUKCjIwMTAtMDMtMTUgMTg6NTg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFVzZSBHc3RWaWRlb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGZvciBhdXRvbWF0aWMgUW9TIHN1cHBvcnQKCjIwMTAtMDMtMTUgMTg6NTA6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGFjb2xvcjogQWRkIHN1cHBvcnQgZm9yIGlucGxhY2UgY29udmVyc2lvbnMgZnJvbSBBWVVWIHRvIEFSR0IKCjIwMTAtMDMtMTUgMTg6MTQ6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGFjb2xvcjogVXNlIGxpYmdzdHZpZGVvIGZvciBjYXBzIHBhcnNpbmcKCjIwMTAtMDMtMTUgMTg6MDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBVc2UgR3N0VmlkZW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBmb3IgYXV0b21hdGljIFFvUyBzdXBwb3J0CgoyMDEwLTAzLTE1IDE4OjA3OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMC0wMy0xNSAxNDoxNjo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiBVc2Ugc3BlZXhfc3RlcmVvX3N0YXRlX2luaXQoKSBpbnN0ZWFkIG9mIHRoZSBkZXByZWNhdGVkIGluaXRpYWxpemF0aW9uIG1hY3JvCgkgIEZpeGVzIGJ1ZyAjNjEyNzc3LgoKMjAxMC0wMy0xNSAwMTowOTo0OSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogQ29ycmVjdGx5IG1hcmsgYnVmZmVycyBhcyBkZWx0YSB1bml0cwoJICBNYXJrIHZpZGVvIGludGVyZnJhbWVzLCB2aWRlbyBjb2RlYyBkYXRhIGJ1ZmZlcnMgYW5kIGF1ZGlvIGJ1ZmZlcnMgKGlmCgkgIGl0J3Mgbm90IGFuIGF1ZGlvLW9ubHkgc3RyZWFtKSBhcyBkZWx0YSB1bml0cy4KCjIwMTAtMDMtMTQgMTk6MzI6MjAgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFN1cHBvcnQgc3RyZWFtaGVhZGVycwoJICBQdXQgdGhlIEZMViBoZWFkZXIsIHRoZSBtZXRhZGF0YSB0YWcgYW5kIChpZiBwcmVzZW50KSBjb2RlYwoJICBpbmZvcm1hdGlvbiBpbiB0aGUgc3RyZWFtaGVhZGVyIHRvIGFsbG93IHRoZSBtdXhlciB0byBiZSB1c2VkIGZvcgoJICBzdHJlYW1pbmcuCgoyMDEwLTAzLTE0IDAxOjM4OjIxICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBQcmVhbGxvY2F0ZSBpbmRleCBzcGFjZSBhbmQgZmlsbCBpdCBhZnRlciBmaW5pc2hpbmcgb3V0cHV0CgkgIE1ha2UgdGhlIGluZGV4IGFwcGVhciBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlLCB3aGljaCBpcyB3aGF0IG1vc3QKCSAgcGxheWVycyBhcmUgZXhwZWN0aW5nLgoJICBGaXhlcyAjNjAxMjM2LgoKMjAxMC0wMy0xNSAxMzo0NzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IE1pbm9yIGNvZGluZyBzdHlsZSBmaXhlcyBhbmQgY2xlYW51cAoKMjAxMC0wMy0xNCAwMTozNDowMiArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWRkIGEgaXMtbGl2ZSBwcm9wZXJ0eQoJICBJZiBpdCBpcyBzZXQsIHRoZSBtdXhlciB3aWxsIG5vdCB3cml0ZSB0aGUgaW5kZXguIERlZmF1bHRzIHRvIGZhbHNlLgoKMjAxMC0wMy0xNCAwMToyNTo0MiArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogT25seSBwdXQgdmFsaWQgc2VlayBwb2ludHMgaW4gdGhlIGluZGV4CgkgIEZvciBmaWxlcyBjb250YWluaW5nIHZpZGVvIG9ubHkgdmlkZW8ga2V5ZnJhbWVzIGFyZSB2YWxpZCBwb2ludHMgdG8KCSAgd2hpY2ggYSBwbGF5ZXIgY2FuIHNlZWsuIEZvciBhdWRpby1vbmx5IGZpbGVzIGFueSB0YWcgc3RhcnQgaXMgYSB2YWxpZAoJICBzZWVrIHBvaW50LgoJICBTZWUgIzYwMTIzNi4KCjIwMTAtMDMtMTQgMDE6MDk6MzcgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCBpbmRleCBidWlsZGluZyB0byBtYWtlIGVudHJpZXMgcG9pbnQgdG8gdGFnJ3Mgc3RhcnQgb2Zmc2V0CgkgIFByZXZpb3VzIGNvZGluZyB3YXMgd3JvbmdseSBpbmNyZW1lbnRpbmcgdGhlIHRvdGFsIGJ5dGUgY291bnQgYmVmb3JlCgkgIGFkZGluZyBhbiBpbmRleCBlbnRyeS4KCjIwMTAtMDMtMTUgMTM6NDA6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIGNhaXJvdGV4dG92ZXJsYXk6IERvbid0IHJlbmRlciB0ZXh0IG91dHNpZGUgdGhlIGZyYW1lIGJvdW5kYXJpZXMKCSAgRml4ZXMgYnVnICM2MTE5ODYuCgoyMDEwLTAzLTE1IDExOjM4OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBmb3JnZXQgdG8gc2VuZCBrZWVwYWxpdmUgbWVzc2FnZXMKCSAgV2hlbiB3ZSBvcGVyYXRlIGluIFRDUCBtb2RlLCBzdGlsbCBzZW5kIGtlZXBhbGl2ZSBtZXNzYWdlcyB3aGVuIHdlCgkgIG5lZWQgdG8uCgkgIEZpeGVzICM2MTI2OTYKCjIwMTAtMDMtMTMgMjM6MTk6MzUgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBDYWxsIHBuZ19qbXBidWYoKSBpbnN0ZWFkIG9mIGFjY2Vzc2luZyBwbmdfc3RydWN0X3B0ciBkaXJlY3RseQoJICBGaXhlcyAjNjEyNzAwIChhZ2FpbikKCjIwMTAtMDMtMTIgMTY6NDQ6MzAgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBDYWxsIHBuZ19lcnJvcigpIGluc3RlYWQgb2YgdXNpbmcgbG9uZ2ptcCgpIGRpcmVjdGx5LgoJICBGaXhlcyAjNjEyNzAwCgoyMDEwLTAzLTEyIDEzOjU3OjI4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlMjcyZjcxIHRvIDU1Y2Q1MTQKCjIwMTAtMDMtMDUgMTE6MDY6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgWE1QIHBhcnNpbmcgc3VwcG9ydAoJICBVc2UgeG1wIGhlbHBlcnMgdG8gcGFyc2UgWE1QIG1ldGFkYXRhIGluIHVkdGEgYXRvbS4KCSAgRml4ZXMgIzYwOTUzOQoKMjAxMC0wMy0xMSAxMjozMjo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBmaXggY29tcGlsYXRpb24gZXJyb3JzIG9uIG5vbi13aW5kb3dzLgoKMjAxMC0wMy0xMCAyMjoyMzo0MyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBtdWx0aXVkcHNpbms6IGF2b2lkIGdldHRpbmcgdGhlIHNvY2tldCBmYW1pbHkgdXNpbmcgZ2V0c29ja25hbWUoKQoKMjAxMC0wMy0xMSAxNzoyODo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHByaW50IHN0YXRlbWVudHMgZm9yIHBvaW50ZXIgZGlmZmVyZW5jZXMuCgkgIFRoaXMgZml4ZXMgaXQgZm9yIGJvdGggMzIgYW5kIDY0IGJpdAoKMjAxMC0wMy0xMSAxNzoyODozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMC0wMy0xMSAxNzowMzo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCBwcmludGYgZm9ybWF0dGluZyBmb3IgbWFjb3N4CgoyMDEwLTAzLTExIDE3OjAzOjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMC0wMy0xMSAxNzowMjo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMTAtMDItMTkgMTM6Mzk6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdnBhcnNlOiBNYWtlIHNjcmlwdCB0YWcgcGFyc2luZyBtb3JlIGZsZXhpYmxlLgoJICAqIFRoZSBuYl9lbGVtZW50cyBmb3IgYXJyYXlzIGlzIGp1c3QgYW4gaW5kaWNhdGlvbiwgd2UgY2FuIHRoZXJlZm9yZSBpZ25vcmUKCSAgaXQgYW5kIGNhcnJ5IG9uIHBhcnNpbmcgbWV0YWRhdGEgaXRlbXMgdW50aWwgd2UgcmVhY2ggdGhlIGVuZCBtYXJrZXIuCgkgICogSWYgdHlwZSA9PSAzLCB0aGVuIHRoZSBzY3JpcHQgdGFnIGNvbnRhaW5zIGEgbGlzdCBvZiBvYmplY3QgZm9sbG93ZWQKCSAgYnkgdGhlIGVuZCBtYXJrZXIuCgkgIFJlZmFjdG9yIGNvZGUgc2xpZ2h0bHkgdG8gaGFuZGxlIGJvdGggY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDQ0NwoKMjAxMC0wMy0xMSAxNTo1MTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogZml4IG1ldGFkYXRhIG5vdCB3cml0YWJsZSB3YXJuaW5ncyBpbiBpbnRlcmxlYXZlIGFuZCBkZWludGVybGVhdmUgdGVzdHMKCjIwMTAtMDMtMTEgMTU6Mzg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgdGVzdHM6IGZpeCBtZXRhZGF0YSBub3Qgd3JpdGFibGUgd2FybmluZ3Mgd2l0aCBhcGV2Mm11eCBhbmQgaWQzdjJtdXggdGVzdHMKCjIwMTAtMDMtMTEgMTU6MjQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBtZXRhZGF0YSB3cml0YWJsZSB3YXJuaW5ncwoJICBTZXQgbWV0YWRhdGEgb24gYnVmZmVyIGZpcnN0LCB3aGVuIHRoZSByZWZjb3VudCBpcyBzdGlsbCAxLCBhbmQgb25seQoJICByZWYgYWdhaW4gYWZ0ZXJ3YXJkcy4KCjIwMTAtMDMtMTEgMTU6MDI6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaWdub3JlIHN0cmVhbSB3aXRoIGludmFsaWQgaGVhZGVyIHRpbWUgbWV0YWRhdGEKCjIwMTAtMDMtMDggMTQ6NTc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTZXQgc3RyZWFtLWZvcm1hdD1yYXcgb24gQUFDIGNhcHMKCSAgU2V0IHN0cmVhbS1mb3JtYXQ9cmF3IGZvciBBQUMgY2FwcywgYXMgdGhhdCBpcyB0aGUKCSAgZXhwZWN0ZWQgQUFDIGZvcm1hdCB0byBiZSBpbiB0aGlzIGNvbnRhaW5lciBmYW1pbHkuCgkgIEZpeGVzICM1NjYyNTAKCjIwMTAtMDMtMTEgMTI6NTY6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNoZWNrIGZvciBOVUxMIGJlZm9yZSBkb2luZyBzdHJjbXAKCSAgQ2hlY2sgdGhlIGNvbm5lY3Rpb24gYW5kIGFkZHJlc3MgdHlwZSBmb3IgTlVMTCBiZWZvcmUgZG9pbmcgc3RyY21wIGFuZAoJICBjcmFzaGluZy4KCSAgRml4ZXMgIzYxMjU1MwoKMjAxMC0wMy0xMSAxMToyMDo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkZjhhN2M4IHRvIGUyNzJmNzEKCjIwMTAtMDMtMTEgMTE6MDk6NTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgYnVpbGQ6IGluY2x1ZGUgc3RkbGliLmggZm9yIGF0b2koKQoKMjAxMC0wMy0xMSAxMDozMzowMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBtb3ZlIGludmFyaWFudCBjaGVjayBvdXQgb2YgdGhlIGlubmVyIGxvb3AKCSAgSW1wcm92ZXMgcGVyZm9ybWFuY2UgZm9yIHNpbXBsZSBtZXRob2QuCgoyMDEwLTAzLTEwIDIyOjE1OjA0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBDWFhGTEFHUywgdG9vLCBqdXN0IGxpa2UgQ0ZMQUdTCgoyMDEwLTAzLTEwIDIxOjAxOjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIGZvciByZWNlbnQgY2hhbmdlcyB0byBjb21tb24gc3VibW9kdWxlCgkgIFRoaXMganVzdCByZXBsYWNlcyBldmVyeSAiJEVSUk9SX0NGTEFHUyIgdXNhZ2Ugd2l0aCBhIHVzYWdlIG9mCgkgICIkV0FSTklOR19DRkxBR1MgJEVSUk9SX0NGTEFHUyIgdG8gZ2V0IHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgYXMKCSAgcHJldmlvdXNseS4KCSAgQWN0dWFsbHkgdXNpbmcgdGhhdCBzZXBhcmF0aW9uIHdpbGwgaGFwcGVuIGxhdGVyLgoKMjAxMC0wMy0xMCAyMTo1MjowOSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NzIwYTdkIHRvIGRmOGE3YzgKCjIwMTAtMDMtMTAgMjA6NDM6NTcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMGI2ZTA3MiB0byA5NzIwYTdkCgoyMDEwLTAzLTEwIDEwOjUxOjI4IC0wODAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IFJlc2V0IHdpbmRvd3MgZXJyb3IgY29kZSBhZnRlciBnZXR0aW5nIGNvcnJlc3BvbmRpbmcgZXJyb3IgbWVzc2FnZS4KCjIwMTAtMDMtMDkgMTc6MzI6MjcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiBwdXQgdGhlIGNvZGVjX2RhdGEgYmxvYiBpbnRvIHRoZSBhY3R1YWwgZGF0YSBmb3IgTVBFRzQgdmlkZW8sIHRvIG1hdGNoIG90aGVyIGltcGxlbWVudGF0aW9ucyBpbiB0aGUgd2lsZC4KCjIwMTAtMDMtMTAgMTY6MDk6NTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2NjNWViNCB0byAwYjZlMDcyCgoyMDEwLTAyLTIzIDIxOjA2OjU1IC0wMzAwICBUaGFkZXUgTGltYSBkZSBTb3V6YSBDYXNjYXJkbyA8Y2FzY2FyZG9AaG9sb3Njb3Bpby5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IHNlbmQgbmV3X3NlZ21lbnQgd2l0aCBHU1RfRk9STUFUX1RJTUUgZm9ybWF0CgkgIEluc3RlYWQgb2YgdXNpbmcgQmFzZVNyYyBkZWZhdWx0IGZvcm1hdCBHU1RfRk9STUFUX0JZVEVTLCBzZW5kIGl0IGluCgkgIEdTVF9GT1JNQVRfVElNRS4KCSAgU2lnbmVkLW9mZi1ieTogVGhhZGV1IExpbWEgZGUgU291emEgQ2FzY2FyZG8gPGNhc2NhcmRvQGhvbG9zY29waW8uY29tPgoJICBGaXhlcyAjNjExNjU5CgoyMDEwLTAzLTEwIDExOjQ2OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgYWxzbyByZXBvcnQgc2Vla2FibGUgd2l0aG91dCBhbiBlbGVtZW50IGluZGV4CgkgIC4uLiBzaW5jZSByZWNlbnQgY29kZSBhbHNvIHNlZWtzIGFyb3VuZCB0byBvYnRhaW4gcmVxdWlyZWQgZGF0YQoJICBmcm9tIGF2aSBpbmRleC4KCjIwMTAtMDMtMDkgMTg6MDY6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIHNvbWUgY2hlY2sgYW5kIHN0YW5kYXJkaXplZCBzZWVrIGV2ZW50IGhhbmRsaW5nIGluIHB1c2ggbW9kZQoKMjAxMC0wMy0wOSAxODowNToyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggb2Zmc2V0IGhhbmRsaW5nIGluIHB1c2ggbW9kZSBzZWVraW5nCgkgIFB1c2ggbW9kZSBzZWVraW5nIHVzZXMgc2FtZSBpbmRleCBkYXRhIGFzIHB1bGwgbW9kZSwgYW5kIHN0b3JlcwoJICBvZmZzZXQgdG8gZGF0YSBpbiBjaHVuaywgd2hlcmVhcyBwdXNoIG1vZGUgb3BlcmF0ZXMgaW4gY2h1bmtzLAoJICBhbmQgYXMgc3VjaCBuZWVkcyBvZmZzZXQgY29uc2lzdGVudGx5IGNvcnJlc3BvbmRpbmcgdG8gY2h1bmsgaGVhZGVycy4KCSAgQWxzbyBmaXggZGV0ZXJtaW5pbmcgYmVzdCBtYXRjaGluZyBzdHJlYW0gZm9yIGluY29taW5nIG5ld3NlZ21lbnQgZXZlbnQsCgkgIGFzIHdlbGwgYXMgc2V0dGluZyBzb21lIHN0cmVhbSBzdGF0ZSBhY2NvcmRpbmdseS4KCjIwMTAtMDItMjYgMjE6Mjk6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBjb25kdWN0IGluZGV4IHNjYW4gaW4gdGFzayB0aHJlYWQKCSAgLi4uIHJhdGhlciB0aGFuIGluIHNlZWtpbmcgdGhyZWFkLCB3aGljaCBtaWdodCB0aGVuIG9jY3VweSBtYWlubG9vcAoJICBmb3Igc29tZSB0aW1lIHdpdGggcG9zc2libGUgdW5yZXNwb25zaXZlIHNpZGUtZWZmZWN0cy4KCjIwMTAtMDItMjYgMjE6Mjc6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogYXZvaWQgaW5kZWZpbml0ZSBpbmRleCBncm93dGgKCSAgVGhhdCBpcywgY2hlY2sgZm9yIGFuZCBkbyBub3QgYWRkIGFuIGluZGV4IGVudHJ5IHRoYXQgaGFzIGFscmVhZHkKCSAgYmVlbiBhZGRlZC4KCjIwMTAtMDItMTggMTQ6NTc6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogYWxzbyBjb2xsZWN0IGluZGV4IGluZm8gb24tdGhlLWZseSBpbiBwdWxsIG1vZGUKCjIwMTAtMDItMTggMTI6NDI6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBmbHZkZW11eDogaW5jcmVtZW50YWxseSBidWlsZCBpbmRleCBpbiBwdWxsIG1vZGUKCSAgU2NhbiBmb3IgbmVlZGVkIHBhcnQgdXBvbiBhIHNlZWsgYXMgb3Bwb3NlZCB0byBkb2luZyBhIGNvbXBsZXRlIHNjYW4KCSAgYXQgc3RhcnR1cCwgd2hpY2ggbWF5IHRha2Ugc29tZSB0aW1lIGRlcGVuZGluZyBvbiBmaWxlIGFuZC9vciBwbGF0Zm9ybS4KCSAgQWxzbyBhY2NlcHQgaW5kZXggbWV0YWRhdGEgaW4gcHVsbCBtb2RlIGFuZCBwZWVrIGZvciBzb21lIG1ldGFkYXRhCgkgIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2hlbiBkZWVtZWQgYXBwcm9wcmlhdGUuCgoyMDEwLTAyLTE4IDEyOjI2OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNvbWUgbW9yZSB2YXJpYWJsZSBjbGVhbnVwCgoyMDEwLTAzLTA5IDE4OjI1OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IHJlZmFjdG9yIGFkZGluZyBpbmRleCBlbnRyeQoKMjAxMC0wMi0xNyAxMTozNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBmaXggc2V0dGluZyBERUxUQV9VTklUIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycwoJICAuLi4gd2hpY2ggc2hvdWxkIG5vdCBkZXBlbmQgb24gaGF2aW5nIGluZGV4IGF2YWlsYWJsZSBvciBub3QuCgkgIEFsc28gcmVmYWN0b3IgcmVzdWx0aW5nIGNvbGxhcHNlZCBjb2RlLgoKMjAxMC0wMi0xMSAxOTo0Mzo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGVycm9uZW91cyBjb2RlYy1kYXRhIG92ZXJyaWRpbmcgb2Ygc3RzZCBpbmZvcm1hdGlvbgoKMjAxMC0wMi0wMSAyMjozNzozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IGFkYXB0IHRvIG5ldyBvZ2dkZW11eAoJICBSZW1vdmUgYWxsIGdyYW51bGVwb3MgaGFja3MgYW5kIHNpbXBseSB1c2UgdXBzdHJlYW0gdGltZXN0YW1wcy4KCjIwMTAtMDItMDEgMjI6MzY6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleGRlYzogcmVmYWN0b3IgZ3JhbnVsZXBvcyBoYWNrcwoKMjAxMC0wMy0xMCAxMToxOTo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGFyc2UgY29ubmVjdGlvbiBpbmZvcm1hdGlvbgoJICBQYXJzZSB0aGUgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBTRFAgYW5kIHVzZSBpdCB0byBmaWd1cmUgb3V0IGlmIHdlIGFyZQoJICBkZWFsaW5nIHdpdGggaXB2NCBvciBpcHY2IGNvbm5lY3Rpb25zLgoKMjAxMC0wMy0wOSAxNzo1MzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVxdWlyZSBhIGRlc3RpbmF0aW9uIGZvciBtdWx0aWNhc3QKCSAgV2hlbiBzZXR0aW5nIHVwIHRoZSBtdWx0aWNhc3Qgc29ja2V0cywgd2UgbmVlZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3MgdG8gbGlzdGVuCgkgIG9uIG9yIGVsc2Ugd2UgZXJyb3IuCgoyMDEwLTAzLTA5IDE3OjUyOjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGhhbmRsZSBpcHY2IGxpc3RlbmluZyBwb3J0cyB3aGVuIG5lZWRlZAoJICBBZGQgc29tZSBjb2RlIHRvIG1ha2UgdWRwc3JjIGxpc3RlbiBvbiBhbiBpcHY2IGFkZHJlc3Mgd2hlbiBuZWVkZWQuIFRoZQoJICBkZXRlY3Rpb24gb2YgSVBWNiBpcyBub3QgeWV0IGltcGxlbWVudGVkLgoKMjAxMC0wMy0wOSAxNzoxNToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwOiB1c2UgdXJpIHBhcnNpbmcgY29kZQoJICBVc2UgdGhlIHVyaSBwYXJzaW5nIGhlbHBlciBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZSBob3N0IGFuZCBwb3J0IHBhaXJzLiBUaGlzCgkgIGFkZHMgc3VwcG9ydCBmb3IgSVBWNi4KCjIwMTAtMDMtMDkgMTc6MTM6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwbmV0dXRpbHM6IGFkZCBoZWxwZXIgZnVuY3Rpb25zIGZvciB1ZHAgdXJpIGhhbmRsaW5nCgkgIEFkZCBzb21lIGhlbHBlcnMgdG8gcGFyc2UgdWRwIHVyaXMuIE1ha2Ugc3VyZSBJUFY2IGlzIHN1cHBvcnRlZCB0b28uCgoyMDEwLTAzLTA1IDE2OjA4OjQ1ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBNYWtlIGl0IHBvc3NpYmxlIHRvIGZhdm9yIG5ldyBzb3VyY2VzIGluIGNhc2Ugb2YgU1NSQyBjb25mbGljdAoJICBBZGQgYSAiZmF2b3ItbmV3IiBwcm9wZXJ0eSB0aGF0IHRlbGxzIHRoZSBzZXNzaW9uIHRvIGZhdm9yIG5ldyBzb3VyY2VzIHdoZW4KCSAgdGhlcmUgaXMgYSBTU1JDIGNvbmZsaWN0LiBUaGlzIGlzIHVzZWZ1bCBmb3IgU0lQIGNhbGxzIGFuZCBvdGhlciBzdWNoIGNhc2VzCgkgIHdoZXJlIGEgcmVtb3RlIGxvb3AgaXMgZXh0cmVtZWx5IHVubGlrZWx5LgoJICBGaXhlcyAjNjA3NjE1CgoyMDEwLTAzLTA1IDE1OjQ2OjQ4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBNb3ZlIFNTUkMgY29uZmxpY3RzIGxpc3RzIGludG8gUlRQU291cmNlCgkgIFdlIHdpbGwgYWxzbyBuZWVkIHRvIHRyYWNrIFNTUkMgY29uZmxpY3RzIGluIHJlbW90ZSBzb3VyY2VzLgoJICBTZWUgIzYwNzYxNQoKMjAxMC0wMi0yNiAxNzoxMzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2VuZCBrZWVwIGFsaXZlIHdoZW4gcGF1c2VkCgkgIFdoZW4gd2UgYXJlIHBhdXNlZCwgc2VuZCBrZWVwIGFsaXZlIG1lc3NhZ2VzIHRvIHRoZSBzZXJ2ZXIgc28gdGhhdCBvdXIgc2Vzc2lvbgoJICBkb2Vzbid0IHRpbWUgb3V0IHdoZW4gd2UgZ28gYmFjayB0byBwbGF5aW5nIGxhdGVyLgoKMjAxMC0wMy0xMCAwMToxMDowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhYTY1YjUgdG8gN2NjNWViNAoKMjAxMC0wMi0yMyAxOTo0ODoxMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IEFkZCBrZXktZnJhbWUgb3B0aW9uIHRvIG5leHQtZmlsZQoJICBUaGlzIGFsbG93cyBzZWdtZW50aW5nIG9mIE1QRUctVFMgZmlsZXMgYXQga2V5IGZyYW1lcywgd2hpY2ggaXMKCSAgZXhhY3RseSB3aGF0IGlzIG5lZWRlZCBmb3IgQXBwbGUncyBIVFRQIHN0cmVhbWluZy4KCjIwMTAtMDMtMDkgMjE6MzI6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NGVjY2U3IHRvIDdhYTY1YjUKCjIwMTAtMDMtMDggMjA6MTc6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggYXV0b2Nyb3BwaW5nIGZvciBvZGQgd2lkdGgvaGVpZ2h0IGRpZmZlcmVuY2VzCgoyMDEwLTAzLTA4IDIwOjAyOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogVXNlIGxpYmdzdHZpZGVvIGZvciBmb3JtYXQgc3BlY2lmaWMgc3R1ZmYKCjIwMTAtMDMtMDggMTk6Mjg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9meDogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBzdHJlYW0gdGltZQoKMjAxMC0wMy0wOCAxOToyMDo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogTWFrZSBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZQoKMjAxMC0wMy0wOCAxOTowOTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFNvbWUgY2xlYW51cAoKMjAxMC0wMi0yOCAxNTo0Nzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBVc2UgY29udHJvbGxlciB3aGVyZSBwb3NzaWJsZSwgb3B0aW1pemUgYSBiaXQgYW5kIG1ha2UgcHJvcGVydGllcyB0aHJlYWRzYWZlCgoyMDEwLTAyLTI2IDE2OjM1OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IE1ha2Ugc29tZSBtb3JlIHJ1bGVzIHNpbGVudCBpZiByZXF1ZXN0ZWQKCjIwMTAtMDItMjYgMTU6NDE6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBhdXRvbWFrZSAxLjExIHNpbGVudCBydWxlcyBpbnN0ZWFkIG9mIHNoYXZlIGlmIGF2YWlsYWJsZQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSB1c2Ugc29tZXRoaW5nIHRoYXQgaXMgc3RpbGwgbWFpbnRhaW5lZCBhbmQKCSAgYWxzbyBicmluZ3MgYmFjayBsaWJ0b29sIDEuNSBzdXBwb3J0LgoKMjAxMC0wMy0wOCAyMjo1NzozNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nOiBmcmFjdGlvbnMgZG9uJ3QgYWxsb3cgZG91YmxlcwoKMjAxMC0wMy0wMSAxMjowMzo1NiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4OiBmaXggZGVzY3JpcHRpb24KCSAgSXQncyB2aWRlbywgbm90IGF1ZGlvCgoyMDEwLTAzLTA5IDE3OjQ1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMSA9PT0KCjIwMTAtMDMtMDkgMDA6Mjg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIxCgoyMDEwLTAzLTA5IDAwOjI0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDMtMDkgMDA6MDk6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgUmV2ZXJ0ICJBZGQgNDoyOjIsIDQ6MToxLCBhbmQgNDo0OjQgb3V0cHV0IHN1cHBvcnQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjM3YzI2ZjYxYTJiZDhkN2IwMWY4YjZkMDgxZDk0ZGE2NWY3NDU1Ny4KCj09PSByZWxlYXNlIDAuMTAuMjAgPT09CgoyMDEwLTAzLTA4IDIzOjQyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMAoKMjAxMC0wMy0wOCAyMzo0MjowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTA4IDE2OjQ3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZG9uJ3Qgc2VuZCBzZWNvbmQgbmV3c2VnbWVudCBldmVudCBpbiBmcmFtZWQgbW9kZSwgZml4ZXMgbG9uZyBwbGF5YmFjayBkZWxheQoJICBEb24ndCBzZW5kIGFub3RoZXIgbmV3c2VnbWVudCBldmVudCBpZiB0aGUgdXBzdHJlYW0gbXV4ZXIvcGFyc2VyIGhhcyBhbHJlYWR5CgkgIHNlbnQgb25lIChvdGhlcndpc2UgdGhlIHNpbmsgd2lsbCB3YWl0IGZvciAkZHVyYXRpb24gYmVmb3JlIHN0YXJ0aW5nIHBsYXliYWNrKS4KCSAgRml4ZXMgbG9uZyBkZWxheSB1bnRpbCBwbGF5YmFjayBzdGFydHMgd2l0aCBmbGFjLWluLW9nZyBmaWxlcy4KCSAgRml4ZXMgIzYxMDk1OS4KCjIwMTAtMDMtMDUgMTM6NDk6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNvbmZpZ3VyZSBtdWx0aWNhc3QgY29ycmVjdGx5CgkgIFRha2UgdGhlIHRyYW5zcG9ydCBkZXN0aW5hdGlvbiBmb3IgbXVsdGljYXN0LgoJICBEaXNhYmxlIGxvb3AgYW5kIGF1dG9qb2luIGZvciBtdWx0aWNhc3Qgb24gdGhlIHVkcHNpbmtzLgoKMjAxMC0wMy0wNSAxMzo0NzozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpY2FzdDogYWx3YXlzIGNvbmZpZ3VyZSBsb29wIGFuZCB0dGwKCSAgQWxzbyBjb25maWd1cmUgVFRMIGFuZCBsb29wIHBhcmFtZXRlcnMgd2hlbiB3ZSBhZGQgYSBjbGllbnQgYWZ0ZXIgaW5pdGlhbGl6aW5nCgkgIHRoZSBzZW5kZXIuCgoyMDEwLTAzLTA4IDEyOjEzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgUmV2ZXJ0ICJydHBoMjYzZGVwYXk6IGJhc2VjbGFzcyBoYW5kbGVzIHRpbWVzdGFtcHMgZm9yIHVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU2NDU4MWUxYjg4ZWNkNWVjNWRhODJjM2NhZmIwZTdhMmQ1OGIzMDIuCgkgIElmIHdlIGRvbid0IGNhbGwgcHVzaF90cywgdGhlcmUgd2lsbCBiZSBubyB0aW1lc3RhbXAgYXQgYWxsIG9uIHRoZSBvdXRnb2luZwoJICBidWZmZXIuCgkgIEZpeGVzICM2MTIxNTQKCjIwMTAtMDItMjMgMjI6MTY6MzkgLTA1MDAgIEJlbmphbWluIE0uIFNjaHdhcnR6IDxiZW5zQGFsdW0ubWl0LmVkdT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIEFkZCA0OjI6MiwgNDoxOjEsIGFuZCA0OjQ6NCBvdXRwdXQgc3VwcG9ydAoKMjAxMC0wMy0wMiAxMzoyMToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHVzZSBwYXlsb2FkIHNpemUgdG8gZXN0aW1hdGUgYml0cmF0ZQoJICBVc2UgdGhlIGxlbmd0aCBvZiB0aGUgcGF5bG9hZCBmb3IgZXN0aW1hdGluZyB0aGUgcmVjZWl2ZXIgYml0cmF0ZSBzbyB0aGF0IGl0CgkgIG1hdGNoZXMgdGhlIGNhbGN1bGF0aW9ucyBkb25lIG9uIHRoZSBzZW5kZXIgc2lkZS4gVG9nZXRoZXIgd2l0aCB0aGUgbnVtYmVyIG9mCgkgIHBhY2tldHMgb25lIGNhbiBzY2FsZSB0aGUgYml0cmF0ZSB3aXRoIHRoZSBoZWFkZXIgb3ZlcmhlYWQgb2YgdGhlIGxvd2VyCgkgIHRyYW5zcG9ydC4KCjIwMTAtMDMtMDIgMTI6Mzk6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNvdXJjZTogcmVmYWN0b3IgYml0cmF0ZSBlc3RpbWF0aW9uCgkgIERvbid0IHJldXNlIHRoZSBzYW1lIHZhcmlhYmxlIHdlIG5lZWQgZm9yIHN0YXRzIGZvciB0aGUgYml0cmF0ZSBlc3RpbWF0aW9uCgkgIGJlY2F1c2Ugd2UncmUgdXBkYXRpbmcgaXQuCgkgIFJlZmFjdG9yIHRoZSBiaXRyYXRlIGVzdGltYXRpb24gY29kZSBzbyB0aGF0IGJvdGggc2VuZGVyIGFuZCByZWNlaXZlcnMgdXNlIHRoZQoJICBzYW1lIGNvZGUgcGF0aC4KCjIwMTAtMDMtMDEgMTY6NDA6MjcgLTA1MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIGFkZGVkIGJpdHJhdGUgZXN0aW1hdGlvbiB0byByZWNlaXZlci1zaWRlIHN0YXRzLCBmaXhlcyAjNjExMjEzCgoyMDEwLTAzLTAxIDE2OjAxOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIGgyNjNwYXk6IGZpeCB0eXBvIGluIGRlYnVnCgo9PT0gcmVsZWFzZSAwLjEwLjE5ID09PQoKMjAxMC0wMy0wNiAwMDo0MzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTkKCjIwMTAtMDMtMDYgMDA6NDI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wMyAyMDoyOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xOC40IHByZS1yZWxlYXNlCgoyMDEwLTAzLTAyIDE4OjI5OjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE1ha2Ugc3VyZSB3ZSBkb24ndCBzZW5kIGludmFsaWQgbmV3c2VnbWVudHMKCSAgRml4ZXMgIzYxMTUwMQoKMjAxMC0wMy0wMiAxNDowOToxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IE1hcmsgc3RyZWFtcyBhcyBiZWluZyBFT1MgYXQgdGhlIHJpZ2h0IHRpbWUuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHN0b3Agc3RyZWFtaW5nIG9ubHkgd2hlbiBhbGwgc3RyZWFtcyBoYXZlIGdvbmUgcGFzdCB0aGUKCSAgc2VnbWVudC5zdG9wIGFuZCBub3QgYmVmb3JlLgoJICBGaXhlcyAjNjExNTAxCgoyMDEwLTAyLTI2IDE4OjEwOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBZHZhbmNlIHNwYXJzZSBzdHJlYW1zIG9ubHkgYXMgbXVjaCBhcyByZXF1aXJlZCB0byBrZWVwIHRoZSBnYXAgc21hbGxlciB0aGFuIDUwMG1zCgkgIENoYW5naW5nIGl0IHRvIHRoZSBuZXdlc3QgdGltZXN0YW1wIHRoYXQgd2FzIGV2ZXIgcHVzaGVkIHdpbGwKCSAgaW5jcmVhc2UgdGhlIHNlZ21lbnQgc3RhcnQgaW4gNTAwbXMganVtcHMsIHdoaWNoIGNvdWxkIGJlIGp1c3QKCSAgYWZ0ZXIgdGhlIG5leHQgc3BhcnNlIHN0cmVhbSBidWZmZXIuIEUuZy4KCSAgVmlkZW8gYXQgMS4wcywgc3BhcnNlIHN0cmVhbSBhdCAwLjVzIHdvdWxkIGp1bXAgdGhlCgkgIHNwYXJzZSBzdHJlYW0gdG8gMS4wcy4gTm93IGEgbmV3IHNwYXJzZSBzdHJlYW0gYnVmZmVyIGNvdWxkCgkgIGFwcGVhciB0aGF0IGhhcyBhIHRpbWVzdGFtcCBvZiAwLjlzIGFuZCB0aGlzIHdvdWxkIGJlCgkgIGRyb3BwZWQgZm9yIG5vIGdvb2QgcmVhc29uIGJlY2F1c2Ugb2YgYmFkIGx1Y2suCgoyMDEwLTAyLTI0IDAxOjM2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vZXMucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4zIHByZS1yZWxlYXNlCgoyMDEwLTAyLTI0IDAyOjA1OjQ5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIE1ha2Ugc3VyZSBGTFVTSF9TVE9QIGlzIHNlbnQgc28gbm90IHRvIGxlYXZlIGRvd25zdHJlYW0gZmx1c2hpbmcuCgoyMDEwLTAyLTIzIDE3OjI1OjU0ICswMTAwICBWb2xrZXIgR3JhYnNjaCA8YnVnemlsbGEuZ25vbWUub3JnQHYubm90anVzdGhvc3RpbmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAkUEtHX0NPTkZJRyBpbnN0ZWFkIG9mIHBrZy1jb25maWcgdG8gZml4IGNyb3NzIGNvbXBpbGF0aW9uCgkgIEZpeGVzIGJ1ZyAjNjEwODM5LgoKMjAxMC0wMi0yMyAxNzoyNDowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBSZXNldCBza2V3IGRldGVjdGlvbiBhZnRlciBpbnN0YW50aWF0aW5nIHRoZSBqaXR0ZXJidWZmZXIKCSAgLi4ubm90IG9ubHkgd2hlbiBnb2luZyB0byBSRUFEWS4gVGhpcyBzZXRzIGhpZ2hfbGV2ZWwgYW5kIGZyaWVuZHMgdG8KCSAgYSBtb3JlIHVzZWZ1bCB2YWx1ZS4KCjIwMTAtMDItMjMgMTc6MTk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogUmV0dXJuIDEwMCBpZiBoaWdoLWxldmVsIGlzIDAgaW5zdGVhZCBvZiBkaXZpZGluZyBieSB6ZXJvCgoyMDEwLTAyLTIyIDEyOjI0OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBhdm9pZCBkaXZpc2lvbiBieSAwCgkgIEF2b2lkIGEgZGl2aXNpb24gYnkgMCB3aGVuIG5vIGNvbnN0YW50RHVyYXRpb24gd2FzIHNwZWNpZmllZCBhbmQgd2hlbiBvdXQgdHdvCgkgIHRpbWVzdGFtcHMgYXJlIGVxdWFsLgoJICBGaXhlcyAjNjEwMjY1CgoyMDEwLTAyLTIyIDE4OjIwOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJICBkdmRlcGF5OiBkb24ndCBvdXRwdXQgZnJhbWVzIHVudGlsIHdlIGhhdmUgYSBoZWFkZXIKCSAgV2FpdCBmb3IgdGhlIGNvbXBsZXRlIGZpcnN0IDYgaGVhZGVyIERJRiBwYWNrZXRzIGJlZm9yZSBvdXRwdXR0aW5nIGEgZnJhbWUuCgkgIERlY29kZXJzIG5lZWQgdGhpcyBpbmZvIHRvIGNvcnJlY3RseSBkZWNvZGUgdGhlIGRhdGEuCgkgIEZpeGVzICM2MTA1NTYKCjIwMTAtMDItMjIgMjA6NTU6MjkgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGJ5IGZpcnN0IGNoZWNraW5nIGFuZCB0aGVuIHJlYWRpbmcKCSAgRml4ZXMgYnVnICM2MTA0ODMuCgoyMDEwLTAyLTE4IDA5OjA1OjUwICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBnc3RfcHVsc2VzaW5rX2dldF9tdXRlOiBzZXQgcmVzdWx0IGVhcmxpZXIuCgkgIEluIHRoZSBjYXNlcyB3aGVyZSBubyBidWZmZXIgd2FzIHByb2Nlc3MgeWV0IG9yIHRoZSBpbmRleCBpcyBub3QKCSAgYXZhaWxhYmxlLCBnZXRfcHVsc2VzaW5rX2dldF9tdXRlKCkgd291bGQgdW5jb25kaXRpb25hbGx5IHJldHVybgoJICBGQUxTRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDMzNwoKMjAxMC0wMi0xOSAxMjozNToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBmaXggZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZCB1bmluc3RhbGxlZCAucGMgZmlsZQoJICBGaXggZ3N0LXBsdWdpbnMtYmFzZSByZWZlcmVuY2UvcmVxdWlyZW1lbnQuIFRoaXMgY2F1c2VkIHNwdXJpb3VzCgkgIHByb2JsZW1zIHdpdGggdW5pbnN0YWxsZWQgLXVnbHkvLWJhZCBub3QgZmluZGluZyAtZ29vZCBwbHVnaW5zIGluCgkgIHRoZWlyIHVuaXQgdGVzdHMgKHdoZW4gZGlzdGNoZWNraW5nKS4KCjIwMTAtMDItMTkgMDE6MDM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9sdi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE4LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDItMTkgMDA6NTQ6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlLy5naXRpZ25vcmU6CgkgIE1ha2UgZ2l0IGlnbm9yZSBzaGFwZXdpcGUgZXhhbXBsZXMgYW5kIHRlc3RzCgoyMDEwLTAyLTE5IDAwOjQ2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IG1pbm9yIG1pY3JvLW9wdGltaXNhdGlvbgoJICBXZSBrbm93IHRoZXNlIHZhbHVlcyBkb24ndCBjaGFuZ2UgZHVyaW5nIHRoZSBsb29wLCBidXQgdGhlIGNvbXBpbGVyCgkgIGRvZXNuJ3QgYW5kIGhhcyB0byByZS1jaGVjayB0aGVtIGZvciBldmVyeSBpdGVyYXRpb24uCgoyMDEwLTAyLTE5IDAwOjM5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IHJlbW92ZSBzdGF0aWMga2V5d29yZCBmcm9tIHZhcmlhYmxlcyB0aGF0IHNob3VsZG4ndCBiZSBzdGF0aWMKCSAgTXVsdGlwbGUgZmx2cGFyc2UvZmx2ZGVtdXggaW5zdGFuY2VzIHNob3VsZCBiZSBhYmxlIHRvIG9wZXJhdGUgd2l0aG91dAoJICB0cmFtcGxpbmcgb3ZlciBlYWNoIG90aGVyIGJ5IGFjY2lkZW50YWxseSByZS11c2luZyB0aGUgc2FtZSAoc3RhdGljKQoJICB2YXJpYWJsZXMuIChTcG90dGVkIGJ5IE1hcmsgTmF1d2VsYWVydHMpCgoyMDEwLTAyLTE2IDAyOjA3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBkb2NzOiBhZGQgU2luY2U6IG1hcmtlcnMgZm9yIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydGllcwoKMjAxMC0wMi0xOCAxODoyMDoyNCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb2ZmLWJ5LW9uZSBsb2dpYyBlcnJvciBpbiBmcmFtZSByYXRlIGNhcCByZWdyZXNzaW9uIGNvbW1pdAoKMjAxMC0wMi0xNyAxNjoyNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSB0aGUgY29ycmVjdCBkdXJhdGlvbiB3aGVuIGNvbXBhcmluZyBzZWdtZW50cwoJICBEbyBub3QgY29uZnVzZSBRdERlbXV4U2VnbWVudHMgd2l0aCBHc3RTZWdtZW50cyB3aGVuCgkgIGNvbXBhcmluZyB0aGUgdG90YWwgZmlsZSBkdXJhdGlvbiB3aXRoIHRoZSBzZWdtZW50IGR1cmF0aW9uCgkgIEZpeGVzICM2MTAyOTYKCjIwMTAtMDItMTcgMTg6MDY6MjkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGR1cmF0aW9ucyBtb2R1bG8gMTw8MzIKCSAgRm9yIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbnMgb2YgZWFjaCBzYW1wbGUsIHdlIGFyZSBzdXBwb3NlZCB0byBhZGQgZWFjaAoJICBkdXJhdGlvbiBtb2R1bG8gMTw8MzIgc28gbWFrZSB0aGUgZWxhcHNlZCB0aW1lIGNvdW50ZXIgYSB1aW50MzIuCgkgIEZpeGVzICM2MTAyODAKCjIwMTAtMDItMTYgMjE6MDU6MjQgKzAxMDAgIEFuZGVycyBTa2FyZ3JlbiA8YW5kZXJzLnNrYXJncmVuIGF0IGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogaW1wcm92ZSBoZWFkZXIgbWltZS10eXBlIHBhcnNpbmcKCSAgTWFrZSB0aGUgaGFuZGluZyBvZiB0aGUgbWltZSB0eXBlIHdpdGhpbiB0aGUgImJvdW5kYXJ5IiBhIGJpdCBsZXNzIG5haXZlLgoJICBUaGUgc3RhbmRhcmQgZm9yIE1JTUUgYWxsb3dzIHBhcmFtZXRlcnMgdG8gZm9sbG93IHRoZSAidHlwZSIgLyAic3VidHlwZSIKCSAgY2xhdXNlIHNlcGFyYXRlZCBmcm9tIHRoZSBtaW1lIHR5cGUgYnkgJzsnLgoJICBNb2RpZmllcyB0aGUgbXVsdGlwYXJ0ZGVtdXhlcidzIGhlYWRlciBwYXJzaW5nIHNvIGl0IGRvZXNudCBhc3N1bWUKCSAgdGhlIHdob2xlIGxpbmUgYWZ0ZXIgImNvbnRlbnQtdHlwZToiIGlzIHRoZSBtaW1lIHR5cGUgYW5kIHRodXMgbWFrZXMgaXQgYSBiaXQKCSAgbW9yZSByZXNpbGllbnQgdG8gZmluZGluZyBhYnN1cmQgbWltZSB0eXBlcyBpbiB0aGUgY2FzZSB3aGVyZSBwYXJhbWV0ZXJzIGFyZQoJICBhZGRlZC4KCSAgRml4ZXMgIzYwNDcxMQoKMjAxMC0wMi0xNiAxOTo1MzowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgc3RvcHBpbmcgTlVMTCB0YXNrcwoJICBDaGVjayB0aGUgdGFzayBmb3IgTlVMTCwgaXQgY291bGQgYmUgcGF1c2VkIGFuZCBzZXQgdG8gTlVMTCBiZWZvcmUuCgoyMDEwLTAyLTE2IDE2OjIyOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IEFMQUMgY29kZWMtZGF0YSBoYW5kbGluZwoJICBBTEFDIGNvZGVjLWRhdGEgYXBwYXJlbnRseSBjb21lcyBpbiAoYXQgbGVhc3QpIHR3byBmbGF2b3VycyAobW92LCBtcDQpLAoJICBzbyB1c2UgYXRvbSBiYXNlZCBwYXJzaW5nIHRvIHJldHJpZXZlIHJlcXVpcmVkIGRhdGEsIHJhdGhlciB0aGFuCgkgIGFpbWluZyBmb3IgYSBzcGVjaWZpYyBvZmZzZXQuCgkgIFNlZSBhbHNvICM1ODA3MzEuCgoyMDEwLTAyLTE2IDE1OjUwOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDItMTEgMTk6Mzk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IGhhbmRsZSBzaWduZWQgdmFsdWVzIGluIDNHUFAgbG9jYXRpb24gdGFnCgoyMDEwLTAyLTA4IDIxOjM1OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHR5cG8gaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wMi0xNiAxNTowMDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXNldCBzb21lIG1vcmUgc3RyZWFtIHN0YXRlIGFmdGVyIHNlZWsKCSAgSW4gcGFydGljdWxhciwgZml4ZXMgbm9uLWZsdXNoaW5nIHNlZWsuCgoyMDEwLTAyLTE2IDE0OjQ0OjExICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBmcmFtZSByYXRlIGNhcCByZWdyZXNzaW9uCgkgIExvb2sgZm9yIGEgbm9uLXplcm8gbWluX2R1cmF0aW9uIGR1cmluZyBpbml0aWFsaXNhdGlvbiB0byBhdm9pZAoJICBpbmNvcnJlY3QgZnJhbWUgcmF0ZSBjYXBzLgoKMjAxMC0wMi0xNiAxMDoxMzoxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogbG9nIG1vcmUgZGV0YWlscyBpbiBidWZmZXIgcG9vbCBmaW5hbGl6ZQoJICBIZWxwcyB0byBhbGlnbiB3aXRoIHRoZSBsb2dnaW4gZnJvbSBsaWJ2NGwuCgoyMDEwLTAyLTE2IDEwOjExOjQwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGluaXQgZGF0YXN0cnVjdHVyZXMgYWZ0ZXIgcHJlLWNvbmRpdGlvbnMgY2hlY2tzCgoyMDEwLTAyLTE2IDEwOjEwOjQ1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGFkZCBhIGZpeG1lIGZvciBoYW5kbGluZyBvdGhlciBZVVYgdmFyaWFudHMKCjIwMTAtMDItMTYgMDE6NDA6MTkgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlCgkgIEZpeGVzICM2MTAwNTMuCgoyMDEwLTAyLTE2IDAwOjUwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdXAgR1NUX0NYWEZMQUdTIHByb3Blcmx5CgkgIFdlIGRvbid0IHdhbnQgQyBzcGVjaWZpYyBmbGFncyBpbiBHU1RfQ1hYRkxBR1MsIHNvIGJhc2UgaXQgb24gdGhlCgkgIEdTVF9DRkxBR1MgdGhhdCBvbmx5IGNvbnRhaW5zIHRoZSBwa2ctY29uZmlnIENGTEFHUyBidXQgbm9uZSBvZgoJICB0aGUgR1NUX09QVElPTl9DRkxBR1MuIEFsc28sIHdlIG9ubHkgbmVlZCB0aGUgbG9jYWwgaW5jbHVkZXMgb25jZS4KCSAgRml4IHR5cG8gYXMgd2VsbCAoR1NUX0ZMQUdTIC0+IEdTVF9DRkxBR1MpLgoKMjAxMC0wMi0xNSAyMzoxMzo0NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJhc2UgR1NUX0NYWEZMQUdTIG9uIC0tY2ZsYWdzIGZyb20gcGtnLWNvbmZpZwoJICBwa2ctY29uZmlnIHNldHMgR1NUX0NGTEFHUyBhbmQgR1NUX0xJQlMuIFdlIG5lZWQgdG8gdXNlIENGTEFHUyBhcyBhIHN0YXJ0aW5nCgkgIHBvaW50IGZvciBmb3IgYm90aCBDIGFuZCBDWFggc2V0dGluZ3MuCgoyMDEwLTAxLTIwIDE4OjUyOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiByZW1vdmUgdXNlIG9mIG50cF9uc19iYXNlCgoyMDEwLTAxLTIwIDE4OjIyOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiByZW1vdmUgbW9yZSBudHBuc3RpbWUgYW5kIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIGNvZGUgd2hlcmUgd2UgcGFzcyBudHBuc3RpbWUgYXJvdW5kLCB3ZSBjYW4gZG8gbW9zdCB0aGluZ3Mgd2l0aCB0aGUKCSAgcnVubmluZ190aW1lIGp1c3QgZmluZS4KCSAgUmVuYW1lIGEgdmFyaWFibGUgaW4gdGhlIEFycml2YWxTdGF0cyBzdHJ1Y3Qgc28gdGhhdCBpdCdzIGNsZWFyIHRoYXQgdGhpcyBpcyB0aGUKCSAgY3VycmVudCBzeXN0ZW0gdGltZS4KCjIwMTAtMDEtMjAgMTg6MTk6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB1c2UgcnVubmluZ190aW1lIGZvciBqaXR0ZXIKCSAgVXNlIHRoZSBydW5uaW5nX3RpbWUgdG8gY2FsY3VsYXRlIHRoZSBqaXR0ZXIgaW5zdGVhZCBvZiB0aGUgbnRwIHRpbWUuIFBhcnQgb2YKCSAgdGhlIHBsYW4gdG8gZ2V0IHJpZCBvZiBudHBuc2Jhc2UuCgoyMDEwLTAxLTIwIDE3OjA0OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IGNoYW5nZSBob3cgTlRQIHRpbWUgaXMgY2FsY3VsYXRlZCBpbiBSVENQCgkgIERvbid0IGNhbGN1bGF0ZSB0aGUgTlRQIHRpbWUgYmFzZWQgb24gdGhlIHJ1bm5pbmdfdGltZSBvZiB0aGUgcGlwZWxpbmUgYnV0IGZyb20KCSAgdGhlIHN5c3RlbWNsb2NrLiBUaGlzIGFsbG93cyB1cyB0byBnZW5lcmF0ZSBtb3JlIGFjY3VyYXRlIE5UUCB0aW1lc3RhbXBzIGluIGNhc2UKCSAgdGhlIHN5c3RlbWNsb2NrIGlzIHN5bmNocm9uaXplZCB3aXRoIE5UUCBvciBzaW1pbGFyLgoKMjAxMC0wMi0xNSAxMjoxMjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IHByaW50ZiBmb3JtYXQgc3RyaW5nIGZpeAoJICBUaGUgY29tcGlsZXIgd2FudHMgYSBjYXN0IGhlcmUgZXZlbiB0aG91Z2ggdGhlIHR5cGUgaXMgYWxyZWFkeQoJICB0eXBlZGVmZWQgYXMgNjQtYml0IGludGVnZXIgKHByZXN1bWFibHkgYmVjYXVzZSBnbGliIGhhcyB0eXBlZGVmZWQKCSAgZ3VpbnQ2NCB0byB1bnNpZ25lZCBsb25nIGhlcmUpLgoKMjAxMC0wMi0xNSAxMDozMzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGZpeCBwcmludGYgZm9ybWF0IHN0cmluZwoKMjAxMC0wMi0xNSAwMDo1MDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIHJhdzEzOTQsIG1hdHJvc2thLCBydHBtYW5hZ2VyOiByZW1vdmUgcGFkZGluZyBmcm9tIHN0cnVjdHVyZXMKCSAgTm9uZSBvZiB0aGVzZSBlbGVtZW50IGFuZCBjbGFzcyBzdHJ1Y3R1cmVzIGFyZSBpbiBwdWJsaWMgaGVhZGVycywKCSAgc28gZG9uJ3QgbmVlZCBwYWRkaW5nLgoKMjAxMC0wMi0xNSAwMDo0NzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIGZvciBuZXcgdHJhbnNsYXRvciBjb21tZW50CgoyMDEwLTAyLTE1IDAwOjQ1OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgY29tbWVudCBmb3IgdHJhbnNsYXRvcnMgZm9yICd4IGJ5IHknIG1lc3NhZ2UKCSAgRml4ZXMgIzYwOTcyNC4KCjIwMTAtMDItMTUgMDE6Mjg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBGaXggbGVha2luZyBvZiBwYWQgdGVtcGxhdGVzCgoyMDEwLTAyLTE1IDAwOjUwOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCB1bml0IHRlc3QgZm9yIGxhdGVzdCBjaGFuZ2VzCgkgIE5vdyB0aGUgYWxwaGEgaXMgbXVsdGlwbGllZCB3aXRoIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFscGhhCgkgIHZhbHVlIGluc3RlYWQgb2Ygc2ltcGx5IGlnbm9yaW5nIGl0IGFuZCB0aGUgbHVtYS9jaHJvbWEgdmFsdWVzCgkgIGFyZSBrZXB0LCBldmVuIGlmIHRoZSBvdXRwdXQgaXMgMTAwJSB0cmFuc3BhcmVudC4KCjIwMTAtMDItMTUgMDA6NDc6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW1wcm92ZSB1bml0IHRlc3Qgb3V0cHV0IG9uIGVycm9ycwoKMjAxMC0wMi0xNCAyMzoxNzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk2ZGM3OTMgdG8gNDRlY2NlNwoKMjAxMC0wMi0xMyAyMzoyODowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCAtYmFzZSByZXF1aXJlbWVudCB0byBnaXQKCSAgRm9yIEdTVF9SSUZGX1RBR19KVU5RLgoKMjAxMC0wMi0xMiAxNjoxMTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDJzaW5rOiBjaGFuZ2UgcmFuayB0byBOT05FIHNvIGl0IGlzIG5ldmVyIGF1dG9wbHVnZ2VkCgoyMDEwLTAyLTEzIDE4OjE4OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogQXVkaW8gdGFncyB3aXRob3V0IGFueSBjb250ZW50IGFyZSB2YWxpZC4KCSAgV2Ugc2lsZW50bHkgaWdub3JlIHRoZW0gaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQuCgoyMDEwLTAyLTEzIDE4OjA3OjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogRml4IEdTVF9DTE9DS19ESUZGIHVzYWdlLgoJICBJdCB3YXMgcHJldmlvdXNseSBjaGVja2luZyBmb3IgRElGRihhLCBiID4gNiAqIEdTVF9TRUNPTkQpIGluc3RlYWQgb2YKCSAgdGhlIHByb3BlciBESUZGKGEsYikgPiA2ICogR1NUX1NFQ09ORAoKMjAxMC0wMi0xMyAxNjoyNzowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGZvcmdldCB0byByZXNldCB0aGUgaW5kZXhlZCB2YXJpYWJsZSB3aGVuIGNsZWFuaW5nIHVwCgoyMDEwLTAyLTEzIDExOjAxOjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogU3BlZWR1cCBHc3RJbmRleCB1c2FnZQoJICBVc2VkIHRoZSBfYWRkX2Fzc29jaWF0aW9udiB2YXJpYW50IG9mIEdzdEluZGV4IHNpbmNlIHdlIGtub3cgaG93IG1hbnkKCSAgYXNzb2NpYXRpb25zIHdlJ3JlIGFkZGluZy4gVHJpbXMgdXAgdG8gNTAlIGZyb20gaW5kZXggZ2VuZXJhdGlvbiB0aW1lLgoJICBOb3RlIDogSXQgd291bGQgYmUgZ3JlYXQgaWYgdGhlIGluZGV4IGNvdWxkIGJlIGdlbmVyYXRlZCBvbiB0aGUgZmx5IG9yCgkgIG9uIHJlcXVlc3QgYXMgb3Bwb3NlZCB0byBiZWluZyBmdWxseSBjcmVhdGVkIGF0IHN0YXJ0dXAuCgoyMDEwLTAyLTEyIDE5OjMyOjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZG9uJ3QgcmVzeW5jIHRvIGludmFsaWQgdGltZXN0YW1wcwoJICBJZiB3ZSBkZXRlY3QgYmFja3dhcmQgdGltZXN0YW1wcyBvbiB0aGUgc2VydmVyLCBkb24ndCB0cnkgdG8gcmVzeW5jIHdoZW4gd2UKCSAgZG9uJ3QgaGF2ZSBhbiBpbnB1dCB0aW1lc3RhbXAgKHN1Y2ggYXMgd2hlbiB1c2luZyBSVFNQIG92ZXIgVENQKSBpbnN0ZWFkLCBkbwoJICBub3RoaW5nIGJ1dCBhc3N1bWUgdGhlIHRpbWVzdGFtcCB3YXMgb2ssIGl0IHdpbGwgY29ycmVjdCBpdHNlbGYgd2hlbiB0aW1lIGdvZXMKCSAgZm9yd2FyZHMuCgoyMDEwLTAyLTEyIDE3OjIxOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHR5cG8KCjIwMTAtMDItMTIgMTY6NDc6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzdGFydCBvdXQgYWN0aXZlIGFuZCBub3QgYnVmZmVyaW5nCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IHRoZSBsYXRlbmN5IGluIHRoZSBqaXR0ZWJ1ZmZlciBpbiBfaW5pdCwgd2Ugd2lsbCBzZXQKCSAgdGhhdCBsYXRlciB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgU2V0IHRoZSBqaXR0ZXJidWZmZXIgYWN0aXZlIGFuZCBub3QgYnVmZmVyaW5nIHdoZW4gc3RhcnRpbmcuCgoyMDEwLTAxLTI3IDE3OjU3OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogbW9yZSBidWZmZXJpbmcgd29yawoJICBXaGVuIGRlYWN0aXZhdGluZyBqaXR0ZXJidWZmZXJzIHdoZW4gdGhlIGJ1ZmZlcmluZyBzdGFydHMsIGtlZXAgdGhlIGN1cnJlbnQKCSAgcGVyY2VudCBvZiB0aGUgaml0dGVyYnVmZmVyIGFuZCBhbHNvIHNldCB0aGUgaml0dGVyYnVmZmVyIGluIHRoZSBidWZmZXJpbmcgc3RhdGUKCSAgc28gdGhhdCB3ZSBrbm93IHdoZW4gaXQncyBmaWxsZWQgYWdhaW4uCgkgIEFkZCBwcm9wZXJ0eSB0byBnZXQgdGhlIGJ1ZmZlcmluZyBwZXJjZW50YWdlIG9mIHRoZSBqaXR0ZXJidWZmZXIuCgoyMDA5LTEwLTE0IDE2OjI5OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRqdXN0IGxhdGVuY3kgaW4gYnVmZmVyIG1vZGUKCSAgV2hlbiB3ZSBhcmUgaW4gYnVmZmVyIG1vZGUsIGFkanVzdCB0aGUgYnVmZmVyaW5nIGxvdy9oaWdoIHRocmVzaG9sZHMgYmFzZWQgb24KCSAgdGhlIHRvdGFsIGNvbmZpZ3VyZWQgbGF0ZW5jeS4gSWYgd2UgZG9uJ3QgYW5kIHRoZXJlIGlzIGEgaHVnZSBxdWV1ZSBvciBlbGVtZW50CgkgIHdpdGggYSBiaWcgbGF0ZW5jeSBkb3duc3RyZWFtIHdlIG1pZ2h0IGRyYWluIHRoZSBjb21wbGV0ZSBxdWV1ZSBpbW1lZGlhdGVseSBhbmQKCSAgc3RhcnQgYnVmZmVyaW5nIGFnYWluLgoKMjAwOS0xMC0xMiAxMTo1NDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCB0cy1vZmZzZXQgdG8gdGltZXN0YW1wCgkgIEFkZCB0aGUgdHMtb2Zmc2V0IHRvIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIGdldCB0aGUgZmluYWwgb3V0cHV0IHRpbWVzdGFtcCBvZgoJICB0aGUgYnVmZmVyLgoKMjAwOS0xMC0wOCAxOToyMzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBiaW46IGRvIG1vcmUgYWNjdXJhdGUgYnVmZmVyIG9mZnNldHMKCSAgUmV0dXJuIHRoZSBuZXh0IHRpbWVzdGFtcCBpbiB0aGUgaml0dGVyYnVmZmVyLgoJICBVc2UgdGhlIG1pbi10aW1lc3RhbXAgb2YgdGhlIGppdHRlcmJ1ZmZlcnMgdG8gY2FsY3VsYXRlIGFuIG9mZnNldCBzbyB0aGF0IHRoZQoJICBuZXh0IHRpbWVzdGFtcCBpcyBwdXNoZWQgd2l0aCBhIHRpbWVzdGFtcCBlcXVhbCB0byBydW5uaW5nX3RpbWUuCgkgIFN0YXJ0IHByb2R1Y2luZyB0aW1lc3RhbXBzIGZyb20gMCBpbiB0aGUgYnVmZmVyaW5nIGNhc2UgdG9vLgoKMjAwOS0xMC0wOCAxODo0MjoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IG9ubHkgc3RhcnQgYnVmZmVyaW5nIHdoZW4gPCAxMDAlCgkgIE9ubHkgc3RhcnQgYnVmZmVyaW5nIHdoZW4gdGhlIHBlcmNlbnRhZ2UgbWVzc2FnZSBpcyA8IDEwMCAlLgoKMjAwOS0xMC0wNiAxMzozNDozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBrZWVwIHRyYWNrIG9mIGVsYXBzZWQgcGF1c2UgdGltZQoJICBLZWVwIHRyYWNrIG9mIHRoZSB0aW1lIHdlIHNwZW5kIHBhdXNpbmcgdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbiB0aGV5IHdlcmUKCSAgYnVmZmVyaW5nIGFuZCBkaXN0cmlidXRlIHRoaXMgZWxhcHNlZCB0aW1lIHRvIHRoZSBqaXR0ZXJidWZmZXJzLgoJICBBbHNvIGtlZXAgdGhlIGxhdGVuY3kgaW4gbmFub3NlY29uZCBwcmVjaXNpb24uCgoyMDA5LTEwLTA2IDEzOjMzOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2Ygb2Zmc2V0CgkgIEtlZXAgdHJhY2sgb2YgYW4gb3V0Z29pbmcgb2Zmc2V0IHRoYXQgd2UgYWRkIHRvIGVhY2ggb3V0Z29pbmcgYnVmZmVyIHRvCgkgIGNvbXBlbnNhdGUgZm9yIFBBVVNFIHdoZW4gYnVmZmVyaW5nLgoJICBBZGp1c3QgdGhlIG9mZnNldCB3aGVuIGFjdGl2YXRpbmcuCgoyMDA5LTEwLTA2IDEzOjMwOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVwb3J0IGxldmVsIHVzaW5nIGhpZ2ggd2F0ZXJtYXJrCgoyMDA5LTEwLTA1IDIxOjMxOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHBiaW46IHBhc3MgcnVubmluZ190aW1lIHRvIGppdHRlcmJ1ZmZlciBwYXVzZQoJICBQYXNzIHRoZSBjdXJyZW50IHJ1bm5pbmcgdGltZSB0byB0aGUgaml0dGVyYnVmZmVyIHdoZW4gcGF1c2luZyBvciByZXN1bWluZyBzbwoJICB0aGF0IGl0IGNhbGN1bGF0ZSB0aGUgcmlnaHQgb2Zmc2V0cy4KCSAgU21hbGwgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBTZXQgdGhlIGRlZmF1bHQgcnRzcHNyYyBsYXRlbmN5IHRvIDIgc2Vjb25kcy4KCjIwMDktMTAtMDUgMjA6MDk6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGJpbjogYWRkIHNvbWUgY29tbWVudHMKCjIwMDktMTAtMDUgMTk6NDU6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IG1vcmUgYnVmZmVyaW5nIHVwZGF0ZXMKCSAgQWRkIHNpZ25hbCB0byBwYXVzZSB0aGUgaml0dGVyYnVmZmVyLiBUaGlzIHdpbGwgYmUgZW1pdHRlZCBmcm9tIGdzdHJ0cGJpbiB3aGVuCgkgIG9uZSBvZiB0aGUgaml0dGVyYnVmZmVycyBpcyBidWZmZXJpbmcuCgkgIE1ha2UgcnRwYmluIGNvbGxlY3QgdGhlIGJ1ZmZlcmluZyBtZXNzYWdlcyBhbmQgcG9zdCBhIG5ldyBidWZmZXJpbmcgbWVzc2FnZSB3aXRoCgkgIHRoZSBtaW4gdmFsdWUuCgkgIFJlbW92ZSB0aGUgc3RhdHMgY2FsbGJhY2sgZnJvbSBqaXR0ZXJidWZmZXIgYnV0IHBhc3MgYSBwZXJjZW50IGludGVnZXIgdG8KCSAgZnVuY3Rpb25zIHRoYXQgYWZmZWN0IHRoZSBidWZmZXJpbmcgc3RhdGUgb2YgdGhlIGppdHRlcmJ1ZmZlci4gVGhpcyBhbGxvd3MgdXMKCSAgdGhlbiB0byBwb3N0IGJ1ZmZlcmluZyBtZXNzYWdlcyBmcm9tIG91dHNpZGUgb2YgdGhlIGppdHRlcmJ1ZmZlciBsb2NrLgoKMjAwOS0xMC0wNSAxMzozMjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBwcm9wYWdhdGUgYnVmZmVyLW1vZGUgcHJvcGVydHkKCSAgUHJvcGFnYXRlIGJ1ZmZlci1tb2RlIHByb3BlcnR5IHRvIHRoZSBqaXR0ZXJidWZmZXJzLgoJICBJbnRlcmNlcHQgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHJ0cGJpbgoKMjAwOS0xMC0wMSAxNzoxNDowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogZG8gbW9yZSBidWZmZXJpbmcgaW1wbGVtZW50YXRpb24KCSAgQWRkIGNhbGxiYWNrIGZvciBidWZmZXJpbmcgc3RhdHMuCgkgIENvbmZpZ3VyZSB0aGUgbGF0ZW5jeSBpbiB0aGUgaml0dGVyYnVmZmVyIGluc3RlYWQgb2YgcGFzc2luZyBpdCB3aXRoIF9pbnNlcnQuCgkgIENhbGN1bGF0ZSBidWZmZXJpbmcgbGV2ZWxzIHdoZW4gcHVzaGluZyBhbmQgcG9wcGluZwoJICBQb3N0IGJ1ZmZlcmluZyBtZXNzYWdlcy4KCjIwMDktMTAtMDEgMTI6NDY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGZsZXNoIG91dCBidWZmZXJpbmcgbW9kZSBzb21lIG1vcmUKCSAgQWRkIGEgYnVmZmVyaW5nIHN0YXRlIHRvIHRoZSBqaXR0ZXJidWZmZXIgYW5kIHdhaXQgdW50aWwgYnVmZmVyaW5nIGVuZHMgYmVmb3JlCgkgIHB1c2hpbmcgb3V0IHBhY2tldHMuCgoyMDA5LTEwLTAxIDEyOjA5OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhvb2sgdXAgdGhlIG1vZGUgcHJvcGVydHkKCSAgRXhwb3NlIGEgbW9kZSBwcm9wZXJ0eSBvbiB0aGUgaml0dGVyYnVmZmVyLgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgdGltZXN0YW1wcyBhcmUgLTEgaW4gdGhlIGNoZWNrIGZvciBvdXRnb2luZyB0aW1lc3RhbXBzLgoKMjAwOS0xMC0wMSAxMToyMDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBhZGQgYnVmZmVyaW5nIG1vZGUgb3B0aW9ucwoJICBBZGQgZ2V0dGVycyBhbmQgc2V0dGVycyBmb3IgZGlmZmVyZW50IGJ1ZmZlcmluZyBtb2RlcyB0aGF0IHRoZSBqaXR0ZXJidWZmZXIgd2lsbAoJICBzdXBwb3J0LiBEZWZhdWx0IHRvIHRoZSBjdXJyZW50IHNsYXZlIG1vZGUuCgoyMDEwLTAyLTEyIDE1OjU0OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsc2luazogbG93ZXIgcmFuayB0byBNQVJHSU5BTAoKMjAxMC0wMi0xMiAxNjowNjo0NSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IE9idGFpbiB0aGUgaW5kZXggZnJvbSB0aGUgZW5kIG9mIGFuIGZsdiBmaWxlIGluIHB1c2ggbW9kZQoJICBBbGxvd3MgZm9yIGJldHRlciBzdXBwb3J0IG9mIHNlZWtpbmcgaW4gZmx2IGZpbGVzIHdoZW4gaW4gcHVzaCBtb2RlCgoyMDEwLTAxLTIxIDExOjU1OjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IERyb3AgdmlkZW8gZnJhbWVzIHVwIHRvIHRoZSBkZXNpcmVkIGtleWZyYW1lIGFmdGVyIGEgc2VlawoJICBUaGUgYXVkaW8gcGFja2V0cyBpbiBBVkkgYXJlIGdlbmVyYWxseSBtdXhlZCB+MC41cyBiZWZvcmUgdGhlCgkgIGNvcnJlc3BvbmRpbmcgdmlkZW8gcGFja2V0LiBUaGlzIGNoYW5nZXMgY2F1c2VzIGRvd25zdHJlYW0gdG8gb25seQoJICByZWNlaXZlIHBhY2tldHMgd2l0aCByb3VnaGx5IGNvcnJlc3BvbmRpbmcgdGltZXN0YW1wcy4KCjIwMTAtMDEtMTkgMTg6MzU6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBtb3JlIERJU0NPTlQgaGFuZGxpbmcKCSAgQWRkIHNvbWUgZGVidWcgaW4gdGhlIERJU0NPTlQgaGFuZGxpbmcgY29kZS4KCSAgV2hlbiB3ZSByZWNlaXZlIGEgRElTQ09OVCBpbiBwdXNoIG1vZGUsIG1hcmsgYWxsIHN0cmVhbXMgYXMgRElTQ09OVC4KCjIwMTAtMDEtMTkgMTA6NTE6MDggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBfaGFuZGxlX3NlZWtfcHVzaCAoKSBhbmQgbmV3IHNlZ2VtZW50IGJlaGF2aW91cgoKMjAxMC0wMS0xOCAxNzoxMzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNsZWFudXBzCgkgIE1ha2Ugc3VyZSB3ZSByZXNldCB0aGUgZGVtdXhlciBjb3JyZWN0bHkgd3J0IHBhcnNpbmcgdGhlIGluZGV4LgoJICBEb24ndCBsZWFrIHBlbmRpbmcgc2VlayBldmVudHMuCgkgIFJlbmFtZSBzb21lIG1ldGhvZHMgdG8gcmVmbGVjdCB3aGF0IHRoZXkgZG8gYW5kIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoIHNpbWlsYXIKCSAgbWV0aG9kIG5hbWVzLgoJICBUcnkgdG8gbWFrZSB0aGUgc2Vla2luZyB0aHJlYWRzYWZlIGJ5IHByb3RlY3RpbmcgdGhlIHNldHVwIGNvZGUgd2l0aCBhIGxvY2suCgkgIE1ha2Ugc3VyZSB3ZSBwb3N0IGVycm9ycyB3aGVuIGEgc2VlayBmYWlscy4KCjIwMTAtMDEtMTggMTE6NDU6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHJlbmFtZSBzb21lIHZhcmlhYmxlcwoJICBzZWVrX2V2ZW50IC0+IHNlZ19ldmVudAoJICBldmVudF9zZWVrIC0+IHNlZWtfZXZlbnQKCjIwMTAtMDEtMTUgMTg6MDA6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB0YWtlIGZhbGxiYWNrIGR1cmF0aW9uIGZyb20gYXZpaAoJICBXaGVuIHdlIGhhdmUgbm90IHBhcnNlZCBhbnkgaW5kZXhlcyB5ZXQsIHdlIGRvbid0IGtub3cgdGhlIGxlbmd0aCBvZiB0aGUgc3RyZWFtcwoJICBhbmQgd2UgbXVzdCB0YWtlIHRoZSBsZW5ndGggZ2l2ZW4gaW4gdGhlIGF2aWggYXMgYSBmYWxsYmFjay4KCSAgQXZvaWQgc29tZSB0eXBlY2hlY2tpbmcuCgoyMDA5LTEyLTA0IDE1OjEzOjEyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IFB1c2ggbW9kZSBzZWVraW5nIHN1cHBvcnQKCjIwMTAtMDItMDEgMTY6MDQ6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNsZWFudXAgcHJvcGVydGllcwoJICBVc2UgbW9yZSBkZWZhdWx0IGNvbnN0YW50cy4KCSAgVXNlIHN0YXRpYyBzdHJpbmdzIHBhcmFtIGZsYWcuCgkgIEluaXQgcHJvcGVydGllcyBleHBsaWNpdGx5IGluc3RlYWQgb2YgbGV0dGluZyBnb2JqZWN0IGRvIHRoaXMuCgoyMDEwLTAyLTEyIDE1OjM0OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXg6IGFkZCBtaXNzaW5nIGluY2x1ZGUKCjIwMTAtMDItMDUgMTM6Mjg6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJICB0YWdpbmplY3Q6IGZpeCBtdWx0aS12YWx1ZSB0YWcgZXhhbXBsZQoJICBXZSBuZWVkIHRvIHVzZSB7fSB0byBzcGVjaWZ5IGEgbGlzdC4KCjIwMTAtMDItMDEgMTQ6NDM6MDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGF2aSx3YXY6IGFsc28gaGFuZGxlIEpVTlEgY2h1bmsgaW4gYWRkaXRpb24gdG8gSlVOSwoKMjAxMC0wMi0wNCAxNTo1OToyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwcGF5OiBkb24ndCBpZ25vcmUgcmVzdWx0IGZyb20gc2V0X291dGNhcHMKCSAgc2V0X291dGNhcHMgY2FuIGZhaWwgYW5kIHdlIG5lZWQgdG8gcHJvcGFnYXRlIHRoZSByZXN1bHQgdXBzdHJlYW0uCgoyMDEwLTAyLTA0IDE1OjM2OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZwYXJzZTogZml4IGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlcwoKMjAxMC0wMS0yNyAxMzoyODoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBzb21lIG1vcmUgZGVidWcgaW5mbwoKMjAxMC0wMS0yNyAxMzoyNjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhdm9pZCBzZWdmYXVsdCB3aGVuIHNodXR0aW5nIGRvd24KCSAgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93biwgd2UgbWlnaHQgc3RpbGwgcmVjZWl2ZSBzdGF0ZSB1cGRhdGVzIGZyb20gcHVsc2VhdWRpbwoJICBidXQgc2luY2Ugd2UgYXJlIHVucGFyZW50ZWQgd2Ugc2hvdWxkIG5vdCBkbyBhbnl0aGluZyB3aXRoIHRoZSBOVUxMIHBhcmVudAoJICBhbnltb3JlLgoKMjAxMC0wMS0yNiAxODozMzoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBmaXggdGltZXN0YW1wIHByb2JsZW1zCgkgIFdoZW4gdGhlIHBhZCB3aXRoIHRoZSBoaWdoZXN0IGZyYW1lcmF0ZSBnb2VzIEVPUywgaW5zdGVhZCBvZiBub3QgdGltZXN0YW1waW5nCgkgIG91dHB1dCBidWZmZXJzLCBpbnRlcG9sbGF0ZSB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbnMgZnJvbSB0aGUgbGFzdCBzZWVuIG9uZXMuCgkgIEZpeGVzICM2MDgwMjYKCjIwMTAtMDItMTIgMTE6MzI6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMi0xMiAxMToxODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlZCAnc2hhcGV3aXBlJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgRml4ZXMgYnVnICM1ODQ1MzYuCgoyMDEwLTAyLTEwIDEwOjUyOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyOS8yOV0gc2hhcGV3aXBlOiBQcmVzZXJ2ZSB0aGUgaW5wdXQgY29sb3IgdmFsdWVzIGluIGFsbCBjYXNlcwoKMjAxMC0wMi0xMCAxMDo1MDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjgvMjldIHNoYXBld2lwZTogU2NhbGUgbWFzayBhbHBoYSB2YWx1ZXMgYnkgdGhlIHNvdXJjZSBhbHBoYSB2YWx1ZXMKCjIwMTAtMDItMTAgMTA6NDI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI3LzI5XSBzaGFwZXdpcGU6IEZpeCBBUkdCIHByb2Nlc3NpbmcKCjIwMTAtMDItMTAgMTA6MzQ6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNi8yOV0gc2hhcGV3aXBlOiBQcmludCBzb21lIG1vcmUgZGV0YWlscyBvbiBlcnJvci93YXJuaW5nIG1lc3NhZ2VzCgoyMDEwLTAyLTA4IDA4OjI2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNS8yOV0gc2hhcGV3aXBlOiBJbXByb3ZlL2FkZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MjA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI0LzI5XSBzaGFwZXdpcGU6IEFsd2F5cyBob2xkIHRoZSBtYXNrIG11dGV4IGJlZm9yZSBzaWduYWxsaW5nIHRoZSBHQ29uZAoKMjAxMC0wMi0wOCAwODoxOTo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjMvMjldIHNoYXBld2lwZTogTW92ZSBjaGFpbiBmdW5jdGlvbiBlcnJvciBjYXNlcyBhdCB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbiBhbmQgYWRkIHVzZWZ1bCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDIyLzI5XSBzaGFwZXdpcGU6IEZpeCByYWNlIGNvbmRpdGlvbiBkdXJpbmcgc2h1dGRvd24gdGhhdCBjYW4gbGVhZCB0byBhIGRlYWRsb2NrCgoyMDEwLTAyLTA4IDA4OjExOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyMS8yOV0gc2hhcGV3aXBlOiBEcm9wIG1hc2sgYnVmZmVyIG9uIEZMVVNIIGV2ZW50cwoKMjAxMC0wMi0wOCAwODowOTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMjAvMjldIHNoYXBld2lwZTogVXBkYXRlIGNvcHlyaWdodCB5ZWFyCgoyMDEwLTAyLTA4IDA4OjA4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxOS8yOV0gc2hhcGV3aXBlOiBEb24ndCByZXNldCBwcm9wZXJ0aWVzIHdoZW4gZ29pbmcgUEFVU0VELT5SRUFEWQoJICBBbHNvIHVzZSBkZWZpbmVzIGZvciB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlIHByb3BlcnRpZXMuCgoyMDEwLTAxLTE2IDE2OjUyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxOC8yOV0gc2hhcGV3aXBlOiBSZXBsYWNlIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgaW4gdGhlIGlubmVyIHByb2Nlc3NpbmcgbG9vcHMgYnkgaW50ZWdlciBhcml0aG1ldGljCgoyMDA5LTEyLTEwIDEwOjQwOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxNy8yOV0gc2hhcGV3aXBlOiBEb24ndCBkbyBwb2ludGVyIGRlcmVmZXJlbmNlcyBpbiB0aGUgcHJvY2Vzc2luZyBsb29wCgkgIExvd2VycyB0aGUgdGltZSB0YWtlbiB0aGVyZSBpbiBteSB0ZXN0Y2FzZSBmcm9tIDYuOTElIHRvIDYuMjAlCgkgIGFzIG1lYXN1cmVkIGJ5IGNhbGxncmluZC4KCjIwMDktMDctMDggMTc6NTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE2LzI5XSBzaGFwZXdpcGU6IEFkZCBCR1JBIHN1cHBvcnQgZm9yIHZpZGVvIGluL291dHB1dAoKMjAwOS0wNy0wMiAxMToyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTUvMjldIHNoYXBld2lwZTogQWRkIHN1cHBvcnQgZm9yIEFSR0IgdmlkZW8gaW5wdXQvb3V0cHV0CgoyMDA5LTA2LTIzIDE4OjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxNC8yOV0gc2hhcGV3aXBlOiBDb3JyZWN0bHkgaGFuZGxlIDAvMSBmcHMKCjIwMDktMDYtMDkgMTk6MTQ6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDEzLzI5XSBzaGFwZXdpcGU6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBjaGFuZ2UgaXMgYmFzZWQgb24gVGltJ3MgUW9TIGltcGxlbWVudGF0aW9uCgkgIGZvciBqcGVnZGVjLgoKMjAwOS0wNi0wOSAxODo0NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIvMjldIHNoYXBld2lwZTogUHJveHkgcXVlcmllcyBvbiB0aGUgdmlkZW8gcGFkcyB0byB0aGUgY29ycmVjdCBwZWVycwoKMjAwOS0wNi0wOSAxODozNzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTEvMjldIHNoYXBld2lwZTogUHJveHkgYnVmZmVyYWxsb2Mgb24gdGhlIHZpZGVvIHNpbmtwYWQKCjIwMDktMDYtMDkgMTg6MjU6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwLzI5XSBzaGFwZXdpcGU6IFRyeSB0byB3b3JrIGlucGxhY2UgaWYgcG9zc2libGUKCSAgVGhpcyBzYXZlcyBvbmUgbmV3LCBsYXJnZSBhbGxvY2F0aW9uIHBlciBmcmFtZSBmb3IgdGhlCgkgIG1vc3QgY2FzZXMuCgoyMDA5LTA2LTA0IDA4OjU2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkvMjldIHNoYXBld2lwZTogSW5jcmVhc2UgdGltZW91dCBvZiB0aGUgdW5pdCB0ZXN0CgoyMDA5LTA2LTAxIDIxOjI0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOC8yOV0gc2hhcGV3aXBlOiBGaXggc29tZSBpc3N1ZXMgdGhhdCB3ZXJlIGV4cG9zZWQgYnkgdGhlIG5ldyB1bml0IHRlc3QKCjIwMDktMDYtMDEgMjE6MjQ6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNy8yOV0gc2hhcGV3aXBlOiBBZGQgdW5pdCB0ZXN0IGZvciBzaGFwZXdpcGUKCjIwMDktMDUtMzEgMjE6MzM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2LzI5XSBzaGFwZXdpcGU6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA1LTI5IDIxOjA3OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNS8yOV0gc2hhcGV3aXBlOiBBZGp1c3QgYm9yZGVyIHRvIHN0aWxsIGhhdmUgZXZlcnl0aGluZyB0cmFuc3BhcmVudCBhdCAxLjAgYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kCgoyMDA5LTA1LTI5IDE2OjU1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQvMjldIHNoYXBld2lwZTogRGl2aWRlIHRoZSBib3JkZXIgdmFsdWUgYnkgdHdvLCBvdGhlcndpc2Ugd2UgdXNlIGEgdHdpY2UgYSB3aWRlIGJvcmRlcgoKMjAwOS0wNS0yOSAxNjo1MTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzLzI5XSBzaGFwZXdpcGU6IEFkZCBib3JkZXIgcHJvcGVydHkgdG8gYWxsb3cgc21vb3RoIGJvcmRlcnMKCSAgLi4uYW5kIHVzZSBhIGJvcmRlciBvZiAwLjAxIGluIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoKMjAwOS0wNS0yOSAxNjowMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMi8yOV0gc2hhcGV3aXBlOiBGaXggTWFrZWZpbGUgb2YgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24KCjIwMDktMDUtMjkgMTU6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxLzI5XSBzaGFwZXdpcGU6IEFkZCBhIHNpbXBsZSBzaGFwZXdpcGUgdHJhbnNpdGlvbiBmaWx0ZXIgJiBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDEwLTAyLTA2IDE4OjE5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogT25seSBmbHVzaCB0aGUgRkxBQyBkZWNvZGVyIGlmIGl0IHdhc24ndCBjcmVhdGVkIHJpZ2h0IGJlZm9yZQoJICBJZiB0aGUgRkxBQyBkZWNvZGVyIGlzIGZsdXNoZWQsIGl0cyBzdGF0ZSB3aWxsIGJlIHNldCB0byBmcmFtZS1zeW5jIG1vZGUsCgkgIHdoaWNoIHdpbGwgc3luYyB0byB0aGUgbmV4dCAqYXVkaW8qIGZyYW1lIGFuZCBtYWtlcyBpdCBpZ25vcmUgYWxsIGhlYWRlcnMuCgkgIFRoaXMgcHJldmVudGVkIHRhZ3MgYW5kIGV2ZXJ5dGhpbmcgZWxzZSB0byBzaG93IHVwIHdoZW4gdXNpbmcgZmxhY2RlYwoJICBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzIGJ1ZyAjNjA4ODQzLgoKMjAxMC0wMi0xMSAwMToxMjoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNQUlOVEFJTkVSUzoKCSAgVXBkYXRlIE1BSU5UQUlORVJTCgoyMDEwLTAyLTEyIDAwOjAzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBiYWNrIHRvIGRldmVsb3BtZW50CgkgIFNsdXNoeSBmcmVlemUgcmVtYWlucyBpbiBlZmZlY3QuCgo9PT0gcmVsZWFzZSAwLjEwLjE4ID09PQoKMjAxMC0wMi0xMCAyMzoxODoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE4CgoyMDEwLTAyLTEwIDIzOjE3OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDItMTAgMjA6MzY6NTYgKzAwMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdGVtcG9yYXJ5IHNhZmV0eSBjaGVjayB0byBhdm9pZCBjcmFzaGVzIHdpdGggYSBjZXJ0YWluIGZpbGUKCSAgQWRkIHRlbXBvcmFyeSBjaGVjayB0byBhdm9pZCBjcmFzaGVzIHdpdGggYSBjZXJ0YWluIGZpbGUgd2hlbiBzZWVraW5nCgkgIHVudGlsIHRoZSByZWFsIGNhdXNlIG9mIHRoaXMgaXMgZmlndXJlZCBvdXQuIFNlZSAjNjA5NDA1LgoKMjAxMC0wMi0wNSAxODowNTozOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHNraXAgdW5rbm93biBhdG9tcyB3aGVuIGxvb2tpbmcgZm9yIG1vb3YKCSAgRml4ZXMgYnVnICM2MDkxMDcKCjIwMTAtMDItMDUgMDI6MTM6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMyBwcmUtcmVsZWFzZQoKMjAxMC0wMi0wNCAxOToxMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vaHUucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTAyLTA0IDE0OjQ2OjU2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogU2V0IHRoZSBzZWdtZW50IHN0YXJ0IHRpbWUgdG8gdGhlIHJlcXVlc3RlZCBzZWVrIHRpbWUgZm9yIG5vbi1rZXlmcmFtZSBzZWVrcwoKMjAxMC0wMi0wNCAxMjowMDowMyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdGltZSByZXR1cm5lZCBmb3IgaW5kZXggYXQgYSBieXRlIG9mZnNldAoJICBUaGUgbG9naWMgZm9yIHNlYXJjaGluZyBmb3J3YXJkcy9iYWNrd2FyZHMgd2FzIHN3YXBwZWQKCjIwMTAtMDItMDEgMTk6MjI6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBpbml0aWFsaXplIHN0ZXJlbyBkZWNvZGluZyBzdGF0ZQoKMjAxMC0wMS0yOCAxODo1ODowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSBzdHJlYW0gc3luY2hyb25pemF0aW9uCgkgIEluIHBhcnRpY3VsYXIsIGRvIG5vdCBtYWtlIGl0IHNlbmQgbmV3c2VnbWVudCB1cGRhdGVzIHRoYXQKCSAgc29ydC1vZiBjb250cmFkaWN0IHRoZSBpbmRlbnRlZCBwbGF5YmFjayBzZWdtZW50IChlLmcuIHN0YXJ0IHRpbWUpLgoKMjAxMC0wMS0yOCAxODo1MzoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGJyaWRnaW5nICh0aW1lKSBnYXBzIGluIHN0cmVhbXMKCSAgQXMgYSBzaWRlIGVmZmVjdCwgYXZvaWQgc2VuZGluZyBuZXdzZWdtZW50IHVwZGF0ZXMgd2l0aCBzdGFydCB0aW1lcwoJICB0aGF0IGdvIGJhY2sgYW5kIGZvcnRoLCB3aGljaCBsZWFkcyB0byBib2d1cyBkb3duc3RyZWFtIHJ1bm5pbmdfdGltZS4KCSAgQWxzbyBmaXhlcyBzZWVraW5nIGluIGJ1ZyAjNjA2NzQ0LgoKMjAxMC0wMS0yOCAxODo0OTo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHN0cmVhbSBzeW5jaHJvbml6YXRpb24KCSAgLi4gYnkgaW5pdGlhbGl6aW5nIHN0cmVhbXMgc3RhcnRpbmcgYXQgMCwgYXMgdGhhdCBpcyBiYXNpY2FsbHkKCSAgd2hlcmUgd2UgJ3NlZWsgdG8nIGF0IHRoZSBzdGFydCBhbmQgYXNzdW1lIHN0cmVhbXMgdG8gc3RhcnQgZWxzZXdoZXJlLgoJICBBbHNvIGVuYWJsZXMgbmV3c2VnbWVudCB1cGRhdGUgZXZlbnRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zLgoKMjAxMC0wMi0wMiAxMzo0MTowMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnOiBkb24ndCBkaXJlY3RseSBhY2Nlc3MgbWVzc2FnZSwgc29tZSBtZXNzYWdlIGhhdmUgYXJncwoJICBUaGlzIGNhdXNlZCBib2d1cyBtZXNzYWdlcywgc3VjaCBhcyByZXBvcnRlZCBpbiBidWcgIzYwNzQ3MS4KCjIwMTAtMDItMDIgMDA6MDI6MzQgKzAwMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nOiBmaXggY29tcGlsYXRpb24gd2l0aCBsaWJwbmcgMS40CgkgIHBuZ19zZXRfZ3JheV8xXzJfNF90b184KCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgYSB3aGlsZSBhbmQgd2FzCgkgIGZpbmFsbHkgcmVtb3ZlZCBpbiBsaWJwbmcgMS40LnguIFVzZSBwbmdfc2V0X2V4cGFuZF9ncmF5XzFfMl80X3RvXzgoKQoJICBpbnN0ZWFkLgoJICBGaXhlcyAjNjA4NjI5LgoKMjAxMC0wMi0wMSAxNjo0NjozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZnJlZSB0cmFuc3BvcnRzIG9uIGVycm9ycwoJICBTZWUgIzYwODU2NAoKMjAxMC0wMi0wMSAwOToxODo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCB1bnBvcnRhYmxlIHByaW50ZiBmb3JtYXQKCjIwMTAtMDEtMzAgMTU6MTg6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNWQ0N2E2IHRvIDk2ZGM3OTMKCjIwMTAtMDEtMjcgMTc6NTM6MDcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogaW5kZXggdGltZXN0YW1wcyBzaG91bGQgYmUgaW4gc2Vjb25kcywgbm90IG1pbGxpc2Vjb25kcwoKMjAxMC0wMS0yNyAxNToyNDo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IGZyZWUgc29tZSBtb3JlIHdoZW4gcmVzZXR0aW5nCgkgIEZpeGVzICM2MDgyNTUuCgoyMDEwLTAxLTI3IDE1OjI0OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgcnRwc3BlZXhwYXk6IGZpeCBvY2Nhc2lvbmFsIGJ1ZmZlciBsZWFrCgkgIEZpeGVzICM2MDgyNTUuCgoyMDEwLTAxLTI3IDE1OjIyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogcHJldmVudCBpbnZhbGlkIGFyaXRobWV0aWMgaWYgbm90IHNldHVwIHlldAoJICBGaXhlcyAjNjA4MjU1LgoKMjAxMC0wMS0yNyAxNjozNDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogRml4IGFzc2VtYmx5IHJlZ2lzdGVyIGNvbnN0cmFpbnRzCgkgIEZpeGVzIGJ1ZyAjNjA4MjA5LgoKMjAxMC0wMS0yNyAwMTo1NjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy4yIHByZS1yZWxlYXNlCgoyMDEwLTAxLTI3IDAxOjUyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTAxLTI3IDAxOjQ5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrczogaWdub3JlIGRlaW50ZXJsYWNlIGNoZWNrIGJpbmFyeQoKMjAxMC0wMS0yNyAwMToxODo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcHVyZ2UgYWxsIG1lbnRpb24gb2YgQ1ZTCgoyMDEwLTAxLTI2IDExOjE4OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaWdub3JlIHN0cmVhbXMgdGhhdCBmaW5pc2hlZAoJICBXaGVuIHdlIHJlY2VpdmUgYW4gVU5FWFBFQ1RFRCBmcm9tIGEgc3RyZWFtLCBtb3ZlIHRvIHRoZSBuZXh0IHN0cmVhbSBhbmQgb25seSBnbwoJICBFT1Mgd2hlbiBhbGwgc3RyZWFtcyBhcmUgRU9TLiBXaGVuIHNlbGVjdGluZyBhIHN0cmVhbSB0byBwdXNoLCBpZ25vcmUgc3RyZWFtcwoJICB0aGF0IHdlbnQgRU9TLgoJICBGaXhlcyAjNjA3OTQ5CgoyMDEwLTAxLTI1IDE3OjIzOjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGRvbid0IGRlcmVmIE5VTEwKCSAgRXJyb3Igb3V0IHdoZW4gdGhlIHBvb2wgZ2V0cyBzaHV0ZG93bi4KCjIwMTAtMDEtMjUgMTc6MjE6MTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmV2ZXJ0ICJ2NGwyc3JjOiBkb24ndCBkZXJlZiBOVUxMIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNkOWQzNGJkNjBmYWViOTQwYjM2ZDk5MmE0NzE2OGZjODk1MDM2YmEuCgoyMDEwLTAxLTI1IDE0OjE2OjIyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHY0bDJzcmM6IGRvbid0IGRlcmVmIE5VTEwKCSAgRXJyb3Igb3V0IHdoZW4gdGhlIHBvb2wgZ2V0cyBzaHV0ZG93bi4KCjIwMTAtMDEtMjMgMTU6MzI6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogd2hlbiBjcmVhdGluZyBhbiBvdmVyZmxvdyBidWZmZXIsIGNvcHkgdGltZXN0YW1wcy4KCjIwMTAtMDEtMjMgMTQ6NDc6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRtYjEgaXMgYSB2YWxpZCBmb3VyY2MgZm9yIE1vdGlvbi1KUEVHCgoyMDEwLTAxLTIzIDE0OjIwOjAyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRldXg6IElWMzIgaXMgYWxzbyB1c2VkIGZvciBJbmRlbyAzIHZpZGVvIHN0cmVhbXMKCjIwMTAtMDEtMjIgMTY6NDg6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIGJ1aWxkOiBubyB1bnVzZWQgdmFyaWFibGVzIHdoZW4gZGlzYWJsaW5nIGFzc2VydHMKCjIwMTAtMDEtMjEgMjM6MTc6NDAgLTAzMDAgIFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEF2b2lkIG5lZ2F0aXZlIG92ZXJmbG93IG9uIGtleWZyYW1lIHNlYXJjaAoJICBEbyBub3Qgb3ZlcmZsb3cgbmVnYXRpdmVseSB3aGVuIHNlYXJjaGluZyBhIHByZXZpb3VzCgkgICJrZXlmcmFtZSIgb24gYXVkaW8gc3RyZWFtcy4gQ291bGQgY2F1c2UgaW5maW5pdGUgbG9vcHMKCSAgb24gYmFja3dhcmRzIHBsYXliYWNrCgkgIEZpeGVzICM2MDc3MTgKCjIwMTAtMDEtMjEgMTc6MjI6MzggLTA4MDAgIFBldGVyIHZhbiBIYXJkZW5iZXJnIDxwdmhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBlbmxhcmdlIGJ1ZmZlciBpZiBsaWJqcGVnIHRlbGxzIHVzIGl0J3Mgb3V0IG9mIHNwYWNlLiBGaXhlcyBidWZmZXIgb3ZlcmZsb3cgb24gc29tZSBoaWdoLXF1YWxpdHksIGxvdy1yZXNvbHV0aW9uIGpwZWcgZW5jb2Rlcy4KCjIwMTAtMDEtMjEgMTk6MjQ6MjIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3MgdW5kZXIgT1MgWC4KCjIwMTAtMDEtMjEgMTc6NTc6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkb24ndCBwYXJzZSBOVUxMIGluZGV4ZXMKCSAgZm9yIHNvbWUgc3RyZWFtcyB3ZSBtaWdodCBmYWlsIHRvIGZldGNoIHRoZSBpbmRleCBvZmZzZXRzLiBEb24ndCB0cnkgdG8gcGFyc2UKCSAgTlVMTCBpbmRleGVzIGluIHRob3NlIGNhc2VzLgoKMjAxMC0wMS0xOCAyMToxNTo1MSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IHB0aW1lIHNob3VsZCBpcyBpbiBuYW5vc2Vjb25kcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA3NDAzCgoyMDEwLTAxLTIwIDE1OjExOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogUG9zdCB3YXJuaW5nIGlmIGZpbGUgaXNudCBmaW5pc2hlZCBwcm9wZXJseQoJICBXaGVuIHRoZSBwaXBlbGluZSBpcyBzaHV0IGRvd24gYW5kIHRoZSBmaWxlIGlzbid0CgkgIGZpbmlzaGVkIHByb3Blcmx5LCB3YXZlbmMgc2hvdWxkIHBvc3QgYSB3YXJuaW5nLgoJICBGaXhlcyAjNjA3NDQwCgoyMDA5LTA1LTI3IDEzOjUxOjQ0ICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IG1ha2UgaW5kZXggc2l6ZSBjb25maWd1cmFibGUuCgkgIEFkZGVkIHRoZSAnbWluLWluZGV4LWludGVydmFsJyBwcm9wZXJ0eSB0byBtYXRyb3NrYW11eCwKCSAgd2hpY2ggZGV0ZXJtaW5lcyBob3cgbXVjaCB0aW1lIChuYW5vc2Vjb25kcykgaXMgbGVmdAoJICBiZXR3ZWVuIGtleWZyYW1lcyBzdG9yZWQgaW4gdGhlIGluZGV4LgoJICBGaXhlcyAjNTgzOTg1LgoKMjAxMC0wMS0yMCAxNjoyODozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBzY2FsZSBzcHNwcHNfaW50ZXJ2YWwgdG8gbWlsbGlzZWNvbmRzCgkgIFRoZSBzcHNwcHNfaW50ZXJ2YWwgaXMga2VwdCBpbiBzZWNvbmRzLiBDb252ZXJ0IGl0IHRvIG1pbGxpc2Vjb25kcyBiZWZvcmUKCSAgY29tcGFyaW5nIGl0IHRvIGFub3RoZXIgdmFsdWUgaW4gbWlsbGlzZWNvbmRzLgoKMjAxMC0wMS0yMCAxNToxODo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsd2F5cyBrZWVwIG1lZGlhIHNlZ21lbnRzIHdpdGhpbiB0b3RhbCBkdXJhdGlvbgoJICAuLi4gYXMgb3Bwb3NlZCB0byBvbmx5IGRvaW5nIHNvIGZvbGxvd2luZyBhIHNlZWsuCgoyMDEwLTAxLTIwIDE1OjQ0OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHJlbmFtZSBzcHNwcHMtaW50ZXJ2YWwgcHJvcGVydHkKCSAgUmVuYW1lIHRoZSBzcHNwcHMtaW50ZXJ2YWwgcHJvcGVydHkgdG8gY29uZmlnLWludGVydmFsIGJlY2F1c2UgaXQgaXMgbmljZXIuCgoyMDEwLTAxLTE5IDE4OjM3OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2tpcCBSSUZGIGFuZCBpbmRleCBpbiBwdXNoIG1vZGUKCSAgV2hlbiB3ZSBhcmUgaW4gcHVzaCBtb2RlLCB3ZSBjYW4gZW5jb3VudGVyIFJJRkYgYW5kIGlkeCB0YWdzIGluIHRoZSBkYXRhIGNodW5rCgkgIHdoZW4gd2UgYXJlIGRlYWxpbmcgd2l0aCBPRE1MIGZpbGVzLiBJbiB0aGVzZSBjYXNlcywgc2ltcGx5IHNraXAgdGhlIGNodW5rcyBhbmQKCSAgY29udGludWUgc3RyZWFtaW5nIGluc3RlYWQgb2YgZ29pbmcgRU9TLgoKMjAxMC0wMS0yMCAxMToyNzoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG1vcmUgRElTQ09OVCBoYW5kbGluZwoJICBBZGQgc29tZSBkZWJ1ZyBpbiB0aGUgRElTQ09OVCBoYW5kbGluZyBjb2RlLgoJICBXaGVuIHdlIHJlY2VpdmUgYSBESVNDT05UIGluIHB1c2ggbW9kZSwgbWFyayBhbGwgc3RyZWFtcyBhcyBESVNDT05ULgoKMjAxMC0wMS0yMCAxMToyNjozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlc2V0IG9uIGZsdXNoIGV2ZW50cwoJICBXaGVuIHdlIHJlY2VpdmUgYSBmbHVzaCBldmVudCBvbiB0aGUgc2lua3BhZCwgcmVzZXQgdGhlIEVPUyBzdGF0ZSBhbmQgdGhlCgkgIGZsb3dyZXR1cm4gb2YgYWxsIHN0cmVhbXMuIEFsc28gbWFyayB0aGUgc3RyZWFtcyB3aXRoIGEgRElTQ09OVC4KCjIwMTAtMDEtMjAgMTE6MjI6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHJlbmFtZSBzb21lIHZhcmlhYmxlCgkgIFJlbmFtZSB0aGUgc2Vla19ldmVudCB2YXJpYWJsZSB0byBzZWdfZXZlbnQgYmVjYXVzZSBpdCByZWFsbHkgY29udGFpbnMgdGhlCgkgIG5ld3NlZ21lbnQgZXZlbnQgdGhhdCBuZWVkcyB0byBiZSBwdXNoZWQuCgoyMDEwLTAxLTIwIDAwOjU0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTRjZWM4OSB0byAxNWQ0N2E2CgoyMDEwLTAxLTE4IDE0OjQ5OjI2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IERvbid0IHNldCBwcm9maWxlLWxldmVsLWlkIGluIG91dCBjYXBzCgkgIFRoZSBwcm9maWxlLWxldmVsLWlkIHJlcHJlc2VudHMgcmVzdHJpY3Rpb25zIG9uIHdoYXQgY2FuIGJlIHNlbnQsIGl0IGRvZXMgbm90CgkgIGRlc2NyaWJlIHRoZSBzdHJlYW0uIFNvIGl0IHNob3VsZCBiZSByZWZsZWN0ZWQgaW4gdGhlIHNpbmsgY2FwcyBvZiB0aGUKCSAgcGF5bG9hZGVyLCBub3QgdGhlIHNyYyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA3MzUzCgoyMDEwLTAxLTE4IDE0OjQxOjEwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgZnJvbSBzZXRfb3V0Y2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA3MzUzCgoyMDEwLTAxLTE4IDE3OjQzOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogRml4IGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBoZWFkZXJzCgoyMDEwLTAxLTE4IDE0OjU3OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBtb3ZlIEdfRU5EX0RFQ0xTIHRvIHRoZSBlbmQKCjIwMTAtMDEtMTggMTQ6NTU6MzggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGZpeCBidWZmZXJwb29sIGZpbGUgbmFtZXMgaW4gaGVhZGVyIGNvbW1lbnQKCjIwMTAtMDEtMTUgMTg6MTU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdm9pZCBzb21lIHR5cGVjYXN0aW5nCgoyMDEwLTAxLTE1IDE4OjEzOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgc29tZSB0eXBlIGNoZWNrcwoKMjAxMC0wMS0xNSAxODowOToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogZmFsbGJhY2sgdG8gYXZpaCBkdXJhdGlvbgoJICB3aGVuIHdlIGhhdmUgbm90IHlldCBwYXJzZWQgdGhlIGluZGV4ZXMgKGluIHB1c2ggbW9kZSwgZm9yIGV4YW1wbGUpIHVzZQoJICB0aGUgZHVyYXRpb24gYXMgZ2l2ZW4gaW4gdGhlIGF2aWggaGVhZGVyIGluc3RlYWQgb2YgLTEuCgoyMDEwLTAxLTE1IDEzOjMyOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZ19mcmVlIGlzIE5VTEwgc2FmZQoKMjAxMC0wMS0xNSAxMzoyNzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBERU1VWCBlcnJvcnMsIGluc3RlYWQgb2YgREVDT0RFCgkgIHF0ZGVtdXggc2hvdWxkIHVzZSBERU1VWCBlcnJvcnMsIGFuZCBub3QgREVDT0RFCgkgIENvbmZsaWN0czoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jCgoyMDEwLTAxLTE0IDE5OjE2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWlub3IgcmVmYWN0b3IKCSAgUmVwbGFjZSByZXBlYXRlZCBjb2RlIHdpdGggYSBmdW5jdGlvbiBjYWxsCgoyMDEwLTAxLTE0IDE3OjExOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogSGFuZGxlIGFub3RoZXIga2luZCBvZiByZWRpcmVjdCB0cmFrCgkgIFNvbWUgdHJha3MgbWlnaHQgY29udGFpbiBhIHJlZGlyZWN0IHJ0c3AgdXJpIGluc2lkZQoJICBobmRsIGF0b20gKHdoaWNoIGlzIGEgZHJlZiBhdG9tIGVudHJ5KS4gVGhpcyBjb21taXQgbWFrZXMgcXRkZW11eAoJICBwb3N0IGEgbWVzc2FnZSB3aGVuIGl0IGZpbmRzIG9uZSBvZiB0aGVzZSB0cmFrcyBhbmQgdGhlcmUgYXJlCgkgIG5vIG90aGVyIHRyYWtzLgoJICBGaXhlcyAjNTk3NDk3CgoyMDEwLTAxLTE0IDE2OjEzOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBQb3N0IGVycm9yIHdoZW4gcmVhY2hpbmcgRU9TIHdpdGhvdXQgcGFkcwoJICBQb3N0IGFuIGVycm9yIHdoZW4gRU9TIGlzIHJlYWNoZWQgYW5kIHRoZXJlIGFyZSBubyBzcmMgcGFkcwoKMjAxMC0wMS0xNCAxNDoxMzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIG5vdCBwb3N0IGVtcHR5IHJlZGlyZWN0IG1lc3NhZ2VzCgkgIFNvbWUgbWlzaW50ZXJwcmV0ZWQgZGF0YSBjb3VsZCByZXN1bHQgaW4gcG9zdGluZyByZWRpcmVjdCBtZXNzYWdlcwoJICB3aXRoIGVtcHR5IHJlZGlyZWN0IHN0cmluZ3MuIEl0IGlzIGJldHRlciBub3QgdG8gcG9zdCB0aGVtLgoJICBBbiBleGFtcGxlIGlzIHRoZSBmaWxlIG9uIGJ1ZyAjNTk3NDk3CgoyMDEwLTAxLTE0IDE4OjE5OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwb2xpc2ggbGFzdCBidWZmZXIgZW5kIHRpbWUgdXNhZ2UKCSAgVGhhdCBpcywgcmVzZXQgaXQgdXBvbiBzZWVrLCBhbmQgbm90ZSB0aGF0IChyYXJlbHkpIGxhc3QgcHVzaGVkIGJ1ZmZlcgoJICB0aW1lIG1pZ2h0IHByZWNlZGUgc2VnbWVudCBzdGFydC4KCjIwMTAtMDEtMTMgMTY6NDg6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiB1c2UgJ3EnIGNvbnN0cmFpbnQgaW5zdGVhZCBvZiAncicKCSAgVGhpcyBhdm9pZHMgdGhlICJiYWQgcmVnaXN0ZXIgbmFtZSBgJWRpbCciIGNvbXBpbGF0aW9uIGVycm9ycyBvbiAzMmJpdCB3aGVyZQoJICBiZWNhdXNlIG9mICdyJyBnY2MgcHV0cyB0aGUgdmFsdWUgaW4gYSBnZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXIgYW5kIHRoZW4gdHJpZXMKCSAgdG8gYWNjZXNzIHRoZSBsb3dlciBwYXJ0IGFzICVkaWwvJXNpbCB3aGljaCBpcyBub3QgZXhpc3Rpbmcgb24gMzJiaXQuICdxJyByZXF1ZXN0cwoJICBhLWQgcmVnaXN0ZXJzCgoyMDEwLTAxLTEzIDE2OjQ0OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogYWRkIG1pc3NpbmcgaW5jbHVkZSBmb3Igc3NjYW5mCgoyMDEwLTAxLTEzIDA5OjM2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICBlcXVhbGl6ZXI6IEZpeCBwcm9wZXJ0eSBkZXNjcmlwdGlvbiBmb3IgdGhlIDNyZCBiYW5kIG9mIHRoZSAxMGJhbmQgZXF1YWxpemVyCgkgIFRoZSBmcmVxdWVuY3kgaXMgYWN0dWFsbHkgMjM3IEh6LCBub3QgMjI3IEh6LgoJICBGaXhlcyBidWcgIzYwNjY5Mi4KCjIwMTAtMDEtMTMgMDk6MjI6MjAgKzAxMDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGxpZ28uY2FsdGVjaC5lZHU+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgYXVkaW9hbXBsaWZ5OiBBbGxvdyBuZWdhdGl2ZSBhbXBsaWZpY2F0aW9ucwoJICBGaXhlcyBidWcgIzYwNjgwNy4KCjIwMTAtMDEtMTMgMDk6MTc6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgYXBldjJtdXg6IERvbid0IGNhbGwgY29uc3RydWN0b3JzIGRpcmVjdGx5LCB0aGlzIGxlYWRzIHRvIGNvbXBpbGVyIGVycm9ycyB3aXRoIGdjYyA0LjUKCjIwMTAtMDEtMTIgMTc6Mzk6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBHX0dTSVpFX0ZPUk1BVCBmb3IgcGxhdGZvcm0gaW5kZXBlbmRlbnQgZ3NpemUgcXVhbGlmaWVyCgkgIEZpeGVzIGJ1aWxkIG9uIG1hY29zeAoKMjAxMC0wMS0xMSAxOTowMjozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVmYWN0b3IgZW9zIHNlbmRpbmcgd2hlbiBwYXVzaW5nIGxvb3AKCSAgQWxzbywgcHJldmVudCBoYW5naW5nIGlmIG5vIHBhZHMgeWV0IG9uIHdoaWNoIHRvIHNlbmQgZW9zIGJ5CgkgIHBvc3RpbmcgYSBtZXNzYWdlIGluc3RlYWQuCgoyMDEwLTAxLTExIDE3OjUwOjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzdGFuZGFyZGl6ZSBzZWVrIGhhbmRsaW5nCgkgIC4uLiB3aGljaCBpbXBsaWVzIGZpeGluZyBzb21lIGNvcm5lciBjYXNlcy4KCjIwMTAtMDEtMTEgMTU6MTQ6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIG1vcmUgZ2VuZXJpYyB4aXBoTl9zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhIGhlbHBlcgoKMjAxMC0wMS0xMSAxNzo1MDowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZWZsb3cgYXVkaW8gYW5kIHZpZGVvIHNldGNhcHMgYW5kIGltcHJvdmUgbG9nZ2luZwoJICBBbHNvIGVuc3VyZSB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBhdmFpbGFibGUgYXMgdGhleSBhcmUgbWFuZGF0b3J5CgkgIGluIG1hdHJvc2thIHNwZWNzLgoKMjAxMC0wMS0xMSAxMTo0Mjo0MyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBvZmZzZXQgZm9yIHR5cGUgMiBtcDRhIHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIEFsbG93cyB1cyB0byBjb3JyZWN0bHkgZmluZCB0aGUgZXNkcyAoYW5kIHRodXMgdGhlIGNvZGVjIGRhdGEpIGZvciBzdWNoCgkgIG1wNGEgZmlsZXMuCgoyMDEwLTAxLTExIDE1OjQ1OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICBydHBtcDRnKGRlKXBheTogT25seSBoYW5kbGUgcmF3IGFhYwoJICBydHBtcDRnKGRlKXBheSBzaG91bGQgb25seSBoYW5kbGUgcmF3IEFBQyBzdHJlYW1zCgoyMDEwLTAxLTExIDE4OjU5OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBJbXBsZW1lbnQgYmFzaWMgUW9TCgkgIFRoaXMgZHJvcHMgZnJhbWVzIGlmIHRoZXkncmUgdG9vIGxhdGUgYW55d2F5IGJlZm9yZSBibGVuZGluZyBhbmQgYWxsCgkgIHRoYXQgc3RhcnRzIGJ1dCBRb1MgZXZlbnRzIGFyZSBub3QgZm9yd2FyZGVkIHVwc3RyZWFtLiBJbiB0aGUgZnV0dXJlCgkgIHRoZSBRb1MgZXZlbnRzIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCBzb21laG93IGFuZCBmb3J3YXJkZWQgdXBzdHJlYW0uCgoyMDEwLTAxLTExIDE0OjQ4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhKGRlKXBheTogT25seSBhY2NlcHQgcmF3IGFhYwoJICBydHBtcDRhKGRlKXBheSBzaG91bGQgb25seSBoYW5kbGUgcmF3IGFhYyB0byBjb25mb3JtIHRvIHRoZSBSRkMKCjIwMTAtMDEtMTEgMTg6MzU6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCBNTVggaW1wbGVtZW50YXRpb25zIGZvciBJNDIwIGFuZCBhbGwgbm9uLWFscGhhIFJHQiBmb3JtYXRzCgoyMDEwLTAxLTA0IDEwOjI0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfcmdiLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBSZWZhY3RvciBwcm9jZXNzaW5nIGZ1bmN0aW9ucwoJICBUaGlzIGFsbG93cyBlYXNpZXIgcGx1Z2dpbmcgb2Ygb3B0aW1pemVkIHByb2Nlc3NpbmcgZnVuY3Rpb25zCgkgIGluIHRoZSBmdXR1cmUsIGxpa2UgZm9yIFNTRSBvciBBbHRpVmVjLgoKMjAxMC0wMS0xMSAxMzoyNjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGF2aW11eDogbWF0cm9za2FtdXg6IHJlbmFtZSBhYWMncyBzdHJlYW0tZm9ybWF0IHRvIHJhdwoJICBBQUMncyBub25lIHN0cmVhbS1mb3JtYXQgaGFzIGJlZW4gcmVuYW1lZCB0byByYXcsIHJlbmFtZQoJICBvbiBhdmltdXggYW5kIG1hdHJvc2thbXV4IGFzIHdlbGwKCjIwMTAtMDEtMTEgMTI6MDc6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogT25seSBhY2NlcHQgcmF3IGFhYwoJICBtYWtlcyBtYXRyb3NrYW11eCByZWplY3QgYWFjIHN0cmVhbXMgdGhhdCBhcmUgbm90CgkgIGluIHJhdyBmb3JtYXQgKHN0cmVhbS1mb3JtYXQ9bm9uZSkKCSAgRml4ZXMgIzU5ODM1MAoKMjAxMC0wMS0xMSAxMjowODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IE9ubHkgYWNjZXB0IHJhdyBhYWMKCSAgbWFrZXMgYXZpbXV4IHJlamVjdCBhYWMgc3RyZWFtcyB0aGF0IGFyZSBub3QKCSAgaW4gcmF3IGZvcm1hdCAoc3RyZWFtLWZvcm1hdD1ub25lKQoJICBGaXhlcyAjNTk4MzUwCgoyMDEwLTAxLTExIDEwOjM4OjEwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE9vcHMuIFRoZSBncG9pbnRlciBjYXN0IGlzIG5lZWRlZCBiZWNhdXNlIG9mIHRoZSBjb25zdCBxdWFsaWZpZXJzIG9uIHRoZSBkYXRhIGVsZW1lbnRzCgoyMDEwLTAxLTExIDEwOjE3OjU0ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERlYnVnIC0+IGluZm8gbGV2ZWwgZm9yIGEgbWVzc2FnZSBmb3IgYmVuY2htYXJraW5nIGluZGV4IHBhcnNpbmcKCSAgVGhlIGV4dHJhIG1lc3NhZ2Ugb3V0cHV0IGF0IGhpZ2hlciBsZXZlbHMgYWZmZWN0cyB0aGUgYWNjdXJhY3kgb2YgdGhlCgkgIGJlbmNobWFyay4KCjIwMTAtMDEtMTEgMTA6MDU6MTAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgY2hlY2sgZm9yIE5VTEwgcG9pbnRlcnMgb3IgY2FzdCB0byBncG9pbnRlciBhcyB0aGlzIGlzIG5vdCBuZWVkZWQKCjIwMTAtMDEtMDggMTM6NTU6MDUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVmYWN0b3Igc3RibCBzdWItYXRvbSBmcmVlaW5nLiBGcmVlIHdoZW4gaW5kZXggaGFzIGJlZW4gY29tcGxldGVseSBwYXJzZWQuCgoyMDEwLTAxLTA4IDE0OjMyOjA2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEF2b2lkIHdoaXRlc3BhY2UgY29tbWl0cyBkdWUgdG8gaW5jb25zaXN0ZW50IEdOVSBpbmRlbnQgYmVoYXZpb3VyCgoyMDEwLTAxLTExIDAwOjEwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIG5ld2xpbmUgYXQgZW5kIG9mIGRlYnVnIHN0YXRlbWVudAoKMjAxMC0wMS0wOCAxOToyNjoyMSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBDb21waWxlciB3YXJuaW5nIGZpeGVzIGZvciBXaW5kb3dzCgkgIEp1c3Qgc2ltcGxlIG1pc3NpbmcgY2FzdHMKCSAgRml4ZXMgYnVnICM2MDY0MzguCgoyMDEwLTAxLTA4IDE4OjA0OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IHNlZWtwb2ludHMgcHJvcGVydHkgY29weS1hbmQtcGFzdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMS0wNiAxNzowNjo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogb3B0aW9uYWxseSBhZGQgYSBzZWVrIHRhYmxlCgkgIEFQSTogR3N0RmxhY0VuYzpzZWVrcG9pbnRzCgkgIEZpeGVzICMzNTE1OTUuCgoyMDEwLTAxLTA4IDExOjMzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVzZSBtb3JlIGdsaWIgYW5kIGJlIHNhZmVyCgkgIEJlIHNhZmVyIG9uIHNzY2FuZiBieSBsaW1pdGluZyBzdHJpbmcgZm9ybWF0IHNpemVzLgoJICBSZW1vdmUgdXNlbGVzcyBwYXJhbWV0ZXIgYW5kIHVzZSBnX3N0cm5kdXAuCgoyMDEwLTAxLTA4IDEwOjQ0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFNpbXBsaWZ5aW5nIGNvZGUKCSAgR3JlYXRseSBzaW1wbGlmeSB0aGUgSURJVCBjaHVuayBoYW5kbGluZyBieSB1c2luZyBzc2NhbmYKCSAgaW5zdGVhZCBvZiAnbWFudWFsbHknIHBhcnNpbmcuIEFsc28gcmVwbGFjZXMgc3RybmNhc2VjbXAgYW5kCgkgIGlzX2FscGhhL2lzX2RpZ2l0IHdpdGggZ2xpYiB2ZXJzaW9ucy4KCjIwMTAtMDEtMDggMTA6MTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaXQncyBmZWIgZm9yIGZlYnJ1YXJ5CgkgIEZpeCB0eXBvIGluIGxhc3QgY29tbWl0LgoKMjAxMC0wMS0wOCAwOToxNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBQYXJzZSBhbmQgcG9zdCBJRElUIGRhdGVzCgkgIFBhcnNlcyBhbmQgcG9zdCBkYXRlIHRhZ3MgY29udGFpbmVkIGluIElESVQgY2h1bmtzLgoJICBGaXhlcyAjNTAzNTgyCgoyMDEwLTAxLTA3IDE3OjI1OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBBZGQgcHJvcGVydHkgZm9yIG5vdCBkcmFpbmluZyB0aGUgaGlzdG9yeSBvbiBrZXJuZWwgY2hhbmdlcwoJICBDdXJyZW50bHkgdGhpcyBvbmx5IHdvcmtzIGlmIHRoZSBrZXJuZWwgc2l6ZSBkb2Vzbid0IGNoYW5nZSwgaW4gdGhlIGZ1dHVyZQoJICBpdCB3aWxsIGJlIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUga2VybmVsIHNpemUgdG9vIHdpdGhvdXQgZHJhaW5pbmcKCSAgdGhlIGNvbXBsZXRlIGhpc3RvcnkgYW5kIHdpdGhvdXQgbG9vc2luZyBhbnl0aGluZy4KCSAgUGFydGlhbGx5IGJhc2VkIG9uIGEgcGF0Y2ggYnkKCSAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoyMDEwLTAxLTA3IDE2OjU4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHJlbW92ZSB3ZWlyZCBtZW1jbXAgY29kZQoJICBVc2UgcGxhaW4gbWVtY21wIGZvciBjb21wYXJpbmcgbWVtb3J5IGluc3RlYWQgb2YgdGhlIGN1c3RvbSBidWdneSBvbmUuCgkgIEZpeGVzICM2MDYxOTgKCjIwMTAtMDEtMDcgMTU6Mzg6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCB0eXBvIGluICdtZXNzYWdlJyBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMC0wMS0wNiAxNDowNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHJlYWxseSB1c2UgdXBzdHJlYW0gdGltZXN0YW1wIGlmIHRoZXJlIGlzIG9uZQoJICBTZWUvZml4ZXMgIzYwMzQ3MS4KCjIwMTAtMDEtMDYgMTM6NDU6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOHBheTogcmVtb3ZlIHVudXNlZCBhZGFwdGVyIHBlZWsKCjIwMTAtMDEtMDUgMTk6MDA6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgcGFzc3Rocm91Z2ggdGVzdHMKCSAgSW1wcm92ZSBwYXNzdGhyb3VnaCB0ZXN0cyBieSBmb3JjaW5nIG1vcmUgc3BlY2lmaWMKCSAgaW50ZXJsYWNlZC9kZWludGVybGFjZWQgY2FwcyB0byBiZSB0ZXN0ZWQKCjIwMTAtMDEtMDUgMTg6MjI6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgc29tZSBkb2NzIHRvIHRoZSBuZXcgdGVzdHMKCSAgQWRkcyBzb21lIGRvY3MgZXhwbGFpbmluZyB0aGUgdXRpbGl0eSBmdW5jdGlvbnMgb2YgdGhlIGNoZWNrCgkgIHRlc3RzIG9mIGRlaW50ZXJsYWNlCgoyMDEwLTAxLTA1IDE4OjE0OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRzIHRlc3RzIGZvciBwYXNzdGhyb3VnaAoJICBBZGRzIHRlc3RzIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVudCByZWFsbHkgZG9lcwoJICBwYXNzdGhyb3VnaCBpbiBkaXNhYmxlZCBtb2RlIGFuZCBpbiBhdXRvIChpZiB0aGUgaW5wdXQgaXMKCSAgbm90IGludGVybGFjZWQpCgoyMDEwLTAxLTA1IDA3OjUwOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkcyB0ZXN0cyBmb3IgY2FwcyBhY2NlcHRhbmNlCgkgIEFkZHMgY2hlY2sgdW5pdCB0ZXN0cyBmb3IgZGVpbnRlcmxhY2UgZm9yIHZhbGlkYXRpbmcKCSAgY2FwcyBhY2NlcHRpbmcgYW5kIHRoZSBleHBlY3RlZCBjYXBzIG91dHB1dCBvbiB0aGUKCSAgb3RoZXIgcGFkCgoyMDEwLTAxLTA0IDEzOjQzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkcyBiYXNpYyBjaGVjayB0ZXN0CgkgIEFkZHMgYSBiYXNpYyBjaGVjayB0ZXN0IGZvciBkZWludGVybGFjZSBlbGVtZW50CgoyMDEwLTAxLTA0IDE1OjQ0OjI4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciB3YXZlLXN0eWxlIGF1ZGlvIGluIHF0LgoJICBVc2VzIGdzdHJpZmYgdG8gcGFyc2UgdGhlIHdhdmUgaGVhZGVycyBhcHByb3ByaWF0ZWx5LiBUZXN0ZWQgd2l0aCBNUy1BRFBDTQoJICBjb250ZW50LgoKMjAwOS0xMi0zMSAxNzowOTowMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IEFkZCBHLjcyOSBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjA1MAoKMjAwOS0xMi0zMSAxNjo1MjozMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IFNpbXBsaWZ5IGFkYXB0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjA1MAoKMjAwOS0xMi0zMSAxNjoyNzozMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IFN1cHBvcnQgcHRpbWUgZnJvbSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMDktMTItMDIgMTk6MzU6MjEgKzA1MzAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBydHA6IEFkZCBtYXhwdGltZSB0byB0aGUgUkVBRE1FCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMTAtMDEtMDUgMTk6MDM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJICBydHBnNzIzZGVwYXk6IGFkZCBHNzIzIGRlcGF5bG9hZGVyCgoyMDEwLTAxLTA1IDE5OjAyOjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSAgcnRwZzcyOWRlcGF5OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTAxLTA1IDE4OjMzOjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJICBydHBnNzIzcGF5OiByZXdyaXRlIHBheWxvYWRlcgoJICBIYW5kbGUgYWxsIDMgcGFja2V0IHNpemVzIGFjY29yZGluZyB0byBSRkMgMzU1MS4KCSAgVG90YWxseSB1bnRlc3RlZCwgd2UgZG9uJ3QgaGF2ZSBhIEc3MjMgZW5jb2Rlci4KCSAgRml4ZXMgIzYwNTg4MgoKMjAxMC0wMS0wNSAxMTo0NzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNodW5rIGNvdW50ZXIKCjIwMTAtMDEtMDQgMTk6NDQ6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vcmUgd29yayBhdCByZWR1Y2luZyBsb29wIG92ZXJoZWFkCgkgIFRyeSB0byBhdm9pZCBkZXJlZnMgd2hlbiBwYXJzaW5nIHRoZSBpbmRleC4gU2F2ZSB0aGUgc3RhdGUgaW50byB0aGUgc3RydWN0dXJlcwoJICB3aGVuIHdlIGV4aXQgdGhlIGxvb3AgaW5zdGVhZCBvZiBmb3IgZWFjaCBpdGVyYXRpb24uCgoyMDEwLTAxLTA0IDE2OjMzOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjbGVhbnVwcyBhbmQgbWFrZSBkdXJhdGlvbiBtb3JlIGFjY3VyYXRlCgkgIE1ha2UgdGhlIFF0RGVtdXhTYW1wbGUgc3RydWN0IHNtYWxsZXIgYnkga2VlcGluZyB0aGUgZHVyYXRpb24gYW5kIHRoZSBwdHNfb2Zmc2V0CgkgIGFzIHRoZWlyIDMyIGJpdCB2YWx1ZXMuCgkgIE1ha2Ugc29tZSBtYWNyb3MgdG8gY2FsY3VsYXRlIFBUUywgRFRTIGFuZCBkdXJhdGlvbiBvZiBhIHNhbXBsZS4KCSAgRGVyZWYgdGhlIHNhbXBsZSBpbmRleCBsZXNzIG9mdGVuIGJ5IGtlZXBpbmcgYSByZWYgdG8gdGhlIHNhbXBsZSB3ZSdyZSBkZWFsaW5nCgkgIHdpdGguCgoyMDEwLTAxLTA0IDEzOjQxOjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzaW1wbGlmeSBsb2dpYyB0byBjYWxjdWxhdGUgZHVyYXRpb24KCSAgU2luY2Ugd2Ugbm8gbG9uZ2VyIHN0b3JlIHRoZSB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uIGluIG5hbm9zZWNvbmRzLCB3ZSBjYW4gbm93CgkgIHNpbXBseSBzdG9yZSB0aGUgZHVyYXRpb24gYXMtaXMuCgoyMDEwLTAxLTAxIDE2OjQyOjU3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFN0b3JlIHRpbWVzdGFtcHMgaW4gbW92IGZvcm1hdCBpbiB0aGUgaW5kZXgKCSAgVGhpcyBhbGxvd3MgZmFzdGVyIGJ1aWxkaW5nIG9mIHRoZSBpbmRleCB1cG9uIHNlZWtzIHNvIHRoYXQgc2NhbGluZyBvZgoJICB0aW1lc3RhbXBzIG9ubHkgb2NjdXJzIHdoZW4gYWN0dWFsbHkgbmVlZGVkLgoKMjAwOS0xMi0xOCAxMzo1NDo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFrZSBzZWVraW5nIGluIHB1c2ggbW9kZSB3b3JrCgkgIE1vdmUgc2FtcGxlIHBvc2l0aW9uIGNoZWNrcyBpbnRvIHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyB3aGVyZSB3ZSBjYW4gcHJvdGVjdCBpdAoJICB3aXRoIGEgbG9jay4KCSAgUmVmYWN0b3IgYW5kIG1ha2UgYW4gcXRkZW11eF9lbnN1cmVfaW5kZXggZnVuY3Rpb24uCgkgIFJlbmFtZSBxdGRlbXV4X2RvX3B1c2hfc2VlayB0byBxdGRlbXV4X3NlZWtfb2Zmc2V0IGluIG9yZGVyIHRvIGF2b2lkIGNvbmZ1c2lvbgoJICB3aXRoIGdzdF9xdGRlbXV4X2RvX3B1c2hfc2Vlay4KCjIwMDktMTItMTggMTI6NDQ6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vdmUgZXJyb3IgY29kZSBvdXQgb2Ygbm9ybWFsIGZsb3cKCjIwMDktMTEtMjQgMTY6Mjc6MjYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBBZGQgcHVzaCBtb2RlIHNlZWsgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBvYnRhaW4gdGhlIG1vb3YgYXRvbQoKMjAxMC0wMS0wNSAxMjoyMjowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG9uLW5wdC1zdG9wIHNpZ25hbCB3YXJuaW5ncyBmb3IgUkRUCgkgIFRoZSBSRFQgbWFuYWdlciBkb2VzIG5vdCBpbXBsZW1lbnQgdGhpcyBzaWduYWwgc28gd2UgbmVlZCB0byBjaGVjayBmb3IgaXQgYmVmb3JlCgkgIHRyeWluZyB0byBjb25uZWN0IHRvIGl0LgoKMjAxMC0wMS0wNSAwOTo0NzowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGZpeCBtZW1vcnkgbGVhayBpbiBuZXcgdXJpIGhhbmRsZXIgY29kZQoJICBEb24ndCBsZWFrIGEgc3RyaW5nIGV2ZXJ5dGltZSBnZXRfdXJpKCkgaXMgY2FsbGVkIGFuZCBhIGRldmljZQoJICBoYXMgYmVlbiBzZXQuIFRoZXJlJ3MgYSBsaW1pdGVkIG51bWJlciBvZiBkZXZpY2VzLCBzbyBqdXN0CgkgIGludGVybiB0aGUgc3RyaW5nIGluc3RlYWQgb2YgZG9pbmcgbW9yZSBlbGFib3JhdGUgaG91c2VrZWVwaW5nCgkgIGFuZCBzdG9yaW5nIGl0IGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3Qgb3Igc28uCgoyMDEwLTAxLTAxIDE0OjEwOjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGZpeCB0eXBvIGluIHdhcm5pbmcgbWVzc2FnZQoKMjAxMC0wMS0wNCAwOToyODozNiAtMDMwMCAgUm9iZXJ0IFdlaWRsaWNoIDxnbm9tZWJ1Z3ppbGxhQHJvYmVydC53ZWlkbGljaC5jYz4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MnNlbmQ6IEFkZCAncHVibGljJyBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2V0ICdwdWJsaWMnIGZsYWcgb24gbGlic2hvdXQsIG1ha2luZwoJICB0aGUgc3RyZWFtIGxpc3RlZCBvbiB0aGUgc2VydmVyJ3Mgc3RyZWFtIGRpcmVjdG9yeS4KCSAgRml4ZXMgIzYwNTI2OQoKMjAwOS0xMi0zMCAxNDoxNDo1NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCB0YWdzIGZvciBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGUKCSAgRml4ZXMgIzU5OTMwMC4KCjIwMDktMTItMjYgMTY6NTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IGRvIG5vdCB0cnkgdG8gYWxsb2MgcmVhbGx5IGxhcmdlIGJ1ZmZlcnMKCSAgV2hlbiBuc2FtcGxlc19vdXQgaXMgbGFyZ2VyIHRoYW4gbnNhbXBsZXNfaW4sIHVzaW5nIHVuc2lnbmVkCgkgIGludHMgbGVhZCB0byBhIG92ZXJmbG93IGFuZCB0aGUgcmVzdWx0aW5nIHZhbHVlIGlzIHdyb25nIGFuZAoJICB3YXkgdG9vIGxhcmdlIGZvciBhbGxvY2F0aW5nIGEgYnVmZmVyLiBVc2Ugc2lnbmVkIGludGVnZXJzCgkgIGFuZCByZXR1cm5pbmcgaW1tZWRpYXRlbGx5IHdoZW4gdGhhdCBoYXBwZW5zLgoKMjAwOS0xMi0yNSAxMjozODozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogb3B0aW1pemUgYmxlbmQgY29kZSBzb21lIG1vcmUKCSAgVXNlIG1vcmUgZWZmaWNpZW50IGZvcm11bGEgdGhhdCB1c2VzIGxlc3MgbXVsdGlwbGllcy4KCSAgUmVkdWNlIHRoZSBhbW91bnQgb2Ygc2NhbGFyIGNvZGUsIHVzZSBNTVggdG8gY2FsY3VsYXRlIHRoZSBkZXNpcmVkCgkgIGFscGhhIHZhbHVlLgoJICBVbnJvbGwgYW5kIGhhbmRsZSAyIHBpeGVscyBpbiBvbmUgaXRlcmF0aW9uIGZvciBpbXByb3ZlZCBwYWlyaW5nLgoKMjAwOS0xMi0yNCAyMjo1OTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX3JnYi5jOgoJICB2aWRlb21peGVyOiBzY2FsZSBhbmQgY2xhbXAKCSAgU2NhbGUgYW5kIGNsYW1wIHRvIHRoZSBtYXggYWxwaGEgdmFsdWVzLgoKMjAwOS0xMi0yNCAyMjo1MDozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogc2NhbGUgYW5kIGNsYW1wIGFscGhhIHRvIGl0cyBmdWxsIGV4dGVuZAoJICBDb252ZXJ0IHRoZSBhbHBoYSB2YWx1ZSB0byAwLT4yNTUgd2hlbiBzZXR0aW5nIGFuZCB0byAwLT4yNTYgd2hlbiB1c2luZyBhcwoJICBhIHNjYWxpbmcgZmFjdG9yLiBUaGlzIG1ha2VzIHN1cmUgd2UgY2FuIHJlYWNoIHRoZSBmdWxsIG9wYWNpdHkgdmFsdWUgb2YgMHhmZiBpbgoJICBhbGwgY2FzZXMuCgoyMDA5LTEyLTI0IDIyOjIzOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc29tZSBjb21tZW50cywgcmVtb3ZlIHByb3BlcnR5IGNoZWNrCgkgIEZpeCBzb21lIGNvbW1lbnRzLCBjbGFyaWZ5IHNvbWUgRklYTUVzCgkgIFJlbW92ZSB0aGUgb24tbnRwLXN0b3Agc2lnbmFsIGNoZWNrIG5vdyB0aGF0IHRoZSBqaXR0ZXJidWZmZXIgaXMgaW4KCSAgLWdvb2QgYW5kIHdlIGtub3cgdGhhdCBpdCBzdXBwb3J0cyB0aGlzIHNpZ25hbC4KCjIwMDktMTItMjQgMjA6Mjc6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IHNvbWUgdHJpdmlhbCBjbGVhbnVwcwoKMjAwOS0xMi0yNCAxNzowNDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFBhcnNlIGFsbCBydHBpbmZvIGVudHJpZXMKCSAgRG8gbm90IGZvcmdldCB0byBwYXJzZSBhbGwgcnRwLWluZm8gZW50cmllcywgaW5zdGVhZCBvZgoJICBwYXJzaW5nIHRoZSBmaXJzdCBvbmUgb25seS4KCSAgRml4ZXMgIzYwNTIyMgoKMjAwOS0xMi0yMiAxMjo0NDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBlcmYgdGFnIHNob3VsZCBtYXAgdG8gR1NUX1RBR19BUlRJU1QKCjIwMDktMTItMjQgMTc6MDM6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCB3ZWlyZCBpbmRlbnRhdGlvbgoKMjAwOS0xMi0yNCAxNzowMTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IHVzZSBmYXN0ZXIgX2FkYXB0ZXJfY29weSgpIHdoZW0gcG9zc2libGUKCjIwMDktMTItMjQgMTc6MDE6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkgIHRlc3RzOiB1c2UgcmlnaHQgdHlwZSB3aGVuIHBhc3NpbmcgdmFyYXJnIHZhbHVlCgoyMDA5LTEyLTIzIDE3OjUwOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiB1c2UgYSBzaW5nbGUgZGVjb2RlciBmaWVsZCBmb3IgYm90aCBwdXNoIGFuZCBwdWxsIG1vZGUKCjIwMDktMTItMjMgMTc6MDM6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggcG9zc2libGUgaGFuZ2luZyBpbiBwdWxsIG1vZGUgc2Vla2luZwoJICBBIHNlZWsgaW4gbXVsdGktc2luayBwaXBlbGluZSB0eXBpY2FsbHkgbGVhZHMgdG8gc2V2ZXJhbCBzZWVrIGV2ZW50cyBpbiBhIHJvdywKCSAgd2hpY2ggY291bGQgbGVhZCB0byBzZW5kaW5nIHNldmVyYWwgbmV3c2VnbWVudHMgaW4gYSByb3cgd2l0aG91dCBpbnRlcm1lZGlhdGUKCSAgZmx1c2hpbmcuICBUaGVzZSB3b3VsZCB0aGVuIGFjY3VtdWxhdGUsIGRpc3RvcnQgcmVuZGVyaW5nIHRpbWVzIGFuZCBhcyBzdWNoCgkgIGxlYWQgdG8gJ2hhbmdpbmcnLgoKMjAwOS0xMi0yMyAxOTozOTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMDktMTItMjMgMTM6MDk6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IHVzZSBib2lsZXJwbGF0ZQoKMjAwOS0xMi0yMyAwMDozODowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgIHJ0cEwxNnBheTogY29udmVydCB0byBiYXNlYXVkaW9wYXlsb2FkCgkgIFVzZSBHc3RSVFBCYXNlQXVkaW9QYXlsb2FkIGFzIHRoZSBiYXNlIGNsYXNzLiBUaGlzIHNhdmVzIGEgbG90IG9mIGNvZGUgYW5kIGZpeGVzCgkgIGEgYnVuY2ggb2YgcHJvYmxlbXMgdGhhdCB3ZXJlIGFscmVhZHkgc29sdmVkIGluIHRoZSBiYXNlIGNsYXNzLgoJICBGaXhlcyAjODUzMzY3CgoyMDA5LTEyLTIzIDAwOjMwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgIHJ0cHBjbWFwYXk6IHRoZSBib2lsZXJwbGF0ZSBtYWNybyBzZXRzIHBhcmVudF9jbGFzcwoKMjAwOS0xMi0yMiAyMjoyNzoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IGF2b2lkIHNvbWUgc3RydWN0dXJlIGNvcGllcwoJICBEb24ndCBtYWtlIGNvcGllZCBpbiB0aGUgZ2V0dGVyIGFuZCBzZXR0ZXIgZm9yIFNERVMgaW4gdGhlIFJUUFNvdXJjZS4gVGhpcwoJICBhdm9pZHMgYSBjb3VwbGUgb2YgY29waWVzIG9mIHRoZSBTREVTIHN0cnVjdHVyZSB3aGVuIGdlbmVyYXRpbmcgUlRDUAoJICBwYWNrZXRzLgoKMjAwOS0wOC0zMSAxODo0MjoyNSArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwbWFuYWdlcjogaW1wcm92ZSBTREVTIGhhbmRsaW5nCgkgIFN0b3JlIFNERVMgaW50ZXJuYWxseSBhcyBhIHN0cnVjdCB0byBzdXBwb3J0IG11bHRpcGxlIFBSSVYgdmFsdWVzLgoJICBJbmNsdWRlIGFsbCB2YWx1ZXMgc2V0IGluIFNERVMgc3RydWN0IHdoZW4gc2VuZGluZyBSVENQIFNERVMuCgoyMDA5LTEyLTIyIDE0OjQxOjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBhZGQgc29tZSBmaXhtZXMKCjIwMDktMTItMjIgMTQ6MzU6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGJhc2VjbGFzcyBoYW5kbGVzIHRpbWVzdGFtcHMgZm9yIHVzCgoyMDA5LTEyLTIyIDE0OjI3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiByZXNldCBzdGFydCB2YXJpYWJsZSBwcm9wZXJseQoKMjAwOS0wNS0yOSAxNTo0OToyNyArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIERyb3AgdGhlIHdob2xlIGZyYW1lIGlmIGEgcGFja2V0IGlzIGxvc3QuCgkgIEZpeGVzICM1ODI1NzUKCjIwMDktMTItMjEgMjA6Mzk6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGFkZCBvcHRpb24gdG8gaW5zZXJ0IFBQUy9TUFMgaW4gc3RyZWFtcwoJICBBZGQgYSBuZXcgc3BzcHBzLWludGVydmFsIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSBwYXlsb2FkZXIgdG8gaW5zZXJ0CgkgIFNQUyBhbmQgUFBTIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtLgoJICBSZXdvcmsgdGhlIFNQUy9QUFMgaGFuZGxpbmcgc28gdGhhdCBieXRlc3RyZWFtIGFuZCBBVkMgc2FtcGxlIGNvZGUgYm90aCB1c2UgdGhlCgkgIHNhbWUgY29kZSBwYXRocyB0byBoYW5kbGUgc3Byb3AtcGFyYW1ldGVyLXNldHMuIFRoaXMgYWxzbyBhbGxvd3MgdG8gaGF2ZSB0aGUgQVZDCgkgIGNvZGUgdG8gaW5zZXJ0IFNQUy9QUFMgbGlrZSB0aGUgYnl0ZXN0cmVhbSBjb2RlLgoJICBGaXhlcyAjNjA0OTEzCgoyMDA5LTEyLTIxIDE5OjEyOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDdjYjIzYSB0byAxNGNlYzg5CgoyMDA5LTEyLTIxIDEyOjAxOjUzIC0wMzAwICBKb25hdGhhbiBDb25kZXIgPGpAc2t1cnZ5Lm5vLWlwLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGRzIG5ldyB0YWdzCgkgIEFkZHMgc29tZSBuZXcgdGFncyBtYXBwaW5nIHRvIHF0ZGVtdXguCgkgIEZpeGVzICM1OTk3NTkKCjIwMDktMTItMjEgMTU6MDU6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgcHJvcGVydHkgdG8gcmVtb3ZlIHBhZHMgYXV0b21hdGljYWxseQoJICBBZGQgYSBwcm9wZXJ0eSBjYWxsZWQgYXV0b3JlbW92ZSB0byBhdXRvbWF0aWNhbGx5IHJlbW92ZSB0aGUgcGFkcyBvZiBzb3VyY2VzCgkgIHRoYXQgdGltZWQgb3V0LgoJICBGaXhlcyAjNTU0ODM5CgoyMDA5LTEyLTIxIDE0OjU1OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHNzcmNkZW11eDogZml4IGNvbXBhcmlzb24KCSAgQSBOVUxMIG1lYW5zIG5vIHBhZCB3YXMgZm91bmQuCgoyMDA5LTExLTA4IDExOjQ5OjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBBZGQgR3N0VVJJSGFuZGxlciBpbnRlcmZhY2UuIEZpeGVzICM2MDExNDMKCSAgVGhpcyBhbGxvd3MgdXNpbmcgdjRsMjovL1s8ZGV2aWNlPl0KCjIwMDktMTItMjAgMTc6MjQ6NDcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcGFzcyBsZW5ndGggcGFyYW1ldGVyIHRvIGdfY29udmVydAoKMjAwOS0xMi0xOCAxMjo0NDo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoJICBZZXMsIGl0J3Mgc3R1cGlkLCBidXQgbWFjb3N4IGNvbXBpbGVycyBhcmUgZXZlbiBtb3JlIHN0dXBpZC4KCjIwMDktMTItMTcgMTY6MDE6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJICB2aWRlb21peGVyOiBGaXggYXNzZW1ibHkgY29tcGlsYXRpb24gb24geDg2CgkgIEZpeGVzIGJ1ZyAjNjA0ODE0LgoKMjAwOS0xMi0xNyAxNzozNzowMyArMDEwMCAgQnJhbmtvIMSMaWJlaiA8YnJhbmUgYXQgeGJjLm51PgoKCSogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICByZ2FuYWx5c2lzOiBmaXggdGltZXN0YW1wIHJvdW5kaW5nCgkgIFVzZSBzY2FsaW5nIGZ1bmN0aW9uIHRvIHJvdW5kIGFuZCBhdm9pZCBvdmVyZmxvd3MuCgkgIEZpeGVzICM2MDQzNTIKCjIwMDktMTItMTcgMTc6Mjc6NDIgKzAxMDAgIFRpYWdvIEthdGNpcGlzIDx0aWFnby5rYXRjaXBpc0BkaWdpdHJvLmNvbS5icj4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSAgcnRwOiBhZGQgRzcyMyBwYXlsb2FkZXIKCSAgRml4ZXMgIzU5NzgyMwoKMjAwOS0xMi0xNyAxNjoyMjo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBGaXggQUxBQyBjb2RlY19kYXRhIHBhcnNpbmcKCSAgRml4ZXMgIzYwNDYxMQoKMjAwOS0xMi0xNiAxNzoyODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSBjcHAgc3R5bGUgY29tZW50cwoJICBSZW1vdmVzIC8vIGNvbW1lbnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCAvKiAqLyBjb21tZW50cwoKMjAwOS0xMi0xNiAxMjo0ODowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGFsc28gY29uc2lkZXIgQmxvY2tOdW1iZXIgaW5kaWNhdGVkIGluIGluZGV4IHdoZW4gc2Vla2luZwoKMjAwOS0xMi0xNiAxMjo0MzoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBzdXBwb3J0IHB1c2ggYmFzZWQgbW9kZQoJICBGaXhlcyAjNTk4NjEwLgoKMjAwOS0xMi0xNiAxMjo0NDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBlYm1sIHJlYWQgY2FjaGUgdXNhZ2UKCjIwMDktMTItMTYgMTA6NTA6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJICB2aWRlb21peGVyOiBVc2UgbW92emJsIGluc3RlYWQgb2YgbW92enhiIGZvciBtb3Zpbmcgb25lIGJ5dGUgdG8gYSBsIHJlZ2lzdGVyCgkgIEZvciBzb21lIHJlYXNvbiBsYXRlc3QgZ2NjL2JpbnV0aWxzIGFjY2VwdCBtb3Z6eGIgaGVyZSB3aGlsZQoJICBtb3Z6Ymwgd291bGQgYmUgY29ycmVjdCBhbmQgaXMgdGhlIG9ubHkgdGhpbmcgYWNjZXB0ZWQgYnkgb2xkZXIKCSAgZ2NjL2JpbnV0aWxzLgoJICBGaXhlcyBidWcgIzYwNDY3OS4KCjIwMDktMTItMTYgMDY6NTk6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJICB2aWRlb21peGVyOiBzcmMvZGVzdCBhcmUgaW5wdXQgYW5kIG91dHB1dCBvZiB0aGUgQVlVViBibGVuZGluZyBNTVggYXNzZW1ibGVyCgoyMDA5LTEyLTE1IDE4OjE4OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBVc2UgdGhlIHNhbWUgdXBwZXIgbGVuZ3RoIGxpbWl0IGFzIGF1ZGlvd3NpbmNsaW1pdAoKMjAwOS0xMi0xMiAxNzowMDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY3tsaW1pdCxiYW5kfTogQWxsb3cgbXVjaCBsYXJnZXIgZmlsdGVyIGxlbmd0aHMgbm93CgoyMDA5LTEyLTExIDEyOjI3OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBGaXggZnJlcXVlbmN5IHJlc3BvbnNlIGNhbGN1bGF0aW9uCgoyMDA5LTEyLTA4IDE0OjU3OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAwOS0xMi0wNiAxNjo1ODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQWRkIHNwZWNpYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgZm9yIE1vbm8vU3RlcmVvCgkgIFRoaXMgcHJvdmlkZXMgYW5vdGhlciA3JSBzcGVlZHVwIGZvciB0aGUgdGltZSBkb21haW4gY29udm9sdXRpb24gYW5kIDEuNSUKCSAgc3BlZWR1cCBmb3IgdGhlIEZGVCBjb252b2x1dGlvbiBvbiBNb25vIGlucHV0LgoJICBUaGlzIG9wdGltaXphdGlvbiBhc3N1bWVzIHRoYXQgdGhlIGNvbXBpbGVyIHNpbXBsaWZpZXMgY2FsY3VsYXRpb25zCgkgIGFuZCBjb25kaXRpb25zIG9uIGNvbnN0YW50IG51bWJlcnMgYW5kIHVucm9sbHMgbG9vcHMgd2l0aCBhIGNvbnN0YW50CgkgIG51bWJlciBvZiByZXBlYXRzLgoKMjAwOS0xMi0wNCAwOToyNTo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQWRkIGEgImxvdy1sYXRlbmN5IiBtb2RlCgkgIFRoaXMgd2lsbCBhbHdheXMgdXNlIHRpbWUtZG9tYWluIGNvbnZvbHV0aW9uLCB3aGljaCBsb3dlcnMgdGhlIGxhdGVuY3kuCgkgIFdpdGggRkZUIGNvbnZvbHV0aW9uIGl0J3MgYWx3YXlzIGEgbXVsdGlwbGUgb2YgdGhlIGtlcm5lbCBsZW5ndGgsCgkgIHdpdGggdGltZSBkb21haW4gY29udm9sdXRpb24gaXQncyBvbmx5IHRoZSBwcmUtbGF0ZW5jeSBvZiB0aGUgZmlsdGVyIGtlcm5lbC4KCjIwMDktMTItMDQgMDk6MDA6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJlbW92ZSBvYnNvbGV0ZSBUT0RPIGNvbW1lbnRzCgoyMDA5LTEyLTAzIDIwOjEyOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBVc2Ugc2FtcGxlcyBldmVyeXdoZXJlIGluc3RlYWQgb2Ygc2FtcGxlcypjaGFubmVscyBzb21ldGltZXMKCjIwMDktMTItMDMgMTc6Mjc6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBGRlQgY29udm9sdXRpb24gaW1wbGVtZW50YXRpb24KCSAgVGhpcyBwcm92aWRlcyBhIGdyZWF0IHNwZWVkdXAsIGVzcGVjaWFsbHkgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGtlcm5lbAoJICBsZW5ndGggYW5kIHByb2Nlc3Npbmcgc2l6ZSBpcyBub3cgbG9nYXJpdGhtaWMgaW5zdGVhZCBvZiBsaW5lYXIuIEJlbG93IGEKCSAga2VybmVsIHNpemUgb2YgMzIgaXQncyBhIGJpdCBzbG93ZXIsIGFmdGVyd2FyZHMgaXQncyBtdWNoIGZhc3RlcjoKCSAgMTcgICAgIDAuNzg4MDAwIC0+IDAuOTUwMDAwCgkgIDMzICAgICAxLjIwODAwMCAtPiAxLjE0NjAwMAoJICA2NSAgICAgMi4xNjYwMDAgLT4gMS4xNDYwMDAKCSAgLi4uCgkgIDQwOTcgMTA3LjQ0NDAwMCAtPiAxLjUwODAwMAoJICBGb3Igc2l6ZXMgc21hbGxlciAzMiB0aGUgbm9ybWFsIHRpbWUtZG9tYWluIGNvbnZvbHV0aW9uIGlzIGNob3NlbiwKCSAgZm9yIGxhcmdlciBzaXplcyB0aGUgRkZUIGNvbnZvbHV0aW9uIGlzIGF1dG9tYXRpY2FsbHkgdXNlZC4KCSAgRml4ZXMgYnVnICM1OTQzODEuCgoyMDA5LTExLTI3IDIwOjMzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBNYWtlIG1vc3QgY29kZSBwYXJ0cyBpbmRlcGVuZGVudCBvZiB0aGUgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYW5kIHVzZWQgY29udm9sdXRpb24gYWxnb3JpdGhtCgkgIE9ubHkgcmVtYWluaW5nIHBhcnQgaXMgdGhlIHJlc2lkdWUgcHVzaGluZywgd2hpY2ggd2lsbCBiZSBmaXhlZCBsYXRlci4KCjIwMDktMTEtMjYgMTU6MTc6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IE9wdGltaXplIHRpbWUtZG9tYWluIGNvbnZvbHV0aW9uCgkgIFJlbW92ZSBzb21lIHJlZHVuZGFudCBjYWxjdWxhdGlvbnMsIG1vdmUgY29tcGFyaXNpb25zIG91dCBvZgoJICBpbm5lciBsb29wcywgZXRjLgoJICBUaGlzIG1ha2VzIHRoZSBjb252b2x1dGlvbiBhYm91dCAzICghKSB0aW1lcyBmYXN0ZXIgYnV0CgkgIHByb2Nlc3NpbmcgdGltZSBpcyBvZiBjb3Vyc2Ugc3RpbGwgcHJvcG9ydGlvbmFsIHRvIHRoZQoJICBmaWx0ZXIgc2l6ZS4KCjIwMDktMTEtMjYgMTA6NDU6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFVzZSBfQ0FTVCBtYWNyb3MgaW4gc29tZSBwbGFjZXMgYW5kIGRvIHNvbWUgY2FsY3VsYXRpb25zIG9ubHkgb25jZQoKMjAwOS0xMS0yNSAxODoxMjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogUmV3cml0ZSB0aW1lc3RhbXAgdHJhY2tpbmcKCSAgSXQncyBtdWNoIHNpbXBsZXIgbm93IGFuZCBkb2Vzbid0IGludHJvZHVjZSBhY2N1bXVsYXRpbmcgcm91bmRpbmcKCSAgZXJyb3JzLgoKMjAwOS0xMS0yNSAxNzozOTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogUmVuYW1lIHNvbWUgdmFyaWFibGVzIGFuZCBjaGFuZ2UgY29tbWVudHMKCjIwMDktMTEtMjQgMjA6MDY6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBjb25zdCBxdWFsaWZpZXIgdG8gdGhlIHNvdXJjZSBkYXRhIGFycmF5CgoyMDA5LTEyLTE0IDIwOjA4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIE1NWCBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIEFZVVYgYmxlbmRpbmcgYW5kIGNvbG9yIGZpbGxpbmcgZnVuY3Rpb25zCgkgIFRoaXMgcHJvdmlkZXMgYSAyMCUgc3BlZWR1cCBmb3IgYmxlbmRpbmcgYW5kIDEwMCUgZm9yIGNvbG9yIGZpbGxpbmcuCgkgIFRoZSBibGVuZGluZyBjYW4gcHJvYmFibHkgYmUgb3B0aW1pemVkIGV2ZW4gbW9yZS4KCjIwMDktMTItMTMgMTM6MTk6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBwcmVmZXIgdHdvIGxldHRlciBJU08gNjM5LTEgY29kZSBmb3IgZXh0ZW5kZWQgY29tbWVudAoKMjAwOS0xMi0xMyAxMzoxMDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB1cCBsYW5ndWFnZSBjb2RlIGV4dHJhY3Rpb24gc29tZSBtb3JlCgkgIFF1aWNrdGltZSB1c2VzIElTTyA2MzktMiBmb3IgbGFuZ3VhZ2UgY29kZXMsIGJ1dCBHU1RfVEFHX0xBTkdVQUdFCgkgIGlzIHN1cHBvc2VkIHRvIGhvbGQgYSBJU08gNjM5LTEgY29kZSwgc28gY29udmVydCBhcyBuZWVkZWQgdXNpbmcKCSAgdGhlIG5ldyBBUEkgZnJvbSAtYmFzZS4KCSAgU2VlICM2MDIxMjYuCgoyMDA5LTEyLTEzIDEyOjQ1OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggbGFuZ3VhZ2UgY29kZSB3cml0aW5nIGFuZCBleHRyYWN0aW9uCgkgIE1hdHJvc2thIHVzZXMgdGhyZWUtbGV0dGVyIElTTyA2MzktMkIgY29kZXMsIGJ1dCBHU1RfVEFHX0xBTkdVQUdFIGlzCgkgIHN1cHBvc2VkIHRvIGNvbnRhaW4gdHdvLWxldHRlciBJU08gNjM5LTEgY29kZXMsIHNvIHVzZSBuZXcgbGFuZ3VhZ2UKCSAgY29kZSBtYXBwaW5nIGZ1bmN0aW9ucyBpbiAtYmFzZSB0byBjb252ZXJ0IGJldHdlZW4gdGhvc2UgdHdvIGFzCgkgIG5lZWRlZC4KCSAgRml4ZXMgIzUwNTgyMy4KCjIwMDktMTItMDcgMjA6NTQ6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogbWlub3IgZGVidWcgbWVzc2FnZSBjaGFuZ2VzCgkgIEZpeCB1cCBhIGZldyBkZWJ1ZyBtZXNzYWdlcyBzbyB0aGF0IGl0J3MgY2xlYXJlciB3aGF0IHRoZXkgbWVhbi4KCjIwMDktMTItMTIgMTc6NDQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IENvcnJlY3RseSBwYXJzZSBjbGFzc2lmaWNhdGlvbiB0YWdzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGNkODgzYWE2MGMxMTMzMTk2YTZhZTA1Mjg4NGQxNWMyOTVjMzdkZGUuCgkgIFByZXZpb3VzIGNvZGUgd2FzIGNvcnJlY3QsIDQgaXMgZHVlIHRvIHRhYmxlIGFuZCBsYW5ndWFnZSBjb2RlLAoJICBub3Qgb25seSBsYW5ndWFnZSBjb2RlCgoyMDA5LTEyLTEyIDE2OjI4OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ29ycmVjdGx5IHBhcnNlIGNsYXNzaWZpY2F0aW9uIHRhZ3MKCSAgSW4gY2xzZiBhdG9tcywgdGhlIGxhbmd1YWdlIGNvZGUgaXMgMiBieXRlcyBsb25nLCBub3QgNC4KCjIwMDktMTItMTIgMTY6NTU6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBEZXF1ZXVlIGN1cnJlbnQgYnVmZmVyIG9uIEZMVVNIX1NUT1AgYW5kIGRvbid0IHVucmVmIE5VTEwgYnVmZmVycwoJICAuLi4gTlVMTCBidWZmZXJzIHNob3VsZG4ndCByZWFsbHkgaGFwcGVuIGFueW1vcmUgd2hlbiBwb3BwaW5nIHRoZQoJICBidWZmZXIgZnJvbSBHc3RDb2xsZWN0UGFkcyBidXQgYmV0dGVyIGNoZWNrIGZvciB0aGlzIGFuZCBwcmludCBhIHdhcm5pbmcuCgoyMDA5LTEyLTExIDEzOjExOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogRml4IHN0dXBpZCBtaXN0YWtlIGluIGxhc3QgY29tbWl0CgoyMDA5LTEyLTExIDEyOjM1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgZG8gZmxvYXRpbmcgcG9pbnQgbWF0aCBpbiB0aGUgaW5uZXIgcHJvY2Vzc2luZyBsb29wIGZvciBJNDIwIGJsZW5kaW5nCgoyMDA5LTEyLTEwIDE4OjQzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgTlVMTCBhbmQgZW1wdHkgdHJhbnNwb3J0IHN0cmluZ3MKCSAgV2hlbiBhbiBSVFNQIGV4dGVuc2lvbiByZXR1cm5zIE5VTEwgb3IgYW4gZW1wdHkgdHJhbnNwb3J0IHN0cmluZywganVzdCBpZ25vcmUgaXQKCSAgYW5kIHRyeSB0byBnZXQgdGhlIG5leHQgcG9zc2libGUgdHJhbnNwb3J0LiBGaXhlcyBwbGF5YmFjayBvZiBSZWFsTWVkaWEgc3RyZWFtcy4KCjIwMDktMTItMTAgMTg6NDI6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGluc3RhbGwgZXZlbnQgZnVuY3Rpb24gb24gaW50ZXJuYWwgUlRDUCBwYWQKCSAgSW5zdGFsbCBhIGN1c3RvbSBldmVudCBmdW5jdGlvbiBvbiB0aGUgaW50ZXJuYWwgUlRDUCBwYWQgc28gdGhhdCB3ZSBjYW4gcmVwbHkKCSAgVFJVRSB0byBhIGxhdGVuY3kgZXZlbnQuCgoyMDA5LTEyLTEwIDEwOjQ4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHdyb25nIGNvbW1lbnRzLCBjb3BpZWQgZnJvbSB0aGUgSTQyMCBibGVuZCBmdW5jdGlvbgoKMjAwOS0xMi0wOSAyMToxNTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFRoZSBxdWV1ZWQgZHVyYXRpb24gaXMgYSBzaWduZWQgaW50ZWdlcgoJICAuLi5hbmQgaXQgd2lsbCByZWFsbHkgYmUgbmVnYXRpdmUgc29tZXRpbWVzLgoKMjAwOS0xMi0wOSAyMTowMzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgcG9wIGJ1ZmZlcnMgZnJvbSBjb2xsZWN0cGFkcyBhZnRlciB0aGV5J3JlIGZ1bGx5IGNvbnN1bWVkCgkgIFRoaXMgZGVjcmVhc2VzIGxhdGVuY3kgYW5kIG1lbW9yeSB1c2FnZSBiZWNhdXNlIG5ldyBidWZmZXJzIGFyZSBvbmx5CgkgIGFjY2VwdGVkIGJ5IGNvbGxlY3RwYWRzIGlmIHRoZXJlJ3Mgbm8gcXVldWVkIGJ1ZmZlci4KCjIwMDktMTItMDkgMjA6NDI6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBDbGVhbiB1cCBwb3NpdGlvbi9kdXJhdGlvbiBoYW5kbGluZwoJICBBbHNvIHVzZSB0aGUgbGFzdCBlbmQgdGltZSBmb3IgY2xvc2luZyB0aGUgc2VnbWVudCwgbm90IHRoZQoJICBzdGFydCB0aW1lIG9mIHRoZSBsYXN0IGJ1ZmZlci4KCjIwMDktMTItMDkgMTY6NTA6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENsb3NlIHRoZSBzZWdtZW50IG9uIEVPUyBpZiB0aGUgcmVhbCBkdXJhdGlvbiBpcyBrbm93bgoKMjAwOS0xMi0wOSAxNjo0NjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVXBkYXRlIGR1cmF0aW9uIGlmIGN1cnJlbnQgYnVmZmVyIGlzIGFscmVhZHkgYWZ0ZXIgdGhlIG9sZCBkdXJhdGlvbgoKMjAwOS0xMi0wOSAxNjo0Mzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRHJvcCBidWZmZXJzIHRoYXQgYXJlIGFmdGVyIHNlZ21lbnQgc3RvcAoJICAuLi5hbmQgaWYgdGhpcyBoYXBwZW5lZCBmb3IgYWxsIHN0cmVhbXMgZ28gRU9TLgoKMjAwOS0xMi0wOSAxNjo0MTowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IHBvc2l0aW9uIHRyYWNraW5nIGFuZCBzZW5kaW5nIG9mIGZpbGxlciBzZWdtZW50cwoKMjAwOS0xMi0wOSAxNjoxNTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50KCkgZm9yIGZwcyB0byBzZWNvbmRzIHBlciBmcmFtZSBjYWxjdWxhdGlvbnMKCjIwMDktMTItMDggMTc6MzQ6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEtlZXAgdGhlIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBmb3IgdXBkYXRlIG5ld3NlZ21lbnQgZXZlbnRzCgoyMDA5LTEyLTA0IDE0OjQyOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBleHQvbGFkc3BhL2xvYWQuYzoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJICBsYWRzcGE6IFJlbW92ZSB0aGUgc291cmNlcyBmcm9tIGdzdC1wbHVnaW5zLWdvb2QKCSAgSXQncyBkaXNhYmxlZCBhbnl3YXkgYW5kIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBpdCBpcyBpbgoJICBnc3QtcGx1Z2lucy1iYWQuIEZpeGVzIGJ1ZyAjNjAzNzc5LgoKMjAwOS0xMi0wNCAxMzo1MDo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGluaXQgY3VycmVudF9lbnRyeSBpbiBwdXNoIG1vZGUKCSAgU2V0IHRoZSBjdXJyZW50X2VudHJ5IHRvIDAgKGluc3RlYWQgb2YgLTEpIGluIHB1c2ggbW9kZSBzbyB0aGF0IHdlIGNvcnJlY3RseQoJICBjYWxjdWxhdGUgdGhlIGN1cnJlbnQgZnJhbWUgbnVtYmVyIGFuZCB0aW1lc3RhbXAuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyBhbmQgZmljIHRoZSBkdXJhdGlvbiBkZWJ1Zy4KCjIwMDktMTItMDQgMTE6MTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWFqb3IgbWVtb3J5IGxlYWsgd2hlbiBwbGF5aW5nIGJhY2sgcnRzcCB2aWRlbyBzdHJlYW1zCgkgIERvbid0IGZvcmdldCB0byB1bnJlZiBRb1MsIG5hdmlnYXRpb24gYW5kIGxhdGVuY3kgZXZlbnRzIHdoZW4KCSAgZHJvcHBpbmcgdGhlbS4KCjIwMDktMTItMDMgMDg6NTg6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgc2VuZCBwZW5kaW5nIHRhZ3Mgd2l0aCBuZXdzZWdtZW50IGV2ZW50cwoJICBTZW5kIHBlbmRpbmcgdGFncyBvbmx5IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGp1c3QgYWZ0ZXIgd2UndmUgc2VudAoJICB0aGUgbmV3c2VnbWVudCBldmVudCwgbm90IHdpdGggZS5nLiBmbHVzaC1zdGFydC4gVGhpcyBub3Qgb25seSBkb2VzIHRoZQoJICByaWdodCB0aGluZywgYnV0IGFsc28gbWFrZXMgc3VyZSB3ZSdyZSBub3QgdHJhbXBsaW5nIG92ZXIgdmFyaWFibGVzIHNldAoJICB1cCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZCBmcm9tIHRoZSBzZWVraW5nIHRocmVhZCBpbiBjYXNlIHNvbWVvbmUgdHJpZXMKCSAgdG8gaXNzdWUgYSBzZWVrIGp1c3QgYXMgdGhlIGRlbXV4ZXIgaXMgcGFyc2luZyB0aGUgaGVhZGVycy4KCSAgRml4ZXMgIzYwMTYxNy4gU3BvdHRlZCBieSBPZ255YW4gVG9uY2hldi4KCjIwMDktMTItMDMgMTc6NDk6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVidWcgbWVzc2FnZSBwcmludGYgYXJncwoJICBGaXhlcyBkZWJ1ZyBtZXNzYWdlIHByaW50ZiBmb3JtYXQgdG8gbWFrZSBpdCBidWlsZCBpbiBtYWMncyBnY2MKCjIwMDktMTItMDIgMTM6MzM6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBDb252ZXJ0IGRlbGF5IGNvcnJlY3RseQoJICBVc2UgR1NUX01TRUNPTkQgdG8gY29udmVydCBkZWxheSBpbiBtc2VjcyB0byBuYW5vc2VjcwoJICBGaXhlcyAjNjAzNTQ3CgoyMDA5LTEyLTAxIDE5OjI0OjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZXNldCBzZWdtZW50IGluZm8gYWZ0ZXIgZmx1c2gKCSAgUmVzZXQgdGhlIHNlZ21lbnQgaW5mbyBhZnRlciBhIGZsdXNoLiBXZSB1c2UgdGhlIHNlZ21lbnQgZm9yIGhhbmRsaW5nIFFvUyBhbmQgaWYKCSAgd2UgZG9uJ3QgcmVzZXQgdGhlIHNlZ21lbnQsIFFvUyBpcyBiYXNpY2FsbHkgZGlzYWJsZWQgYWZ0ZXIgYSBmbHVzaGluZyBzZWVrLgoKMjAwOS0xMi0wMSAxNTowNzowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg3YmY0MjggdG8gNDdjYjIzYQoKMjAwOS0xMi0wMSAxNDoxNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRhNGM3NWMgdG8gODdiZjQyOAoKMjAwOS0xMS0zMCAxNTo1OTo1MCArMDEwMCAgQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6eiBhdCB5YWhvbyBkb3QgZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkIGJ1ZmZlciByZWYvdW5yZWYgcGFpcnMgZm9yIENTUkNzCgkgIFdlIHJlZiB0aGUgYnVmZmVyIGJlZm9yZSBwdXNoaW5nIGl0IGRvd25zdHJlYW0gaW4gb3JkZXIgdG8gZ2V0IHRoZSBDU1JDcyBvZiBpdAoJICBhZnRlciBwdXNoaW5nLiBUaGlzIGNhdXNlcyBwZXJmb3JtYW5jZSBwcm9ibGVtcyB3aGVuIGRvd25zdHJlYW0gZWxlbWVudHMgd2FudCB0bwoJICBjaGFuZ2UgdGhlIG1ldGFkYXRhIGJlY2F1c2UgdGhlIGJ1ZmZlciBuZWVkcyB0byBiZSBzdWJidWZmZXJlZC4KCSAgSW5zdGVhZCwgcmVhZCBhbmQgc3RvcmUgdGhlIENTUkNzIG9mIHRoZSBidWZmZXIgaW4gYW4gYXJyYXkgYmVmb3JlIHB1c2hpbmcgaXQKCSAgYW5kIHByb2Nlc3MgdGhlIGFycmF5IGFmdGVyIHB1c2hpbmcgdGhlIGJ1ZmZlci4gVGhpcyBhbGxvd3MgdXMgdG8gcmVtb3ZlIHRoZQoJICByZWYvdW5yZWYgcGFpci4KCSAgRml4ZXMgIzYwMzM3NgoKMjAwOS0xMS0yOCAxOToyMzoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MjogdXNlIGdzdHBvbGwgZm9yIHRpbWVvdXRzCgkgIFVzZSBvdXIgb3duIEdzdFBvbGwgYmFzZWQgdGltZW91dCBpbnN0ZWFkIG9mIHRoZSBzaG91dCBzbGVlcCBzbyB0aGF0IHdlIGNhbgoJICBpbnRlcnJ1cHQgd2hlbiBkb2luZyBhIHN0YXRlIGNoYW5nZSBhbmQgc2h1dHRpbmcgZG93bi4KCSAgRml4ZXMgIzYwMjg4NwoKMjAwOS0xMS0yOCAxMjoyNTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogZml4IGppdHRlcmJ1ZmZlciBjaGVjawoJICBNYWtlIHN1cmUgd2Ugc2V0IGEgYmFzZV90aW1lIG9uIHRoZSBlbGVtZW50LgoJICBGaXggdGhlIHRpbWVvdXQgdG8gYXQgbGVhc3QgdHdpY2UgdGhlIGppdHRlcmJ1ZmZlciBsYXRlbmN5LgoJICBFbmFibGUgcHJldmlvdXNseSBmYWlsaW5nIHRlc3RzLgoJICBSZW1vdmUgaW1wb3NzaWJsZSBjaGVja3MuCgoyMDA5LTExLTI3IDE4OjU1OjIwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1M2EyNDg1IHRvIGRhNGM3NWMKCjIwMDktMTEtMjYgMTY6MTQ6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBvcHRpb25hbGx5IG1lcmdlIE5BTFVzIGludG8gQWNjZXNzIFVuaXRzCgkgIC4uLiB3aGljaCBtYXkgYmUgZXhwZWN0ZWQvZGVzaXJlZCBieSBzb21lIGRvd25zdHJlYW0gZGVjb2RlcnMKCSAgKGFuZCBzcGVjLXdpc2UgaGlnaGx5IHJlY29tbWVuZGVkIGZvciBhdCBsZWFzdCBub24tYnl0ZXN0cmVhbSBtb2RlKS4KCjIwMDktMTEtMjYgMTc6Mjk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdGltZXN0YW1wIGRhdGF0eXBlCgoyMDA5LTExLTI1IDEwOjM4OjIzIC0wNjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXZvaWQgdXNpbmcgd3JvbmcgY2xvY2stcmF0ZQoJICBDaGVjayBmb3IgYSB2YWxpZCBjbG9jay1yYXRlIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGVzdGltYXRlIHRoZSBucHQKCSAgc3RvcCB0aW1lLgoKMjAwOS0xMS0yNSAxMDozNzozMCAtMDYwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCB0eXBvIGluIGNvbW1lbnRzCgoyMDA5LTExLTI1IDE2OjA1OjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVydGVzdDogYWRkIG9uZSBtb3JlIHRlc3QgYW5kIGZpbGUgYSBidWcgbm93CgkgIENIYW5nZSB0aGUgYmFja3dhcmRzIHRlc3QgdG8gYWx3YXlzIHNlbmQgZmlyc3QgYnVmZmVyIGZpcnN0IHRvIGhhdmUgYSBkZWZpbmUKCSAgYmFzZXRpbWUuIEFkZCBhbm90aGVyIHRlc3QgdGhhdCBzZW5kcyBidWZmZXJzIGJhY2t3YXJkcyB0byBhc3NlcnQgdGhhdCBvbmx5CgkgIGZpcnN0IHNlbnQgYnVmZmVyIGlzIGtlZXAgYW5kIHVzZWQgYXMgYmFzZXRpbWUuIERpc2FibGVkIHRob3NlIHRlc3RzIHN0aWxsLAoJICBhcyBpdHMgbm90IHBhc3NpbmcvZmFpbGluZyBjb25zaXRlbnRseSBhbmQgZmlsZSBhIGJ1ZyBmb3Igaml0dGVyYnVmZmVyLgoKMjAwOS0xMS0yNSAxMDoxNzozNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcnRlc3Q6IGltcHJvdmUgdGhlIHRlc3QKCSAgdGhlIHRlc3RzIGFyZSBhIGJpdCBtb3JlIHNvbGlkIG5vdyBidXQgc3RpbGwgbm90IHByb2R1Y2UgcmVsaWFibGUgcmVzdWx0cy4KCSAgV29uZGVyIGlmIHRoZXkgYXJlIHN0aWxsIGZsYXdreSBvciBpZiBpdHMgYSBidWcgaW4gaml0dGVyYnVmZmVyLgoKMjAwOS0xMS0yNCAxMToxMzowNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHJldHVybiBlcnJvciBtZXNzYWdlIG9uIHdpbmRvd3MgdG9vLgoKMjAwOS0xMS0yNCAxMDo1ODo0OSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpcnN0IHBoYXNlIG9mIGZpeGluZyB1cCBlcnJvciByZXBvcnRpbmcgZm9yIHdpbmRvd3MuCgoyMDA5LTEwLTMwIDAzOjEzOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWxzbyBzZXQgdGhlIHN1Z2dlc3RlZCBidWYgc2l6ZSBmb3IgYXVkaW8KCSAgV2Ugd2VyZSBvbmx5IHNldHRpbmcgdGhlIHN1Z2dlc3RlZCBidWYgc2l6ZSBmb3IgdmlkZW8sCgkgIHdlIGNhbiBzZXQgaXQgZm9yIGF1ZGlvIGFzIHdlbGwuCgkgIFRoaXMgYW5kIDE5NWUxNDUyOWQ4MGVmMzE4Y2UzYTc3OGMxOTk1ZWZiMTFmMjY2Y2QKCSAgZml4IGFuIGlzc3VlIHRoYXQgcHJldmVudGVkIHNlZWtpbmcgb24gbGFyZ2UgYXZpIGZpbGVzCgkgIG9uIFdNUCAobm9uLXJlY2VudCB2ZXJzaW9ucykuCgoyMDA5LTExLTA0IDE2OjEwOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogZml4IGluZHggZHVyYXRpb24gZm9yIFBDTSBhdWRpbwoJICBHc3RCdWZmZXJzIGZvciBQQ00gYXVkaW8gdXN1YWxseSBjb250YWlucyBtb3JlIHRoYW4KCSAgMSBzYW1wbGUsIHdlIG5lZWQgdG8gZ2V0IHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcyB0byBzZXQKCSAgdGhlIGluZHggZHVyYXRpb24uCgoyMDA5LTExLTA0IDE2OjA0OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQXVkaW8gYnVmZmVycyBzaG91bGQgYmUgcGlja2VkIGVhcmxpZXIKCSAgQWRkcyBhIDAuNXMgYWR2YW50YWdlIGZvciBhdWRpbyBidWZmZXJzIHRvIGJlaW5nCgkgIHBpY2tlZCBlYXJsaWVyIGZvciBtdXhpbmcuCgoyMDA5LTExLTI0IDE2OjQwOjE5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBwdXNoIG1vZGUgYnkgbWFraW5nIHN1cmUgc3RibCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgaW4gbmV4dF9lbnRyeV9zaXplICgpCgoyMDA5LTExLTI0IDE2OjM1OjIwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvcmRlciBvZiBhcmd1bWVudHMgaW4gbG9nIG1lc3NhZ2UKCjIwMDktMTEtMjQgMTU6NTE6MjEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZml4IHNwZWxsaW5nIGluIGNvbW1lbnQKCjIwMDktMTEtMjMgMTc6NTg6MTcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgYnVpbGQgc3lzdGVtOiBGaXggd3JvbmdseSBjb21taXR0ZWQgY2hhbmdlIHRvIGNvbW1vbi8KCjIwMDktMTEtMTAgMTA6MjY6MDcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRWFzZSBkZWJ1Z2dpbmcgYnkgcmVtb3ZpbmcgYSBnb3RvIGZvciBhbiBlcnJvciBtZXNzYWdlCgoyMDA5LTExLTE0IDE1OjUyOjA5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2UgcGVyIHNhbXBsZSByYXRoZXIgdGhhbiBhbGwgYXQgb25jZSBidXQgYnVpbGQgY29tcGxldGUgaW5kZXggd2hlbiBzZWVraW5nCgoyMDA5LTExLTA0IDE3OjMxOjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNhdmUgYXRvbSBkYXRhIGZvciBsYXRlciB1c2Ugc28gaXQgZG9lc24ndCBnZXQgZnJlZWQgYWZ0ZXIgaW5pdGlhbCBwYXJzaW5nCgoyMDA5LTExLTA2IDExOjAwOjA0ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIGZyb20gdGhlIHByZXZpb3VzbHkgcGFyc2VkIHNhbXBsZSB1cCB0byBzYW1wbGUgbgoKMjAwOS0xMS0wNCAxNzowNDoyMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNYWtlIHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyAoKSBwYXJzZSB1cCB0byBuIHNhbXBsZXMKCjIwMDktMTAtMjggMTc6NDk6MDIgKzAwMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2VwYXJhdGUgb2ZmIHN0Ymwgc3ViLWF0b20gaW5pdGlhbGlzYXRpb24KCjIwMDktMTAtMjYgMjI6NDI6MzYgKzAwMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW92ZSB2YXJpYWJsZXMgaW50byBjb250ZXh0IGluIHByZXBhcmF0aW9uIGZvciByZWZhY3RvcmlzYXRpb24KCjIwMDktMTAtMjYgMjA6MzY6MDggKzAwMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGJ1ZyB3aGVyZSBzdHBzIGlzIG5ldmVyIHBhcnNlZCBkdWUgdG8gbG9naWMgZXJyb3IKCjIwMDktMTEtMDQgMTc6MzE6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUG9ydCBjdHRzIGZyb20gR25vZGUgKiB0byBHc3RCeXRlUmVhZGVyCgoyMDA5LTEwLTIzIDEzOjA2OjQ0ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogU3dpdGNoIGZyb20gUXRBdG9tUGFyc2VyIHRvIEdzdEJ5dGVSZWFkZXIKCjIwMDktMTEtMjMgMTI6NTM6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0eXBvIGFuZCBncmFtbWFyCgoyMDA5LTExLTIyIDE5OjMwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBDbGVhbiB1cCBMREZMQUdTLCBMSUJTLCBDRkxBR1MKCSAgRml4IG9yZGVyLCBmaXggdmFyaWFibGVzIHRoYXQgZG9uJ3QgZXhpc3QsIGxpa2UgR1NUX0xJQlNfTElCUywKCSAgdXNlICQoTElCTSkgaW5zdGVhZCBvZiAtbG0sIGFuZCBtb3ZlIF9MSUJTIGZyb20gTERGTEFHUyB0byBMSUJBREQuCgkgIFNwb3R0ZWQgYnkgSGF2YXJkIEdyYWZmLgoKMjAwOS0xMS0yMCAxMDozMTo0NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBVc2UgX3N0ZGludC5oIGZyb20gY29uZmlndXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMjAgMTA6MzA6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggdHlwbyBpbiBtb2RlIGVudW0gZGVzY3JpcHRpb24KCjIwMDktMTEtMjAgMTE6MjU6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBkb2NzOiBtb3JlIGxpbmtzIGFuZCBiZXR0ZXIgc2hvcnQgZGVzY3JpcHRpb24KCSAgRml4IHNwZWxsaW5nIG9mIEdzdFJ0cFNzcmNEZW11eCB0byBnZXQgaXQgbGlua2VkLiBBZGQgbW9yZSBsaW5rcy4gQ2hhbmdlCgkgIHRoZSBzaG9ydCBkZXNjcmlwdGlvbiB0byBiZSBtb3JlIG1lYW5pbmdmdWwuCgoyMDA5LTExLTIwIDA5OjU4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IEZpeCB1bml0IHRlc3QgZm9yIHJlY2VudCBwb3NpdGlvbiByZXBvcnRpbmcgY2hhbmdlcwoKMjAwOS0xMS0xOSAyMDozMzowNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXBkYXRlIGR0bWZkZXRlY3QgdG8gbWFrZSBpdCBNU1ZDIGZyaWVuZGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMTkgMTY6MDk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogQWZ0ZXIgcHVzaGluZyBhIGZyYW1lLCB1cGRhdGUgbGFzdF9zdG9wIHRvIHRoZSBlbmQgb2YgdGhlIGZyYW1lCgkgIFRoaXMgaW1wcm92ZXMgcG9zaXRpb24gcmVwb3J0aW5nLCBlc3BlY2lhbGx5IGJlY2F1c2Ugb2YgdGhlIGZhY3QgdGhhdAoJICBXYXZQYWNrIGZyYW1lcyBhcmUgdXN1YWxseSAwLjUtMS4wIHNlY29uZHMgbG9uZy4KCjIwMDktMTEtMTkgMTY6MDg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogQWxsb3cgcHVsbGluZyB0aGUgbGFzdCBXYXZQYWNrIGZyYW1lIG9mIGEgZmlsZQoJICBCZWNhdXNlIG9mIGEgPj0gaW5zdGVhZCBvZiBhID4sIHRoYXQgbGFzdCBmcmFtZSBvZiBhIFdhdlBhY2sgZmlsZQoJICB3b3VsZCBuZXZlciBiZSBwYXJzZWQgaW4gcHVsbCBtb2RlLgoKMjAwOS0xMS0xOSAxMDozMDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA3MDJmZTEgdG8gNTNhMjQ4NQoKMjAwOS0xMC0yOSAwODoyOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEFkZCBtb3JlIGZpZWxkcyB0byBTVlEzIGNhcHMKCSAgcXRkZW11eCBvbmx5IGFkZGVkIHRoZSB3aG9sZSBzdHNkIGF0b20gYXMgJ2NvZGVjX2RhdGEnCgkgIGluIGl0cyBvdXRwdXQgY2FwcyBmb3IgU1ZRMy4gVGhpcyBwYXRjaCBtYWtlcyBpdCBhZGQKCSAgdGhlIFNFUUggKGluc2lkZSBhIFNNSSBhdG9tKSBhbmQgYSBnYW1tYSBmaWVsZCAodGFrZW4KCSAgZnJvbSB0aGUgZ2FtYSBhdG9tKSBpZiBhdmFpbGFibGUuCgkgIEZpeGVzICM1ODc5MjIKCjIwMDktMTEtMTggMTc6NTU6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFJhaXNlIHJhbmsgb2YgbXV4ZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxNzo1NDoxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bTogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTQ6MDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IFJhaXNlIHJhbmsgb2YgZW5jb2RlcnMgdG8gUFJJTUFSWQoKMjAwOS0xMS0xMiAxOToxMToxOCArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCB1c2VyLWlkIGFuZCB1c2VyLXB3IHByb3BlcnRpZXMKCSAgU28gdGhhdCBvbmUgZG9lc24ndCBuZWVkIHRvIG1vZGlmeSB0aGUgVVJMIHRvIGhhdmUgYWNjZXNzCgkgIHRvIGF1dGhlbnRpY2F0ZWQgUlRTUCBzdHJlYW1zLgoJICBmaXhlcyAjNjAxNzI4CgoyMDA5LTExLTE4IDEyOjIyOjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSBhY3F1aXJlZCBmbGFnIHdoZW4gY2hlY2tpbmcgdmFsaWQgc3RhdGUKCSAgVXNlIHRoZSBhY3F1aXJlZCBmaWVsZCBvZiB0aGUgcmluZ2J1ZmZlciBpbiBnZXRfdGltZSB0byBrbm93IHdoZW4gd2UgYXJlIGluIGFuCgkgIGludmFsaWQgc3RhdGUuIFdlIGRvbid0IGNsZWFyIHRoZSByYXRlIGZsYWcgd2hlbiByZWxlYXNpbmcgdGhlIHJpbmdidWZmZXIgc28KCSAgdGhpcyB2YWx1ZXMgaXMgbm90IHVzYWJsZS4KCSAgQXZvaWRzIHNvbWUgZXJyb3IgbWVzc2FnZXMgYmVpbmcgcG9zdGVkIGJlY2F1c2UgdGhlIHB1bHNlYXVkaW8gY29ubmVjdGlvbiBpcwoJICBkb3duLgoKMjAwOS0xMS0xOCAxMDoxNzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjUuMSBhcyB3ZWxsCgkgIE1ha2UgaW1wbGljaXQgcmVxdWlyZW1lbnQgZXhwbGljaXQuCgoyMDA5LTExLTE4IDEyOjUzOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGJvZ3VzIG1lbW9yeSBjaHVuayBzaXplIGNoZWNrCgoyMDA5LTExLTE4IDEyOjAxOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGltcGxlbWVudCBzb21lIG1vcmUgY2FsbGJhY2tzCgkgIEltcGxlbWVudCBzb21lIG1vcmUgY2FsbGJhY2tzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuCgoyMDA5LTExLTExIDE1OjUwOjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0aW5nIHNpZ25hbHMKCSAgUmVsZWFzZSB0aGUgamJ1ZiBsb2NrIGJlZm9yZSBlbWl0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwgdG8gYXZvaWQKCSAgZGVhZGxvY2tzLiBXZSBhbHNvIG5lZWQgdG8gY2F0Y2ggdGhlIHNodXRkb3duIGNhc2Ugd2hlbiBsb2NraW5nIGFnYWluLgoJICBGaXhlcyAjNTkzMzU0CgoyMDA5LTExLTExIDExOjU5OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJICBydHA6IGFkZCBCcm9hZGNvbVZvaWNlIGRlcGF5bG9hZGVyCgoyMDA5LTExLTExIDExOjM4OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJICBydHBidnBheTogYWRkIHJmYyByZWZlcmVuY2UKCjIwMDktMTEtMTEgMTE6Mzc6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSAgcnRwOiBhZGQgQnJvYWRjb21Wb2ljZSBwYXlsb2FkZXIKCjIwMDktMTEtMDkgMTI6MTc6MzQgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHByb3Blcmx5IGZpbmlzaCB0aGUgRUNNQSBhcnJheQoJICBUaGUgRUNNQSBhcnJheSB3aXRoIHRoZSBmaWxlIGluZGV4IHdhcyBtaXNzaW5nIGEgbWFuZGF0b3J5IGVuZCBtYXJrZXIuCgkgIEZpeGVzIGJ1ZyAjNjAxMjQyLgoKMjAwOS0xMS0xOCAwMjoxNToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIFVzZSBuZXcgc3RpbGwtZnJhbWUgQVBJIGZyb20gZ3N0LXBsdWdpbnMtYmFzZQoKMjAwOS0xMS0xOCAwMjoxNDo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGdzdC1wbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yNS4xCgoyMDA5LTExLTE3IDE3OjU5OjEzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaWRlbnRpZnkgSU1BIGFkcGNtIGluIHF0IHByb3Blcmx5LgoKMjAwOS0xMS0xOCAwMToyNzozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xNy4xCgoyMDA5LTExLTE3IDAxOjUzOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCByZWxlYXNlIDAuMTAuMTcgdG8gdGhlIGRvYXAgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC4xNyA9PT0KCjIwMDktMTEtMTcgMDE6MjU6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgUmVsZWFzZSAwLjEwLjE3CgoyMDA5LTExLTE3IDAwOjE4OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTEtMTMgMDI6MDc6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMyBwcmUtcmVsZWFzZQoKMjAwOS0xMS0xMCAxMTo1MjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IE1ha2Ugc3VyZSB0byBpbml0aWFsaXplIHZhcmlhYmxlcyBiZWZvcmUgdXNpbmcgdGhlbQoKMjAwOS0xMS0wOSAyMDowNjowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjIgcHJlLXJlbGVhc2UKCjIwMDktMTEtMDkgMTU6MjA6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmcmVlIHRlbXBvcmFyeSBidWZmZXIgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBOVUxMCgkgIEZyZWUgdGVtcG9yYXJ5IGFsbG9jYXRpb25zIGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIG5vdAoJICBvbmx5IHdoZW4gdGhlIG9iamVjdCBpcyBmaW5hbGlzZWQuCgoyMDA5LTExLTA5IDExOjQwOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBvbmx5IGFsbG9jYXRlIGFzIG11Y2ggdGVtcG9yYXJ5IG1lbW9yeSBhcyBuZWVkZWQgZm9yIGluZGlyZWN0IGRlY29kaW5nCgkgIFdoZW4gd2UgY2FuJ3QgZGVjb2RlIGRpcmVjdGx5IGludG8gdGhlIG91dHB1dCBidWZmZXIsIG1ha2Ugb3VyIHRlbXAgYnVmZmVycwoJICBvbmx5IGFzIGJpZyBhcyBuZWVkZWQgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIGZvciB0aGUgd29yc3QgY2FzZSBzY2VuYXJpbyAod2VsbCwKCSAgd2Ugc3RpbGwgYWxsb2MgbW9yZSB0aGFuIHN0cmljdGx5IG5lZWRlZCBmb3Igc29tZSBjYXNlcywgYnV0IHNpZ25pZmljYW50bHkKCSAgbGVzcyB0aGFuIGJlZm9yZSkuCgoyMDA5LTExLTA1IDIzOjQ2OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBwcmludGYgZm9ybWF0IGZpeAoKMjAwOS0xMS0wNSAyMzo0NDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIzOjQwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogcHJpbnRmIGZvcm1hdCBmaXgKCjIwMDktMTEtMDQgMjI6MTk6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mZGV0ZWN0OiBBZGQgRFRNRiB0b25lIGRldGVjdG9yCgkgIEl0IGxvb2tzIGF0IHJhdyBhdWRpbyBkYXRhIGFuZCBlbWl0cyBtZXNzYWdlcyB3aGVuIERUTUYgaXMgZGV0ZWN0ZWQuCgkgIFRoZSBkdG1mIGRldGVjdG9yIGlzIHRoZSBzYW1lIEdvZXJ0emVsIGltcGxlbWVudGF0aW9uIHVzZWQgaW4gRnJlZVN3aXRjaAoJICBhbmQgQXN0ZXJpc2suIEl0IGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLgoKMjAwOS0xMS0wNSAxMjoxMzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGRvIG5vdCB3cml0ZSBlbXB0eSBJTkZPIGxpc3QKCSAgYXZvaWQgd3JpdGluZyBhbiBlbXB0eSBJTkZPIGxpc3QgY2h1bmssIGJvdGggYmVjYXVzZQoJICBpdCBpcyB1c2VsZXNzIGFuZCBiZWNhdXNlIHZsYyByZWZ1c2VzIHRvIHBsYXkgdGhlCgkgIHJlc3VsdGluZyBmaWxlLgoKMjAwOS0xMS0wNSAxMDo1NDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IE5vdGlmeSBhYm91dCBiYW5kIHByb3BlcnR5IGNoYW5nZXMgY2F1c2VkIGJ5IGNoYW5naW5nIG51bWJlciBvZiBiYW5kcwoKMjAwOS0xMS0wNSAxMDo0NTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBlcXVhbGl6ZXI6IE1ha2UgY2hhbmdlcyB0byBiYW5kIHByb3BlcnRpZXMgYW5kIHRoZSBudW1iZXIgb2YgYmFuZHMgdGhyZWFkc2FmZQoKMjAwOS0xMS0wNSAxMDozMDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IEZpeCBzdHVwaWQgb2ZmIGJ5IHR3byBidWcKCjIwMDktMTEtMDUgMDg6MTg6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBBZGQgYmFuZCBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIGJhbmQgZmlsdGVyIHR5cGUKCSAgVGhpcyBhbGxvd3MgcGVyIGJhbmQgY29uZmlndXJhdGlvbiBvZiBhIHBlYWssIGxvdyBzaGVsZiBvcgoJICBoaWdoIHNoZWxmIGZpbHRlciwgd2hpY2ggY2FuIGJlIHZlcnkgdXNlZnVsIGlmIHRoZSBiYW5kIGZyZXF1ZW5jaWVzCgkgIGFuZCB3aWR0aHMgYXJlIG1hbnVhbGx5IGNvbmZpZ3VyZWQuCgoyMDA5LTExLTA1IDA4OjE3OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRml4IGNvZGUgc3R5bGUKCjIwMDktMTEtMDUgMDg6MDM6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogU29tZSBjbGVhbnVwCgoyMDA5LTExLTA0IDIyOjIxOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFJlamVjdCBlbXB0eSBjYXBzCgoyMDA5LTExLTA0IDIyOjIxOjIyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFVzZSBsb2cgbGV2ZWwgZm9yIHJlcGVhdGVkIGRlYnVnIG1lc3NhZ2VzCgoyMDA5LTExLTA0IDIwOjA1OjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IEFsbG93IGZvciBhbnkgc2FtcGxlcmF0ZQoKMjAwOS0xMC0wNyAwOTozMToxOSAtMDQwMCAgR2FicmllbCBNaWxsYWlyZSA8Z2FicmllbC5taWxsYWlyZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgY2VsdHBheS9kZXBheSA6IGNoYW5nZSBHU1RfREVCVUdfT0JKRUNUIHRvIEdTVF9MT0dfT0JKRUNUIGluIHBheV9oYW5kbGVfYnVmZmVyIGFuZCBkZXBheV9wcm9jZXNzCgoyMDA5LTEwLTAyIDE3OjA0OjQzIC0wNDAwICBHYWJyaWVsIE1pbGxhaXJlIDxnYWJyaWVsLm1pbGxhaXJlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJICBjZWx0cGF5L2RlcGF5OiBOZWdvdGlhdGUgcGFyYW1ldGVycyB0aHJvdWdoIGNhcHMKCSAgY2VsdGRlcGF5IDogYWRkZWQgZGVmYXVsdCBmcmFtZXNpemUoNDgwKSBjaGFubmVscygxKSBhbmQgY2xvY2tyYXRlKDMyMDAwKQoJICBkZXBheV9zZXRjYXBzIDogbm93IGdldHMgY2hhbm5lbHMgYW5kIGZyYW1lc2l6ZSBmcm9tIHN0cmluZyB3aXRoIGRlZmF1bHQgdmFsdWUKCSAgZGVwYXlfcHJvY2VzcyA6IG5vdyBhZGRzIHRpbWVzdGFtcCB0byBvdXRidWYKCSAgQWRkZWQgZnJhbWVfc2l6ZSB0byBHc3RSdHBDZWx0RGVwYXkKCSAgQ2hhbmdlZCBzb21lIEdTVF9ERUJVRyB0byBHU1RfREVCVUdfT0JKRUNUIG9yIEdTVF9MT0dfT0JKRUNUCgkgIGNlbHRwYXkgOiBnZXRjYXBzIDogZ2V0cyBjaGFubmVsIGFuZCBmcmFtZXNpemUgYW5kIHNldHMgY2FwcwoJICBBZGRlZCBmcmFtZS1zaXplIHRvIHN0YXRpYyBjYXBzIGZvciBhdWRpby94LWNlbHQKCjIwMDktMTEtMDQgMTU6NTg6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgZGVpbnRlcmxhY2U6IFB1bGwgaW4gQ0ZMQUdTIGFuZCBMSUJTIGZsYWdzIGZyb20gLWJhc2UgYmVmb3JlIGNvcmUgYmVmb3JlIHN5c3RlbS4KCjIwMDktMTAtMTUgMTY6MzM6MjQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogRG9uJ3QgY3JlYXRlIGJhY2t1cCAucG8gZmlsZXMKCSAgQXMgd2VsbCBhcyBwcmV2ZW50aW5nIGNyZWF0aW9uIG9mIHVzZWxlc3MgYmFja3VwIGZpbGVzLCBpdCB3b3JrcwoJICBhcm91bmQgYSBidWcgaW4gZ2V0dGV4dCAwLjE3IG9uIE9TL1gKCjIwMDktMTEtMDQgMTY6NDc6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAaWhhdGVzdGV2ZS5sb2NhbD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBpbml0IHZhcmlhYmxlcyB0byBtYWtlIGNvbXBpbGVyIG9uIG9zeCBidWlsZCBib3QgaGFwcHkKCjIwMDktMTEtMDMgMTY6MDQ6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGluaXQgdmFyaWFibGVzIHRvIG1ha2UgY29tcGlsZXIgb24gb3N4IGJ1aWxkIGJvdCBoYXBweQoKMjAwOS0xMS0wMyAxNzozNToxNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGRvbid0IGFsbG9jYXRlIGJpZyBhcnJheXMgb24gdGhlIHN0YWNrCgkgIEFkZCB0aGUgYXJyYXlzIHRvIHRoZSBpbnN0YW5jZSBkYXRhIGFuZCBhbGxvY2F0ZSBvbiBmaXJzdCB1c2UuCgoyMDA5LTExLTAxIDE1OjU3OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIHBvaW50bGVzcyBjYWxsIHRvIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpCgoyMDA5LTExLTAxIDAwOjI5OjU3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCBkZWNheSB0byBiZSBzbW9vdGgKCSAgVGhlIGxlbmd0aCBub3QgaGF2aW5nIGFueSBmcmFjdGlvbmFsIHBhcnQgYXMgaXQgd2FzIHByb21vdGVkIHRvIGdkb3VibGUgYWZ0ZXIKCSAgZGl2aWRpbmcgdHdvIGd1aW50NjQuCgoyMDA5LTExLTAxIDAwOjI5OjI0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGxldmVsOiBjYWxjdWxhdGUgdGhlIG1lc3NhZ2UtaW50ZXJ2YWxsIHdoZW4gaXQgY2hhbmdlcwoKMjAwOS0xMS0wMSAwMDoxNDowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBjbG9ja3RpbWUgaXMgYSBndWludDY0LCB1c2UgcmlnaHQgbWFjcm8gdG8gaW5pdCBmaWVsZHMKCjIwMDktMTEtMDEgMDA6MTA6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogdXNlIG1vcmUgZy1zdHlsZSB0eXBlcwoKMjAwOS0xMC0zMCAwOToyNzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBPbmx5IHNldCB0aGUgdm9sdW1lIG9uIHN0cmVhbSBjb25uZWN0aW9uIGlmIHB1bHNlID49IDAuOS4yMCBpcyBhdmFpbGFibGUKCSAgSW4gb2xkZXIgdmVyc2lvbnMgdGhlIHZvbHVtZSBzZXQgZHVyaW5nIHN0cmVhbSBjb25uZWN0aW9uIGhhZAoJICBubyBkZWZpbmVkIHNlbWF0aWMgYW5kIHVzdWFsbHkgaXQgd2FzIGEgcmVsYXRpdmUgdm9sdW1lLiBXaGF0CgkgIHdhcyBuZWVkZWQgZm9yIG91ciB1c2UgY2FzZSBpcyBhbiBhYnNvbHV0ZSB2b2x1bWUgdGhvdWdoLCBvdGhlcndpc2UKCSAgdGhlIHZvbHVtZSB3aWxsIGJlIGFsd2F5cyBkZWNyZWFzZWQgb24gc3RyZWFtIGNvbm5lY3Rpb24gaWYgaXQncwoJICBsZXNzIHRoYW4gMTAwJS4KCSAgU2luY2UgcHVsc2UgMC45LjIwIHRoYXQgdm9sdW1lIGlzIGFsd2F5cyBhbiBhYnNvbHV0ZSB2b2x1bWUgaWYKCSAgZmxhdCB2b2x1bWVzIGFyZSB1c2VkIGFuZCByZWxhdGl2ZSBvdGhlcndpc2UsIHdoaWNoIGlzIHRoZSBzYW1lCgkgIGFzIGZvciBwYV9jb250ZXh0X3NldF9zaW5rX2lucHV0X3ZvbHVtZSgpLgoJICBSZWxldmFudCBwdWxzZSBjaGFuZ2VzZXRzOgoJICBodHRwOi8vZ2l0LjBwb2ludGVyLmRlLz9wPXB1bHNlYXVkaW8uZ2l0O2E9Y29tbWl0O2g9ZjI3YTUwNjkxYzhmZTQ1YmFjN2RkNmIyMWZhYzkxYTM1OWRlZjNhMQoJICBodHRwOi8vZ2l0LjBwb2ludGVyLmRlLz9wPXB1bHNlYXVkaW8uZ2l0O2E9Y29tbWl0O2g9MjUwMTY4NzU3OWUzNTlkNTAzMmE0ZDE2NWIyZmZjOGY1YjFiOGJhNgoKMjAwOS0xMC0yNyAxODowNzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHVzZSBzZWdtZW50X2Z1bGwgd2hlbiB3ZSBjYW4KCSAgVXNlIHNlZ21lbnRfZnVsbCBzbyB0aGF0IHdlIGNhbiBwYXNzIHRoZSBhcHBsaWVkIHJhdGUgdG8gdGhlIHNlZ21lbnQgdmFsdWVzLiBXZQoJICB3aWxsIGNoYW5nZSB0aGUgYXBwbGllZCByYXRlIHdoZW4gd2UgaW1wbGVtZW50IHNraXAgbW9kZS4KCjIwMDktMTAtMTggMDA6MTY6MDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogRml4IGJ1ZmZlciBvZmZzZXQgYnkgbW92aW5nIGxlbmd0aCBpbmNyZW1lbnRhdGlvbgoKMjAwOS0xMC0yMyAxODozMToxNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogQ3JlYXRlIHRoZSB2aWRlbyBOU1ZpZXcgaW4gUkVBRFktPlBBVVNFRCByYXRoZXIgdGhhbiBOVUxMLT5SRUFEWQoKMjAwOS0xMC0yMyAxODoyODoyMiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeHZpZGVvOiBleHBsaWNpdGx5IGxpbmsgdG8gR1NUX0xJQlMKCjIwMDktMTAtMjMgMTg6MDk6NDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCBkZXBlbmRlbmNpZXMgb2YgZ3N0cmlmZiB0byB0aGluZ3MgdGhhdCBsaW5rIHRvIGdzdHJpZmYsIG5lZWRlZCBvbiBXaW4zMi4KCjIwMDktMTAtMjMgMTc6MjU6MTcgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkgIHJ0cCBleGFtcGxlczogcmVtb3ZlIGV4ZWN1dGFibGUgYml0cyBmcm9tIEMgZmlsZXMuCgoyMDA5LTEwLTIzIDExOjIxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZGlzYWJsZSBhbGwgaml0dGVyYnVmZmVyIHRlc3RzIGZvciBub3cKCSAgU2luY2UgZXZlbiB0aGUgb25lIGVuYWJsZWQgc2VlbXMgdG8gZmFpbC4KCjIwMDktMTAtMjIgMTM6Mzk6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWxzbyBpbmNsdWRlIHRoZSBuZXcgdGVzdCBmb3IgcHJldiBjb21taXQKCjIwMDktMTAtMjIgMTM6MTk6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGFkZCBhIGppdHRlcmJ1ZmZlciB0ZXN0CgkgIFRlc3RzIHB1c2hpbmcgYSBmZXcgYnVmZmVycyBpbiB2YXJpb3VzIG9yZGVyIGFuZCBhc3NlcnRpbmcgdGhlIG9yZGVyIHNlbnQgYnkgdGhlCgkgIGppdHRlcmJ1ZmZlci4gQ29udGFpbnMgdHdvIGRpc2FibGVkIHRlc3RzIHRoYXQgbmVlZCBtb3JlIHdvcmsuCgoyMDA5LTEwLTIyIDEyOjMwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IERpcmFjICJtdXhpbmciIHVuaXRzIGVuZCBvbiBFT1MgdG9vCgkgIEEgRGlyYWMgbXV4aW5nIHVuaXQgYXJlIGFsbCBub24tcGljdHVyZSwgbm9uLWVuZC1vZi1zZXF1ZW5jZQoJICBwYWNrZXRzIHVwIHRvIGFuZCBpbmNsdWRpbmcgdGhlIGZpcnN0IHBpY3R1cmUgb3IgZW9zIHBhY2tldC4KCSAgU2VlIGh0dHA6Ly93d3cuZGlyYWN2aWRlby5vcmcvd2lraS9pbmRleC5waHAvQ29udGFpbmVyRm9ybWF0TWFwcGluZ0d1aWRlbGluZXMKCjIwMDktMTAtMjIgMDI6MDk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgkgIHRvdGFsX2lkeCBpcyBhbHdheXMgZXZhbHVhdGVkLgoKMjAwOS0xMC0xOSAyMTo1OTo0NiArMDMwMCAgUHJpaXQgTGFlcyA8cGxhZXNAcGxhZXMub3JnPgoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSAgY2FjYXNpbms6IG1pbm9yIGNsZWFudXBzIGZvciBoZWFkZXIuCgkgIFVzZSBHX0JFR0lOX0RFQ0xTIG1hY3JvcywgcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgYW5kIGZpeCB0eXBvLgoJICBTZWUgIzU5OTAxOC4KCjIwMDktMTAtMTkgMjE6NTk6MjMgKzAzMDAgIFByaWl0IExhZXMgPHBsYWVzQHBsYWVzLm9yZz4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgIGNhY2FzaW5rOiBleGl0IHByb3Blcmx5IHdoZW4gaW52YWxpZCBkcml2ZXIgaGFzIGJlZW4gc2VsZWN0ZWQuCgkgIFNlZSAjNTk5MDE4LgoKMjAwOS0xMC0yMCAxODoyMzoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFN0b3Agc2Nhbm5pbmcgYXQgdGhlIGxhc3QgZW50cnkuLi4gYW5kIG5vdCB0aGUgb25lIGJlZm9yZSA6KQoJICBUaGlzIGVuc3VyZXMgd2UgYWN0dWFsbHkgcHVzaCBvdXQgZXZlcnl0aGluZwoKMjAwOS0xMC0yMCAxNzoyMDo1NSArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLm5ldD4KCgkgIHF0ZGVtdXg6IHVucGFjayBtb3JlIGluZm9ybWF0aW9uIGludG8gaW1hZ2UveC1qMmMgY2FwcwoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6IEFkZCBuZXcgZm91cmNjcyBmb3IgdXNlIGJ5IHRoZSBtajIKCSAgdW5wYWNrZXIuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChxdGRlbXV4X3BhcnNlX3RyYWspOiBVbnBhY2sgSlBFRzIwMDAgY29tcG9uZW50CgkgIG1hcHBpbmcgYW5kIGNoYW5uZWwgZGVmaW5pdGlvbnMgZnJvbSB0aGUganAyaCBoZWFkZXIuIFdpbGwgYWRkCgkgIGNvbXBvbmVudC1tYXAgYW5kIGNoYW5uZWwtZGVmaW5pdGlvbnMgZWxlbWVudHMgdG8gdGhlIGNhcHMgaWYgdGhlCgkgIGNvbXBvbmVudCBtYXBzIG9yIGNoYW5uZWwgZGVmaW5pdGlvbnMgYXJlIG5vbnN0YW5kYXJkLCB3aGVyZSBzdGFuZGFyZAoJICBvcmRlciBtZWFucyBSR0IsIDQ0NCBwYWNrZWQgWVVWLCBvciBncmV5c2NhbGUsIHdpdGggbm8gYWxwaGEgY2hhbm5lbC4KCSAgRml4ZXMgIzU5ODkxNS4KCjIwMDktMTAtMjAgMTc6MzM6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogaW5jbHVkZSBzdGRpby5oIGZvciBzc2NhbmYKCjIwMDktMTAtMTkgMTU6MjE6NTcgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgRml4IHRoZSBTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlIG5vdCBiZWluZyBhZHZlcnRpc2VkCgkgIGdzdF9wdWxzZXNpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCgpIHdhcyBtaXNzaW5nIGEgY2hlY2sgZm9yIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4OTMzCgoyMDA5LTEwLTE2IDIxOjE0OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGNvZGUgY2xlYW51cAoJICBVc2UgZ2RvdWJsZSBpbnN0ZWFkIG9mIGRvdWJsZS4gQ2FsY3VsYXRlIGZhbGxvZmZfdGltZSBvbmNlIGluc3RlYWQgb2YgdHdpY2UuCgoyMDA5LTEwLTE4IDE1OjUyOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogTUVNRFVNUCB0aGUganVuayBibG9icwoJICBJdCB3aWxsIG9ubHkgYWN0dWFsbHkgcHVsbCB0aGUganVuayBibG9icyBmcm9tIHVwc3RyZWFtIGlmIHRoZSBtZW1kdW1wCgkgIGxldmVsIGlzIGFjdGl2YXRlZAoKMjAwOS0xMC0xOCAxNTo1MTozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFNvbWUgYXZpIGZpbGVzIGhhdmUgSU5GTyBsaXN0cyBpbiB0aGUgaGVhZGVycy4KCjIwMDktMTAtMTggMTY6MDI6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBzZWVrIG9uIGVtcHR5IHN0cmVhbXMKCjIwMDktMTAtMTggMTU6NTA6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBFbnN1cmUgX2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCBvbmx5IHVzZXMgdmFsaWQgc3RyZWFtcwoKMjAwOS0xMC0xOCAxNTo0OToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IE9ubHkgY2FsbCBjb252ZXJ0IGZ1bmN0aW9uIGlmIHdlIGhhdmUgc3RyZi5hdWRzCgoyMDA5LTEwLTE4IDE1OjQ4OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBVc2UgZmlyc3QgaW5kZXhlZCBzdHJlYW0gZm9yIHNlZWtpbmcuCgkgIEluIHRoZSBmdXR1cmUsIG1haW5fc3RyZWFtIGNhbiBiZSBhZGp1c3RlZCB0byBjb250YWluIHRoZSBvcHRpbWFsIHN0cmVhbQoJICBhcyBtZW50aW9ubmVkIGluIHRoZSBGSVhNRSBsaW5lIDM0NDAKCjIwMDktMTAtMTggMTU6NDY6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IE9ubHkgZXhwb3NlIHN0cmVhbXMgdGhhdCBhY3R1YWxseSBoYXZlIHNvbWV0aGluZyBpbiBpdC4KCSAgVGhpcyBndWFyYW50ZWVzIHRoYXQgaW4gcHVsbC1tb2RlLCBhbGwgc3RyZWFtcyBoYXZlIGEgdmFsaWQgaW5kZXggdG8KCSAgd29yayB3aXRoLgoKMjAwOS0xMC0xOCAxNTo0MDozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFByb3Blcmx5IG1hcmsgcHJlc2VuY2Ugb2YgaW5kZXguCgkgIEluc3RlYWQgb2YgYmxpbmRseSBzYXlpbmcgd2UgaGF2ZSBhbiBpbmRleCwgb25seSBkbyBzbyBpZiB3ZSBoYXZlIGEKCSAgbm9uLWVtcHR5IGluZGV4LgoKMjAwOS0xMC0xNyAwMjoxODo1MyArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogbmV2ZXIgYXBwbHkgdm9sdW1lIG1vcmUgdGhhbiBvbmNlCgkgIEdlbmVyYWxseSBkZWNpc2lvbnMgb24gdGhlIHZvbHVtZSBvZiB0aGUgc3RyZWFtIHNob3VsZCBiZSBkb25lIGluc2lkZSBvZgoJICBQQSwgbm90IGluc2lkZSBvZiBHc3QuIE9ubHkgUEEga25vd3MgaG93IHZvbHVtZXMgdHJhbnNsYXRlIGJldHdlZW4KCSAgZGV2aWNlcyBhbmQgcyBvbi4KCSAgVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHRoYXQgYWxsIHZvbHVtZXMgc2V0IHZpYSB0aGUgdm9sdW1lIHByb3BlcnR5IGFyZQoJICBvbmx5IGFwcGxpZWQgKm9uY2UqIHRvIHRoZSB1bmRlcmx5aW5nIHN0cmVhbS4gQWZ0ZXIgYXBwbHlpbmcgdGhlbSB0aGUKCSAgY2xpZW50IHNpZGUgd2lsbCBub3Qgc3RvcmUgdGhlbSBhbnltb3JlLiBUaGlzIHNob3VsZCBtYWtlIHN1cmUgdGhhdAoJICByZWFsbHkgb25seSB1c2VyLXRyaWdnZXJlZCB2b2x1bWUgY2hhbmdlcyBhcmUgZm9yd2FyZGVkIHRvIHNlcnZlciwgYnV0CgkgIHRoZSBjbGllbnQgbmV2ZXIgdHJpZXMgdG8gc2F2ZS9yZXN0b3JlIHRoZSB2b2x1bWUgaW50ZXJuYWxseS4KCSAgRml4ZXMgYnVnICM1OTUyMzEuCgoyMDA5LTEwLTE3IDA4OjU1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgcHVsc2VzaW5rOiBJbml0aWFsaXplIGdldHRleHQgZm9yIHRoZSB0cmFuc2xhdGVkIHN0cmluZ3MgaW4gcGx1Z2luX2luaXQoKQoKMjAwOS0xMC0xNyAwMDoxMDozMCArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogdXNlICdwZXJmb3JtZXInIGFzIGEgZmFsbGJhY2sgZm9yICdhcnRpc3QnIHRhZwoKMjAwOS0xMC0xNyAwMDowOTozNiArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcHVsc2U6IHdoZW4gY29uc3RydWN0aW5nIGEgc3RyZWFtIHRpdGxlIGZyb20gdGFnIGRhdGEgbWFrZSBzdXJlIGl0IGlzIHRyYW5zbGF0YWJsZQoKMjAwOS0xMC0xNyAwMDowNjoxNSArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIHB1bHNlOiBsb29wIHdoaWxlIGNvbm5lY3RpbmcgdG8gc2VydmVyCgkgIHB0aHJlYWQgZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgdGhlcmUgYXJlIG5vIHNwdXJpb3VzIGNvbmRpdGlvbiB2YXJpYWJsZQoJICB3YWtldXBzLCBuZWl0aGVyIGRvZXMgcGFfdGhyZWFkZWRfbWFpbmxvb3BfeHh4KCkgd2hpY2ggaXMgYSB3cmFwcGVyCgkgIGFyb3VuZCBpdC4gU28gd2UgbmVlZCB0byBsb29wIGFyb3VuZCB0aGUgX3dhaXQoKSBmdW5jdGlvbiB0byBtYWtlIHN1cmUKCSAgd2UgZ2V0IHRoZSByaWdodCB3YWtldXAuCgkgIEFsc28sIHVuaWZ5IHRoZSBvcmRlciBvZiB0aGUgd2FpdCBsb29wcyBhY3Jvc3MgdGhlIGZpbGUuCgoyMDA5LTEwLTE3IDAwOjA1OjEwICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSAgcHVsc2U6IG1haW5sb29wIGNyZWF0aW9uIGNhbiBmYWlsIHRvbywgc28gaGFuZGxlIHRoYXQKCjIwMDktMTAtMTcgMDA6MDM6MDYgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZTogYWRqdXN0IENIRUNLX0RFQURfR09UTyBtYWNybyB0byBnbGliIHN0eWxlCgoyMDA5LTEwLTE2IDE3OjI4OjQyICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2U6IG1ha2UgYSBmZXcgdGhpbmdzIHNtYWxsZXIgYnkgbWFraW5nIHRoZW0gYml0ZmllbGRzCgoyMDA5LTEwLTE2IDE3OjI2OjQxICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHB1bHNlOiBidW1wIG1pbmltdW0gbGlicHVsc2UgdmVyc2lvbiB0byAwLjkuMTAKCSAgT2xkZXIgdmVyc2lvbnMgdGhhbiAwLjkuMTAgYXJlIHJlYWxseSByZWFsbHkgb2xkIGFuZCBidWdneS4gRHJvcAoJICBjb21wYXRpYmlsaXR5IHdpdGggdGhlbS4gTm9ib2R5IHNob3VsZCBydW4gYW55dGhpbmcgdGhhdCBvbGQuCgkgIEFsc28gc2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1MDI5CgoyMDA5LTEwLTE2IDE4OjE4OjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkgIGRlYnVndXRpbHM6IHJlZ2lzdGVyIHB1c2hmaWxlc3JjIGVsZW1lbnQKCjIwMDktMTAtMTYgMTc6Mjg6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiBzdXBwb3J0IChzb21lKSBWQlIgYXVkaW8gbXV4aW5nCgkgIEFWSSBmb3JtYXQgY2FuIGhhbmRsZSBWQlIgYXVkaW8gcHJvdmlkZWQgYXVkaW8gY2h1bmtzIGFyZSBvZiBmaXhlZCBkdXJhdGlvbgoJICAoY2ZyIGZpeGVkIGR1cmF0aW9uIHZpZGVvIGZyYW1lcykuICBBcHBseSB0aGlzIGFwcHJvYWNoIHRvIChhbHdheXMpIHBhcnNlZAoJICByYXcgQUFDIGFuZCAoaWYgcGFyc2VkKSB0byBNUEVHLTEvMiBhdWRpby4KCSAgU2VlICMzNjg2ODEuCgoyMDA5LTEwLTE2IDEzOjQxOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGJyYW5jaCBoaW50cwoJICBSZW1vdmUgaW5hcHByb3ByaWF0ZSBicmFuY2hpbmcgaGludHMgYW5kIGFkZCBzb21lIG5ldyBvbmVzLgoKMjAwOS0xMC0xNiAxMjozMzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCByZWdyZXNzaW9uIGluIGluZGlyZWN0IGRlY29kZSBwYXRoCgkgIFJldmVydCB2YXJpYWJsZSBuYW1lIGJhY2sgdG8gd2hhdCBpdCB3YXMgYmVmb3JlIHRoZSBHX0xJS0VMWSB3YXMKCSAgYWRkZWQgKGluIGNvbW1pdCA2OWMyNGZiOSkuIFRoZSBjb2RlIHdvcmtzIGJldHRlciB0aGF0IHdheS4KCjIwMDktMTAtMTYgMDI6NDc6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggcmVncmVzc2lvbiB3aXRoIGNlcnRhaW4gZm9ybWF0cwoJICBGaXggcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IHByZXZpb3VzIGNvbW1pdCAoIzU5ODUxNykuCgoyMDA5LTEwLTE1IDE5OjQ5OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgdXNlIGRlY29tcHJlc3Mgc3RydWN0dXJlIG1lbWJlcnMgd2Ugc2hvdWxkbid0IGJlIHVzaW5nCgoyMDA5LTEwLTE0IDE3OjUzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogcmVtb3ZlIHNvbWUgdW51c2VkIG1lbWJlcnMgZnJvbSBqcGVnZGVjIGluc3RhbmNlIHN0cnVjdHVyZQoKMjAwOS0xMC0xNiAxMTo1MzozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiB1c2UgZ3N0LWdsaWItZ2VuLm1hayB0byBmaXggdGhlIGdsaWIgYnVpbGQgcnVsZXMuCgkgIFRoZSBidWlsZCBydWxlcyBpbiBnbGliLWdlbi5tYWsgd2VyZSB1c2luZyBwYXR0ZXJuIHJ1bGVzIGluIGEgbm9uIHNhdmUgd2F5LgoKMjAwOS0xMC0xNiAxMDoxNTozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NWQxNTMwIHRvIDA3MDJmZTEKCjIwMDktMTAtMTUgMjE6MDQ6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRqdXN0IGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uIHRvIHVwZGF0ZWQgbG9vcF9kYXRhCgkgIEluIHBhcnRpY3VsYXIsIGVhY2ggc3RyZWFtIGlzIG5vdyB0cmVhdGVkIHNlcGFyYXRlbHksIGFuZCBvbmUgc3RyZWFtJ3MKCSAgRU9TIHNob3VsZCBub3QgbGVhZCB0byBvdmVyYWxsIEVPUy4KCjIwMDktMTAtMTUgMTE6NTI6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBzb21lIG1vcmUgYXRvbSBzaXplcyBwcmlvciB0byBwYXJzaW5nCgoyMDA5LTEwLTE1IDEzOjE5OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBoYW5kbGUgZXZlbnRzIGluIFRDUCBtb2RlCgkgIFdlIG5lZWQgdG8gaGFuZGxlIGV2ZW50cyBpbiBUQ1AgbW9kZSBzbyB0aGF0IHdlIGNhbiByZXBseSB0byB0aGUgTEFURU5DWSBldmVudAoJICB3aXRoIFRSVUUuCgoyMDA5LTEwLTE1IDExOjI0OjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCBtaXNzaW5nIGFyZ3VtZW50IGluIGRlYnVnIG1lc3NhZ2UKCjIwMDktMTAtMTQgMTg6NTg6MDYgKzAyMDAgIE1hcnZpbiBTY2htaWR0IDxtYXJ2QGV4aGVyYm8ub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogVXNlIGxvb3AgdGVzdCB0byBwcmV2ZW50IHRpbWVvdXQgb24gc2xvdyBtYWNoaW5lcwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1OTc3MzkuCgoyMDA5LTEwLTE0IDE2OjE1OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmb3J3YXJkIGV2ZW50cyBpbnRvIHRoZSBydHBiaW4KCSAgT25seSBjYXRjaCB0aGUgU0VFSyBldmVudCBvbiB0aGUgc3JjcGFkIGFuZCBsZXQgb3RoZXIgZXZlbnRzIGVudGVyIHRoZSBydHBiaW4uCgoyMDA5LTEwLTE0IDExOjMzOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggbGF0ZSB0YWdzIGZpbmRpbmcKCSAgVXNlIHRoZSBjb3JyZWN0IHRhZ2xpc3QgdmFyaWFibGUgd2hlbiBub3RpZnlpbmcgb2YgbGF0ZSB0YWdzLgoKMjAwOS0xMC0xNCAxMzowOTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHVzZSBHc3RJbmRleCBmb3IgKGxpbWl0ZWQpIHNlZWtpbmcgaW4gcHVzaCBtb2RlCgkgIC4uLiBidXQgZGlzYWJsZSB0aGlzIGZvciBub3cuICBBbHRob3VnaCBpdCBiYXNpY2FsbHkgd29ya3MgZmluZSwKCSAgdXNlciBleHBlcmllbmNlIG1pZ2h0IGJlIHNoYWt5IChkZXBlbmRpbmcgb24gdGFzdGUpLCBzaW5jZSB0aGVyZQoJICBpcyBubyBrZXlmcmFtZSBpbmZvIGluIHB1c2ggbW9kZS4KCjIwMDktMTAtMTQgMTM6MDg6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBhZGQgR3N0SW5kZXggc3VwcG9ydAoKMjAwOS0xMC0xNCAxMTo1NTozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhbHNvIGRldGVybWluZSBkdXJhdGlvbiBpbiBwdXNoIG1vZGUKCjIwMDktMTAtMTQgMTE6NTQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGFkZCBHc3RJbmRleCBzdXBwb3J0CgoyMDA5LTEwLTE0IDA3OjM4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogU2V0IGR1cmF0aW9uIG9uIGJ1ZmZlcnMKCSAgVXNlIGZyYW1lcmF0ZSB0byBlc3RpbWF0ZSBkdXJhdGlvbiBvZiBidWZmZXJzLgoJICBGaXhlcyAjNTkwMzYyCgoyMDA5LTEwLTE0IDEyOjI4OjU1ICswMjAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmYgYXQgdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBvbmx5IGZvcndhcmQgdGhlIGxvc3QtZXZlbnQgdG8gdGhlIGxhc3Qgc2VlbiBwdC1udW1iZXIKCSAgZm9yd2FyZCBhbGwgZXZlbnRzIG9uIGFsbCBwYWRzIGV4Y2VwdCBmb3IgdGhlIFBhY2tldExvc3QgZXZlbnQsIHdoaWNoIHdlIHdhbnQgdG8KCSAgZm9yd2FyZCB0byB0aGUgbGFzdCBzZWVuIHB0IHBhZC4KCSAgRml4ZXMgIzU5ODM3NwoKMjAwOS0xMC0wNiAyMjoyODo1MCArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzZXQgZGVzaXJlZCBtaW5yZXEgdmFsdWUgdG8gc2Vnc2l6ZS9sYXRlbmN5LXRpbWUKCSAgSWYgd2UgbGV0IHRoZSBkYWVtb24gZGVjaWRlIGZyZWVseSBieSBwYXNzaW5nIC0xLCB3ZSBlbmQgdXAgYWx3YXlzIGdldHRpbmcgMjBtcy4KCSAgV2Ugd2FudCB0byBzZXQgdGhpcyB2YWx1ZSBiZWNhdXNlIGluIHNvbWUgY2FzZXMgd2Ugd2FudCB0byBzZWxlY3QgYSBoaWdoZXIKCSAgbGF0ZW5jeS10aW1lIGluIG9yZGVyIHRvIHNhdmUgcG93ZXIuCgkgIEZpeGVzICM1OTc2MDEKCjIwMDktMTAtMTQgMTA6NDE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEzZTNjZTQgdG8gODVkMTUzMAoKMjAwOS0xMC0xMyAxODozMzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzL3BpcGVsaW5lL2ZsYWM6IEZpeCBidWlsZCBvbiBtYWNvc3ggMTAuNQoKMjAwOS0xMC0xMyAxODoxOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRlbW90ZSBzb21lIHdhcm5pbmdzIHRvIGRlYnVnCgoyMDA5LTEwLTEzIDE3OjQ3OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9hdmktaWRzLmg6CgkgIGF2aTogYWRkIG5ldyBhdmkgZmxhZyB3ZSBtaWdodCB3YW50IHRvIHVzZQoKMjAwOS0xMC0xMyAxNzo0NjoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogY2FsY3VsYXRlIHN1Z2dlc3RlZCBidWZmZXIgc2l6ZQoJICBDYWxjdWxhdGUgdGhlIHN1Z2dlc3RlZCBidWZmZXIgc2l6ZSBiYXNlZCBvbiB0aGUgbGFyZ2VzdCBjaHVuayBpbiB0aGUgZmlsZS4KCSAgU2VlICM1OTc4NDcKCjIwMDktMTAtMTMgMTc6NDU6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZCBqcGVnMjAwMCB0byBhbGxvd2VkIGNhcHMKCjIwMDktMTAtMTMgMTc6NDE6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgZGVidWcgZm9yIHRoZSBzdXBlcmluZGV4IG9mZnNldHMKCjIwMDktMTAtMTMgMTY6MDI6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBGaXggYW5vdGhlciBib2d1cyBtYXktYmUtdXNlZC11bmluaXRpYWxpemVkIHdhcm5pbmcgaW4gcXRkZW11eAoKMjAwOS0xMC0xMyAxMzowODozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aTogbG93ZXIgbWF4IGZpbGUgc2l6ZQoJICBNYWtlIGEgY29uc3RhbnQgb2YgdGhlIG1heCBmaWxlIHNpemUgYW5kIGxvd2VyIHRoZSB2YWx1ZSB0byB3aGF0IGZmbXBlZyBkb2VzLAoJICBob3BlZnVsbHkgaW1wcm92aW5nIGNvbXBhdGliaWxpdHkgd2l0aCB3aW5kb3dzIG1lZGlhIHBsYXllci4KCSAgU2VlICM1OTc4NDcKCjIwMDktMTAtMTMgMDE6MDI6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggYm9ndXMgd2FybmluZyBhYm91dCBkaXNjb250IGZsYWcgb24gZmlyc3QgYnVmZmVyCgkgIFRoZSB2ZXJ5IGZpcnN0IGJ1ZmZlciBzaG91bGQgYWx3YXlzIGhhdmUgdGhlIERJU0NPTlQgZmxhZyBzZXQsIG5vCgkgIG5lZWQgdG8gd2FybiBhYm91dCB0aGF0LiBPbmx5IHdhcm4gaWYgd2UgZ2V0IGEgRElTQ09OVCBidWZmZXIgaW4KCSAgbm9uLXBhY2tldGlzZWQgbW9kZSBhbmQgd2UgYWxyZWFkeSBoYXZlIHNvbWUgZGF0YS4KCjIwMDktMTAtMTMgMDA6NDE6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggY3Jhc2ggZm9yIHVudXN1YWwgdmVydGljYWwgY2hyb21hIHN1YnNhbXBsaW5nIGZhY3RvcnMKCSAgRml4ZXMgIzU5NzM1MS4KCjIwMDktMTAtMTMgMDA6MTI6NDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZ3MKCSAgVGhlIGdjYyBvbiB0aGUgT1MvWCBidWlsZGJvdCBjb21wbGFpbnMgYWJvdXQgdGhlc2UgdmFyaWFibGVzIG5vdCBiZWluZwoJICBpbml0aWFsaXplZCwgZXZlbiB0aG91Z2ggdGhleSBjYW4ndCBwb3NzaWJseSBhY3R1YWxseSBiZSB1c2VkCgkgIHVuaW5pdGlhbGl6ZWQuCgoyMDA5LTEwLTExIDExOjM1OjIzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTAgMDA6Mzc6MDggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4ZXMgd2FybmluZyBidWlsZGluZyBpbiBzbm93IGxlb3BhcmQKCjIwMDktMTAtMDkgMTc6MTI6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNvbnNpZGVyIFF1aWNrdGltZSB0ZXh0IHN1YnRpdGxlcwoKMjAwOS0xMC0wOSAxNzowMjo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByb3ZpZGUgbGFuZ3VhZ2UgdGFnIGZvciBzdHJlYW0KCjIwMDktMTAtMDkgMTY6MzA6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWZhY3RvciBjb21tb24gcGFydHMgaW4gdHJhY2sgcGFyc2luZwoKMjAwOS0xMC0wOSAxNjoyMTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcmVmYWN0b3IgYnVmZmVyIHByb2Nlc3NpbmcgYW5kIHNlbmRpbmcKCSAgLi4uIHNvIGl0IGNhbiBiZSB1c2VkIGluIGJvdGggcHVsbCBhbmQgcHVzaCBiYXNlZCBtb2RlLgoKMjAwOS0xMC0wOCAxMzozOToyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgcGFsZXR0ZSBkYXRhIGZvciBkdmQgc3VicGljdHVyZSBzdHJlYW1zCgkgIC4uLiBhbmQgc2VuZCBpdCBkb3duc3RyZWFtIHVzaW5nIGN1c3RvbSBkdmQgZXZlbnQKCjIwMDktMTAtMDcgMTQ6MDM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgM0dQUCB0aW1lZCB0ZXh0IHN1YnRpdGxlcwoJICBJbiBwYXJ0aWN1bGFyLCBhbHNvIG1ha2Ugc3VidGl0bGUgc3VwcG9ydCBsZXNzIHN1YnAoaWN0dXJlKS1jZW50cmljLgoKMjAwOS0xMC0wNyAxNjoxNTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE5VTEwgaXMgbm90IGEgdmFsaWQgdGFnbGlzdAoKMjAwOS0wOS0yMyAxNzoyMDoyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHJlY29nbml6ZSBzb21lIG1vcmUgZW5jeXB0ZWQgdHJhY2sgY2FzZXMKCjIwMDktMTAtMDkgMTU6NTk6MjUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkMzogZml4ZXMgd2FybmluZ3MgYnVpbGRpbmcgb24gbWFjb3N4CgkgIEFub3RoZXIgcm91bmQgb24gdGhlIGZvcm1hdGluZyBvZiB0aGF0IGRlYnVnIGxpbmUuCgoyMDA5LTEwLTA5IDE0OjQ0OjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDM6IGNhc3QgcG9pbnRlciBtYXRoIHJlc3VsdHMgdG8gZ2xvbmcKCjIwMDktMTAtMDkgMTQ6Mzc6MzIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhYzogYXBwYXJlbnRseSBvbiBzb21lIHBsYXRmb3JtcyBhIEZMQUNfX3VpbnQ2NCE9Z3VpbnQ2NAoKMjAwOS0xMC0wOSAxNDoyMTowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBidWlrZDogZXhwbGljaXRlbHkgY2FzdCwgdG8gdGVsbCBzb21lIGNvbXBpbGVycyB0aGF0IHRoaXMgaXMgbm90IGxvbmcgaW50CgoyMDA5LTEwLTA5IDEzOjM4OjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgYnVpbGQ6IGRvbid0IGNhc3QsIGJ1dCB1c2UgdGhlIHJpZ2h0IGZvcm1hdCBzcGVjaWZpZWQgaW5zdGVhZAoJICBUaGlzIGNvcnJlY3Qgc29tZSBvZiB0aGUgcHJldmlvdXMgbWFjb3MgZml4ZXMuCgoyMDA5LTEwLTA5IDEyOjQwOjQ3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdjogZml4IHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMjoyNToxOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWM6IGZpeCB3YXJuaW5ncyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTI6MTk6MzUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBhbm5vZGV4OiBmaXggd2FybmluZ3MgaW4gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjE0OjIyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW86IGZpeCBhIHdhcm5pbmcgZG9pbmcgYSBjYXN0CgoyMDA5LTEwLTA5IDEyOjExOjEyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogZml4IHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMjowMToxMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IGZpeCB3YXJuaW5nIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMTo1Nzo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCB3YXJuaW5nIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMTo1NDowMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggd2FybmluZ3MgYnVpbGRpbmcgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjQyOjM2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogZml4IHByaW50ZiB3YXJuaW5ncyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTE6MzA6MDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB3YXJuaW5nIGluIG1hY29zeCBtYWtpbmcgdGhlIGZvcm1hdCBwb3J0YWJsZQoKMjAwOS0xMC0wOSAxMDo1MToyOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogdXNlIEdfR1VJTlQ2NF9GT1JNQVQgdG8gZml4IHdhcm5pbmdzIG9uIE9TWAoKMjAwOS0xMC0wOSAxMDoxMTozOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IEZpeGVzIGJ1aWxkIG9uIG1hY29zeCBzbm93IGxlb3BhcmQuCgoyMDA5LTEwLTA5IDExOjM0OjE2ICswMjAwICBQYXUgR2FyY2lhIGkgUXVpbGVzIDxwZ3F1aWxlc0BlbHBhdWVyLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogSW5jbHVkZSBzeXMvaW9jdGwuaCBmb3IgdGhlIFY0TCBpb2N0bCByZXF1ZXN0cwoJICBPbGQgdmlkZW9kZXZpY2UyLmgga2VybmVsIGhlYWRlcnMgdXNlZCBpb2N0bCBzdHVmZiB3aXRob3V0CgkgIGluY2x1ZGluZyBpb2N0bC5oLCBtYWtpbmcgY29tcGlsYXRpb24gZmFpbCBvbiBvbGRlciBzeXN0ZW1zLgoJICBOb3RlOiBJbmNsdWRpbmcgaW9jdGwuaCBoZXJlIGlzIG9ubHkgYSB3b3JrYXJvdW5kIGZvciBvbGQga2VybmVsCgkgIGhlYWRlcnMsIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgZXZlcnlib2R5IGhhcyBuZXcgZW5vdWdoIGhlYWRlcnMuCgkgIEZpeGVzIGJ1ZyAjNTk3ODY3LgoKMjAwOS0xMC0wOSAwMDoxNDowNyArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGNoZWNrOiBNYWtlIHRoZSBsZXZlbCB1bml0IHRlc3Qgc3VjY2VlZCBvbiBTb2xhcmlzIDEwCgkgIEFkZCBhIGNvbmZpZ3VyZSBjaGVjayBmb3IgZnVuY3Rpb25hbCBpc2luZigpIGFuZCBmcGNsYXNzKCksIGFuZAoJICB1c2UgZnBjbGFzcygpIHdoZXJlIHBvc3NpYmxlIHdoZW4gaXNpbmYoKSBpcyBub3QgYXZhaWxhYmxlLgoKMjAwOS0wNS0xNiAxMzo1Mjo1MCArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc3Ryc3RyKCkgdXNhZ2Ugb24gcG9zc2libHkgdW50ZXJtaW5hdGVkIHN0cmluZwoKMjAwOS0xMC0wOCAxNjoxNjoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGNoZWNrOiBMaW5rIGFnYWluc3QgTElCTSBhbmQgaW5jbHVkZSBtYXRoLmggZm9yIGlzaW5mKCkKCjIwMDktMTAtMDcgMjE6NTE6MzggKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJICBvc3M6IERvd25ncmFkZSB0aGUgcmFuayBvZiBvc3NzcmMgdG8gU0VDT05EQVJZCgkgIHdoaWNoIGlzIHRoZSBzYW1lIHJhbmsgYXMgb3Nzc2luayBoYXMuCgkgIEZpeGVzIGJ1ZyAjNTk3NzMwLgoKMjAwOS0xMC0wOCAxMDo1OTo1MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOWZhNGYzIHRvIGEzZTNjZTQKCjIwMDktMTAtMDggMTA6MjA6MDkgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYXZpL3dhdjogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgaW5jb21wYXRpYmxlIHBvaW50ZXJzLgoKMjAwOS0xMC0wNSAxNzozNjo1NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBGaXggcGx1Z2luIGRlc2NyaXB0aW9uCgoyMDA5LTEwLTA3IDE0OjAzOjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIGJ1aWxkOiBmcHJpbnRmLCBzcHJpbnRmLCBzc2NhbmYgbmVlZCBzdGRpby5oCgoyMDA5LTEwLTA3IDAwOjMzOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IHVzZSBzaGVsZmluZyBmaWx0ZXJzIGZvciBmaXJzdCBhbmQgbGFzdCBiYW5kCgkgIFJlZmFjdG9yIHRoZSBmaWx0ZXIgc2V0dXAuIEFkZCB0d28gbmV3IGZpbHRlcnMgd2l0aCBzaGVsZiBjaGFyYWN0ZXJpc3RpY3MgZm9yCgkgIGZpcnN0IGFuZCBsYXN0IGJhbmQuIENoYW5nZSBnYWluIGNhbGN1bGF0aW9uIGFzIHJlY29tbWVuZGVkIGluIHRoZSBxdW90ZWQKCSAgZG9jdW1lbnQgKG5vIHFydCBuZWVkZWQpLiBSZW5hbWUgdmFyaWFibGVzIHRvIG1hdGNoIHRoZSBmb3JtdWxhcyBpbiB0aGUKCSAgZG9jdW1lbnQuCgoyMDA5LTEwLTAyIDIzOjUxOjI5ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBndWFyZCBmcmFnbWVudCBzaXplIHdpdGggYSBsb3dlciBsaW1pdCBiYXNlZCBvbiBsYXRlbmN5LXRpbWUKCSAgSW4gY2FzZSB0aGF0IHRoZSBwdWxzZSBkYWVtb24gcnVucyB0aGUgc291cmNlIGRldmljZSBhdCBhIHJlbGF0aXZlbHkgbG93IGZpeGVkCgkgIGZyYWdtZW50IHNpemUgY29tcGFyZWQgdG8gdGhlIHJlcXVlc3RlZCBsYXRlbmN5LXRpbWUsIGNvbmZpZ3VyZSB0aGUgcmluZyBidWZmZXIKCSAgc2Vnc2l6ZSB0byB0aGUgbGFyZ2VzdCBpbnRlZ2VyIG11bHRpcGxlIG9mIHRoZSBmcmFnbWVudCBzaXplIHRoYXQgaXMgc3RpbGwKCSAgc21hbGxlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSByZXF1ZXN0ZWQgbGF0ZW5jeS10aW1lLgoJICBGaXhlcyBidWcgIzU5NzQ2My4KCjIwMDktMTAtMDYgMTc6NDA6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogY29tbWVudC9sb2dnaW5nIGNsZWFudXBzIGFuZCBtb3JlIGJyYW5jaCBndWlkZXMKCjIwMDktMTAtMDUgMjI6NDM6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogZml4IGZpbHRlciBoaXN0b3J5IHVzYWdlLiBGaXhlcyAjNTk3Mzk3CgkgIFRoZSBwcm9jZXNzIGZ1bmN0aW9ucyB3aGVyZSBvdmVyd3JpdGluZyB0aGUgaGlzdG9yeSBmb3IgZWFjaCBjaGFubmVsLiBBbHNvIHB1bGwKCSAgc29tZSBzdGF0aWMgdGhpbmdzIG91dCBvZiB0aGUgaW5uZXIgbG9vcC4KCjIwMDktMTAtMDUgMTY6MDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2UgbG9ja2luZyBhcm91bmQgdGhlIHNlc3Npb25zCgoyMDA5LTEwLTA1IDExOjQ2OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFrZSBzdXJlIGNvbXBhdGlibGUgYnJhbmRzIGJ1ZmZlciBleGlzdHMgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQKCjIwMDktMTAtMDQgMjE6NTk6MjQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHByaW50ZiB3YXJuaW5ncyBvbiBPU1gKCSAgQ2FzdCB2YXJpYWJsZXMgcGFzc2VkIHRvIHByaW50ZiB0byBhdm9pZCB3YXJuaW5ncyBhYm91dCBpbmNvcnJlY3QKCSAgZm9ybWF0cyAobW9zdCBsaWtlbHkgY2F1c2VkIGJ5IHNpemVvZiByZXR1cm5pbmcgYSBzaXplX3QpLgoJICBGaXhlcyAjNTk3MzQ4LgoKMjAwOS0xMC0wMiAwMDoyMzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBpbnRlcm5hbCBnZW5yZSB0YWJsZQoJICBObyBuZWVkIHRvIG1haW50YWluIG91ciBvd24gZ2VucmUgdGFibGUgaW4gcXRkZW11eC4gVGhlIGdlbnJlcyBhcmUKCSAgaWRlbnRpY2FsIHRvIHRoZSBJRDMgZ2VucmVzLCBzbyB3ZSBjYW4ganVzdCB1c2UgbGliZ3N0dGFnJ3MKCSAgZ3N0X3RhZ19pZDNfZ2VucmVfZ2V0KCkgdG8gbG9vayB0aGVtIHVwLgoKMjAwOS0xMC0wMyAxNzoxODoyOCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXggcHJpbnRmIGZvcm1hdHMgdG8gYXZvaWQgd2FybmluZ3MgaW4gYXZpZGVtdXguIEZpeGVzICM1OTcyMTQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NzIxNAoKMjAwOS0xMC0wMyAwOTo1Mjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2hhbmdlIG9uZSBHU1RfV0FSTklORyB0byBhIEdTVF9ERUJVRwoKMjAwOS0xMC0wMiAxNDozNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogSWYgdGhlcmUncyBubyBhdWRpbyBzdHJlYW0gYWZ0ZXIgNiBzZWNvbmRzIG9mIHZpZGVvIHNpZ25hbCBuby1tb3JlLXBhZHMKCSAgLi4uYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kLiBBbHNvIGlnbm9yZSBhbnkgYXVkaW8vdmlkZW8gc3RyZWFtcyB0aGF0IGFwcGVhcgoJICBhZnRlciBuby1tb3JlLXBhZHMuCgkgIEZpeGVzIGJ1ZyAjNTk3MDkxLgoKMjAwOS0xMC0wMiAxNDozNzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogTWFrZSBzdXJlIHRvIG9ubHkgc2lnbmFsIG5vLW1vcmUtcGFkcyBhIHNpbmdsZSB0aW1lCgoyMDA5LTEwLTAyIDIyOjU1OjQ1ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHJlbmFtZSBwYV9idWZmZXJfYXR0ciB2YXJpYWJsZXMKCSAgTWFrZXMgaXQgbXVjaCBlYXNpZXIgdG8gc2VlIHdoYXQgaXMgZ29pbmcgb24gYW5kIGlzIGEgbG90IGxlc3MgZXJyb3IgcHJvbmUuCgoyMDA5LTEwLTAyIDE4OjI1OjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHA6IGFkZCBtaXNzaW5nIGluY2x1ZGUgdG8gZml4IHRoZSBidWlsZAoKMjAwOS0xMC0wMiAxMzoxNTo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9maWx0ZXI6IGFkZCBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQgdG8gcHJvcGVydHkgc2V0dGVyCgoyMDA5LTEwLTAyIDEzOjEwOjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGRvbid0IGdpdmUgd3JvbmcgbnVtYmVyIG9mIGZpZWxkcyBpbiB0aGUgbWVzc2FnZSBkb2NzCgoyMDA5LTEwLTAxIDEyOjUyOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogY2FjaGUgbGF0ZW5jeSBpbiBuYW5vc2Vjb25kcwoJICBDYWNoZSB0aGUgbGF0ZW5jeSBpbiBuYW5vc2Vjb25kcyB1bml0cyB0byBhdm9pZCBoYXZpbmcgdG8gY29udmVydCB0aGUKCSAgbWlsbGlzZWNvbmRzIHZhbHVlIHRvIG5hbm9zZWNvbmRzIGFsbCB0aGUgdGltZS4KCjIwMDktMTAtMDEgMTI6MTI6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgLTEgaW5wdXQgdGltZXN0YW1wcwoJICBEb24ndCB0cnkgdG8gY2hlY2sgYSAtMSB0aW1lc3RhbXAgYWdhaW5zdCB0aGUgbWF4IGRlbGF5LgoKMjAwOS0xMC0wMSAxMDo1NDo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGRvbid0IG1pc3VlcyBwZXJmLWNhdGVnb3J5IGFuZCByZW1vdmUgdW51c2VkIGV4dCBjYXRlZ29yeQoJICBUaGUgcGVyZm9ybWFuY2UgY2F0ZWdvcnkgaXMgbWVhbnQgdG8gYmUgdXNlZCB0byBhdWRpdCBjb2RlcGF0aHMgdGhhdCBsZWFkIHRvIGJhZAoJICBwZXJmb3JtYW5jZSAoZS5nLiBjb3BpZXMsIGNvbnZlcnNpb24gdGhhdCBjYW4gYmUgYXZvaWRlZCkuCgkgIFJlbW92ZSB0aGUgZXZlbnQgY2F0ZWdvcnkgd2hpY2ggaXMgbm90IHVzZWQuCgoyMDA5LTA5LTE2IDE0OjIzOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheS9kZXBheTogRGVtb3RlIHBlci1idWZmZXIgZGVidWcgbWVzc2FnZXMgdG8gbG9nIGxldmVsCgoyMDA5LTA5LTE2IDE0OjE2OjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogRG9uJ3QgbGVhayBpbmNvbWluZyBidWZmZXJzIGFmdGVyIHN1YmJ1ZmZlcmluZyB0aGVtCgoyMDA5LTA5LTE2IDEzOjU3OjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheS9kZXBheTogQWRkIGRlYnVnIGNhdGVnb3JpZXMKCjIwMDktMDktMTYgMTM6NTU6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBSZW1vdmUgbG9uZyB1bm5lZWRlZCBkZWZpbmUgcmVwbGFjZW1lbnQKCjIwMDktMDktMzAgMTg6MDY6MDcgKzAxMDAgIENocmlzdGlhbiBGLksuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJICBVcGRhdGUgbWFrZWZpbGUgd2l0aCBtaXNzaW5nIGhlYWRlciBmaWxlCgoyMDA5LTA5LTMwIDE4OjQ1OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgcnRwOiBVc2UgYXV0b2F1ZGlve3Npbmssc3JjfSBpbnN0ZWFkIG9mIGFsc2EgaW4gdGhlIGV4YW1wbGVzCgoyMDA5LTA5LTI5IDE3OjUxOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IGxlYWsgb3V0cHV0IGJ1ZmZlcnMgb24gZGVjb2RpbmcgZXJyb3JzCgkgIFRoZSBzZXRqbXAgaGFuZGxlcyBsaWJqcGVnIGVycm9yLiBGcmVlIHRoZSBvdXRwdXRiZmZlciBpZiB3ZSBkb24ndCBuZWVkIGl0LgoKMjAwOS0wOS0yOSAwMDowMTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggR1NUX0RJU0FCTEVfR1NUX0RFQlVHCgoyMDA5LTA5LTIzIDE0OjI1OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IHNtYWxsIGNsZWFudXBzCgoyMDA5LTA5LTIzIDEzOjU3OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCB0aW1lc3RhbXBpbmcgaW4gc29tZSBhdWRpbyBzdHJlYW1zCgkgIEZvciB2YnIgYXVkaW8gc3RyZWFtcyB3ZSBuZWVkIHRvIHVzZSB0aGUgbnVtYmVyIG9mIGJsb2NrcyB0byBjYWxjdWxhdGUgdGhlCgkgIHRpbWVzdGFtcHMuCgkgIFdoZW4gdGhlIGFsbG9jYXRpb24gb2YgYWRkaXRpb25hbCBpbmRleCBtZW1vcnkgZmFpbHMsIGRvbid0IHRocm93IGF3YXkgd2hhdAoJICB3ZSBoYWQgYmVmb3JlLgoJICBWYXJpb3VzIGNsZWFudXBzLgoKMjAwOS0wOS0yMyAxMjo1NjowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBhZGQgc3VwcG9ydCBmb3IgT0RNTCBpbmRleGVzIGFnYWluCgoyMDA5LTA5LTIyIDIyOjEyOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aTogaW1wbGVtZW50IGluZGV4IHNjYW5uaW5nCgkgIEltcGxlbWVudCBzY2FubmluZyBvZiB0aGUgZmlsZSB3aGVuIHdlIGNhbiBwYXJzZSB0aGUgaW5kZXguCgkgIFNvbWUgcmVmYWN0b3Jpbmcgb2YgY29tbW9uIGNvZGUuCgkgIENsZWFudXBzIGFuZCBjb21tZW50cy4KCSAgUmVtb3ZlIHNvbWUgcmVpbXBsZW1lbnRlZCBjb2RlLgoJICBSZW1vdmUgaW5kZXggbWFzc2FnZSBjb2RlIGFuZCBwdXQgYSBGSVhNRSB3aGVyZSB3ZSBzaG91bGQgZG8gc29tZXRoaW5nCgkgIGVxdWl2YWxlbnQgbGF0ZXIuCgoyMDA5LTA5LTIyIDE4OjE4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCByZXZlcnNlIHBsYXliYWNrCgoyMDA5LTA5LTIyIDE3OjQyOjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCBwcmV2IGtleWZyYW1lIHNlYXJjaCBhbmQgY2xlYW51cHMKCjIwMDktMDktMjIgMTQ6NTE6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogcmVtb3ZlIGNvZGUgdGhhdCBnb3QgY29udmVydGVkCgoyMDA5LTA5LTIyIDE0OjQ0OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aTogbW9yZSBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSBkdXBsaWNhdGUgY291bnRlcnMuCgkgIEJlIHNtYXJ0ZXIgd2hlbiB1cGRhdGVpbmcgdGhlIGN1cnJlbnQgdGhlIHRpbWVzdGFtcCBhbmQgb2Zmc2V0IGluIHRoZSBzdHJlYW0KCSAgYmVjYXVzZSB3ZSBjYW4gcmV1c2UgcHJldmlvdXNseSBjYWxjdWxhdGVkIHZhbHVlcyB3aGVuIHNpbXBseSBnbyBmb3J3YXJkIG9uZQoJICBzdGVwLgoJICBDb3JyZWN0bHkgc2V0IG1ldGFkYXRhIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA5LTA5LTIyIDEyOjM1OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBzbWFsbCBjbGVhbnVwcwoKMjAwOS0wOS0yMiAwMToyODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggcmVhZCBvZmZzZXQgYW5kIGNsZWFudXBzCgoyMDA5LTA5LTIxIDE4OjA0OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aTogcmV3cml0ZSBpbmRleCBwbGF5YmFjawoJICBkaXNhYmxlIGNvZGUsIHN0YXJ0IG9uIHJlaW1wbGVtZW50aW5nIGxvb3AgYmFzZWQgb3BlcmF0aW9uLgoJICBSZXdyaXRlIHRoZSBpbmRleCBoYW5kbGluZyBzbyB0aGF0IGFsbCBzdHJlYW1zIHVzZSB0aGVpciBvd24gaW5kZXggZm9yIGRlY29kaW5nCgkgIG1lZGlhLgoKMjAwOS0wOS0yMSAxNTozNTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogYWRkIG5ldyBpbmRleCBwYXJzaW5nIGNvZGUKCSAgQWRkIGEgbmV3IGZ1bmN0aW9uIGFuZCBkYXRhc3RydWN0dXJlIHRvIHBhcnNlIGFuZCBob2xkIHRoZSBpbmRleCBlbnRyaWVzIG9uIGEKCSAgcGVyIHN0cmVhbSBiYXNlLiBBbHNvIGF2b2lkIGRvaW5nIHRvbyBtdWNoIHdvcmsgdHJ5aW5nIHRvIGZpZ3VyZSBvdXQgdGhlCgkgIHRpbWVzdGFtcHMgYW5kIGR1cmF0aW9ucyBhcyB3ZSBjYW4gdHJpdmlhbGx5IGRvIHRoYXQgbGF0ZXIuCgkgIExlc3MgaW5mb3JtYXRpb24gaW4gdGhlIGVudHJpZXMgbWFrZXMgdGhlbSAyIHRpbWVzIHNtYWxsZXIgYW5kIG5vdCBkb2luZyB0b28KCSAgbXVjaCB3b3JrIG1ha2VzIHRoaXMgY29kZSBhYm91dCAxMiB0aW1lcyBmYXN0ZXIgdGhhbiB0aGUgcmVndWxhciBjYXNlLgoJICBIb29rIGluIHRoZSBuZXcgZnVuY3Rpb24gYWxvbmdzaWRlIHRoZSBleGlzdGluZyBmdW5jdGlvbiBmb3IgY29tcGFyaXNvbiB1bnRpbAoJICB0aGUgcmVzdCBvZiB0aGUgY29kZSBpcyB1cGRhdGVkIHRvIGhhbmRsZSB0aGUgbmV3IGluZGV4IGRhdGFzdHJ1Y3R1cmUuCgoyMDA5LTA5LTI4IDE2OjI5OjQ1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWc6IGhhbmRsZSBtb3JlIGxpYmpwZWcgcmV0dXJuIHZhbHVlcywgYWRkIHNvbWUgbW9yZSBicmFuY2ggaGludHMKCSAgQWxzbyByZW1vdmUgdW51c2VkIHNpemUgdmFyaWFibGUgaW4gX2NoYWluKCkuCgoyMDA5LTA5LTI1IDE5OjIxOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc29tZSBvcHRpb25hbCBRVCBzcGVjaWZpZWQgc3RzZCBNUEVHLTQgYXRvbXMgYWxzbyBhcHBseSB0byBIMjY0CgkgIEZpeGVzICM1OTYzMTkuCgoyMDA5LTA5LTI1IDE2OjQwOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSBzZW5kIHRhZyBldmVudHMgZG93bnN0cmVhbSBhZnRlciBuZXdzZWdtZW50CgoyMDA5LTA5LTI1IDE0OjE0OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaWYgdHJhbnNwb3J0IHByb3RvY29sIHVuc3VwcG9ydGVkLCB0cnkgYW5vdGhlciBvbmUKCSAgQWxzbyBjaGFuZ2UgZXJyb3IgbWVzc2FnZSB0byBtb3JlIGFjY3VyYXRlbHkgcmVmbGVjdCBjYXNlcyBpbiB3aGljaAoJICBpdCBjYW4gb2NjdXIuCgoyMDA5LTA5LTI1IDExOjU0OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgZHVyYXRpb25zIG1vZHVsbyAxPDwzMgoJICBGb3IgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9ucyBvZiBlYWNoIHNhbXBsZSwgd2UgYXJlIHN1cHBvc2VkIHRvIGFkZCBlYWNoCgkgIGR1cmF0aW9uIG1vZHVsbyAxPDwzMiBzbyBtYWtlIHRoZSBlbGFwc2VkIHRpbWUgY291bnRlciBhIHVpbnQzMi4KCSAgRml4ZXMgIzU5NTk0MgoKMjAwOS0wOS0yNCAyMDozODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc21hbGwgY2xlYW51cAoKMjAwOS0wOS0yNCAxOTozMzozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSAgcXRkZW11eDogZG9uJ3QgdXNlIGNvcmUgQVBJIHRoYXQgZG9lc24ndCBleGlzdCB5ZXQKCSAgVGhlcmUncyBubyBnc3RfYnl0ZV9yZWFkZXJfaGFzX3JlbWFpbmluZygpIHlldC4gRml4ZXMgYnVpbGQuCgoyMDA5LTA5LTI0IDEzOjIwOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJICBxdGRlbXV4OiBtYXAgc29tZSBhdG9tcGFyc2VyIGZ1bmN0aW9ucyB0byB0aGVpciBuZXcgYnl0ZXJlYWRlciBlcXVpdmFsZW50cwoJICBOb3cgdGhhdCBHc3RCeXRlUmVhZGVyIGhhcyB1bmNoZWNrZWQgYW5kIGlubGluZWQgdmFyaWFudHMgYXMgd2VsbCwgbWFwCgkgIGF0b21wYXJzZXIgZnVuY3Rpb25zIHRvIHRoZWlyIHJlc3BlY3RpdmUgYnl0ZXJlYWRlciBlcXVpdmFsZW50cy4KCjIwMDktMDgtMjUgMTI6MTE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGFkZCBxdF9hdG9tX3BhcnNlcl9oYXNfY2h1bmtzKCkgYW5kIGZpeCBpbmRlbnRhdGlvbgoKMjAwOS0wOC0yMCAxODoyMTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGJhaWwgb3V0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGFsbG9jIHNpbGx5IGluZGV4IHNpemVzCgkgIElmIGl0IGxvb2tzIGxpa2Ugd2Ugd291bGQgYmUgYWxsb2NhdGluZyBhIHNpbGx5IHNpemUgZm9yIG91ciBzYW1wbGUKCSAgaW5kZXgsIGp1c3QgYmFpbCBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gYWxsb2NhdGUgaXQuIEhlbHBzIHdpdGgKCSAgYnJva2VuIG9yIGZ1enplZCBmaWxlcyB3aGVyZSB3ZSBtaWdodCBlbmQgdXAgdHJ5aW5nIHRvIG1hbGxvYyBhCgkgIGNvdXBsZSBvZiBodW5kcmVkIE1CcyBvdGhlcndpc2UuCgoyMDA5LTA4LTIwIDE2OjQ3OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXJyb3Igb3V0IGNvcnJlY3RseSBpZiB3ZSBkb24ndCBldmVuIGhhdmUgZW5vdWdoIGJ5dGVzIGZvciBhbiBhdG9tIGhlYWRlcgoKMjAwOS0wOC0yMCAxNTozOTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXQgZm91cmNjIHRvIDAgYXMgd2VsbCB0byBhdm9pZCBpbnZhbGlkIHJlYWRzIHdoZW4gcHJpbnRmJ2luZyBlcnJvciBtZXNzYWdlCgoyMDA5LTA4LTIwIDAxOjM5OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBhZGQgcXRfYXRvbV9wYXJzZV9oYXNfcmVtYWluaW5nKCkgdG8gYXZvaWQgb3ZlcmZsb3dzIHdpdGggX2dldF9yZW1haW5pbmcoKQoKMjAwOS0wOC0yMCAwMToyMTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBHc3RCeXRlUmVhZGVyIHdoZW4gcGFyc2luZyB0a2hkIGF0b20KCjIwMDktMDgtMTkgMTk6MTM6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgdW5zaWduZWQgaW50cyBmb3Igbm9kZSBsZW5ndGggYW5kIGRvIG1vcmUgc2FuaXR5IGNoZWNraW5nIG9mIHRoZSBhdG9tIGxlbmd0aAoKMjAwOS0wOC0xOSAwMTozNjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IHVzZSBHc3RCeXRlUmVhZGVyIGZvciBhdG9tIGR1bXBpbmcgYW5kIGZpeCBhIGZldyBidWdzCgoyMDA5LTA4LTIxIDE0OjIxOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbW92ZSBzdGNvLCBzdHRzLCBzdHNzIGFuZCBzdHBzIGF0b20gcGFyc2luZyBvdmVyIHRvIEdzdEJ5dGVSZWFkZXIKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBhdG9tIGJvdW5kYXJ5LiBOb3RlIHRoYXQgdGhlIGNvZGUKCSAgYmVoYXZlcyBzbGlnaHRseSBkaWZmZXJlbnRseSBpbiB0aGUgY29ybmVyIGNhc2Ugd2hlcmUgdGhlcmUgaXMgbm90CgkgIGVub3VnaCBhdG9tIGRhdGEgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNhbXBsZXMgKG5fc2FtcGxlc190aW1lKQoJICBpbiB0aGUgYXRvbSwgYnV0IHN0aWxsIGVub3VnaCBkYXRhIHRvIGZpbGwgdGhlIHByZS1hbGxvY2F0ZWQgaW5kZXggb2YKCSAgbl9zYW1wbGVzIGVudHJpZXM6IGJlZm9yZSB3ZSB3b3VsZCBqdXN0IHN0b3AgcGFyc2luZyB0aGUgc3R0cyBkYXRhCgkgIGFuZCBjb250aW51ZSwgd2hlcmVhcyBub3cgd2Ugd2lsbCBsaWtlbHkgZXJyb3Igb3V0LiBUaGlzIHNob3VsZCBub3QKCSAgYmUgYSBwcm9ibGVtIGluIHByYWN0aWNlIHRob3VnaC4gV2UgY291bGQgbWFpbnRhaW4gdGhlIG9sZCBiZWhhdmlvdXIKCSAgYnkgZG9pbmcgcmVhZHMgd2l0aCBhIHNpemUgY2hlY2sgaW5zaWRlIHRoZSBsb29wIGlmIG5lZWRlZC4KCjIwMDktMDYtMzAgMTk6NTE6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgYnl0ZXJlYWRlciB0byBwYXJzZSBzdHN6IGFuZCBzdHNjIGF0b21zCgkgIFVzZSBHc3RCeXRlUmVhZGVyIHRvIHBhcnNlIHN0c3ogYW5kIHN0c2MgY2h1bmtzLCBhbmQgY2hlY2sgc2l6ZSBvZgoJICBhdmFpbGFibGUgZGF0YSBiZWZvcmUgcGFyc2luZyBpdCwgaW5zdGVhZCBvZiBibGluZGx5IGFzc3VtaW5nIHRoZXJlCgkgIHdpbGwgYmUgZW5vdWdoIGRhdGEuIEZpeGVzIGNyYXNoZXMgd2l0aCBzb21lIGZ1enplZC9icm9rZW4gZmlsZXMuCgoyMDA5LTA4LTE1IDIwOjM4OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJICBxdGRlbXV4OiBhZGQgcXRfYXRvbV9wYXJzZXJfZ2V0X29mZnNldCgpIGFuZCBvcHRpbWlzZSBfcGVla19zdWIoKQoKMjAwOS0wNy0wMSAxMzo0OTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIFF0QXRvbVBhcnNlciwgYW4gaW5saW5lZCBHc3RCeXRlUmVhZGVyIHZhcmlhbnQKCjIwMDktMDktMjMgMTc6MTk6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiB1c2UgcHJvcGVyIG9yZGVyIGZvciBuby1tb3JlLXBhZHMgYW5kIG5ld3NlZ21lbnQgYW5kIHRhZyBzZW5kaW5nCgoyMDA5LTA5LTIzIDA5OjUwOjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzcHJpbmtsZSBhIGZldyBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMjIgMTU6MDM6MjAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIEZpeCBjb21waWxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuMC4xLgoKMjAwOS0wOS0yMiAxMTo0ODo1MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRG9uJ3QgZ2V0IHN0dWNrIGluIGFuIGluZmluaXRlIGxvb3Agd2l0aCBEaXJhYwoJICBBdCB0aGUgZW5kLCBEaXJhYyBzdHJlYW1zIGhhdmUgYW4gRU9TIHBhY2tldCB3aXRoIDAgbGVuZ3RoLgoJICBEb24ndCBldmVyIHNpdCBpbiBhbiBpbmZpbml0ZSBsb29wIHdoZW4gcHJvY2Vzc2luZyBvbmUuIEFsbG93cwoJICBtdXhpbmcgRGlyYWMgaW50byBta3YgdG8gY29tcGxldGUgc3VjY2Vzc2Z1bGx5LgoKMjAwOS0wOS0yMiAxMTowMzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoKMjAwOS0wOS0yMiAxMTowMjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgdmlkZW9taXhlcjogZml4IHVwIE1ha2VmaWxlIHNvbWUgbW9yZQoJICBSZW1vdmUgQ0ZMQUdTIGZyb20gTElCQUREIGFuZCBtYWtlIG9yZGVyIG9mIHRoZSB2YXJpb3VzIENGTEFHUyBhbmQKCSAgTElCUyBhdCBsZWFzdCBjb25zaXN0ZW50IHdpdGggZWFjaCBvdGhlci4KCjIwMDktMDktMjIgMDg6MDI6NDggKzAyMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICB2aWRlb21peGVyOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpIHRvIExERkxBR1MgZm9yIGxpbmtpbmcgbGliZ3N0dmlkZW8KCSAgRml4ZXMgYnVnICM1OTU4OTcuCgoyMDA5LTA5LTIxIDE4OjA5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCB0aW1lc3RhbXBzIGluIHB1c2ggbW9kZQoKMjAwOS0wOS0xOCAxNzoyNjo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgYSBHX1VOTElLRUxZIGFuZCBwdXQgcGVyZi1jYXQgbG9nIHRvIGNvZGUgcGF0aCB0aGF0IGNvcGllcwoKMjAwOS0wOS0yMSAxMjozMjo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBhZGQgc29tZSBwZXJmb3JtYW5jZSBtZWFzdXJlbWVudHMKCSAgTWVhc3VyZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdmFyaW91cyBpbmRleCBhbmQgaGVhZGVyIHBhcnNpbmcgc3RlcHMgdG8gdGhlCgkgIFBFUkZPUk1BTkNFIGRlYnVnIGNhdGVnb3J5LgoKMjAwOS0wOS0xOCAxMTo1MzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IGFsbG93IGZvciB1bmtub3duIHZhcnlpbmcgbnVtYmVyIG9mIGZyYW1lcyBwZXIgYnVmZmVyCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgY2F0ZXJzIGZvciBSVFAgcGF5bG9hZHMgd2l0aCBtdWx0aXBsZSBmcmFtZXMKCSAgcGVyIHBhY2tldC4KCjIwMDktMDktMTggMTE6NDU6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiB1c2UgY29ycmVjdCBzYW1wbGUgc2l6ZSBpbiBjb252ZXJzaW9ucwoKMjAwOS0wOS0xOCAxMTo0Mzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGZpeCBidWZmZXIgdGltZSBhbmQgZHVyYXRpb24gZm9yIG11bHRpcGxlIGZyYW1lcyBwZXIgcGFja2V0CgoyMDA5LTA5LTE4IDE0OjIyOjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzb21lIGxvZ2dpbmcgY2xlYW51cCB0byBoZWxwIHVuZGVyc3RhbmRpbmcgdGhlIGluZGV4IHBhcnNpbmcgb3ZlcmhlYWQKCjIwMDktMDktMTYgMTM6Mjg6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBvc3hhdWRpbzogbGluayBhZ2FpbnN0IEdTVF9CQVNFX0xJQlMKCjIwMDktMDktMTUgMTc6MjQ6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBGaXggYWRhcHRlciBsZWFrCgkgIFRoZSBhZGFwdGVyIHdvdWxkIGJlIGxlYWtlZCBpZiBpdCB3YXMgZW1wdHkgYW5kIHRoZSBkYXRhIGNvdWxkIGJlIHB1c2hlZCBvdXQgZGlyZWN0bHkuCgoyMDA5LTA5LTE1IDEwOjA0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBwb2ludGVycwoJICBwYV9zdHJlYW1fZ2V0X3RpbWluZ19pbmZvKCkgY2FuIHJldHVybiBOVUxMLgoJICBGaXhlcyBidWcgIzU5NTIyMC4KCjIwMDktMDktMTUgMTA6MDE6NTQgKzAyMDAgIERhdmlkIEhlbm5pbmdzc29uIDxnbm9tZS53ZWJAZXBvc3QuZGl3aWMuc2U+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBwb2ludGVycwoJICBwYV9zdHJlYW1fZ2V0X3RpbWluZ19pbmZvKCkgY2FuIHJldHVybiBOVUxMLgoJICBGaXhlcyBidWcgIzU5NTIyMC4KCjIwMDktMDktMTQgMTY6MDU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIHN0cmVhbSBldmVudHMKCSAgSGFuZGxlIHN0cmVhbSBldmVudHMgYW5kIHJlcXVlc3QgYSBQQVVTRS9QTEFZIHN0YXRlIGNoYW5nZSBmcm9tIHRoZSBhcHBsaWNhdGlvbgoJICB3aGVuIHdlIHJlY2VpdmUgYSBDT1JLL1VOQ09SSyBldmVudC4KCjIwMDktMDktMTMgMTI6MzA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBBZGQgbmV4dC1maWxlIHByb3BlcnR5CgkgIEFkZCBhIHByb3BlcnR5IHRvIGFsbG93IGNvbnRyb2wgb3ZlciB3aGF0IGV2ZW50IGNhdXNlcyBhIGZpbGUKCSAgdG8gZmluaXNoIGJlaW5nIHdyaXR0ZW4gYW5kIGEgbmV3IGZpbGUgc3RhcnQuICBUaGUgZGVmYXVsdCBpcwoJICB0aGUgc2FtZSBhcyBiZWZvcmUgLS0gZWFjaCBidWZmZXIgY2F1c2VzIGEgbmV3IGZpbGUgdG8gYmUKCSAgd3JpdHRlbi4gIEFkZGVkIGlzIGEgY2FzZSB3aGVyZSBidWZmZXJzIGFyZSB3cml0dGVuIHRvIHRoZQoJICBzYW1lIGZpbGUgdW50aWwgYSBkaXNjb250aW51aXR5IGluIHRoZSBzdHJlYW0uCgoyMDA5LTA5LTEzIDE1OjU1OjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IFVzZSB2YWx1ZXMgZnJvbSBkZWNvZGVyIHN0cnVjdHVyZSBkaXJlY3RseQoJICBEb24ndCBzdG9yZSB0aGUgc2FtZSB2YWx1ZXMgaW4gdGhlIEdzdER2RGVtdXguICBUaGlzCgkgIGZpeGVzIGEgYnVnIHdoZXJlIGR2ZGVtdXggd291bGQgZGV0ZWN0IGEgc3RyZWFtIGFzIFBBTAoJICBpbnN0ZWFkIG9mIE5UU0MsIGFuZCBzaWxlbnRseSBwYXJzZSBpdCB3cm9uZy4KCjIwMDktMDktMTMgMTI6MjA6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5jOgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5oOgoJKiBleHQvZHYvc21wdGVfdGVzdC5jOgoJICBkdmRlbXV4OiBBZGQgY29kZSB0byBwYXJzZSBTTVBURSB0aW1lIGNvZGVzCgkgIENvZGUgdG8gY29udmVydCB0aW1lIGNvZGVzIHRvL2Zyb20gdGltZXN0YW1wcyBhbmQgZnJhbWUgbnVtYmVycy4KCjIwMDktMDktMTMgMTI6MDE6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogRml4IGRldGVjdGlvbiBvZiBuZXcgbWVkaWEKCSAgVGhlcmUgYXJlIDUgb3IgNiBBQVVYIHNvdXJjZSBjb250cm9sIHBhY2tzIGluIGEgZnJhbWUsIGFuZCBhbnkKCSAgb2YgdGhlbSBjb3VsZCBoYXZlIFJFQ19TVCBjbGVhcmVkLCBpbmRpY2F0aW5nIGEgcmVjb3JkaW5nIHN0YXJ0CgkgIHBvaW50LiAgbGliZHYgb25seSBjaGVja3MgdGhlIGZpcnN0LgoKMjAwOS0wOS0xMiAxOToyNTozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFNldCBESVNDT05UIGZsYWcgb24gYnVmZmVycyB3aGVuIFJFQ19TVCBmbGFnIGlzIHNldC4KCSAgQWxzbyBhZGQgYSBmZXcgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zCgoyMDA5LTA5LTEyIDAwOjEzOjA0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgY2hlY2s6IEZpeCBhIGNvdXBsZSBvZiB0ZXN0cy4KCSAgVGhlIHNvdXBodHRwc3JjIHRlc3Qgd2Fzbid0IGNvbXBpbGluZy4gVGhlIHNvdXAtbWlzYy5oIGhlYWRlciBpcyBuZWVkZWQgZm9yCgkgIHNvdXBfc3NsX3N1cHBvcnRlZC4KCSAgRml4IHRoZSB5NG1lbmMgdGVzdCB0byB1c2UgYSAncHJvZ3Jlc3NpdmUnIGhlYWRlciBmb3IgdGhlIHRlc3QgZGF0YSBub3cgdGhhdAoJICB0aGUgZWxlbWVudCBvdXRwdXRzIGNvcnJlY3QgaW50ZXJsYWNpbmcgaW5mby4KCjIwMDktMDktMTEgMTM6MzI6MzkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB0cmVhdCBhIHplcm8tc2l6ZWQgZGF0YSBjaHVuayBhcyBleHRlbmRpbmcgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzb21lIGZpbGVzIHRoYXQgZG9uJ3QgaGF2ZSBhIHZhbGlkIGRhdGEgY2h1bmsgbGVuZ3RoLAoJICBhcHBhcmVudGx5IHNvbWUgcHJvZ3JhbSBjcmVhdGVzIHRoZXNlLgoKMjAwOS0wOS0xMSAyMjoyNDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGFkZCBhIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIGdldF9mcmFtZSBmdW5jdGlvbiBhbmQgb3B0aW1pemUgYSBiaXQKCSAgVXNlIGEgZnVuY3Rpb24tcG9pbnRlciBmb3IgbW1hcC9yZWFkLCBhcyB0aGlzIGNhbid0IGNoYW5nZSBkdXJpbmcgY2FwdHVyZS4gQWxzbwoJICBzcHJpbmtsZSBhIGZldyBHX0xJS0VMWS9VTkxJS0VMWSB0byBpbXByb3ZlIHRoZSBlcnJvci1sZXNzIGNvZGUgcGF0aC4KCjIwMDktMDktMTEgMjI6MTU6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBsb2cgYnVmZmVyIGNvcGllcyBvbiBxdWV1ZSB1bmRlcnJ1biBpbiBwZXJmIGNhdGVnb3J5CgkgIHY0bDJzcmMgaGFzIGEgc2xvdyBwYXRoIHdoZXJlIGl0IGRvZXMgYnVmZmVyLWNvcGllcyB3aGVuIGl0IHJ1bnMgb3V0IG9mIHF1ZXVlZAoJICBidWZmZXJzLiBMb2cgdGhpcyB0byBwZXJmb3JtYW5jZSBjYXRlZ29yeSB0byBoZWxwIG1vbml0b3JpbmcgaXQuCgoyMDA5LTA5LTExIDE1OjE0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBJbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZQoKMjAwOS0wOS0xMSAxNjowOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBJbXBsZW1lbnQgbXV0ZSBwcm9wZXJ0eQoKMjAwOS0wOS0xMSAxMzozMzozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogZml4IGRvY3MgcmVmZXJpbmcgdG8gc2VuZC1tZXNzYWdlcwoKMjAwOS0wOS0xMSAxMzoyODozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IGFkZCBwb3N0LW1lc3NhZ2VzIHByb3BlcnR5CgkgIEFkZCBhIHBvc3QtbWVzc2FnZXMgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSB0aGUgbGVzcyBkZXNjcmlwdGl2ZSBtZXNzYWdlCgkgIHByb3BlcnR5LgoKMjAwOS0wOS0xMSAxMzoyMDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJICBwaXhidWZzaW5rOiBhZGQgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eQoJICBBZGQgcG9zdC1tZXNzYWdlcyBhbmQgZGVwcmVjYXRlIHNlbmQtbWVzc2FnZXMgYXMgdGhlIGZvcm1lciBpcyBtb3JlCgkgIGRlc2NyaXB0aXZlIG9mIHdoYXQgYWN0dWFsbHkgaGFwcGVucy4KCjIwMDktMDktMTEgMTM6MTI6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IHJlbmFtZSBzaWxlbnQgdG8gcG9zdC1tZXNzYWdlcwoJICBVc2UgdGhlIHBvc3QtbWVzc2FnZXMgcHJvcGVydHkgbmFtZSBpbnN0ZWFkIG9mIHNpbGVudCBhcyBpdCBpcyBtb3JlCgkgIGRlc2NyaXB0aXZlLgoKMjAwOS0wOS0xMSAxMjoxNjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogcG9zdCBtZXNzYWdlcyBmb3IgZWFjaCBidWZmZXIKCSAgQWRkIGEgc2lsZW50IHByb3BlcnR5IHRoYXQgY2FuIGJlIHNldCB0byBGQUxTRSB0byBwb3N0IG1lc3NhZ2VzIG9uIHRoZSBidXMgZm9yCgkgIGVhY2ggd3JpdHRlbiBmaWxlLgoJICBEbyBzb21lIG1vcmUgY2xlYW51cHMuCgkgIEFkZCBzb21lIGRvY3MuCgkgIEZpeGVzICM1OTQ2NjMKCjIwMDktMDktMDkgMTg6MTM6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBBbGxvY2F0ZSBCb3VuZHJ5IHN0cnVjdHMgb24gdGhlIHN0YWNrIGluc3RlYWQgb2YgdGhlIGhlYXAgdG8gYXZvaWQgbGVha3MKCSAgRml4ZXMgYnVnICM1OTQ2OTEuCgoyMDA5LTA5LTEwIDEwOjI4OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBkb2NzOiBmaXggZ3RrLWRvYyB3YXJuaW5ncwoKMjAwOS0wOS0xMCAxMDoyNjoyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICBkb2NzOiBmaXggZ3RrLWRvYyB3YXJuaW5ncwoKMjAwOS0wOS0wOSAxNzo1MToxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIGR2MTM5NHNyYzogQWRkIGEgY2xvY2sgYmFzZWQgb24gaXNvY2hyb25vdXMgY3ljbGUgY291bnRlcgoJICBQYXJ0aWFsIGZpeCBmb3IgIzE2OTM4My4KCjIwMDktMDktMDkgMTY6MDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggQVlVVi0+STQyMCBjb252ZXJzaW9uCgkgIEZvciB0aGlzIGZpeCB0aGUgYXZlcmFnaW5nIG9mIHRoZSBjaHJvbWEgdmFsdWVzLiBJdCBzaG91bGQndCBiZSAoYS8yICsgYikvMgoJICBidXQganVzdCAoYSArIGIpLzIuCgkgIEZpeGVzIGJ1ZyAjNTk0NTk5LgoKMjAwOS0wOS0wOSAxNjoyNTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlbW92ZSByaW5nYnVmZmVyIHJlc2V0IGNvbXBlbnNhdGlvbgoJICBSZW1vdmUgdGhlIGNvZGUgdG8gZGVhbCB3aXRoIGEgcmluZ2J1ZmZlciByZXNldCBhcyB0aGlzIGNvZGUgaXMgbm93IGluIHRoZSBiYXNlCgkgIGNsYXNzLgoJICBCdW1wIHRoZSAtYmFzZSByZXF1aXJlbWVudCBhcyB3ZSBuZWVkIHRoZSBuZXcgYmFzZWF1ZGlvc2luayBjb2RlIHRvIGZ1bmN0aW9uCgkgIHByb3Blcmx5LgoKMjAwOS0wOS0wOSAxNjoyNDo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTA5IDEwOjI3OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTA4IDE5OjM0OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkgIHB1bHNlOiBzbWFsbCBjbGVhbnVwcwoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvCgkgIEZpeCB0aGUgc3RhdGUgY2hhbmdlcwoKMjAwOS0wOS0wOCAxODoyOTozNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnRtdXg6IG1hcmsgZGF0YSBidWZmZXIgYXMgZGVsdGEtdW5pdAoJICBTbyB0aGF0IG11bHRpZmRzaW5rIGFsd2F5cyBzdGFydCBzZW5kaW5nIGhlYWRlciBidWZmZXIgZmlyc3QKCSAgRml4ZXMgIzU5NDUyMAoKMjAwOS0wOS0wOCAxNzozNzoxNSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgaWdub3JlLXB0IHBhcmFtZXRlcgoJICBBZGQgYSBwYXJhbWV0ZXIgJ2lnbm9yZS1wdCcgdGhhdCBkaXNhYmxlcyBjcmVhdGluZyBhIGdzdHJ0cHB0ZGVtdXggbW9kdWxlIGFuZAoJICBnaG9zdHMgdGhlIHBhZHMgb2YgZ3N0cnRwaml0dGVyYnVmZmVyIGluc3RlYWQgb2YgdGhlIG9uZXMgb2YgZ3N0cnRwcHRkZW11eC4KCSAgRml4ZXMgIzU5NDQ5MAoKMjAwOS0wOS0wNCAxMzo1MTozNyArMDIwMCAgTWFydmluIFNjaG1pZHQgPG1hcnZpbl9zY2htaWR0QGdteC5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBjaGVja3M6IG9ubHkgcnVuIEhUVFBTIHRlc3QgaWYgbGlic291cCBoYXMgU1NMIHN1cHBvcnQKCjIwMDktMDktMDggMTM6NTk6NTYgKzAyMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogcHJvcGFnYXRlIHBheWxvYWQtdHlwZS1jaGFuZ2Ugc2lnbmFsIGZyb20gZGVtdXhlcgoJICBmaXhlcyAjNTk0MjU0CgoyMDA5LTA4LTMxIDE4OjQ2OjI1ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBjaGFuZ2Ugc2V2ZXJpdHkgb2YgY2xvY2stcmF0ZSBjaGFuZ2UgZGVidWcKCSAgTWFrZSBsb2cgR1NUX0RFQlVHIHVuZGVyIG5vcm1hbCBjaXJjdW1zdGFuY2VzLCBHU1RfV0FSTklORyBvdGhlcndpc2UuCgkgIEZpeGVzICM1OTQyNTMKCjIwMDktMDktMDggMTM6Mzk6MzEgKzAyMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhdm9pZCB0aHJvd2luZyByZW9yZGVyZWQgYnVmZmVycyB3aXRoIHNhbWUgdGltZXN0YW1wcwoJICBXaGVuIHdlIHJlY2VpdmUgYSByZW9yZGVyZWQgcGFja2V0IHdpdGggdGhlIHNhbWUgdGltZXN0YW1wIGFzIHRoZSBwcmV2aW91cyBvbmUKCSAgKHdoaWNoIGNhbiBoYXBwZW4gZm9yIGZyYWdtZW50ZWQgcGFja2V0cykgZG9uJ3QgY29uc2lkZXIgdGhlIHBhY2tldCBhcyBsb3N0IGJ1dAoJICBpbnN0ZWFkIHdhaXQgZm9yIHRoZSByZW9yZGVyZWQgcGFja2V0IHRvIGFycml2ZS4KCSAgU3dpdGNoIHRoZSB3YXJuaW5nLWxldmVsLCBzbyB0aGF0IGEgcmVvcmRlcmluZyBkb2VzIG5vdCBnZXQgYSB3YXJuaW5nLCBvbmx5CgkgIGFuIGFjdHVhbCBwcm9kdWNlZCBsb3N0LXBhY2tldC4KCSAgRml4ZXMgIzU5NDI1MQoKMjAwOS0wOC0zMSAyMToxNjo1NCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBhZGQgbWlzc2luZyBtYXRoLmggaW5jbHVkZQoJICBGaXhlcyAjNTk0MjQ3CgoyMDA5LTA5LTA4IDEzOjMwOjI5ICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtZW1vcnkgbGVhawoJICBJbiBnc3RfcnRzcHNyY19wYXJzZV9kaWdlc3RfY2hhbGxlbmdlKCksIHJ0c3BzcmMgZG9lcyBhIGdfc3RybmR1cCBvZiB0aGUgYXV0aAoJICBoZWFkZXIgaXRlbXMgYW5kIHRoZW4gcGFzc2VzIHRoZW0gdG8gZ3N0X3J0c3BfY29ubmVjdGlvbl9zZXRfYXV0aF9wYXJhbSgpCgkgIHdpdGhvdXQgZnJlZWluZy4KCSAgRml4ZXMgIzU5NDEzMwoKMjAwOS0wOS0wOCAxMzoxODoyOSArMDIwMCAgU3RpZyBTYW5kbmVzIDxzdGlnLnNhbmRuZXNAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogbWFrZSBmcmVlX3Nlc3Npb24oKSByZW1vdmUgc3RyZWFtIHJlZmVyZW5jZXMKCSAgV2hlbiByZWNlaXZpbmcgYSBzeW5jLXBhY2tldCwgYWxsIHNlc3Npb25zIHdpdGggdGhlIHNhbWUgY25hbWUgd2lsbCBiZSBjb21wYXJlZAoJICBhbmQgc3luY2VkIHRvZ2V0aGVyLiBJbiB0aGlzIHByb2Nlc3MsIHRoZXJlIGNvdWxkIHN0aWxsIGJlIHJlZmVyZW5jZXMgdG8gYQoJICBzZXNzaW9uIHRoYXQgaGFzIGJlZW4gc2h1dCBkb3duIGluIHRoZSBtZWFud2hpbGUuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZXNlIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQgd2hlbiBzaHV0dGluZyBkb3duIGEKCSAgc2Vzc2lvbiwgc28gdGhhdCB0aGUgc3luY2luZyBjYW4gYmUgZG9uZSBzYWZlbHkuCgkgIEZpeGVzICM1OTQyODMKCjIwMDktMDgtMzEgMTg6NDY6NTEgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBsb2NrZWQgc3RhdGUgb24gaW50ZXJuYWwgYmlucwoJICBTZXQgdGhlIGxvY2tlZCBzdGF0ZSBvbiBpbnRlcm5hbCBlbGVtZW50cyB0byBtYWtlIHN1cmUgdGhhdCB0aGV5IGRvbid0IGNoYW5nZQoJICBiYWNrIHRvIGFub3RoZXIgc3RhdGUgd2hlbiBzaHV0dGluZyBkb3duLgoJICBGaXhlcyAjNTk0MjQ4CgoyMDA5LTA5LTA3IDE4OjI4OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogYWRkIHN1cHBvcnQgZm9yIG1wZWcgZm9ybWF0cwoKMjAwOS0wOS0wNSAyMDo1MToxNCAtMDcwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIHk0bWVuYzogQWRkIGludGVybGFjZWQgc3VwcG9ydAoJICBGaXhlcyAjNTkxNzEzCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wOC0yNCAxMzo0Mjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFJlbW92ZSBSb25hbGQgQnVsdGplIGZyb20gQXV0aG9ycyBmaWVsZAoJICBSZXBsYWNlZCB3aXRoICJHU3RyZWFtZXIgbWFpbnRhaW5lcnMKCSAgPGdzdHJlYW1lci1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IiBvciBqdXN0IHJlbW92ZWQsCgkgIGRlcGVuZGluZyBvbiB0aGUgbnVtYmVyIG9mIG90aGVyIGF1dGhvcnMuCgoyMDA5LTA5LTA1IDEwOjIxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDBhODU5ZSB0byAxOWZhNGYzCgoyMDA5LTA5LTA0IDEzOjQyOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJldmVudCBhIHNwdXJpb3VzIGRlYnVnIHdhcm5pbmcKCjIwMDktMDktMDQgMDk6MzI6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBEZWZpbmUgVjRMMl9GTVRfRkxBR19FTVVMQVRFRCBpZiBpdCdzIG5vdCBkZWZpbmVkIHlldAoJICBsaWJ2NGwyIGFscmVhZHkgdXNlcyB0aGlzIGZsYWcsIGV2ZW4gb24gTGludXgga2VybmVsIHZlcnNpb25zCgkgIGJlZm9yZSAyLjYuMzIuCgoyMDA5LTA5LTA0IDA3OjEwOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDb3JyZWN0bHkgaGFuZGxlIE5VTEwgR3N0SW5kZXgKCjIwMDktMDktMDMgMjA6NDA6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBGaXggc3R1cGlkIHR5cG8gaW4gbGFzdCBjb21taXQKCjIwMDktMDktMDMgMjA6Mzg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBQdXQgZW11bGF0ZWQgZm9ybWF0cyBiZWhpbmQgbmF0aXZlIGZvcm1hdHMKCSAgRml4ZXMgYnVnICM1OTM3NjQuCgoyMDA5LTA5LTAzIDE5OjM3OjEwICswMjAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBmaXggbWVtbGVhawoJICBEb24ndCBsZWFrIHRoZSBpbnB1dCBidWZmZXIgd2hlbiB0aGUgcmVjZWl2ZWQgYW5kIGV4cGVjdGVkIHNlcW51bSBhcmUgZGlmZmVyZW50IHdoZW4KCSAgaW4gcHJvYmF0aW9uLgoJICBmaXhlcyAjNTk0MDM5CgoyMDA5LTA5LTAyIDE1OjIxOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBMb2NrIGNsb2NrX3JhdGUgdmFyaWFibGUKCSAgVGhlIHByaXYtPmNsb2NrX3JhdGUgdmFyaWFibGUgY291bGQgYmVjb21lIC0xIGJldHdlZW4gd2hlbiBpdHMgY2hlY2tlZCB0byBub3QKCSAgYmUgLTEgYW5kIHdoZW4gaXRzIHVzZWQsIGNhdXNpbmcgYW4gYXNzZXJ0aW9uLiBGaXhlZCBieSB0YWtpbmcgdGhlIG11dGV4CgkgIGVhcmxpZXIgaW4gdGhlIGNoYWluKCkgZnVuY3Rpb24uCgkgIEZpeGVzICM1OTM5NTUKCjIwMDktMDktMDMgMTk6MTI6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTAzIDE5OjA5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgcnRwbXBhcGF5OiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTAzIDE5OjA4OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTAzIDE3OjMzOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBdm9pZCB1bm5lY2Vzc2FyeSBwcm9jZXNzaW5nIHVudGlsIHdlIGhhdmUgYSBmdWxsIHBpY3R1cmUuCgkgIFRoaXMgaXMgZm9yIG5vbi1wYWNrZXRpemVkIG1vZGUsIHdoZW4gd2Uga25vdyB0aGUgdXBzdHJlYW0gc2l6ZSBpbiBieXRlcy4KCjIwMDktMDktMDMgMTQ6NDA6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZnVsbHkgdXNlIHRhZ3NldHRlciB0byBtYW5hZ2UgdGhlIHRhZ3MuIEZpeGVzICM1NjMyMjEKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBtYW5hZ2UgYSBzZXBhcmF0ZSB0YWdsaXN0LgoKMjAwOS0wOS0wMyAxNDoxMzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBzbWFsbCB0YWdsaXN0IGhhbmRsaW5nIGNsZWFudXAKCSAgRG9uJ3QgZXZlbnR1YWx5IGxlYWsgdGhlIGxpc3QgYW5kIGluc3RlYWQgYXNzZXJ0IChsaWtlIGluIG90aGVyIGVsZW1lbnRzKS4KCjIwMDktMDktMDIgMjM6MTI6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhbHNvIGd1YXJkIHJlc2V0aW5nIHN1YnNjcmliZSBjYWxsYmFjayB3aXRoIGlmZGVmcwoJICBJdCBpcyBjb25kaXRpb25hbHkgc2V0LCBzbyBkbyB0aGUgc2FtZSB3aGVuIHVuc2V0dGluZy4KCjIwMDktMDktMDEgMTU6MDY6NDYgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBGaXhlZCBhIGNvcHkgJiBwYXN0ZSBlcnJvcgoKMjAwOS0wOS0wMSAxMzoyMToyMyArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlIHByaXYKCSAgVGhlIHZhcmlhYmxlIHByaXYgd2FzIGluaXRpYWxpemVkIGluIGEgbG90IG9mIGZ1bmN0aW9ucyBidXQgdGhlbiBuZXZlcgoJICB1c2VkIGZvciBhbnl0aGluZy4KCjIwMDktMDktMDEgMTM6MDM6NTcgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBBIGxpdHRsZSBjbGVhbiB1cAoJICBNYWtlIHRoZSBjb2RlIGZsb3cgb2YgZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpIGFuZAoJICBnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKCkgaWRlbnRpY2FsLgoKMjAwOS0wOS0wMSAxMjo0Nzo1MSArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IE1ha2Ugc3VyZSB0aGF0IHVzZWQgY2FwcyBhcmUgbm90IGZyZWVkIGFscmVhZHkgKHRha2UgMikKCSAgVGhpcyByZWludHJvZHVjZXMgdGhlIGZpeCBmb3IgYnVnICM1OTMzOTEuIEl0IGFsc28gYXBwbGllcyBpdCBpbgoJICBnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKCkgd2hpY2ggaGFzIHZlcnkgc2ltaWxhciBjb2RlIHRvCgkgIGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3AoKS4KCjIwMDktMDktMDEgMTI6NDE6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IG1ha2Ugc3VyZSB0aW1lIGRvZXMgbm90IGdvIGJhY2t3YXJkcwoJICBXaGVuIHdlIGNvbnN0cnVjdCBhIHRpbWVzdGFtcCB0aGF0IHdvdWxkIHJlc3VsdCBpbiBhIHRpbWVzdGFtcCB0aGF0IGlzIGVhcmxpZXIKCSAgdGhhbiB3aGVuIHRoZSBwYWNrZXQgd2FzIHJlY2VpdmVkLCByZXNldCB0aGUgc2tldyBjYWxjdWxhdGlvbiBhcyB0aGlzIGlzCgkgIHByb2JhYmx5IGEgc2lnbiB0aGF0IHRoZSBzZW5kZXIgcmVzdGFydGVkIG9yIHBhdXNlZC4KCSAgRml4ZXMgIzU5MzM1NAoKMjAwOS0wOS0wMSAxMTozMjo0MSArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IFNldCBjYXBzIGluIGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3AoKSBjb3JyZWN0bHkgYWdhaW4KCSAgVGhlIHRlc3QgZm9yIHdoZW4gdG8gc2V0IGFuIFJUQ1AgY2FwcyBvbiB0aGUgb3V0cHV0IHBhZCBpbgoJICBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKCkgYWNjaWRlbnRhbGx5IGdvdCBpbnZlcnRlZCBpbiB0aGUgbGFzdCBjb21taXQuCgoyMDA5LTA5LTAxIDEwOjI2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIFFDRUxQIGF1ZGlvCgkgIEZpeGVzIGJ1ZyAjNTkzNzU3LgoKMjAwOS0wOC0zMSAxODoxMDoxMSArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICBlZmZlY3R2OiBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MgMwoJICBSZWNlbnQgY2hhbmdlcyBpbiBnc3QtcGx1Z2lucy1nb29kL2dzdC9lZmZlY3R2IHByZXZlbnRzIGl0IGZyb20gYmVpbmcgY29tcGlsZWQKCSAgd2l0aCBnY2MgMy4gVGhlIHByb2JsZW0gaXMgdGhhdCB0aGUgbmV3IGNvZGUgdXNlcyBwcmVwcm9jZXNzb3IgY29uZGl0aW9uYWxzCgkgIHdpdGhpbiBhIG1hY3JvIGNhbGwgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGdjYy4KCSAgRml4ZXMgYnVnICM1OTM2ODguCgoyMDA5LTA4LTMxIDE2OjIwOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBzbWFsbCBjbGVhbi11cHMgaW4gLXNlY3Rpb25zLnR4dAoJICBSZW1vdmUgZHVwbGljYXRlIGVudHJ5IGZvciB3YXJwdHY7IHRoZXJlIGlzIG5vIHRhZ2xpYm11eCBlbGVtZW50LgoKMjAwOS0wOC0yNyAxNTo0Njo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGNvbnNpZGVyIChvcHRpb25hbCkgYXV4aWxpYXJ5IGRhdGEgd2hlbiBwYXJzaW5nCgoyMDA5LTA4LTI3IDE1OjQ2OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgIHJ0cG1wNGdkZXBheTogaGFuZGxlIGJyb2tlbiBBVS1JbmRleCBpbiBub24taW50ZXJsZWF2ZWQgc3RyZWFtcwoJICBJbiBjYXNlIG9mIG5vbi1pbnRlcmxlYXZlZCAoPSBzZXF1ZW50aWFsbHkgcGF5bG9hZGVkKSBzdHJlYW1zLAoJICB0aGUgQVUtSW5kZXggc2VydmVzIGxpdHRsZSBwdXJwb3NlICh0aGF0IGlzIG5vdCBhbHJlYWR5IGNvdmVyZWQgYnkKCSAgUlRQIGZpZWxkcykuICAoQnJva2VuKSBQYXlsb2FkZXJzIG1pZ2h0IGNvbnNpZGVyIHRoaXMgZmllbGQgdGhlbgoJICB0byBiZSBkaXNyZWdhcmRlZCBhbmQgaGF2ZSBub24gc3BlYyBjb21wbGlhbnQgdmFsdWVzLCBlLmcuIGVhY2gKCSAgUlRQIHBhY2tldCBoYXZpbmcgQVUtSW5kZXggMiAocmF0aGVyIHRoYW4gMCkuICBBcyBzdWNoLCBlbnN1cmUvZm9yY2UKCSAgc2ltcGxlIHNlcXVlbnRpYWwgc2VuZGluZyBvZiBub24taW50ZXJsZWF2ZWQgc3RyZWFtcy4KCjIwMDktMDgtMTggMTc6MTc6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGV4dHJhY3QgZnR5cCBpbmZvIGluIHB1c2ggbW9kZQoKMjAwOS0wOC0xMyAxNjoxMTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogY29uc2lkZXIgM2dwcCBzdHlsZSB0YWcgcGFyc2luZyBpbiBzb21lIG1vcmUgY2FzZXMKCSAgM0dQUCBzcGVjcyBkZWZpbmUgYSBudW1iZXIgb2YgdGFncyBhbG9uZyB3aXRoIHByZWNpc2UgbGF5b3V0LiBXaGlsZSB0aGVzZQoJICBhcmUgbm9ybWFsbHkgZXhwZWN0ZWQgdG8gYmUgZm91bmQgaW4gYSBjb250YWluZXIgd2hvc2UgbWFqb3IgYnJhbmQgaXMgYQoJICAzR1BQIGJyYW5kLCB0aGlzIG1heSBhbHNvIGhhcHBlbiB3aGVuIGEgM0dQUCBicmFuZCBpcyBvbmx5IG1lbnRpb25lZCBhcyBhCgkgIGNvbXBhdGlibGUgYnJhbmQuICBBcHBseSBzb21lIGNoZWNrcywgaGV1cmlzdGljIGFuZCBmYWxsYmFja3MgdG8gZXh0cmFjdAoJICBzdWNoIHRhZ3MgYXMgd2VsbC4KCjIwMDktMDgtMTEgMTM6NTY6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZWZsb3cgZXhpdCwgYW5kIGZpeCBzb21lIGxlYWtzCgoyMDA5LTA4LTExIDEzOjU0OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcHVzaCBtb2RlOyBhZGQgcGFkIGlmIG5lZWRlZCBzbyBkb3duc3RyZWFtIGdldHMgRU9TCgoyMDA5LTA4LTEwIDE2OjE5OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IHB1c2ggbW9kZTsgZml4L2ltcHJvdmUgY2h1bmsgaGFuZGxpbmcKCSAgSGFuZGxlIGxhcmdlLCBpbnZhbGlkIG9yIG90aGVyd2lzZSB1bnVzdWFsIGNodW5rIHNpemVzLgoJICBWZXJpZnkgc29tZSBjaHVuayBzaXplcyB0byBiZSBhdCBsZWFzdCB0aGUgc2l6ZSB0aGV5IGFyZQoJICBleHBlY3RlZCB0byBiZSBhbmQgcm91bmQgdXAgc29tZSBzaXplcyB0byBldmVuIG51bWJlciBmb3IKCSAgZS5nLiBvZmZzZXQgYWRtaW5pc3RyYXRpb24sIHdoaWNoIG11c3QgYWxzbyBiZSBwcm9wZXJseQoJICB0cmFja2VkIGluIHB1c2ggbW9kZS4KCjIwMDktMDgtMDggMjE6NTQ6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGNhdGVyIGZvciB1bnVzdWFsIGNodW5rIHNpemVzCgoyMDA5LTA4LTMxIDE2OjM0OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1c2UgcHJvcGVyIGxvY2tpbmcgZm9yIHBhZHMgYW5kIGNhcHMKCSAgVXNlIHRoZSBzZXNpb24gbG9jayBhbmQgc2hvdGRvd24gdmFyaWFibGUgdG8gcHJvdGVjdCBhbmQgcmVmIHRoZSBwYWRzIHdlIGFyZQoJICBnb2luZyB0byBwdXNoIG9uLgoJICBmaXhlcyAjNTYxODI1CgoyMDA5LTA4LTMxIDE2OjMzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOC0zMSAxMzozODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNsZWFuIHVwIGFkYXB0ZXIgcHJvcGVybHkKCSAgUmVmbG93IGNvZGUgc28gd2UgZG9uJ3QgdHJ5IHRvIGNsZWFyIG9yIHJlLXVzZSBhbiBhbHJlYWR5LWZyZWVkIGFkYXB0ZXIuCgoyMDA5LTA4LTMxIDEzOjA3OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGZsYWN0YWcsIHdhdnBhcnNlOiBHc3RBZGFwdGVyIGlzIG5vdCBhIEdzdE9iamVjdAoKMjAwOS0wOC0zMSAxMjoyODo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzIHRvIGdpdCB2ZXJzaW9uCgoyMDA5LTA4LTMxIDExOjMyOjM5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggdGVzdHMgd2FybmluZyBmcm9tIHNldHRpbmcgYSBOVUxMIGluZGV4CgkgIFNldHRpbmcgYSBudWxsIGluZGV4IGluIHRoZSB0ZXN0cyB3YXMgY2F1c2luZyB3YXJuaW5ncyBieSB1bnJlZmZpbmcKCSAgTlVMTCBwb2ludGVycy4gVGhpcyBpcyBhIGJ1ZyBleHBvc2VkIGJ5IGEgcmVjZW50IGNoYW5nZSBpbiBjb3JlLCBpdAoJICBzZWVtcy4KCjIwMDktMDgtMzEgMTM6MDI6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc2xvcGUgZXN0aW1hdGlvbiBjb2RlIGFuZCBkZWJ1ZwoJICBBZGQgc29tZSBjb2RlIHRvIG1lYXN1cmUgdGhlIHNlbmRlciBzcGVlZCB2cyB0aGUgcmVjZWl2ZXIgc3BlZWQuIFRoaXMgY2FuIGJlCgkgIHVzZWQgdG8gZGV0ZWN0IGJ1cnN0cy4KCjIwMDktMDgtMzEgMTI6NTc6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCBza2V3IHdoZW4gdGltZXN0YW1wcyBjaGFuZ2UKCSAgUmVmYWN0b3IgdGhlIGppdHRlcmJ1ZmZlciByZXN5bmMgY29kZS4KCSAgUmVzZXQgdGhlIHNrZXcgY29ycmVjdGlvbiB3aGVuIHdlIGRldGVjdCBhIGJpZyB0aW1lc3RhbXAgZGlzY29udC4KCSAgU2VlICM1OTMzNTQKCjIwMDktMDgtMzEgMTI6NDc6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtYWtlIHN1cmUgdGltZSBuZXZlciBnb2VzIGludmFsaWQKCSAgU2luY2UgdGhlIHNrZXcgY2FuIGJlIG5lZ2F0aXZlLCB3ZSBtaWdodCBlbmQgdXAgd2l0aCBpbnZhbGlkIHRpbWVzdGFtcHMuIENoZWNrCgkgIGZvciBuZWdhdGl2ZSByZXN1bHRzIGFuZCBjbGFtcCB0byAwLgoJICBTZWUgIzU5MzM1NAoKMjAwOS0wOC0zMSAxMjoxNjowMSArMDIwMCAgSmFya2tvIFBhbHZpYWluZW4gPGphcmtrby5wYWx2aWFpbmVuIGF0IHNlc2NhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwc2luazogQWRkIHR0bCBtdWx0aWNhc3QgcHJvcGVydHkKCSAgQWRkIGEgbmV3IHR0bC1tYyBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBUVEwgb24gbXVsdGljYXN0IGFkZHJlc3Nlcy4KCSAgRml4ZXMgIzU4ODI0NQoKMjAwOS0wOC0zMSAxMjoxMzowNyArMDIwMCAgSmFya2tvIFBhbHZpYWluZW4gPGphcmtrby5wYWx2aWFpbmVuIGF0IHNlc2NhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IHNwbGl0IG91dCBUVEwgYW5kIGxvb3Agb3B0aW9ucwoJICBTcGxpdCBzZXR0aW5nIHRoZSBUVEwgYW5kIGxvb3AgcGFyYW1ldGVycyBpbiAyIG1ldGhvZHMgYXMgdGhleSBhcmUgbm90IHJlbGF0ZWQuCgkgIEZpeCBzZXR0aW5nIHRoZSBUVEwgY29ycmVjdGx5IGZvciBtdWx0aWNhc3Qgc3RyZWFtcy4KCSAgU2VlICM1ODgyNDUKCjIwMDktMDgtMjcgMTI6MzY6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cDogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOC0xNCAxMzo0NToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgdmlkZW9ib3g6IENvcnJlY3RseSBhZGQgdG8gdGhlIGRvY3MKCjIwMDktMDgtMTQgMTM6NDA6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBTcGxpdCBkZWNsYXJhdGlvbnMgaW50byBhIGhlYWRlciBmaWxlIGFuZCBhZGQgYXV0b2Nyb3Agc3R1ZmYgdG8gdGhlIGRvY3MKCjIwMDktMDgtMTQgMTM6MjY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBSZWNvbmZpZ3VyZSBiYXNldHJhbnNmb3JtIGlmIHNvbWV0aGluZyBjaGFuZ2VzIGFnYWluCgkgIEZvciB0aGlzIGludmVudCBhIG5ldyBsb2NrIGFuZCBkb24ndCBhYnVzZSB0aGUgYmFzZXRyYW5zZm9ybSBsb2NrLAoJICBvdGhlcndpc2Ugd2UnbGwgZW5kIHVwIGluIGRlYWRsb2Nrcy4KCjIwMDktMDgtMTQgMTM6MTU6NTcgKzAyMDAgIFN0ZXBoZW4gSnVuZ2VscyA8c3RlcGhlbkBqdW5nZWxzLm5ldD4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGF1dG9jcm9wcGluZyBhY2NvcmRpbmcgdG8gdGhlIGNhcHMKCSAgRml4ZXMgYnVnICM1ODIyMzguCgoyMDA5LTA4LTMwIDIxOjU3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTWFrZSBzdXJlIHRoYXQgdXNlZCBjYXBzIGFyZSBub3QgZnJlZWQgYWxyZWFkeQoJICBGaXhlcyBidWcgIzU5MzM5MS4KCjIwMDktMDgtMjYgMTc6MDI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwOiBVc2UgbmV3IGdzdF9pdGVyYXRvcl9uZXdfc2luZ2xlKCkgZm9yIHRoZSBpbnRlcm5hbCBsaW5rZWQgcGFkcyBpdGVyYXRpb24KCjIwMDktMDgtMTkgMTY6NTc6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTE5IDE2OjQ4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMTkgMTY6Mzc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0zMCAyMzoyNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24KCjIwMDktMDgtMzAgMjM6MjY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGhhY2tpbmcgLT4gMC4xMC4xNi4xCgo9PT0gcmVsZWFzZSAwLjEwLjE2ID09PQoKMjAwOS0wOC0yOSAxMjowNTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFJlbGVhc2UgMC4xMC4xNgoKMjAwOS0wOC0yNiAwMDo1ODo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuMTUuNSBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNSAxNjo1MzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB1c2UgcmVsYXRpdmUgc2Vla3MKCSAgRG9uJ3QgdXNlIHJlbGF0aXZlIHNlZWtzLCBpdCdzIHRvbyBoYXJkIHRvIHRyYWNrIHdoZXJlIHdlIGFyZSBhZnRlciBhIGZsdXNoCgkgIGV0Yy4KCSAgZml4ZXMgIzU5MzAxNQoKMjAwOS0wOC0yNCAxNzo1MDoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4xNS40IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI0IDE2OjIyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBkb24ndCBkaXNjYXJkIHRoZSByZXN1bHQgb2YgX3NldF9jYXBzKCkKCSAgVXNlIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF9zZXRfY2FwcygpIGluc3RlYWQgb2YgYXNzdW1pbmcgc3VjY2Vzcy4KCSAgU2VlICM1OTA2NzgKCjIwMDktMDgtMjEgMTE6NDQ6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBhZ3NtCgkgIEZpeGVzICM1OTI1MzAKCjIwMDktMDgtMTggMTc6MTY6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcXQgc3R5bGUgc3RyaW5nIHRhZyBleHRyYWN0aW9uCgkgIFFUIHN0eWxlIHRhZ3MgYXJlIHRlc3RlZCBvbiBzdGFydGluZyB3aXRoIChDKSBzeW1ib2wgdXNpbmcgPj4sCgkgIGFuZCAodW5zaWduZWQpIGludCAobWF5KSBoYXZlIGRpZmZlcmVudCA+PiBiZWhhdmlvdXIuCgkgIEZpeGVzICM1OTIyMzIuCgoyMDA5LTA4LTE3IDE1OjQ4OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSAgc21va2VlbmM6IGRvbid0IGNyYXNoIHdoZW4gY29tcGlsZWQgYWdhaW5zdCBsaWJqcGVnNwoJICBTZXQgcGFyYW1ldGVycyBzbyB0aGF0IHdlIGRvbid0IGNyYXNoIHdpdGggbGlianBlZzcuIEJhc2VkIG9uCgkgIFN0ZWZhbiBLb3N0J3MgZml4IGZvciBqcGVnZW5jLiBGaXhlcyAjNTkxOTUxLgoKMjAwOS0wOC0xNCAyMDoxODowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjE1LjMgcHJlLXJlbGVhc2UKCjIwMDktMDgtMTQgMTM6NDU6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIGNoZWNrczogYWRkIHRlc3QgZm9yIGxlYWsgdG8gcnRwYmluIHVuaXQgdGVzdAoJICBTZWUgIzU5MTQ3Ni4KCjIwMDktMDgtMTEgMTQ6NDc6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZpeCByZWZlcmVuY2UgbGVhawoJICBGaXhlcyAjNTkxNDc2LgoKMjAwOS0wOC0xNCAxMzozNDo1MyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBkdmRlYzogc2V0IGJvdHRvbSBmaWVsZCBmaXJzdCBvbiBQQUwgaW50ZXJsYWNlZCBjb250ZW50LCBub3QgdG9wIGZpZWxkIGZpcnN0CgkgIERWIGludGVybGFjZWQgY29udGVudCBpcyBhbHdheXMgYm90dG9tIGZpZWxkIGZpcnN0LiBGaXhlcyAjNTkxNzEyLgoKMjAwOS0wOC0xNCAxMjo0NDowNiArMDEwMCAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZml4ICdoYW5nJyB3aXRoIHNvbWUgY2FtZXJhcyBjYXVzZWQgYnkgYmFkIHRpbWVzdGFtcGluZyBpZiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlCgkgIEZvciBjYW1lcmFzL2RyaXZlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGUuZy4gVklESU9DX0dfUEFSTSB3ZSdkIGVuZCB1cCB3aXRob3V0CgkgIGEgZnJhbWVyYXRlIGFuZCB3b3VsZCB0cnkgdG8gZGl2aWRlIGJ5IDAsIGNhdXNpbmcgcnVuLXRpbWUgd2FybmluZ3MgYW5kIGFsbAoJICBmcmFtZXMgdG8gYmUgdGltZXN0YW1wZWQgd2l0aCAwLCB3aGljaCBtYWtlcyBzaW5rcyB0aGF0IHN5bmMgYWdhaW5zdCB0aGUgY2xvY2sKCSAgZHJvcCB0aGVtLCBjYXVzaW5nICdoYW5ncycgKG9ic2VydmVkIHdpdGggdGhlIHB3YyBkcml2ZXIgYW5kIGEgTG9naXRlY2ggUXVpY2tDYW0KCSAgUHJvIDQwMDApLiBTbyBpZiB3ZSBkbyBub3Qga25vdyB0aGUgZnJhbWVyYXRlLCBzaW1wbHkgZG9uJ3QgYWRqdXN0IHRoZQoJICB0aW1lc3RhbXBzLiBGaXhlcyAjNTkxNDUxLgoKMjAwOS0wOC0xNCAxMDoxMToyNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogY2xlYXIgZm9ybWF0IGxpc3QgaW4gUkVBRFktPk5VTEwKCSAgQ2xlYXIgZm9ybWF0IGxpc3QgYW5kIHByb2JlZCBjYXBzIHdoZW4gZ29pbmcgdG8gTlVMTCBzbyBpZiBhIG5ldyBkZXZpY2UKCSAgaXMgc2V0IHdlJ2xsIHByb2JlIHRoZSBmb3JtYXRzIGFnYWluIGluc3RlYWQgb2YgdXNpbmcgcHJldmlvdXNseQoJICBkZXRlY3RlZCBvbmVzLiBGaXhlcyBidWcgIzU5MTc0Ny4KCjIwMDktMDgtMTEgMTY6NDI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogRW1wdHkgZXZlbnQgcXVldWUgb24gZmluYWxpemUKCjIwMDktMDgtMTEgMTY6Mzk6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBVc2UgR1NsaWNlIGZvciBpbnRlcm5hbCBldmVudCBzdHJ1Y3R1cmVzCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMSAxNjoyMzoyMCAtMDQwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENsZWFudXAgZXZlbnRzIG9uIGZpbmFsaXplCgkgIFByb2JsZW0gZm91bmQgYnkgTGF1cmVudCBHbGF5YWwKCSAgRml4ZXMgYnVnICM1OTE0NDAKCjIwMDktMDgtMTEgMTc6MzA6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4xNS4yIHByZS1yZWxlYXNlCgoyMDA5LTA4LTExIDE1OjI1OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1BSU5UQUlORVJTOgoJICBBZGQgbXlzZWxmIHRvIE1BSU5UQUlORVJTIGZpbGUgYW5kIHVwZGF0ZSBXaW0ncyBlLW1haWwuCgoyMDA5LTA4LTExIDAzOjA4OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyOiBmaXggbWFrZSBkaXN0Y2hlY2sgYnkgZGlzdGluZyBzb21lIG1vcmUgaGVhZGVycwoKMjAwOS0wOC0xMSAwMjo0MjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAwOS0wOC0xMSAwMjozMTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBNb3ZlIHJ0cG1hbmFnZXIgZnJvbSAtYmFkIHRvIC1nb29kLgoJICBIb29rIHVwIGJ1aWxkIGluZnJhc3RydWN0dXJlIChhdXRvdG9vbHMsIGRvY3MsIHVuaXQgdGVzdCkuCgoyMDA5LTA4LTA2IDE5OjI2OjIxICswMjAwICByaWMgPGNzeG5qdSBhdCBzb2dvdS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhdm9pZCBidWZmZXIgbGVhayBvbiBiYWQgc2VxbnVtCgkgIEZpeGVzICM1OTA3OTcKCjIwMDktMDctMjggMTg6MTg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhbGxvdyBmb3IgTlVMTCBjYXBzIG9uIGJ1ZmZlcnMKCSAgQWRkIHRoZSBOVUxMIGNhcHMgY2hlY2sgd2hlcmUgaXQgbWF0dGVycyBhbmQgYWxzbyBjb3ZlciBhbm90aGVyIGNhc2Ugb2YKCSAgcG90ZW50aWFsIE5VTEwgY2Fwcy4KCSAgRml4ZXMgIzU5MDAzMAoKMjAwOS0wNy0yOCAxMTo1OTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogSW5jb21pbmcgYnVmZmVycyBkbyBub3QgYWx3YXlzIGhhdmUgY2FwcwoKMjAwOS0wNy0yNyAxNTo0NjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgZG9pbmcgbGlwLXN5bmMgaW4gQllFCgkgIFdoZW4gd2UgZ2V0IGEgQllFIHBhY2tldCwgZG9uJ3QgZG8gbGlwLXN5bmMgd2l0aCB0aGUgU1IgaW5zaWRlIGJlY2F1c2Ugc29tZQoJICBzZW5kZXJzIGhhdmUgdHJvdWJsZSBjb25zdHJ1Y3RpbmcgdmFsaWQgU1IgcGFja2V0cyBhZnRlciBCWUUuCgoyMDA5LTA3LTI3IDEzOjE3OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGRvbid0IGRvIGxpcC1zeW5jIGFmdGVyIGEgQllFCgkgIEFmdGVyIGEgQllFIHBhY2tldCBmcm9tIGEgc291cmNlLCBzdG9wIGZvcndhcmRpbmcgdGhlIFNSIHBhY2tldHMgZm9yIGxpcC1zeW5jCgkgIHRvIHJ0cGJpbi4gU29tZSBzZW5kZXJzIGRvbid0IHVwZGF0ZSB0aGVpciBTUiBwYWNrZXRzIGNvcnJlY3RseSBhZnRlciBzZW5kaW5nIGEKCSAgQllFIGFuZCB0aGVuIHdlIGJyZWFrIGxpcC1zeW5jLiBXZSBwcmVmZXIgdG8gbGV0IHRoZSBqaXR0ZXJidWZmZXJzIGRyYWluIHdpdGgKCSAgdGhlIGN1cnJlbnQgbGlwLXN5bmMgaW5zdGVhZC4KCjIwMDktMDctMjcgMTI6NDM6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogb25seSByZWNvbnNpZGVyIG9uY2UgZm9yIEJZRQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgc291cmNlcyBvZiBhIEJZRSBwYWNrZXQsIGRvbid0IHNpZ25hbCBhIHJlY29uc2lkZXJhdGlvbiBmb3IKCSAgZWFjaCBvZiB0aGVtIGJ1dCBzaWduYWwgYWZ0ZXIgd2UgaGFuZGxlZCBhbGwgc291cmNlcy4KCjIwMDktMDctMjEgMTU6MzM6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRnJlZSBjb25mbGljdGluZyBhZGRyZXNzZXMgb24gZmluYWxpemUKCjIwMDktMDctMDEgMTI6NTU6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwYmluOiB1c2UgbmV3IG1ldGhvZCBmb3IgbmV0YWRkcmVzcyB0byBzdHJpbmcKCjIwMDktMDYtMjkgMTg6NDg6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogZG8gYmV0dGVyIGNsZWFudXAgb2YgdGhlIHNyYyBnaG9zdHBhZHMKCSAgQ29ubmVjdCB0byB0aGUgcGFkLXJlbW92ZWQgc2lnbmFsIG9mIHRoZSBwdGRlbXV4IGVsZW1lbnRzIHNvIHRoYXQgd2UgcmVtb3ZlIHRoZQoJICBnaG9zdHBhZHMgZm9yIHRoZW0uIEZpeGVzIGNsZWFudXAgd2hlbiBnb2luZyB0byBOVUxMIGFzIHdlbGwgYXMgd2hlbiByZWxlYXNpbmcKCSAgdGhlIHNpbmtwYWRzLgoJICBGaXhlcyAjNTYxNzUyCgoyMDA5LTA1LTI4IDE5OjA4OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgYSBjb21tZW50CgoyMDA5LTA2LTI5IDE2OjM3OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMjkgMTY6MjE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5IHRoYXQgdGFrZXMgR3N0U3RydWN0dXJlCgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTAyIDE3OjQ2OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICBydHBiaW46IHJlbW92ZWQgb2xkIGdzdHJ0cGNsaWVudAoKMjAwOS0wNi0xOSAxOTowOToxOSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rby5zdWJhc2ljIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSAgcnRwYmluOiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3QKCSAgQWRkIHN1cHBvcnQgZm9yIHNlbmRpbmcgYnVmZmVyLWxpc3RzLgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0ZXN0aW5nIHRoYXQgdGhlIGJ1ZmZlci1saXN0IHBhc3NlZCB0aHJvdWdoIHJ0cGJpbi4KCSAgZml4ZXMgIzU4NTgzOQoKMjAwOS0wNi0xOSAxNjoyMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgTWFrZSBidWlsZCB3aXRob3V0IHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgoyMDA5LTA1LTI4IDE3OjM3OjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBUcmFuc2Zvcm0gdGhlIHJpZ2h0IHNlc3Npb24gc2RlcyBtZXNzYWdlCgkgIEZpeGVzICM1ODQxNjUKCjIwMDktMDUtMjggMTc6MzM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBBZGQgc3NyYyB0byBhcHBsaWNhdGlvbi94LXJ0cC1zb3VyY2Utc2RlcyBzdHJ1Y3R1cmUKCjIwMDktMDUtMjcgMTE6MDM6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IHRoZSBuZXR3b3JrIGFkZHJlc3MgaXMgaW4gbmV0d29yayBvcmRlcgoJICBCcmluZyB0aGUgbmV0d29yayBhZGRyZXNzIGluIG5ldG93a3IgYnl0ZSBvcmRlciB0byB0aGUgaG9zdCBvcmRlci4KCjIwMDktMDUtMjYgMTU6NDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBieXRlc3dhcCB0aGUgcG9ydCBmcm9tIEdzdE5ldEFkZHJlc3MKCSAgU2luY2UgdGhlIHBvcnQgaW4gR3N0TmV0QWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyIHdlIG1pZ2h0IG5lZWQgdG8gYnl0ZXN3YXAgaXQKCSAgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgc291cmNlIHN0YXRpc3RpY3MuCgoyMDA5LTA1LTI1IDEzOjQ2OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmVtb3ZlIHB0ZGVtdXggZ2hvc3RwYWRzCgoyMDA5LTA1LTI1IDEzOjMzOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgcmVjZWl2ZSBydHBiaW4gdW5pdCB0ZXN0CgoyMDA5LTA1LTIyIDE2OjQxOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHRvIG5ldyBzaWduYWwgdG8gcmVtb3ZlIFNTUkMgcGFkcwoKMjAwOS0wNS0yMiAxNjozNToyMCArMDIwMCAgQWxpIFNhYmlsIDxhbGkuc2FiaWwgYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBzc3JjZGVtdXg6IGVtaXQgc2lnbmFsIHdoZW4gcGFkcyBhcmUgcmVtb3ZlZAoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byBjbGVhciBhbiBTU1JDIGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIHJlbW92ZWQgc3NyYy4KCSAgU2VlICM1NTQ4MzkKCjIwMDktMDUtMjIgMTU6NDU6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2Ugb3VyIGdob3N0cGFkcyBpbnN0ZWFkIG9mIGl0cyB0YXJnZXQKCSAgU2luY2Ugd2Uga2VlcCBhIHJlZmVyZW5jZSB0byBvdXIgZ2hvc3RwYWRzLCB3ZSBjYW4gdXNlIHRoZW0gdG8gdHJhY2sgc2Vzc2lvbnMuCgkgIFRoaXMgYXZvaWQgdXMgaGF2aW5nIHRvIG1lc3Mgd2l0aCB0aGUgdGFyZ2V0IG9mIHRoZSBnaG9zdHBhZC4KCjIwMDktMDUtMjIgMTU6Mzc6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IG1vcmUgcnRwYmluIGNoZWNrcwoKMjAwOS0wNS0yMiAxNTozNjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRvbid0IHdhcm4gd2hlbiBnZXR0aW5nIHJlcXVlc3QgcGFkcyB0d2ljZQoJICBBbGxvdyBnZXR0aW5nIHRoZSByZXF1ZXN0IHBhZHMgbXVsdGlwbGUgdGltZXMsIGp1c3QgcmV0dXJuIHRoZSBwcmV2aW91c2x5CgkgIGNyZWF0ZWQgcGFkcy4KCjIwMDktMDUtMjIgMTM6NDc6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhZGQgUlRQIGFuZCBSVENQIHNvdXJjZSBhZGRyZXNzCgkgIEFkZCB0aGUgUlRQIGFuZCBSVENQIHNlbmRlciBhZGRyZXNzZXMgaW4gdGhlIHN0YXRzIHN0cnVjdHVyZS4KCjIwMDktMDUtMjIgMTM6NDU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJldXNlIHNvdXJjZSBjb2RlIGZvciBTREVTCgkgIFJldXNlIHRoZSBSVFBTb3VyY2Ugb2JqZWN0IHByb3BlcnR5IGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZS4KCjIwMDktMDUtMjIgMTM6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBtb3JlIHJ0cGJpbiB0ZXN0cwoKMjAwOS0wNS0yMiAxMjoyMzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGFuIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHNvbWUgbW9yZSBzdHVmZiB0byAuZ2l0aWdub3JlCgoyMDA5LTA1LTIyIDEyOjIwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc2V0IHRhcmdldCBzdGF0ZSBvbiBuZXcgZWxlbWVudHMKCSAgU2V0IHRoZSBzdGF0ZSBvbiBuZXdseSBhZGRlZCBlbGVtZW50cyB0byB0aGUgc3RhdGUgb2YgdGhlIHBhcmVudC4KCSAgQWRkIHNvbWUgZGVidWcgaW5mbyBhbmQgZG8gc29tZSBjbGVhbnVwcwoKMjAwOS0wNS0yMiAxMTo1OToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVucmVmIHJlcXVlc3RzIHBhZHMgYWZ0ZXIgcmVsZWFzaW5nCgoyMDA5LTA1LTIyIDAxOjQzOjUwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIHRoZSBzdHJlYW1zCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjE2OjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBLZWVwIGpiIHNpZ25hbHMgaGFuZGxlcgoJICBLZWVwIHRoZSBzaWduYWwgaGFuZGxlcnMgc28gdGhleSBjYW4gYmUgZGlzY29ubmVjdGVkIGF0IHJlbGVhc2UgdGltZQoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMToxMjo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSB0aGUgcmlnaHQgbG9jayBmb3IgdGhlIHNlc3Npb25zCgkgIFVzZSB0aGUgcmlnaHQgbG9jayB3aGVuIGl0ZXJhdGluZyB0aGUgc2Vzc2lvbnMuCgoyMDA5LTA1LTIyIDAxOjAzOjU1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGcmVlIHNlc3Npb24gaWYgcmVxdWVzdCBwYWRzIGFyZSByZWxlYXNlZAoJICBGcmVlIHRoZSBzZXNzaW9uIHdoZW4gYWxsIHRoZSByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkLgoJICBEb24ndCBtZXNzIHdpdGggdGhlIHNlc3Npb24gbGlzdCBpbiBmcmVlX3Nlc3Npb24gYXMgaXQgaXMgY2FsbGVkIGZyb20gYSBmb3JlYWNoCgkgIG9uIHRoYXQgbGlzdC4KCSAgU2V0IHRoZSBzdGF0ZSBvZiB0aGUgdXBzdHJlYW0gZWxlbWVudCB0byBOVUxMIGZpcnN0LgoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDo1MTo1MyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGFzaW5nIG9mIHRoZSBydHAgcmVjdiBwYWQKCjIwMDktMDUtMjIgMDA6NDQ6NTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRwIHNlbmQgcGFkcwoKMjAwOS0wNS0yMiAwMDozNDozNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2Ugb2YgdGhlIHJlY3YgcnRjcCBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDA6MTY6MTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRjcCBzcmMgcGFkCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTA1IDE2OjQ4OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogZHJvcCB1bmV4cGVjdGVkIFJUQ1AgcGFja2V0cwoJICBXZSB1c3VhbGx5IG9ubHkgZ2V0IFNSIHBhY2tldHMgaW4gb3VyIGNoYWluIGZ1bmN0aW9uIGJ1dCBpZiBhbiBpbnZhbGlkIHBhY2tldAoJICBjb250YWlucyB0aGUgU1IgcGFja2V0IGFmdGVyIHRoZSBSUiBwYWNrZXQsIHdlIG11c3Qgbm90IGZhaWwgYnV0IHNpbXBseSBpZ25vcmUKCSAgdGhlIG1hbGZvcm1lZCBwYWNrZXQuCgkgIEZpeGVzICM1ODEzNzUKCjIwMDktMDQtMjcgMTE6MDk6MDggKzAyMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdWNlOiBtYWtlIFdBUk5JTkcgaW50byBMT0cKCSAgU2luY2UgbmVpdGhlciBydHBtYW5hZ2VyIG5vciBhbnkgb2YgdGhlIHBheWxvYWRlcnMgcHJvcGVybHkgaW1wbGVtZW50CgkgIHBhZCBhbGxvY2F0aW9uLCB0aGVyZSBpcyBubyB3YXkgZm9yIHRoZSBydHBtYW5hZ2VyIHRvIGluZm9ybSBkb3duc3RyZWFtIGVsZW1lbnRzCgkgIG9mIHRoZSBuZXcgU1NSQyBpZiB0aGVyZSBpcyBhbiBTU1JDIGNvbGxpc2lvbi4gU28gdGhlIHdhcm5pbmcgaXMgZW1pdHRlZCBhbGwgdGhlCgkgIHRpbWUgYW5kIGl0IGlzIGNvbmZ1c2luZy4KCSAgRml4ZXMgIzU4MDE0NAoKMjAwOS0wNC0yNyAxMTowNjowMSArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG5vdGlmeSB3aGVuIFNTUkMgY2hhbmdlcwoJICBFbWl0IGEgZ19vYmplY3Rfbm90aWZ5IHdoZW4gdGhlIFNTUmMgY2hhbmdlcyBiZWNhdXNlIG9mIGEgY29sbGlzaW9uLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTE3IDE2OjE2OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBqb2luIHRoZSBSVENQIHRocmVhZAoJICBBdm9pZCBhIGNhc2Ugd2hlcmUgYSBqb2luYWJsZSB0aHJlYWQgd291bGQgYmUgbGVmdCB1bmpvaW5lZCwgd2hpY2ggbGVha2VkIHRoZQoJICB0aHJlYWQgc3RydWN0dXJlLgoJICBGaXhlcyAjNTc3MzE4LgoKMjAwOS0wNC0xNSAxODoxNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHByZXZlbnQgb3ZlcmZsb3cgaW4gRU9TIGVzdGltYXRpb24KCSAgVXNlIGEgZ3VpbnQ2NCBpbnN0ZWFkIG9mIGEgZ3VpbnQgdG8gaG9sZCBhIDY0Yml0IHZhbHVlIHRvIHByZXZlbnQgY29tcGxldGVseQoJICBib2d1ZXMgRU9TIGVzdGltYXRpb24gdmFsdWVzIGR1ZSB0byBvdmVyZmxvd3MuCgoyMDA5LTA0LTE1IDE3OjQ0OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHdlIHNob3VsZCBub3QgcHJvdmlkZSBhIGNsb2NrCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gcHJvdmlkZSBhIGNsb2NrLgoKMjAwOS0wNC0xNSAxNzoyODo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vcmUgZXN0aW1hdGVkIEVPUyBmaXhlcwoJICBEbyBtb3JlIGFjY3VyYXRlIEVPUyBlc3RpbWF0ZSBhbmQgZ3VhcmQgYWdhaW5zdCBiYWNrd2FyZCB0aW1lc3RhbXBzLgoKMjAwOS0wNC0xNSAxNzoyNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBiZWZvcmUgcHVzaGluZyBFT1MKCSAgTWFrZSBzdXJlIHdlIHJlbGVhc2UgdGhlIGppdHRlcmJ1ZmZlciBsb2NrIGJlZm9yZSB3ZSBzdGFydCBwdXNoaW5nIG91dCBkYXRhCgkgIGJlY2F1c2UgZWxzZSB3ZSBtaWdodCBkZWFkbG9jay4KCjIwMDktMDMtMjcgMTc6NDQ6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBhZGQgb25fbnB0X3N0b3Agc2lnbmFsCgkgIEFkZCB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIHRvIHJ0cGJpbiBhbmQgcnRwaml0dGVyYnVmZmVyIHRvIG5vdGlmeSB0aGUKCSAgYXBwbGljYXRpb24gdGhhdCB0aGUgTlBUIHN0b3AgcG9zaXRpb24gaGFzIGJlZW4gcmVhY2hlZC4KCjIwMDktMDMtMTMgMTU6NTk6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgcmV0dXJuIEZBTFNFIG9uIHNlZWsgZXZlbnRzCgkgIFNpbGVudGx5IGlnbm9yZSB0aGUgc2VlayBldmVudCBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRS4KCjIwMDktMDItMjYgMTM6MTA6MjkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwYmluOiBEb24ndCBmb3J3YXJkIHJldmMgZXZlbnRzIHRvIHNlbmRlcgoJICBEb24ndCBzZW5kIGV2ZW50cyBmcm9tIHRoZSByZWNlaXZlciB0byB0aGUgc2VuZGVyIHNpZGUuCgkgIEZpeGVzICM1NzI5MDAuCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAxLTIzIDEyOjEzOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgU2VuZCBCWUUgcGFja2V0cyBpbW1lZGlhdGx5IGZvciBzbWFsbCBzZXNzaW9ucwoJICBXaGVuIHRoZSBudW1iZXIgb2YgcGFydGljaXBhbnRzIGlzIGxlc3MgdGhhbiA1MCwgdGhlIFJGQyBhbGxvd3MgZm9yIHNlbmRpbmcgdGhlCgkgIEJZRSBwYWNrZXQgaW1tZWRpYXRseSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSByZWd1bGFyIEJZRSB0aW1lb3V0LgoJICBGaXhlcyAjNTY3ODI4LgoKMjAwOS0wMS0yMiAxMzozMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBVbmxvY2sgdGhlIGppdHRlcmJ1ZmZlciBiZWZvcmUgcHVzaGluZyBvdXQgdGhlIHBhY2tldC1sb3N0IGV2ZW50cy4gTW92ZSBzb21lIGNvZGUgYmVmb3JlIHdlIGRvIHRoZSB1bmxvY2sgdG8gbWFrZSB0aGUgaml0dGVyYnVmZmVyIHN0YXRlIGNvbnNpc3RlbnQgd2hpbGUgd2UgYXJlIHVubG9ja2VkLgoKMjAwOS0wMS0wMiAxNzo0MDowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogV2hlbiBhbiBTU1JDIGlzIGZvdW5kIG9uIHRoZSBjYXBzIG9mIHRoZSBzZW5kZXIgUlRQLCB1c2UgdGhpcyBhcyB0aGUgaW50ZXJuYWwgU1NSQy4gRml4ZXMgIzU2NTkxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0Y2Fwc19zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZQoJICBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoKMjAwOS0wMS0wMiAxNjo1MDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVuYW1lIGEgbWV0aG9kIHRvIGJldHRlciByZWZsZWN0IHdoYXQgaXQgcmVhbGx5IGRvZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAocnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmVuYW1lIGEgbWV0aG9kIHRvIGJldHRlciByZWZsZWN0IHdoYXQgaXQgcmVhbGx5IGRvZXMuCgoyMDA4LTEyLTI5IDE1OjQ5OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBVc2UgbWV0aG9kIHRvIGdldCB0aGUgaW50ZXJuYWwgU1NSQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICBVc2UgbWV0aG9kIHRvIGdldCB0aGUgaW50ZXJuYWwgU1NSQy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZ2l1cmUgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgIEZpeGVzICM1NjU5MTAuCgoyMDA4LTEyLTI5IDE1OjIxOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuIHRoZSBTU1JDIGFjdHVhbGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKToKCSAgT25seSBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIHNlc3Npb24gYW5kIHJlc2V0IHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbgoJICB0aGUgU1NSQyBhY3R1YWxseSBjaGFuZ2VkLiBTZWUgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTQ6MjE6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuKjogV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsIGFzc3VtZSB0aGUgY2xvY2stcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFdoZW4gbm8gcGF5bG9hZCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjYXBzIGJ1dCB0aGVyZSB3YXMgYSBjbG9jay1yYXRlLAoJICBhc3N1bWUgdGhlIGNsb2NrLXJhdGUgY29ycmVzcG9uZHMgdG8gdGhlIGZpcnN0IHBheWxvYWQgdHlwZSBmb3VuZCBpbiB0aGUKCSAgUlRQIHBhY2tldHMuIEZpeGVzICM1NjU1MDkuCgoyMDA4LTEyLTIzIDExOjM5OjU5ICswMDAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuKjogS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlIHRpbWUuICBUaW1lc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0IGF0IG1pbmQgZG90IGJlPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgb3V0Z29pbmcgdGltZXN0YW1wIGFuZCBvZiB0aGUgbGFzdCBzZW5kZXItc2lkZQoJICB0aW1lLiAgVGltZXN0YW1wcyBjYW4gb25seSBnbyBmb3J3YXJkIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlcgoJICBzaWRlLCBjYW4gb25seSBnbyBiYWNrIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlciBzaWRlLCBhbmQgcmVtYWluIHRoZQoJICBzYW1lIGlmIHRoZXkgcmVtYWluIHRoZSBzYW1lIGF0IHRoZSBzZW5kZXIgc2lkZS4gRml4ZXMgIzU2NTMxOS4KCjIwMDgtMTEtMjYgMTI6NDA6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZiB0byBpdCB3aGVuIGEgc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpOgoJICBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYKCSAgdG8gaXQgd2hlbiBhIHNlc3Npb24gY2xlYW51cCBvY2N1cnMgd2hlbiB3ZSBhcmUgZW1pdGluZyBhIHNpZ25hbC4KCSAgRW1pdCB0aGUgb25fbmV3X3NzcmMgc2lnbmFsIGZvciB0aGUgQ1NSQywgbm90IHRoZSBTU1JDLgoJICBGaXhlcyAjNTYyMzE5LgoKMjAwOC0xMS0yNiAxMjowMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgRml4ZXMgIzU2MjMxMi4KCjIwMDgtMTEtMjYgMTE6NDQ6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluIHRoZSBtZXRob2QgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4KCSAgdGhlIG1ldGhvZCBjYWxsLgoJICBBZGQgc2lnbmFsIHRvIHJlc2V0IHN5bmMgcGFyYW1ldGVycy4KCSAgQXZvaWQgcGFyc2luZyB0aGUgY2FwcyB0byBnZXQgYSBjbG9ja19iYXNlLCB3ZSBnZXQgdGhpcyBmcm9tIHRoZSBzeW5jCgkgIHNpZ25hbCBub3cuCgoyMDA4LTExLTI1IDE1OjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggZXZlbnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRjcF9zcmMpOgoJICBGaXggZXZlbnQgbGVhay4KCjIwMDgtMTEtMjIgMTU6MzE6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoKMjAwOC0xMS0yMiAxNToyNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY29weV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIEFkZCBwcm9wZXJ0eSB0byByZXR1cm4gYSBHVmFsdWVBcnJheSBvZiBhbGwga25vd24gUlRQU291cmNlcyBpbiB0aGUKCSAgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2NyZWF0ZV9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KToKCSAgUmVtb3ZlIHByb3BlcnRpZXMgdG8gc2V0IHRoZSB2YXJpb3VzIFNERVMgaXRlbXMsIGFuIGFwcGxpY2F0aW9uIGlzIG5ldmVyCgkgIHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgUlRQU291cmNlIGRhdGEuCgkgIENoYW5nZSB0aGUgU0RFUyBnZXR0ZXIgcHJvcGVydGllcyB0byBvbmUgU0RFUyBwcm9wZXJ0eSB0aGF0IHJldHVybnMgYWxsCgkgIFNERVMgaXRlbXMgaW4gYSBHc3RTdHJ1Y3R1cmUuCgoyMDA4LTExLTIyIDEzOjE3OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCjIwMDgtMTEtMjEgMTY6MTc6MjIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgdGhlIHJpZ2h0IHBhZHMgb24gcnRwYmluLiBGaXhlcyAjNTYxNzUyLgoKMjAwOC0xMS0yMCAxODo0MTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ2V0X2N1cnJlbnRfdGltZXMpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKToKCSAgUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgSW1wcm92ZSB0aGUgdGltZSBmdW5jdGlvbiB0byBwcm92aWRlIG1vcmUgaW5mby4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYXJrIHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2l0aCBhIGZsYWcuCgkgIFVzZSBydW5uaW5nX3RpbWUgaW5zdGVhZCBvZiB0aGUgbW9yZSB1c2VsZXNzIHRpbWVzdGFtcC4KCSAgVmFsaWRhdGUgYSBzb3VyY2Ugd2hlbiBhIHZhbGlkIFNERVMgaGFzIGJlZW4gcmVjZWl2ZWQuCgkgIFBhc3MgdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWUgd2hlbiBwcm9jZXNzaW5nIFNSIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9pbml0KSwgKHJ0cF9zb3VyY2VfY3JlYXRlX3N0YXRzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGdldCBzb3VyY2Ugc3RhdHMuCgkgIE1hcmsgcGFyYW1zIGFzIFNUQVRJQ19TVFJJTkdTLgoJICBDYWxjdWxhdGUgdGhlIGJpdHJhdGUgYXQgdGhlIHNlbmRlciBTU1JDLgoJICBBdm9pZCBuZWdhdGl2ZSB2YWx1ZXMgaW4gdGhlIHJvdW5kIHRyaXAgdGltZSBjYWxjdWxhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXBkYXRlIHNvbWUgZG9jcyBhbmQgY2hhbmdlIHNvbWUgdmFyaWFibGUgbmFtZSB0byBtb3JlIGNsb3NlbHkgcmVmbGVjdAoJICB3aGF0IGl0IGNvbnRhaW5zLgoKMjAwOC0xMS0yMCAwODoxOToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApOgoJICBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkCgkgIHZhcmlhYmxlLgoKMjAwOC0xMS0xOSAxNjo0ODozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KToKCSAgTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCjIwMDgtMTEtMTkgMDk6MDY6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYyBub3RpZmljYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwgKGZyZWVfc3RyZWFtKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMKCSAgbm90aWZpY2F0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ludGVybmFsX2xpbmtzKSwgKGNyZWF0ZV9ydGNwX3NpbmspLAoJICAocmVtb3ZlX3J0Y3Bfc2luayksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ydGNwX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbmQgU1IgcGFja2V0cyB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBDaGVjayBpZiB0aGUgU1IgdGltZXN0YW1wcyBhcmUgdmFsaWQgYnkgY29tcGFyaW5nIHRoZW0gdG8gdGhlIFJUUAoJICB0aW1lc3RhbXBzLgoJICBTaWduYWwgdGhlIFNSIHBhY2tldCBhbmQgdGhlIHRpbWluZyBpbmZvcm1hdGlvbiB0byBsaXN0ZW5lcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHNlZW4gUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiBmaWx0ZXIgb3V0CgkgIGludmFsaWQgU1IgcGFja2V0cy4KCjIwMDgtMTEtMTcgMTk6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZAoJICBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMgYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0xNyAxNToxNzo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBqaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGNyZWF0ZV9zdHJlYW0pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUKCSAgdmFsdWUgZnJvbSB0aGUgaml0dGVyYnVmZmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBQYXNzIHRoZSBjbG9jay1yYXRlIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIEFsc28gcGFzcyB0aGUgY2xvY2stcmF0ZSBhbG9uZyB3aXRoIHRoZSBydHAgdGltZXN0YW1wIHdoZW4gZ2V0dGluZyB0aGUKCSAgc3luYyBwYXJhbWV0ZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIGNsb2NrLXJhdGUgY2hhbmdlcyBhbmQgcmV0dXJuIHRoZSBjbG9jay1yYXRlIHRvZ2V0aGVyIHdpdGgKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzIHVzZWQgZm9yIHN5bmMuCgkgIERvbid0IHRyeSB0byBjb25zdHJ1Y3QgdGltZXN0YW1wcyB3aGVuIHdlIGhhdmUgbm8gYmFzZV90aW1lLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBSZXF1ZXN0IGEgbmV3IGNsb2NrLXJhdGUgd2hlbiB0aGUgcGF5bG9hZCB0eXBlIGNoYW5nZXMuCgkgIFJlc2V0IHRoZSBqaXR0ZXIgY2FsY3VsYXRpb24gd2hlbiB0aGUgY2xvY2stcmF0ZSBjaGFuZ2VzLgoKMjAwOC0xMS0xMyAxNTo0ODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgIFNtYWxsIGNsZWFudXBzIGFuZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCjIwMDgtMTEtMTAgMTU6MjY6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWxzbyBjb25maWd1cmUgdGhlIG5leHQgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIHdlIGdldCBhIHNlcW51bS1iYXNlIG9uIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgQWxzbyBjb25maWd1cmUgdGhlIG5leHQgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIHdlIGdldCBhIHNlcW51bS1iYXNlCgkgIG9uIHRoZSBjYXBzLgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMTYgMTM6MDU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dCBzZXFudW0gZGlzY28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEZpeCBwcm9ibGVtIHdpdGggdXNpbmcgdGhlIG91dHB1dCBzZXFudW0gY291bnRlciB0byBjaGVjayBmb3IgaW5wdXQKCSAgc2VxbnVtIGRpc2NvbnRpbnVpdGllcy4KCSAgSW1wcm92ZSBnYXAgZGV0ZWN0aW9uIGFuZCByZWNvdmVyeSwgcmVzZXQgYW5kIGZsdXNoIHRoZSBqaXR0ZXJidWZmZXIgb24KCSAgc2VxbnVtIHJlc3RhcnQuIEZpeGVzICM1NTY1MjAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBGaXggd3JvbmcgR19MSUtFTFkuCgoyMDA4LTEwLTE2IDA5OjUxOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbnN0YWxsIGV2ZW50IGhhbmRsZXIgb24gdGhlIHJ0Y3Bfc3JjIHBhZCwgbWFrZSBMQVRFTkNZIGV2ZW50IHJldHVybgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIFRSVUUuCgoyMDA4LTEwLTA3IDE4OjU0OjQxICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDogQWRkIG1hcnNoYWxsZXIgZm9yIG5ldyBhY3Rpb24gc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9nZXRfaW50ZXJuYWxfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gcmV0cmlldmUgdGhlIGludGVybmFsIFJUUFNlc3Npb24gb2JqZWN0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgQWRkIHByb3BlcnR5IHRvIGFjY2VzcyB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjaGVja19jb2xsaXNpb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gcmV0cmlldmUgYW4gUlRQU291cmNlIG9iamVjdCBieSBTU1JDLgoJICBTZWUgIzU1NTM5Ni4KCjIwMDgtMTAtMDcgMTE6MzM6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSBwYWRzIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X3BhZCksCgkgIChmcmVlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksIChyZW1vdmVfcmVjdl9ydHApLAoJICAocmVtb3ZlX3JlY3ZfcnRjcCksIChyZW1vdmVfc2VuZF9ydHApLCAocmVtb3ZlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgU3RhcnQgaW1wbGVtZW50aW5nIHJlbGVhc2luZyBwYWRzIG9mIGdzdHJ0cGJpbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChyZW1vdmVfcmVjdl9ydHBfc2luayksCgkgIChyZW1vdmVfcmVjdl9ydGNwX3NpbmspLCAocmVtb3ZlX3NlbmRfcnRwX3NpbmspLAoJICAocmVtb3ZlX3NlbmRfcnRjcF9zcmMpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgSW1wbGVtZW50IHJlbGVhc2luZyBwYWRzIGluIGdzdHJ0cHNlc3Npb24uCgoyMDA4LTEwLTA3IDEwOjAyOjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUgc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpOgoJICBPbmx5IHVwZGF0ZSB0aGUgc2VxbnVtLWJhc2Ugd2hlbiBpdCB3YXMgbm90IGFscmVhZHkgY29uZmlndXJlZCBmb3IgdGhlCgkgIHN0cmVhbXMuCgoyMDA4LTA5LTMwIDE1OjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQgdGhlIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX3NzcmNfYWN0aXZlKSwgKG9uX3NzcmNfc2RlcyksCgkgIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKG9uX3NlbmRlcl90aW1lb3V0KToKCSAgUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0CgkgIHRoZSBzaWduYWxzLgoKMjAwOC0wOS0yMyAxODoxMzozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRml4IHNvbWUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKHNlc3Npb25fY2xlYW51cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIEZpeCBzb21lIGRvY3MuCgoyMDA4LTA5LTE3IDEzOjU5OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgoyMDA4LTA5LTEzIDAxOjM3OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0IHNlZW4gYW4gU1IgcGFja2V0LiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pOgoJICBEbyBub3QgdHJ5IHRvIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHN0cmVhbXMgZm9yIHdoaWNoIHdlIGhhdmUgbm90IHlldAoJICBzZWVuIGFuIFNSIHBhY2tldC4gQXZvaWRzIGxhcmdlIHRzLW9mZnNldHMgaW4gc29tZSBjYXNlcy4KCjIwMDgtMDktMDUgMTM6NTI6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBUd2VhayBsaXAtc3luYyBjb2RlLCBkb24ndCBzdG9yZSBvdXIgb3duIGNvcHkgb2YgdGhlIHRzLW9mZnNldCBvZiB0aGUKCSAgaml0dGVyYnVmZmVyLCBkb24ndCBhZGp1c3Qgc3luYyBpZiB0aGUgY2hhbmdlIGlzIGxlc3MgdGhhbiA0bXNlYy4KCSAgR2V0IHRoZSBSVFAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGRpcmVjdGx5IGZyb20KCSAgdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIG91ciBpbmFjY3VyYXRlIHZlcnNpb24gZnJvbSB0aGUgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBHX0xJS0VMWSBtYWNyb3MsIHVzZSBnbG9iYWwgZGVmaW5lcyBmb3IgbWF4IHBhY2tldCByZW9yZGVyIGFuZAoJICBkcm9wb3V0cy4KCSAgUmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBjbG9jayBza2V3IGRldGVjdGlvbiB3aGVuIHBhY2tldHMgc2VxbnVtcyBhcmUKCSAgY2hhbmdlZCB1bmV4cGVjdGVkbHkuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgR19MSUtFTFkgbWFjcm9zLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBleHRlbmRlZCBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHJlcG9ydCB0aGUgUlRQCgkgIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBmb3IgbGlwLXN5bmMuCgkgIFJlbW92ZSBzZXJ2ZXIgdGltZXN0YW1wIGdhcCBkZXRlY3Rpb24gY29kZSwgdGhlIHNlcnZlciBjYW4gc29tZXRpbWVzCgkgIG1ha2UgYSBodWdlIGdhcCBpbiB0aW1lc3RhbXBzICh0YWxrIHNwdXJ0cywuLi4pIHNlZSAjNTQ5Nzc0LgoJICBEZXRlY3QgdGltZXRhbXAgd2VpcmRuZXNzIGluc3RlYWQgYnkgb2JzZXJ2aW5nIHRoZSBzZW5kZXIvcmVjZWl2ZXIKCSAgdGltZXN0YW1wIHJlbGF0aW9uIGFuZCByZXN5bmMgaWYgaXQgY2hhbmdlcyBtb3JlIHRoYW4gMSBzZWNvbmQuCgkgIEFkZCBtZXRob2QgdG8gcmVwb3J0IGFib3V0IHRoZSBjdXJyZW50IHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbgoJICB3aGljaCBpcyBuZWVkZWQgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc2VuZGVyX3RpbWVvdXQpLCAoY2hlY2tfY29sbGlzaW9uKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLCB0aGUKCSAgaml0dGVyYnVmZmVyIGNhbiBub3cgZG8gYW4gYWNjdXJhdGUgcmVwb3J0aW5nIGFib3V0IHRoaXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBEZWZpbmUgZ2xvYmFsIG1heC1yZW9yZGVyIGFuZCBtYXgtZHJvcG91dCBjb25zdGFudHMgZm9yIHVzZSBpbiB2YXJpb3VzCgkgIHN1YnN5c3RlbXMuCgoyMDA4LTA4LTI4IDE1OjIxOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHRvIGluc3RydWN0IHVzIHRvIHNlbmQgRU9TLiBXZQoJICBjdXJyZW50bHkgd2lsbCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBpcyBhIHNlbmRlciBhbmQgd2hlbiB0aGUgc2VuZGVyIHBhcnQKCSAgZ29lcyBFT1MuIFRoaXMgaXMgbm90IGVudGlyZWx5IGNvcnJlY3QgYmVoYXZpb3VyIGJlY2F1c2UgdGhlIHNlc3Npb24KCSAgY291bGQgc3RpbGwgcGFydGljaXBhdGUgYXMgYSByZWNlaXZlci4KCSAgRml4ZXMgIzU0OTQwOS4KCjIwMDgtMDgtMTMgMTQ6MzE6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZSBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZQoJICBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIERvbid0IHRyeSB0byBhZGp1c3QgdGhlIHRzLW9mZnNldCB3aGVuIGl0J3MgdG9vIGJpZyAoPiAzc2Vjb25kcykKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2V0X3NzcmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG1ldGhvZCB0byBzZXQgc2Vzc2lvbiBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyksIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZGVkIGRlYnVnZ2luZyBmb3IgdGhlIGNvbGxpc2lvbiBjaGVja3MuCgkgIEFkZCBtZXRob2QgdG8gY2hhbmdlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIFJlc2V0IHRoZSBjbG9jayBiYXNlIHdoZW4gd2UgZGV0ZWN0IGxhcmdlIGp1bXBzIGluIHRoZSBzZXFudW1zLgoKMjAwOC0wOC0xMSAwNzoyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICBVc2UgIi0iIGluc3RlYWQgb2YgIl8iIGluIHByb3BlcnR5IG5hbWVzLiBDYW4gd2UgY2FsbCB0aGVtIGp1c3QKCSAgImRldmljZSIgbGlrZSBldmVyeXdoZXJlIGVsc2U/CgoyMDA4LTA4LTA1IDA5OjQyOjUzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZSBqaXR0ZXJidWZmZXIgYmVjYXVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBNYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIGluc2VydGluZyBpdCBpbiB0aGUKCSAgaml0dGVyYnVmZmVyIGJlY2F1c2UgdGhlIGppdHRlcmJ1ZmZlciB3aWxsIG1vZGlmeSB0aGUgdGltZXN0YW1wcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIG1ldGhvZCBjb21tZW50IGFib3V0IHJlcXVpcmluZyB3cml0YWJsZSBtZXRhZGF0YSBvbiBidWZmZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKToKCSAgTWFrZSB0aGUgUlRDUCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVjYXVzZSB3ZSB3YW50IHRvIG1vZGlmeSB0aGUKCSAgbWV0YWRhdGEuCgkgIEZpeGVzICM1NDYzMTIuCgoyMDA4LTA4LTA1IDA5OjAwOjUwICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBkZWJ1ZyBieSBsb2dnaW5nIHRoZSByaWdodCBzZXFudW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCjIwMDgtMDgtMDUgMDg6NTg6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCk6CgkgIFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgRml4ZXMgIzU0MzQ4MC4KCjIwMDgtMDctMDMgMTQ6NDQ6NTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoKMjAwOC0wNy0wMyAxNDozMToxMCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYSBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChwdXNoX3BhY2tldCksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYQoJICBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoKMjAwOC0wNy0wMyAxMzo0NzoxOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBEbyBub3QgbWl4IHRoZSB1c2Ugb2YgZ19nZXRfY3VycmVudF90aW1lKCkgd2l0aCBnc3RfY2xvY2tfZ2V0X3RpbWUoKS4KCjIwMDgtMDYtMTYgMDc6MzA6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTE2IDA3OjAzOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDYtMDYgMTM6MDE6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseSBzaHV0ZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBkZWFkbG9jayB3aGVuIHNodXR0aW5nIGRvd24sIHVzZSBhIG5ldyBsb2NrIGluc3RlYWQgdG8gcHJvcGVybHkKCSAgc2h1dGRvd24uCgoyMDA4LTA1LTI3IDE2OjQ4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE1ha2Ugc3VyZSBubyBzdGF0ZSBjaGFuZ2VzIGNhbiBoYXBwZW4gd2hlbiB3ZSByZWNvbmZpZ3VyZS4KCjIwMDgtMDUtMjYgMTA6MDk6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBjaGVja2luZyB0aGUgc2VxbnVtLCByZXNldCB0aGUgaml0dGVyYnVmZmVyIGlmIHRoZSBnYXAgaXMgdG9vIGJpZywgd2UgbmVlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLAoJICB3ZSBuZWVkIHRvIGRvIHRoaXMgc28gdGhhdCB3ZSBjYW4gYmV0dGVyIGhhbmRsZSBhIHJlc3RhcnRlZCBzb3VyY2UuCgkgIEZpeCBzb21lIGNvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgVHdlYWsgdGhlIHNrZXcgcmVzeW5jIGRpZmYuCgkgIFVzZSBvdXIgd29ya2luZyBzZXFudW0gY29tcGFyZSBmdW5jdGlvbiBpbiAtYmFzZS4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgaW5zZXJ0IGNvZGUgdG8gbWFrZSBpdCBjbGVhcmVyIGFuZCBtb3JlCgkgIHBlcmZvcm1hbnQgYnkgb25seSByZXRyaWV2aW5nIHRoZSBzZXFudW0gb2YgdGhlIGlucHV0IGJ1ZmZlciBvbmNlIGFuZCBieQoJICBhZGRpbmcgc29tZSBHX0xJS0VMWSBjb21waWxlciBoaW50cy4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgZm9yIGR1cGxpY2F0ZSBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIEZpeCBhIGNvbW1lbnQsIHdlIGRvbid0IGRvIHNrZXcgY29ycmVjdGlvbiBoZXJlLi4KCjIwMDgtMDUtMjYgMTA6MDA6MjQgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbiB0aGV5IGFyZSBjaGFuZ2VkIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSk6CgkgIFByb3BhZ2F0ZSB0aGUgZG8tbG9zdCBhbmQgbGF0ZW5jeSBwcm9wZXJ0aWVzIHRvIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4KCSAgdGhleSBhcmUgY2hhbmdlZCBvbiBydHBiaW4uCgoyMDA4LTA1LTI2IDA5OjU3OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiAoc3dpdGNoX3RpbWVyKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChzZW5kX3RhZ19ldmVudCk6CgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoKMjAwOC0wNS0xNiAxOTo1NjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL01ha2VmaWxlLmFtOiBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgYXR0ZW1wdCB0byBidWlsZCBwbHVnaW4gZG9jcyB3aGVuIHRoZXkncmUgZGlzYWJsZWQuCgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBBZGQgbGliZ3N0dmlkZW8gdG8gdGhlIGxpbmsuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBsaW5rIG9yZGVyLCBhbmQgbW92ZSBMSUJTIHRoaW5ncyB0byBfTElCUwoKMjAwOC0wNS0xNCAyMTowMjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4gZXJyb3IgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbgoJICBlcnJvciBhbmQgc3RvcHBpbmcuIFRoaXMgaXMgYSBwZXJmZWN0bHkgcmVjb3ZlcmFibGUgZXZlbnQgYW5kIHdlIGRvbid0CgkgIGZvcmNlIHBlb3BsZSB0byB1c2UgYW4gcnRwYmluIHRvIGZpbHRlciBvdXQgYmFkIHBhY2tldHMgZmlyc3QuCgoyMDA4LTA1LTEzIDA5OjA2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBBY3R1YWxseSBhZGQgdGhlIGRvLWxvc3QgcHJvcGVydHkgdG8gdGhlIG9iamVjdC4KCjIwMDgtMDUtMTIgMTg6NDM6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEgbG93ZXIgdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEF2b2lkIHdhaXRpbmcgZm9yIGEgbmVnYXRpdmUgKGh1Z2UpIGR1cmF0aW9uIHdoZW4gdGhlIGxhc3QgcGFja2V0IGhhcyBhCgkgIGxvd2VyIHRpbWVzdGFtcCB0aGFuIHRoZSBjdXJyZW50IHBhY2tldC4KCjIwMDgtMDUtMTIgMTQ6Mjg6MDkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8gcHJldmVudCBhIG1lbW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9xdWVyeV9zZW5kX3J0Y3Bfc3JjKToKCSAgTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBydHBzZXNzaW9uIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X3BhcmVudCgpIHRvCgkgIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCjIwMDgtMDUtMTIgMTQ6MTI6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbml0aWFsaXNlIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wNS0wOSAwNzo0MTo1OCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBjYXBzIHVzZWQgYnkgUlRQU291cmNlIHRvIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2ZpbmFsaXplKToKCSAgTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBjYXBzIHVzZWQgYnkgUlRQU291cmNlIHRvIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCjIwMDgtMDUtMDggMDk6NDM6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfY2xvY2tfcmF0ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpOgoJICBVbmxvY2sgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNhbGxpbmcgb25lIG9mIG91ciBjYWxsYmFja3MuCgkgIEZpeGVzICM1MzIwMTEuCgoyMDA4LTA1LTA4IDA2OjIzOjM5ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNlbmQgUlRQIEJZRSBjb21tYW5kIG9uIEVPUy4gRml4ZXMgYnVnICM1MzE5NTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIFNlbmQgUlRQIEJZRSBjb21tYW5kIG9uIEVPUy4gRml4ZXMgYnVnICM1MzE5NTUuCgoyMDA4LTA0LTI1IDExOjMyOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0eSBpbiBydHBiaW4gdG9vLgoKMjAwOC0wNC0yNSAxMToyMjoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBEaXNhYmxlIHNlbmRpbmcgb3V0IHJ0cCBwYWNrZXQgbG9zdCBldmVudHMgYnkgZGVmYXVsdCBhbmQgbWFrZSBhIHByb3BlcnR5IHRvIGVuYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEKCSAgcHJvcGVydHkgdG8gZW5hYmUgaXQuIFdlIHdpbGwgbGlrZWx5IGVuYWJsZSBpdCBieSBkZWZhdWx0IHdoZW4gdGhlIGJhc2UKCSAgZGVwYXlsb2FkZXJzIGhhdmUgYSBkZWZhdWx0IGhhbmRsZXIgZm9yIHRoZW0gc28gdGhhdCB3ZSBkb24ndCBzZW5kIHRoZXNlCgkgIGV2ZW50cyBhbGwgdGhyb3VnaCB0aGUgcGlwZWxpbmUgZm9yIG5vdy4KCjIwMDgtMDQtMjUgMDk6MzU6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zcmNfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBBZGQgc3JjIGV2ZW50IGhhbmRsZXIuCgkgIFJld29yayB0aGUgaml0dGVyYnVmZmVyIHB1c2hpbmcgbG9vcCBzbyB0aGF0IGl0IGNhbiBxdWlja2x5IHJlYWN0IHRvCgkgIGxvc3QgcGFja2V0cyBhbmQgaW5zdHJ1Y3QgdGhlIGRlcGF5bG9hZGVyIG9mIHRoZW0uIFRoaXMgY2FuIHRoZW4gYmUgdXNlZAoJICB0byBpbXBsZW1lbnQgZXJyb3IgY29uY2VhbG1lbnQgZGF0YS4KCjIwMDgtMDQtMjUgMDg6MjE6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNldCB1cCBzb21lIGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucyBmb3IgdGhlIFJUQ1AgYW5kIHN5bmMgcGFkcyBiZWNhdXNlIHRoZSBkZWZhdWx0cyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpLCAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UKCSAgdGhlIGRlZmF1bHRzIGFyZSByZWFsbHkgbm90IGNvcnJlY3QuCgkgIEltcGxlbWVudCBhIHF1ZXJ5IGhhbmRsZXIgZm9yIHRoZSBSVENQIHNyYyBwYWQsIG1vc3RseSB0byBjb3JyZWN0bHkKCSAgcmVwb3J0IGFib3V0IHRoZSBsYXRlbmN5LgoKMjAwOC0wNC0yNSAwODoxNTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIFJUUCB0aW1lc3RhbXAgYXMgdGhleSBib3RoIGFyZSBuZWVkZWQgdG8gY29uc3RydWN0IHRoZSB0aW1pbmcgb2YKCSAgb3V0Z29pbmcgcGFja2V0cyBpbiB0aGUgaml0dGVyYnVmZmVyIGFuZCBhcmUgdGhlcmVmb3JlIGFsc28gbmVlZGVkIHRvCgkgIG1hbmFnZSBsaXAtc3luYy4gVGhpcyBmaXhlcyBsaXAtc3luYyBpZiB0aGUgZmlyc3QgUlRQIHBhY2tldHMgYXJyaXZlCgkgIHdpdGggYSB3aWxkbHkgZGlmZmVyZW50IGdhcC4KCjIwMDgtMDQtMjEgMDg6MjY6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBEb24ndCBsZWFrIHBhZHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgQXZvaWQgYSBjYXBzIGxlYWsuCgkgIERvbid0IGxlYWsgcmVmY291bnQgaW4gcXVlcnkuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2FwcyksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgQXZvaWQgY2FwcyBsZWFrcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzb3VyY2VfZ2V0X3NkZXNfc3RydWN0dXJlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKHJldHVybl90cnVlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9zZXNzaW9uX2NhY2hlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgRml4IHNvbWUgbW9yZSBjYXBzIGxlYWtzLiBGaXhlcyAjNTI4MjQ1LgoKMjAwOC0wNC0xNyAwNzozMTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwgKGZyZWVfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9nZXRfZnJlZV9wYWRfbmFtZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgRG9uJ3QgbGVhayBhIHBhZG5hbWUuCgkgIERvbid0IGxlYWsgY2xpZW50IHN0cmVhbXMgbGlzdC4KCSAgTG9jayBydHBiaW4gd2hlbiBhc3NvY2lhdGluZyBzdHJlYW1zLiBGaXhlcyAjNTI4MjQ1LgoKMjAwOC0wNC0wOSAyMjoyNzo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoKMjAwOC0wMy0xMSAxMjo0MDo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uKjogSW1wbGVtZW50IGNvbGxpc2lvbiBhbmQgbG9vcCBkZXRlY3Rpb24gaW4gcnRwbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChmaW5kX2FkZF9jb25mbGljdGluZ19hZGRyZXNzZXMpLAoJICAoY2hlY2tfY29sbGlzaW9uKSwgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX25ld19zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBGaXhlcyAjNTIwNjI2LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9yZXNldCksCgkgIChydHBfc291cmNlX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgbWV0aG9kIHRvIHJlc2V0IHN0YXRzLgoKMjAwOC0wMy0xMSAxMTozNjowMyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogQXZvaWQgYSBkZWFkbG9jayB3aGVuIGpvaW5pbmcgdGhlIFJUQ1AgdGhyZWFkIGluIFBBVVNFRCBiZWNhdXNlIGl0IG1pZ2h0IGJlIGJsb2NrZWQgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKHN0YXJ0X3J0Y3BfdGhyZWFkKSwgKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoam9pbl9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKToKCSAgQXZvaWQgYSBkZWFkbG9jayB3aGVuIGpvaW5pbmcgdGhlIFJUQ1AgdGhyZWFkIGluIFBBVVNFRCBiZWNhdXNlIGl0IG1pZ2h0CgkgIGJlIGJsb2NrZWQgZG93bnN0cmVhbS4gQWxzbyBhdm9pZCBzcGF3bmluZyBtdWx0aXBsZSBydGNwIHRocmVhZHMuCgkgIEZpeGVzICM1MjA4OTQuCgoyMDA4LTAzLTExIDEwOjQzOjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdHJ5IHRvIHJlc2V0IHRoZSBjbG9jayBza2V3IHdoZW4gd2UgaGF2ZSBubyB0aW1lc3RhbXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRG9uJ3QgdHJ5IHRvIHJlc2V0IHRoZSBjbG9jayBza2V3IHdoZW4gd2UgaGF2ZSBubyB0aW1lc3RhbXBzLgoJICBGaXhlcyAjNTE5MDA1LgoKMjAwOC0wMi0yMCAwOTozMzoyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgoyMDA4LTAyLTE0IDE2OjI1OjUxICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IElnbm9yZSBzdHJlYW1zIHRoYXQgZGlkIG5vdCByZWNlaXZlIGFuIFNSIHBhY2tldCB3aGVuIGRvaW5nIHN5bmNocm9uaXNhdGlvbi4gRml4ZXMgIzUxNjE2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKToKCSAgSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcKCSAgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoKMjAwOC0wMS0yOSAxODo1NzoyNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBUcnkgdG8gZ2V0IHRoZSBuZXcgY2xvY2stcmF0ZSBmcm9tIHRoZSBidWZmZXIgY2FwcyB3aGVuIHdlIHJlY2VpdmUgYSBuZXcgcGF5bG9hZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldwoJICBwYXlsb2FkIHR5cGUgaW5zdGVhZCBvZiBhbHdheXMgZmlyaW5nIHRoZSBzaWduYWwuIEZpeGVzICM1MTI3NzQuCgoyMDA4LTAxLTI1IDE2OjU4OjAwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQgd2l0aCBhIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAocGF5bG9hZF90eXBlX2NoYW5nZSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBBbHNvIGhhbmRsZSBsaXAtc3luYyB3aGVuIHRoZSBjbG9jay1yYXRlIGlzIG5vdCBwcm92aWRlZCB3aXRoIGNhcHMgYnV0CgkgIHdpdGggYSBzaWduYWwuCgoyMDA4LTAxLTI1IDE2OjAwOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdCBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSBmaXhlZCBjbG9jay1yYXRlIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBhbmQgZXh0ZW5kIGl0IHNvIHRoYXQKCSAgYSBjbG9jay1yYXRlIGNhbiBiZSBwcm92aWRlZCB3aXRoIGVhY2ggYnVmZmVyIGluc3RlYWQuIEZpeGVzICM1MTE2ODYuCgoyMDA4LTAxLTI1IDE1OjQ5OjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBUcmFjayBwdCBvbiBpbnB1dCBidWZmZXJzIGFuZCBnZXQgdGhlIGNsb2NrLXJhdGUgd2hlbiBpdCBjaGFuZ2VzLgoJICBJZ25vcmUgcGFja2V0cyB3aXRoIHVua25vd24gY2xvY2stcmF0ZS4gU2VlICM1MTE2ODYuCgoyMDA4LTAxLTI1IDAxOjQ0OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlCgkgIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoKMjAwOC0wMS0xMSAxNzowMjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIHJldHVybmluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIElmIHdlIGZpbmQgdGhlIGNhcHMgaW4gdGhlIGNhY2hlLCB1c2UgaXQgdG8gcGFyc2UgdGhlIGNsb2NrLXJhdGUgaW5zdGVhZAoJICBvZiByZXR1cm5pbmcgYW4gZXJyb3IuIEZpeGVzIGEgVE9ETyBhcyBmb3VuZCBieSBZb3VuZXNzIEFsYW91aS4KCjIwMDgtMDEtMTEgMTY6NDU6NTcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwbWFuYWdlci86IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZXNzIEFsYW91aSA8eW91bmVzcyBkb3QgYWxhb3VpIGF0IGNvbGxhYm9yYSBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9jZXNzX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydHBfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3NlbmRfcnRjcF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc3luY19ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9jbG9ja19yYXRlX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9yZWNvbnNpZGVyX2NhbGxiYWNrKSwgKHNvdXJjZV9wdXNoX3J0cCksCgkgIChzb3VyY2VfY2xvY2tfcmF0ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBkaWZmZXJlbnQgdXNlcl9kYXRhIGZvciBlYWNoIG9mIHRoZSBjYWxsYmFja3MuCgkgIEZpeGVzICM1MDg1ODcuCgoyMDA4LTAxLTEwIDIwOjU3OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCjIwMDgtMDEtMTAgMTQ6MzQ6MzAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgoyMDA4LTAxLTA5IDE0OjM5OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIgcGFkIGNhbiByZW5lZ290Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgRG9uJ3Qgc2V0IGZpeGVkIGNhcHMsIHdlIGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZyB0aGUgdXBzdGVhbSBwZWVyCgkgIHBhZCBjYW4gcmVuZWdvdGlhdGUgdG8uIEZpeGVzICM1MDc5NDAuCgoyMDA4LTAxLTA0IDE4OjQ3OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBEb24ndCB1bnJlZiB0aGUgcG9wcGVkIGJ1ZmZlciB3aGVuIHdlIGRvbid0IGhhdmUgb3duZXJzaGlwLgoJICBGaXhlcyAjNTA3MDIwLgoKMjAwNy0xMi0zMSAxMzoxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoKMjAwNy0xMi0xMiAxNjo1OTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2xlYW4gdXAgdGhlIGR5bmFtaWMgcGFkcyB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfc2V0dXApLCAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGdzdF9ydHBfc3NyY19kZW11eF9yZXNldCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA3LTEyLTEyIDEyOjExOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX2Jpbl9zZXRfc2Rlc19zdHJpbmcpLCAoZ3N0X3J0cF9iaW5fZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2ZpbmFsaXplKToKCSAgRml4IHNvbWUgbGVha3MuCgoyMDA3LTEyLTEwIDE4OjM2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAob25fc3NyY19zZGVzKToKCSAgUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIFVwZGF0ZSBzb21lIGNvbW1lbnRzLgoKMjAwNy0xMi0xMCAxNTozNDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19zZGVzKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfc2RlcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2Rlcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIEZpeCBvYmplY3QgdHlwZSBpbiB0aGUgc2lnbmFsIGNhbGxiYWNrcy4KCjIwMDctMTItMTAgMTQ6MDM6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGggdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLCAoc2Rlc190eXBlX3RvX25hbWUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGgKCSAgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBTU1JDIHByb3BlcnR5LgoKMjAwNy0xMi0xMCAxMTowODoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBEZWZpbmUgc29tZSBHT2JqZWN0IHByb3BlcnRpZXMgdG8gc2V0IFNERVMgYW5kIG90aGVyIGNvbmZpZ3VyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9mcmFjdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9mcmFjdGlvbiksIChydHBfc2Vzc2lvbl9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NkZXNfc3RyaW5nKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2ludGVybmFsX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc2RlcyksCgkgIChpc19ydGNwX3RpbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNpZ25hbCB3aGVuIG5ldyBTREVTIGluZm9yIGhhcyBiZWVuIGZvdW5kIGZvciBhIHNvdXJjZS4KCSAgQ3JlYXRlIHByb3BlcnRpZXMgZm9yIFNERVMgYW5kIG90aGVyIGluZm8uCgkgIFNpbXBsaWZ5IHRoZSBTREVTIEFQSS4KCSAgQWRkIG1ldGhvZCBmb3IgZ2V0dGluZyB0aGUgaW50ZXJuYWwgc291cmNlIG9iamVjdCBvZiB0aGUgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc291cmNlX2dldF9zc3JjKSwgKHJ0cF9zb3VyY2Vfc2V0X2FzX2NzcmMpLAoJICAocnRwX3NvdXJjZV9pc19hc19jc3JjKSwgKHJ0cF9zb3VyY2VfaXNfYWN0aXZlKSwKCSAgKHJ0cF9zb3VyY2VfaXNfdmFsaWRhdGVkKSwgKHJ0cF9zb3VyY2VfaXNfc2VuZGVyKSwKCSAgKHJ0cF9zb3VyY2VfcmVjZWl2ZWRfYnllKSwgKHJ0cF9zb3VyY2VfZ2V0X2J5ZV9yZWFzb24pLAoJICAocnRwX3NvdXJjZV9zZXRfc2RlcyksIChydHBfc291cmNlX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9zZGVzKSwgKHJ0cF9zb3VyY2VfZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgR09iamVjdCBwcm9wZXJ0aWVzIGZvciB2YXJpb3VzIHRoaW5ncy4KCSAgRG9uJ3QgbGVhayB0aGUgYnllIHJlYXNvbi4KCjIwMDctMTEtMjIgMDk6MDg6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogaml0dGVyYnVmZmVyIGNhbiBidWZmZXIgYW4gdW5saW1pdGVkIGFtb3VudCBvZiB0aW1lIGFuZCB0aHVzIGhhcyBubyBtYXhfbGF0ZW5jeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vCgkgIG1heF9sYXRlbmN5IHJlcXVpcmVtZW50cy4KCjIwMDctMTEtMDIgMjE6NDU6MzggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBGaXggYmFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMgKCM0OTI3OTgpLgoKMjAwNy0xMC0wOSAxMDowMTozOSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCjIwMDctMTAtMDggMTc6NDY6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5jOiAocmZiX2J1ZmZlcl9uZXdfYW5kX2FsbG9jKToKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiAocmZiX3NvY2tldF9nZXRfYnVmZmVyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbik6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6IChuZXM2NTAyX2V4ZWN1dGUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgoyMDA3LTEwLTA4IDEwOjM5OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIFdoZW4gY2xlYXJpbmcgcGF5bG9hZCBtYXBzLCBhbHNvIGNsZWFyIHNlc3Npb25zIGFuZCBzdHJlYW1zIHBheWxvYWQKCSAgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZmluZF9wYWRfZm9yX3B0KToKCSAgSW1wbGVtZW50IGNsZWFyaW5nIHRoZSBwYXlsb2FkIG1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIEZvcndhcmQgZmx1c2ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCk6CgkgIENvcnJlY3RseSByZWZjb3VudCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlbS4KCjIwMDctMTAtMDUgMTc6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0IHJlcG9ydCB0aW1lIGluc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwKCSAgV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QKCSAgcmVwb3J0IHRpbWUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBjbG9jayB0aW1lIHNvIHRoYXQgd2UgZG9uJ3QgZW5kIHVwCgkgIHJlY29uc2lkZXJpbmcgZm9yZXZlci4KCjIwMDctMTAtMDUgMTI6MDc6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzIHVzIHRvIGdyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MKCSAgdXMgdG8gZ3JlYXRseSBzaW1wbGlmeSB0aGluZ3Mgd2hlbiB0aGUgdGFpbCBlbGVtZW50IGNoYW5nZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpOgoJICBGb3J3YXJkIEZMVVNIIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSB0YWlsLWNoYW5nZWQgY2FsbGJhY2sgaW4gZmF2b3VyIG9mIGEgc2ltcGxlIGJvb2xlYW4gd2hlbiB3ZQoJICBpbnNlcnQgYSBidWZmZXIgaW4gdGhlIHF1ZXVlLgoJICBBZGQgbWV0aG9kIHRvIHBlZWsgdGhlIHRhaWwgb2YgdGhlIGJ1ZmZlci4KCjIwMDctMTAtMDIgMTA6Mjc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoYXBwbHlfb2Zmc2V0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJpYWJsZXMuCgkgIERvbid0IGFkZCB0aGUgbGF0ZW5jeSB0byB0aGUgc2tldyBjb3JyZWN0ZWQgdGltZXN0YW1wLCBsYXRlbmN5IGlzIG9ubHkKCSAgdXNlZCB0byBzeW5jIGFnYWluc3QgdGhlIGNsb2NrLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEhhbmRsZSBjYXNlIHdoZXJlIHNlcnZlciB0aW1lc3RhbXAgZ29lcyBiYWNrd2FyZHMgb3Igd2lsZGx5IGp1bXBzIGJ5CgkgIHRlbXBvcmFyaWx5IHBhdXNpbmcgdGhlIHNrZXcgY29ycmVjdGlvbi4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgoyMDA3LTA5LTI4IDE0OjUxOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9jbGllbnQpOgoJICBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBIYW5kbGUgY2FzZXMgd2hlcmUgaW5wdXQgYnVmZmVycyBoYXZlIG5vIHRpbWVzdGFtcHMgc28gdGhhdCBubyBjbG9jawoJICBza2V3IGNhbiBiZSBjYWxjdWxhdGVkLCBpbiB0aGlzIGNhc2UgaW50ZXJwb2xsYXRlIHRpbWVzdGFtcHMgYmFzZWQgb24KCSAgcnRwIHRpbWVzdGFtcCBhbmQgYXNzdW1lIGEgMCBjbG9jayBza2V3LgoKMjAwNy0wOS0yOCAxMToxNzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChhcHBseV9sYXRlbmN5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBVc2UgbmV3IC1jb3JlIG1ldGhvZCBmb3IgZG9pbmcgYSBwZWVyIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNb3ZlIGppdHRlciBjb3JyZWN0aW9uIHRvIHRoZSBsb3dsZXZlbCBqaXR0ZXJidWZmZXIuCgkgIEluY3JlYXNlIHRoZSBtYXggd2luZG93IHNpemUuCgkgIFdoZW4gZmlsbGluZyB0aGUgd2luZG93LCBhbHJlYWR5IHN0YXJ0IGVzdGltYXRpbmcgdGhlIHNrZXcgdXNpbmcgYQoJICBwYXJhYm9saWMgd2VpZ2h0aW5nIGZhY3RvciBzbyB0aGF0IHdlIGhhdmUgYSBtdWNoIGJldHRlciBzdGFydHVwCgkgIGJlaGF2aW91ciB0aGF0IGdldHMgbW9yZSBhY2N1cmF0ZSB3aXRoIHRoZSBtb3JlIHNhbXBsZXMgd2UgaGF2ZS4KCSAgSW5jcmVhc2UgdGhlIGRlZmF1bHQgd2VpZ2h0aW5nIGZhY3RvciBmb3IgdGhlIHN0ZWFkeSBzdGF0ZSB0byBnZXQKCSAgc21vb3RoZXIgdGltZXN0YW1wcy4KCjIwMDctMDktMjYgMjA6MDg6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKToKCSAgRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBEeW5hbWljYWxseSBhZGp1c3QgdGhlIHNrZXcgY2FsY3VsYXRpb24gd2luZG93IHNvIHRoYXQgd2UgY2FsY3VsYXRlIGl0CgkgIG92ZXIgYSBwZXJpb2Qgb2YgYXJvdW5kIDIgc2Vjb25kcy4KCjIwMDctMDktMjAgMTQ6MzQ6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfYWN0aXZlKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfYWN0aXZlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX2FjdGl2ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoKMjAwNy0wOS0xNyAwMjowMTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUKCSAgc3NyYyBkZW11eGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBGaXggcmFjZSBpbiBjcmVhdGluZyB0aGUgUlRQIGFuZCBSVENQIHBhZHMgd2hlbiBhIG5ldyBTU1JDIGlzIGRldGVjdGVkLgoKMjAwNy0wOS0xNiAxOTo0MDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChjb252ZXJ0X3J0cHRpbWVfdG9fZ3N0dGltZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlY29uc3RydWN0IEdTVCB0aW1lc3RhbXAgZnJvbSBSVFAgdGltZXN0YW1wcyBiYXNlZCBvbiBtZWFzdXJlZCBjbG9jawoJICBza2V3IGFuZCBzeW5jIG9mZnNldC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X3RhaWxfY2hhbmdlZCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfY2xvY2tfcmF0ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcGVlayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1lYXN1cmUgY2xvY2sgc2tldy4KCSAgQWRkIGNhbGxiYWNrIHRvIGJlIG5vdGZpZWQgd2hlbiBhIG5ldyBwYWNrZXQgd2FzIGluc2VydGVkIGF0IHRoZSB0YWlsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBjbG9jayBza2V3IGRldGVjdGlvbiwgaXQncyBtb3ZlIHRvIHRoZSBqaXR0ZXJidWZmZXIgbm93LgoKMjAwNy0wOS0xNSAxODo0ODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIHNldCBOVFAgYmFzZSB0aW1lIG9uIG5ldyBzZXNzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgIEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSB0aGUgcmlnaHQgbG9jayB0byBwcm90ZWN0IG91ciB2YXJpYWJsZXMuCgkgIEZpeCBzb21lIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgSW1wbGVtZW50IGdldGNhcHMgb24gdGhlIHNlbmRlciBzaW5rcGFkIHNvIHRoYXQgcGF5bG9hZGVycyBjYW4gbmVnb3RpYXRlCgkgIHRoZSByaWdodCBTU1JDLgoKMjAwNy0wOS0xMiAyMToyMzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVmFyaW91cyBsZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGZyZWVfc2Vzc2lvbiksCgkgIChnZXRfY2xpZW50KSwgKGZyZWVfY2xpZW50KSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChmcmVlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFZhcmlvdXMgbGVhayBmaXhlcy4KCjIwMDctMDktMTIgMTg6MDQ6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY2FsY19udHBfbnNfYmFzZSksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE5UUCB0aW1lcyBpbiBTUiBwYWNrZXRzLgoJICBTZXQgY2FwcyBvbiBuZXcgZ2hvc3RwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIENsZWFuIGRlYnVnIHN0YXRlbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ2V0X2N1cnJlbnRfbnRwX25zX3RpbWUpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ludGVybmFsX2xpbmtzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG50cC1ucy1iYXNlIHByb3BlcnR5IHRvIGNvbnZlcnQgcnVubmluZ190aW1lIHRvIE5UUCB0aW1lLgoJICBIYW5kbGUgTkVXU0VHTUVOVCBldmVudHMgb24gc2VuZCBhbmQgcmVjdiBSVFAgcGFkcyBzbyB0aGF0IHdlIGNhbgoJICBjYWxjdWxhdGUgdGhlIHJ1bm5pbmcgdGltZSBhbmQgdGh1cyBOVFAgdGltZSBvZiB0aGUgcGFja2V0cy4KCSAgU2ltcGxpZnkgZ2V0dGluZyB0aGUgY3VycmVudCBOVFAgdGltZSB1c2luZyB0aGUgcGlwZWxpbmUgY2xvY2suCgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMuCgkgIFVzZSB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lIGluc3RlYWQgb2YgdGhlIGNsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBJbXBsZW1lbnQgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb24uCgkgIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuIGRpZmZlcmVudCBzdHJlYW1zLCB0aGlzIG1pZ2h0IGJlIHVzZWQgbGF0ZXIKCSAgdG8gZ2V0IHRoZSBpbnRlciBzdHJlYW0gbGF0ZW5jeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFNpbXBsZSBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBNYWtlIHRoZSBjbG9jayBza2V3IHdpbmRvdyBhIGxpdHRsZSBiaWdnZXIuCgkgIEFwcGx5IHRoZSBjbG9jayBza2V3IHRvIGFsbCBidWZmZXJzLCBub3QganVzdCBvbmUgd2l0aCBhIG5ldyB0aW1lc3RhbXAuCgkgIENhbGN1bGF0ZSBhbmQgZGVidWcgc2VuZGVyIGNsb2NrIGRyaWZ0LgoJICBVc2UgZXh0ZW5kZWQgbGFzdCB0aW1lc3RhbXAgdG8gaW50ZXJwb2xsYXRlIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOS0wNCAxNToyMzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvciAoIzQ3MzU2MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvcgoJICAoIzQ3MzU2MikuCgoyMDA3LTA5LTAzIDIxOjE5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVcGRhdGVkIGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9nZXRfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChjYXBzX2NoYW5nZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgSGFuZGxlIHN5bmNfcnRjcCBidWZmZXJzIGZyb20gdGhlIFNTUkMgZGVtdXhlciB0byBwZXJmb3JtIGxpcC1zeW5jLgoJICBTZXQgdGhlIGRlZmF1bHQgbGF0ZW5jeSBjb3JyZWN0bHkuCgkgIEFkZCBzb21lIG1vcmUgcG9pbnRzIHdoZXJlIHdlIGNhbiBnZXQgY2Fwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHRzLW9mZnNldCBwcm9wZXJ0eSB0byBjb250cm9sIHRpbWVzdGFtcGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ2V0X2N1cnJlbnRfbnRwX25zX3RpbWUpLAoJICAocnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgRmVlZCBydHBzZXNzaW9uIG1hbmFnZXIgd2l0aCBOVFAgdGltZSBiYXNlZCBvbiBwaXBlbGluZSBjbG9jayB3aGVuCgkgIGhhbmRsaW5nIFJUUCBwYWNrZXRzIGFuZCBSVENQIHRpbWVvdXRzLgoJICBQZXJmb3JtIGFsbCBSVENQIHdpdGggdGhlIHN5c3RlbSBjbG9jay4KCSAgU2V0IGNhcHMgb24gUlRDUCBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWxzbyBkZW11eCBSVENQIG1lc3NhZ2VzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yYiksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHNlc3Npb25fc3RhcnRfcnRjcCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmVtb3ZlIHRoZSBnZXRfdGltZSBjYWxsYmFjaywgdGhlIEdTdHJlYW1lciBwYXJ0IHdpbGwgZmVlZCB1cyB3aXRoCgkgIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24uCgkgIFNwbGl0IHN5bmMgdGltaW5nIGFuZCBSVENQIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgRmFjdG9yIG91dCBjb21tb24gUkIgaGFuZGxpbmcgZm9yIFNSIGFuZCBSUi4KCSAgU2VuZCBvdXQgU1IgUlRDUCBwYWNrZXRzIGZvciBsaXAtc3luYy4KCSAgTW92ZSBTUiBhbmQgUlIgcGFja2V0IGluZm8gZ2VuZXJhdGlvbiB0byB0aGUgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksCgkgIChydHBfc291cmNlX2dldF9uZXdfc3IpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVzZSBjYXBzIG9uIGluY29tbWluZyBidWZmZXJzIHRvIGdldCB0aW1pbmcgaW5mb3JtYXRpb24gd2hlbiB0aGV5IGFyZQoJICB0aGVyZS4KCSAgQ2FsY3VsYXRlIGNsb2NrIHNjZXcgb2YgdGhlIHJlY2VpdmVyIGNvbXBhcmVkIHRvIHRoZSBzZW5kZXIgYW5kIGFkanVzdAoJICB0aGUgcnRwIHRpbWVzdGFtcHMuCgkgIENhbGN1bGF0ZSB0aGUgcm91bmQgdHJpcCBpbiBzb3VyY2VzLgoJICBEbyBTUiBhbmQgUlIgY2FsY3VsYXRpb25zIGluIHRoZSBzb3VyY2UuCgoyMDA3LTA4LTMxIDE1OjI2OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFVzZSBleHRlbmRlZCB0aW1lc3RhbXAgdG8gcmVsZWFzZSBidWZmZXJzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBzbyB0aGF0IHdlIGNhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFVzZSBleHRlbmRlZCB0aW1lc3RhbXAgdG8gcmVsZWFzZSBidWZmZXJzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBzbyB0aGF0CgkgIHdlIGNhbiBoYW5kbGUgdGhlIHJ0cCB3cmFwYXJvdW5kIGNvcnJlY3RseS4KCjIwMDctMDgtMjkgMTY6NTY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW1wcm92ZSBDb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEltcHJvdmUgQ29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfc2Vzc2lvbl9wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBBbHNvIHBhcnNlIHRoZSBzaW5rIGNhcHMgZm9yIGNsb2NrLXJhdGUgaW5zdGVhZCBvZiBvbmx5IHJlbHlpbmcgb24gdGhlCgkgIHJlc3VsdCBvZiB0aGUgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIE1ha2Ugc3VyZSB3ZSBmZXRjaCB0aGUgY2xvY2sgcmF0ZSBmb3IgcGF5bG9hZHMgd2UgYXJlIHNlbmRpbmcgb3V0IHNvCgkgIHRoYXQgd2UgY2FuIHVzZSBpdCBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDgtMjkgMDE6MjI6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLio6IERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0IGNhbiBnZW5lcmF0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0CgkgIGNhbiBnZW5lcmF0ZSBjb3JyZWN0IFNSIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9iYXNlX3RpbWUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3RpbWVzdGFtcF9zeW5jKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kcyBmb3Igc2V0dGluZyBzeW5jIHBhcmFtZXRlcnMuCgkgIFNldCBjb3JyZWN0IFJUUCB0aW1lIGluIFNSIHBhY2tldHMgdXNpbmcgdGhlIHN5bmMgcGFyYW1zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlY29yZCBsYXN0IFJUUCA8LT4gR1NUIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSB0byBjb252ZXJ0IE5UUAoJICB0byBSVFAgdGltZXN0YW1wcyBpbiBTUiBwYWNrZXRzLgoKMjAwNy0wOC0yOCAyMDozMDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBZGQgc29tZSBtb3JlIGFkdmFuY2VkIGV4YW1wbGUgcGlwZWxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIEZJWE1FLgoJICBSZWxlYXNlIExPQ0sgd2hlbiBwZXJmb3JtaW5nIHNlc3Npb24gY2xlYW51cC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICBBZGQgc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBSVFAgcGFja2V0cyB3aXRoIHRoZSBzZXNzaW9uIFNTUkMuCgoyMDA3LTA4LTI3IDIxOjE3OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBXaGVuIHN5bmNocm9uaXppbmcgYnVmZmVycywgdGFrZSBwZWVyIGxhdGVuY3kgaW50byBhY2NvdW50LgoJICBEb24ndCB0cnkgdG8gYWRkIG91ciBsYXRlbmN5IHRvIGludmFsaWQgcGVlciBtYXggbGF0ZW5jeSB2YWx1ZXMuCgoyMDA3LTA4LTIzIDIxOjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIFJlbmFtZSBhbGwgR3N0UlRQRm9vIHN0cnVjdHMgdG8gR3N0UnRwRm9vIHNvIHRoYXQgR1NUX0JPSUxFUlBMQVRFCgkgIHJlZ2lzdGVycyBhIEdUeXBlIHRoYXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgR3N0UlRQRm9vIHR5cGVzIHRoYXQKCSAgZmFyc2lnaHQgcmVnaXN0ZXJzIChsdWNraWx5IEdUeXBlIG5hbWVzIGFyZSBjYXNlIHNlbnNpdGl2ZSkuIFNob3VsZAoJICBmaW5hbGx5IGZpeCAjNDMwNjY0LgoKMjAwNy0wOC0yMSAxNzoxODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2ggdGhlIGJ1Zi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KToKCSAgV2hlbiBkcm9wLW9uLWxhdGVuY3kgaXMgc2V0IGJ1dCB3ZSBoYXZlIG5vIGxhdGVuY3kgY29uZmlndXJlZCwganVzdCBwdXNoCgkgIHRoZSBidWZmZXIgYXMgZmFzdCBhcyBwb3NzaWJsZS4KCSAgRml4IHR5cG8gaW4gY29tbWVudC4KCjIwMDctMDgtMjEgMTY6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuKjogRml4IHVuZGVmaW5lZCBvdmVyZmxvdyBwcm9uZSB0c19kaWZmIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgRml4IHVuZGVmaW5lZCBvdmVyZmxvdyBwcm9uZSB0c19kaWZmIGhhbmRsaW5nLgoKMjAwNy0wOC0xNiAxMTo0MDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggRU9TIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEZpeCBFT1MgaGFuZGxpbmcuCgkgIENvbnZlcnQgc29tZSBERUJVRyBpbnRvIFdBUk5JTkdzLgoJICBQYXVzZSB0YXNrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKToKCSAgVXNlIHN5c3RlbSBjbG9jayBmb3IgUlRDUCBzZXNzaW9uIG1hbmFnZW1lbnQgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCk6CgkgIFJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGVtaXRpbmcgc2lnbmFscy4KCjIwMDctMDgtMTMgMDY6MTY6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBJbmNsdWRlIHN0ZGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIEluY2x1ZGUgc3RkbGliLgoKMjAwNy0wOC0xMCAxNzoxNjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChydHBfaml0dGVyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9uZXcpLCAoY29tcGFyZV9zZXFudW0pLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BvcCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9mbHVzaCksIChydHBfaml0dGVyX2J1ZmZlcl9udW1fcGFja2V0cyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSBjb21wbGljYXRlZCBhc3luYyBxdWV1ZSBhbmQgcmVwbGFjZSB3aXRoIG1vcmUgc2ltcGxlIGppdHRlcmJ1ZmZlcgoJICBjb2RlIHdoaWxlIGFsc28gZml4aW5nIHNvbWUgYnVncy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksCgkgIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksCgkgIChvbl9zc3JjX2NvbGxpc2lvbiksIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fYnllX3NzcmMpLCAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgVXNlIG5ldyBqaXR0ZXJidWZmZXIgY29kZS4KCSAgRXhwb3NlIHNvbWUgbmV3IHNpZ25hbHMgaW4gcHJlcGFyYXRpb24gZm9yIGhhbmRsaW5nIEVPUy4KCjIwMDctMDctMTggMDc6MzU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgoyMDA3LTA2LTIyIDIwOjIzOjE4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvOiBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBGaXhlcyAjNDUwMTg1LgoKMjAwNy0wNS0yOCAxNjozNzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFJlbmFtZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGZhcnNpZ2h0IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgbmFtZS4gRml4ZXMgIzQzMDY2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZQoJICBuYW1lLiBGaXhlcyAjNDMwNjY0LgoKMjAwNy0wNS0yMyAxMzowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvY3VtZW50IHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIERvY3VtZW50IHN0dWZmLgoJICBBZGQgY2xlYXItcHQtbWFwIGFjdGlvbiBzaWduYWwgd2hlcmUgbmVlZGVkLgoKMjAwNy0wNS0xNSAxMzoyOTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogV2UgYWx3YXlzIHVzZSBmaXhlZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgV2UgYWx3YXlzIHVzZSBmaXhlZCBjYXBzLgoKMjAwNy0wNS0xNSAwMzo0NTo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwoKSBvbmx5IGV4aXN0cyBpbiAyLjEyLiAgV29yayBhcm91bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCjIwMDctMDUtMTQgMTU6Mjg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGNsZWFyLXB0LW1hcCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXQgY2xvY2stcmF0ZSB0byAtMSB0byBtYXJrIHVua25vdyBjbG9jayByYXRlLgoJICBGaXggZmx1c2hpbmcuCgoyMDA3LTA1LTEwIDE0OjAyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLCBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwgZ3N0X3F0ZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsCgkgIGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUsIGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MsCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUsIGdzdF9xdGRlbXV4X2xvb3AsCgkgIHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMsIHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoLAoJICBydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgsIHJ0cF9zZXNzaW9uX2dldF9jbmFtZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X25hbWUsIHJ0cF9zZXNzaW9uX2dldF9lbWFpbCwgcnRwX3Nlc3Npb25fZ2V0X3Bob25lLAoJICBydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24sIHJ0cF9zZXNzaW9uX2dldF90b29sLAoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSwgc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYyAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCwKCSAgcnRwX3NvdXJjZV9zZW5kX3J0cCwgcnRwX3NvdXJjZV9wcm9jZXNzX3NyLCBydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICBNb3JlIGZvcm1hdCBhcmcgZml4aW5nIChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlIGxpYnJhcmllcyhzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoKMjAwNy0wNS0xMCAxMjozODo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmX2FuZF91bmxvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRm9ybWF0IGFyZyBmaXggKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikKCjIwMDctMDUtMDkgMTE6MjQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFBhc3MgcXVlcmllcyB1cHN0cmVhbS4KCjIwMDctMDUtMDQgMTI6MzI6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICBTdG9yZSByZWFsIHVzZXIgbmFtZSBpbiB0aGUgc2Vzc2lvbi4KCjIwMDctMDQtMzAgMTM6NDE6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChzaWduYWxfd2FpdGluZ190aHJlYWRzKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkKToKCSAgRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICBSZW5hbWUgUlRDUCBzZW5kIHBhZCwgbGlrZSBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBBbGxvdyBnZXR0aW5nIGFuIFJUQ1AgcGFkIGZvciByZWNlaXZpbmcgZXZlbiBpZiB3ZSBkb24ndCByZWNlaXZlIFJUUC4KCSAgZml4IGhhbmRsaW5nIG9mIHNlbmRfcnRwX3NyYyBwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdoZW4gbm8gcHQgbWFwIGNvdWxkIGJlIGZvdW5kLCBmYWxsIGJhY2sgdG8gdGhlIHNpbmtwYWQgY2Fwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBwYWQgbmFtZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVW5sb2NrIHNlc3Npb24gd2hlbiBwZXJmb3JtaW5nIGEgY2FsbGJhY2suCgkgIEFkZCBjYWxsYmFja3MgZm9yIHRoZSBpbnRlcm5hbCBzZXNzaW9uIG9iamVjdC4KCSAgRml4IHNlbmRpbmcgb2YgUlRQIHBhY2tldHMuCgkgIGZpcnN0IGF0dGVtcHQgYXQgYWRkaW5nIE5UUCB0aW1lcyBpbiB0aGUgU1IgcGFja2V0cy4KCSAgU21hbGwgZGVidWcgYW5kIGRvYyBpbXByb3ZlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgVXBkYXRlIHN0YXRzIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wNC0yOSAxNDo0NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUmVtb3ZlIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgUmVtb3ZlIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZwoJICBGaXggaW50ZXJ2YWwgZm9yIEJZRS9SVENQIHBhY2tldHMuCgoyMDA3LTA0LTI3IDE1OjA5OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNb3ZlIHJlY29uc2lkZXJhdGlvbiBjb2RlIHRvIHRoZSBydHBzZXNzaW9uIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fcmVjb25zaWRlcik6CgkgIE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBTaW1wbGlmeSB0aW1vdXQgaGFuZGxpbmcgYW5kIGFkZCByZWNvbnNpZGVyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChjYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKSwKCSAgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLCAoc2Vzc2lvbl9zZGVzKSwKCSAgKHNlc3Npb25fYnllKSwgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEhhbmRsZSB0aW1lb3V0IG9mIGluYWN0aXZlIHNvdXJjZXMgYW5kIHNlbmRlcnMuCgkgIEltcGxlbWVudCBCWUUgc2NoZWR1bGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZW1iZXJzIHRvIGNoZWNrIGZvciB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ieWVfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVzZSBSRkMgYWxnb3JpdGhtIGZvciBjYWxjdWxhdGluZyB0aGUgcmVwb3J0aW5nIGludGVydmFsLgoKMjAwNy0wNC0yNSAxNjozODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIEltcGxlbWVudCBmb3J3YXJkIGFuZCByZXZlcnNlIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9hY3RpdmVfc291cmNlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDctMDQtMjUgMTU6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogTWFrZSBkZWZhdWx0IGppdHRlcmJ1ZmZlciBsYXRlbmN5IGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiA8ZGVsZXRlIGlmIG5vdCB1c2luZyBhIGJ1ZGR5PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERlYnVnaW5nIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxMzoxOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKToKCSAgUmVwb3J0IE5PX1BSRVJPTEwgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpOgoJICBEb24ndCBzZW5kIFJUQ1AgcmlnaHQgYmVmb3JlIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgSW1wcm92ZSByZXBvcnQgYmxvY2tzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksIChpbml0X3NlcSksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBDbGVhbnVwcywgYWRkIG1ldGhvZHMgdG8gYWNjZXNzIHN0YXRzLgoKMjAwNy0wNC0yNSAwODozMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgZml4IGZvciBwYWQgbmFtZSBjaGFuZ2UKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgRml4IGZvciByZW5hbWVkIG1ldGhvZHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydHBfc2Vzc2lvbl9zZXRfY25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9uYW1lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9uYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9lbWFpbCksCgkgIChydHBfc2Vzc2lvbl9nZXRfZW1haWwpLCAocnRwX3Nlc3Npb25fc2V0X3Bob25lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9waG9uZSksIChydHBfc2Vzc2lvbl9zZXRfbG9jYXRpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF90b29sKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF90b29sKSwgKHJ0cF9zZXNzaW9uX3NldF9ub3RlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ub3RlKSwgKHNvdXJjZV9wdXNoX3J0cCksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9yZXBvcnRpbmdfaW50ZXJ2YWwpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHNlc3Npb25fc2RlcyksIChydHBfc2Vzc2lvbl9wZXJmb3JtX3JlcG9ydGluZyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBQcmVwYXJlIGZvciBpbXBsZW1lbnRpbmcgU1NSQyBzYW1wbGluZy4KCSAgQ3JlYXRlIFNTUkMgZm9yIHRoZSBzZXNzaW9uLgoJICBBZGQgbWV0aG9kcyB0byBzZXQgdGhlIFNERVMgZW50cmllcy4KCSAgZml4IGFjY291bnRpbmcgb2Ygc2VuZGVycy9yZWNlaXZlcnMuCgkgIEltcGxlbWVudCBTUi9SUi9TREVTIFJUQ1AgcmVwb3J0aW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgSW1wbGVtZW50IGV4dGVuZGVkIHNlcXVlbmNlIG51bWJlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBSZW5hbWUgc29tZSBmaWVsZHMuCgoyMDA3LTA0LTIxIDE5OjIxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgRG9uJ3QgdXNlIEdMaWItMi4xMCBBUEksIHdlIG9ubHkgcmVxdWlyZSBHTGliIDIuOCBhdCB0aGUgbW9tZW50LgoKMjAwNy0wNC0xOCAxODo1ODo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBydHBtYW5hZ2VyIGZvciBub3cgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIENWUyAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBBZGRlZCBuZXcgZmlsZXMgZm9yIHNlc3Npb24gbWFuYWdlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFNvbWUgY2xlYW51cHMuCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIgY2FuIG5vdyBhbHNvIHJlcXVlc3QgYSBwdC1tYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3RpbWUpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIFdlIGNhbiBhc2sgZm9yIHB0LW1hcCBub3cgdG9vIHdoZW4gdGhlIHNlc3Npb24gbWFuYWdlciBuZWVkcyBpdC4KCSAgSG9vayB1cCB0byB0aGUgbmV3IHNlc3Npb24gbWFuYWdlciwgaW1wbGVtZW50IHRoZSBuZWVkZWQgY2FsbGJhY2tzIGZvcgoJICBwdXNoaW5nIGRhdGEsIGdldHRpbmcgY2xvY2sgdGltZSBhbmQgcmVxdWVzdGluZyBjbG9jay1yYXRlcy4KCSAgUmVuYW1lIHJ0Y3Bfc3JjIHRvIHNlbmRfcnRjcF9zcmMgdG8gbWFrZSBpdCBjbGVhciB0aGF0IHRoaXMgUlRDUCBpcyB0bwoJICBiZSBzZW5kIHRvIGNsaWVudHMuCgkgIEFkZCBjb2RlIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSB0aHJlYWQgdGhhdCB3aWxsIHNjaGVkdWxlIFJUQ1AgdGhyb3VnaAoJICB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKHJ0cF9zZXNzaW9uX25ldyksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoKSwKCSAgKHNvdXJjZV9wdXNoX3J0cCksIChzb3VyY2VfY2xvY2tfcmF0ZSksIChjaGVja19jb2xsaXNpb24pLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9hZGRfc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2FwcCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fcHJvZHVjZV9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFRoZSBhZHZhbmNlZCBiZWdpbm5pbmdzIG9mIHRoZSBtYWluIHNlc3Npb24gbWFuYWdlciB0aGF0IGhhbmRsZXMgdGhlCgkgIHBhcnRpY2lwYW50IGRhdGFiYXNlIG9mIFJUUFNvdXJjZXMsIFNTUkMgcHJvYmF0aW9uLCBTU1JDIGNvbGxpc2lvbnMsCgkgIHBhcnNlIFJUQ1AgdG8gdXBkYXRlIHNvdXJjZSBzdGF0cy4gZXRjLi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX25ldyksCgkgIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX3NldF9ydHBfZnJvbSksIChydHBfc291cmNlX3NldF9ydGNwX2Zyb20pLAoJICAocHVzaF9wYWNrZXQpLCAoZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ieWUpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgT2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIGFuIFNTUkMgYW5kIGl0cyBzdGF0ZSBpbiB0aGUgZGF0YWJhc2UuCgkgIENhbGN1bGF0ZXMgdGhlIGppdHRlciBhbmQgdHJhbnNpdCB0aW1lcyBvZiBkYXRhIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBWYXJpb3VzIHN0YXRzIHJlZ2FyZGluZyB0aGUgc2Vzc2lvbiBhbmQgc291cmNlcy4KCSAgVXNlZCB0byBjYWxjdWxhdGUgdGhlIFJUQ1AgaW50ZXJ2YWwuCgoyMDA3LTA0LTEzIDA5OjIwOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBQcm90ZWN0IGxpc3RzIGFuZCBzdHJ1Y3R1cmVzIHdpdGggbG9ja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksCgkgIChjcmVhdGVfcmVjdl9ydHApLCAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgIFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgUmV0dXJuIEZMT1dfT0sgZnJvbSBSVENQIG1lc3NhZ2VzIGZvciBub3cuCgoyMDA3LTA0LTEyIDA4OjE4OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKHB0X21hcF9yZXF1ZXN0ZWQpOgoJICBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEVtaXQgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCjIwMDctMDQtMTEgMTM6NDk6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjbG9ja19yYXRlX3JlcXVlc3QpLCAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGNhY2hpbmcgcHQgbWFwcy4KCSAgQ29ubmVjdCB0byBzaWduYWxzIHRvIGNvbGxlY3QgcHQgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCByZXF1ZXN0X2Nsb2NrX3JhdGUgc2lnbmFsLgoJICBVc2Ugc2NhbGUgaW5zdGVhdCBvZiBzY2FsZV9pbnQgYmVjYXVzZSB0aGUgbGF0ZXIgZG9lcyBub3QgZGVhbCB3aXRoCgkgIG5lZ2F0aXZlIG51bWJlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgSW1wbGVtZW50IHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCjIwMDctMDQtMTAgMDk6MTQ6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvLmN2c2lnbm9yZToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBBZGRlZCBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIHNpZ25hbHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJlcGFyZSBmb3IgZW1pdGluZyBwdCBtYXAgc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpOgoJICBGaXggc2lnbmFscy4KCjIwMDctMDQtMDYgMTI6Mjg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogUHJvdmlkZSBhIGNsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChnc3RfcnRwX2Jpbl9wcm92aWRlX2Nsb2NrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJvdmlkZSBhIGNsb2NrLgoKMjAwNy0wNC0wNiAxMjowNzozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggcGFkIHRlbXBsYXRlIG5hbWUgcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfcnRjcCk6CgkgIEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoKMjAwNy0wNC0wNSAxNjoxMDoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBhbmQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgRml4IGRvdWJsZSB1bnJlZigpIGluIGVycm9yIGNhc2VzLgoKMjAwNy0wNC0wNSAxMzo1NDoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChuZXdfcGF5bG9hZF9mb3VuZCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgQWRkZWQgUlRQU3RyZWFtIHRvIG1hbmFnZSBzdHJlYW0gcGVyIFNTUkMsIGVhY2ggd2l0aCBpdHMgb3duCgkgIGppdHRlcmJ1ZmZlciBhbmQgcHRkZW11eC4KCSAgQWRkZWQgU1NSQ0RlbXV4LgoJICBDb25uZWN0IHRvIHZhcmlvdXMgU1NSQyBhbmQgUFQgc2lnbmFscyBhbmQgY3JlYXRlIGdob3N0cGFkcywgbGluayBzdHVmZi4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZGVkIHJ0cGJpbiB0byBlbGVtZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRml4IGNhcHMgYW5kIGZvcndhcmQgR3N0Rmxvd1JldHVybgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgZXZlbnQgaGFuZGxpbmcKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfcnRwX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcnRwX3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgQWRkIG5ldy1wdC1wYWQgc2lnbmFsLgoKMjAwNy0wNC0wNCAxMDoyMzoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgc2ltcGxlIFNTUkMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9maW5hbGl6ZSksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkZWQgc2ltcGxlIFNTUkMgZGVtdXhlci4KCjIwMDctMDQtMDMgMTE6MzU6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksCgkgIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICBTb21lIG1vcmUgZ2hvc3RwYWQgbWFnaWMuCgoyMDA3LTA0LTAzIDA5OjUxOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06IEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBBZGQgLmggZmlsZSBzbyBpdCBjYW4gYmUgZGlzdGVkIHByb3Blcmx5LgoKMjAwNy0wNC0wMyAwOToxMzoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiAoYXN5bmNfaml0dGVyX3F1ZXVlX25ldyksCgkgIChzaWduYWxfd2FpdGluZ190aHJlYWRzKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2xvd190aHJlc2hvbGQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9oaWdoX3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X21heF9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2dldF9nX3F1ZXVlKSwgKGNhbGN1bGF0ZV90c19kaWZmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdHNfdW5pdHNfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmX2FuZF91bmxvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sb2NrKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bmxvY2spLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2gpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfaW5zZXJ0X2FmdGVyX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3ApLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF91bmxvY2tlZCksIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5zZXRfZmx1c2hpbmdfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9ibG9ja2luZ191bmxvY2tlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChuZXdfcGFkKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZnJlZV9zdHJlYW0pLCAoZmluZF9zdHJlYW1fYnlfc3NyYyksIChnc3RfcnRwX2NsaWVudF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfY2xhc3NfaW5pdCksIChnc3RfcnRwX2NsaWVudF9pbml0KSwKCSAgKGdzdF9ydHBfY2xpZW50X2ZpbmFsaXplKSwgKGdzdF9ydHBfY2xpZW50X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2NsaWVudF9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9jbGllbnRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX2NsaWVudF9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9kaXNwb3NlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRjYXBzKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChmcmVlX2Z1bmMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKHByaXZfY29tcGFyZV9ydHBfc2VxX2x0KSwKCSAgKGNvbXBhcmVfcnRwX2J1ZmZlcnNfc2VxX251bSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3B0X2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9maW5hbGl6ZSksIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfZ2V0Y2FwcyksIChmaW5kX3BhZF9mb3JfcHQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgUlRQIHNlc3Npb24gbWFuYWdlbWVudCBlbGVtZW50cy4gU3RpbGwgaW4gcHJvZ3Jlc3MuCgoyMDA5LTA4LTEwIDEzOjMwOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgY2F0ZXIgZm9yIGNodW5rIHBhZGRpbmcKCjIwMDktMDgtMDQgMTk6NDU6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogb25seSB1c2Ugc3RyZWFtJ3MgcGFkIGFmdGVyIGhhdmluZyBjaGVja2VkIGl0IGV4aXN0cwoKMjAwOS0wOC0wNCAxMzozODowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzcHJpbmtsZSBzb21lIG1vcmUgR1NUX0RFQlVHX0ZVTkNQVFIKCjIwMDktMDgtMDQgMTM6MzY6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcG9zdCBlcnJvciBtZXNzYWdlIGlmIG5vIHBhZHMgdG8gcHVzaCBFT1MgZXZlbnQgb24KCjIwMDktMDgtMDQgMTE6Mzk6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHR5cG8gaW4gd2FybmluZyBtZXNzYWdlCgoyMDA5LTA4LTA0IDExOjM5OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBzb21lIGJ1ZmZlciByZWYgaGFuZGxpbmcKCjIwMDktMDgtMDQgMTE6Mzc6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG8gbm90IGV4Y2VlZCBtYXhpbXVtIG51bWJlciBvZiBzdXBwb3J0ZWQgc3RyZWFtcwoKMjAwOS0wOC0wNCAxMTozNToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwcmV2ZW50IGRvdWJsZSB1bnJlZjsgZ3N0X2F2aV9kZW11eF9wYXJzZV9hdmloIGFscmVhZHkgdW5yZWZzCgoyMDA5LTA4LTA0IDExOjMyOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHZlcmlmeSBzaXplIG9mIElORk8gTElTVCB0byBzYXRpc2Z5IHN1YnNlcXVlbnQgZXhwZWN0YXRpb25zCgoyMDA5LTA3LTI5IDE1OjI1OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNoZWNrIHZpZGVvIHN0cmVhbSBmcmFtZXJhdGUgYWdhaW5zdCBhdmkgaGVhZGVyIGZyYW1lIGR1cmF0aW9uCgkgIFRoZSBmb3JtZXIgbWlnaHQgYmUgYm9ndXMgaW4gc2lsbHkgY2FzZXMsIGFuZCB0aGUgbGF0dGVyIHNlZW1zIHRvCgkgIGNhcnJ5IG1vcmUgd2VpZ2h0LgoKMjAwOS0wOC0wNCAxMjoxNjoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdHJlYW1saW5lIHN0cmVhbSBkdXJhdGlvbiBjYWxjdWxhdGlvbgoKMjAwOS0wNy0wMyAxNDowNDoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBkdjEzOTRzcmM6IEZpeCBlbGVtZW50IGZvciBsaXZlIHVzYWdlLi4uIHdoaWNoIGhhcyBiZWVuIGJyb2tlbiBmb3IgMiB5ZWFycyA6KAoJICBUaGlzIGlzIGEgbGl2ZSBzb3VyY2UsIHRoZXJlZm9yZToKCSAgKiBVc2UgR1NUX0ZPUk1BVF9USU1FIGFzIHRoZSBkZWZhdWx0IGZvcm1hdAoJICAqIHNldF90aW1lc3RhbXAgdG8gVHJ1ZQoJICAqIHByb3Blcmx5IGltcGxlbWVudCBxdWVyeSBsYXRlbmN5LgoJICBUaGlzIGFsbG93cyBleHBlY3RlZCBsaXZlIHVzYWdlIGxpa2UgOiBwbGF5YmluMiB1cmk9ZHY6Ly8KCjIwMDktMDgtMDkgMDk6NDM6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlCgoyMDA5LTA4LTA5IDA5OjQzOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAwOS0wOC0wOSAwOTo0MzowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHA6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCByZXN1bHRpbmcgdW5uZWVkZWQgdmFyaWFibGVzLgoKMjAwOS0wOC0xMCAwOTo1MzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSogZXh0L3dhdnBhY2svbWQ1LmM6CgkqIGV4dC93YXZwYWNrL21kNS5oOgoJICB3YXZwYWNrOiBVc2UgR0xpYiBHQ2hlY2tzdW0gaW5zdGVhZCBvZiBvdXIgb3duIE1ENSBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIHJlcXVpcmVzIEdMaWIgMi4xNiBidXQgdGhhdCB2ZXJzaW9uIGlzIGFscmVhZHkgcmVxdWlyZWQgYnkgY29yZSBhbnl3YXkuCgoyMDA5LTA4LTA4IDAwOjQ3OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2E6IEFkZHMgc3VwcG9ydCB0byBtdXhpbmcvZGVtdXhpbmcgV01BCgkgIEFkZHMgc3VwcG9ydCBmb3IgbXV4aW5nIHdtYSBhdWRpbyBmYW1pbHkgYW5kIGZpeGVzCgkgIGRlbXV4aW5nIG9mIHdtYSBmYW1pbHkgaW4gbWF0cm9za2FkZW11eC4gbWF0cm9za2FkZW11eAoJICB3YXMgYnJva2VuIGJlY2F1c2UgaXQgbWlzc2VkIGNvZGVjX2RhdGEuCgoyMDA5LTA4LTA2IDIwOjE1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkZHMgc3VwcG9ydCBmb3Igd212IGZhbWlseQoJICBBZGRzIHN1cHBvcnQgdG8gV01WMSwgV01WMiwgV01WMyBhbmQgb3RoZXIgZmFtaWx5IGZvcm1hdHMgdGhhdAoJICBhcmUgc2lnbmFsZWQgYnkgdGhlICdmb3JtYXQnIGZpZWxkIGluIHRoZSBjYXBzIChpLmUuIFdWQzEpLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzU3NjM3OAoKMjAwOS0wOC0wOSAxNDoxOTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGlmIG1heCA9PSBtaW4gd2lkdGgvaGVpZ2h0IHB1dCBhbiBpbnQgaW4gdGhlIHByb2JlZCBjYXBzLCBub3QgYW4gaW50IHJhbmdlCgkgIEZpeGVzICM1NjAwMzMuCgoyMDA5LTA4LTA5IDEzOjU4OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpb3NyYzogaWYgbWF4X2NoYW5uZWxzID09IG1pbl9jaGFubmVscywgdXNlIGFuIGludCBpbnN0ZWFkIG9mIGFuIGludCByYW5nZSBpbiB0aGUgY2FwcwoKMjAwOS0wOC0wOSAxMjo1MjoxNyArMDIwMCAgTG9uZVN0YXIgPGxvbmVAYXV2dGVjaC5jb20+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IFRyeSBHU1RfKl9UQUdfRU5DT0RJTkcgYW5kIGxvY2FsZSBlbmNvZGluZyBpZiB0YWdzIGFyZSBub3QgVVRGOAoJICBGaXhlcyBidWcgIzQ5OTI0Mi4KCjIwMDktMDgtMDkgMDE6Mjk6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBsYXRlc3QgcmVsZWFzZQoJICBUbyBhdm9pZCBjb25mdXNpb24uCgoyMDA5LTA4LTA5IDAxOjI3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBjaGVjazogZml4IGZsdm11eCB1bml0IHRlc3Qgb24gYmlnIGVuZGlhbiBtYWNoaW5lcwoJICBmbHZtdXggb25seSBhY2NlcHRzIHJhdyBhdWRpbyBpbiBsaXR0bGUgZW5kaWFuLCBidXQgYXVkaW90ZXN0c3JjCgkgIHByb2R1Y2VzIGF1ZGlvIGluIHRoZSBuYXRpdmUgZW5kaWFubmVzcywgd2hpY2ggbWFrZXMgbGlua2luZwoJICBiZXR3ZWVuIGF1ZGlvdGVzdHNyYyBhbmQgZmx2bXV4IGZhaWwgb24gYmlnIGVuZGlhbiBtYWNoaW5lcy4gQWRkCgkgIGFuIGF1ZGlvY29udmVydCBlbGVtZW50IGluIGJldHdlZW4gdGhlIHR3byB0byBmaXggdGhpcy4KCjIwMDktMDItMTUgMTg6NDk6NDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQga2F0ZSBzdWJ0aXRsZSBzdXBwb3J0IHRvIG1hdHJvc2thIG11eGVyIGFuZCBkZW11eGVyCgkgIFNlZSAjNTI1NzQzLgoKMjAwOS0wOC0wNyAxNjo1MTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuMy4wLmh0bWw6CgkgIGlkM2RlbXV4OiBhZGQgSUQzIHYyLjMgc3BlYyBhcyB3ZWxsCgoyMDA5LTA4LTA3IDE2OjQyOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogc2l6ZXMgaW4gSUQzIHYyLjMgYXJlIHVubGlrZWx5IHRvIGJlIHN5bmMtc2FmZSBpbnRlZ2VycwoJICBJbiBJRDMgdjIuMyBjb21wcmVzc2VkIGZyYW1lcyB3aWxsIGhhdmUgYSA0LWJ5dGUgZGF0YSBsZW5ndGggaW5kaWNhdG9yCgkgIGFmdGVyIHRoZSBmcmFtZSBoZWFkZXIgdG8gaW5kaWNhdGUgdGhlIHNpemUgb2YgdGhlIGRlY29tcHJlc3NlZCBkYXRhLgoJICBUaGlzIGludGVnZXIgaXMgdW5saWtlbHkgdG8gYmUgYSBzeW5jLXNhZmUgaW50ZWdlciBmb3IgdjIuMyB0YWdzLAoJICBvbmx5IGluIHYyLjQgaXQncyBzeW5jLXNhZmUuCgoyMDA5LTA4LTA3IDE2OjM2OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBmaXggdHlwbyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDA5LTA4LTA3IDE2OjAyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvaWQzLTU4ODE0OC11bnN5bmNlZC12MjQudGFnOgoJICBpZDNkZW11eDogZml4IHBhcnNpbmcgb2YgdW5zeW5jJ2VkIElEMyB2Mi40IHRhZ3MgYW5kIGZyYW1lcwoJICBSZXZlcnNpbmcgdGhlIHVuc3luY2hyb25pc2F0aW9uIHNlZW1zIHRvIHdvcmsgc2xpZ2h0bHkgZGlmZmVyZW50bHkKCSAgZm9yIElEMyB2Mi4zIHRhZ3MgYW5kIHYyLjQgdGFnczogdjIuMyB0YWdzIGRvbid0IGhhdmUgc3luY3NhZmUgZnJhbWUKCSAgc2l6ZXMgaW4gdGhlIGZyYW1lIGhlYWRlciwgc28gdGhlIHVuc3luY2hyb25pc2F0aW9uIGlzIGFwcGxpZWQgdG8KCSAgdGhlIHdob2xlIGZyYW1lIGRhdGEgaW5jbHVkaW5nIGFsbCB0aGUgZnJhbWUgaGVhZGVycy4gdjIuNCBmcmFtZXMKCSAgaGF2ZSBzeW5jLXNhZmUgc2l6ZXMsIGhvd2V2ZXIsIHNvIHRoZSB1bnN5bmNocm9uaXNhdGlvbiBvbmx5IG5lZWRzCgkgIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGFjdHVhbCBmcmFtZSBkYXRhLCBhbmQgaXQgc2VlbXMgdGhhdCdzIHdoYXQncwoJICBiZWluZyBkb25lIGFzIHdlbGwuIFNvIHdlIG5lZWQgdG8gdW5kbyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gb24gYQoJICBwZXItZnJhbWUgYmFzaXMgZm9yIHYyLjQgdGFncyBmb3IgdGhpbmdzIHRvIHdvcmsgcHJvcGVybHkuCgkgIEZpeGVzIGV4dHJhY3Rpb24gb2YgY292ZXJhcnQvaW1hZ2VzIGZyb20gQVBJQyBmcmFtZXMgaW4gSUQzIHYyLjQKCSAgdGFncyAoIzU4ODE0OCkuCgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoaXMgYXMgd2VsbC4KCjIwMDktMDgtMDYgMjE6MjQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFVzZSBTT1VQX01FVEhPRF9HRVQgaW5zdGVhZCBvZiAiR0VUIiBzdHJpbmcKCSAgRml4ZXMgYnVnICM1OTA5NzAuCgoyMDA5LTA4LTA2IDEzOjAwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzZXQgdGhlIGRlZmF1bHQgc2xhdmUgbWV0aG9kIHRvIHNrZXcKCSAgU2V0IHRoZSBkZWZhdWx0IHNsYXZlIG1ldGhvZCB0byB0aGUgbXVjaCBiZXR0ZXIgc2tldyBhbGdvcml0aG0uIFRoaXMgaXMgdGhlCgkgIGRlZmF1bHQgaW4gdGhlIG5ldyBiYXNlIGNsYXNzIGJ1dCB3ZSBvdmVycmlkZSB0aGlzIGhlcmUgYXMgd2VsbCBmb3IgdGhlCgkgIHVwY29tbWluZyByZWxlYXNlLgoKMjAwOS0wOC0wNiAxMDoyMDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGZpeCBjb21waWxhdGlvbiB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcKCjIwMDktMDgtMDMgMTg6NTk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IHVzZSBhcnJheSBpbnN0ZWFkIG9mIHF1ZXVlCgoyMDA5LTA4LTAzIDE4OjU1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogcHVzaCBOQUxzIG9ubHkgYWZ0ZXIgU1BTL1BQUwoJICBwYXJzZSBjb21wbGV0ZSAoYnl0ZXN0cmVhbSkgYnVmZmVyIGZvciBTUFMvUFBTIGJlZm9yZSBwdXNoaW5nIE5BTHMuCgkgIEZpeGVzICM1NjQ1MDEuCgoyMDA5LTA4LTA0IDE0OjQ0OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogRGlyZWN0bHkgdXNlIEdTVF9QVFJfRk9STUFUIGZvciBwcmludGluZyBjYXBzIHdpdGggdGhlIExPR19DQVBTIG1hY3JvCgoyMDA5LTA4LTA0IDExOjE3OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJICBydHBxZG0yZGVwYXk6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA5LTA4LTA0IDA5OjMyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogUmVtb3ZlIHNvbWUgT01BUCBzcGVjaWZpYyBoYWNrcwoJICBUaGV5IHJlcXVpcmUgc3BlY2lhbCBidWlsZCBmbGFncyBhbmQgYXJlIG5vdCB1c2VmdWwgaW4gZ2VuZXJhbC4KCjIwMDktMDgtMDQgMDk6MjI6MjkgKzAyMDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNpbms6IGNoYW5nZSB3aGVyZSBidWZmZXJzIGdldCBkZXF1ZXVlZAoJICBJdCBzZWVtcyB0byBjYXVzZSBzdHJhbmdlIG9jY2FzaW9uYWwgaGlnaCBsYXRlbmNpZXMgKGFsbW9zdCAyMDBtcykgd2hlbiBkZXF1ZXVpbmcgYnVmZmVycyBmcm9tIF9idWZmZXJfYWxsb2MoKS4gIEl0IGlzIHNpbXBsZXIgYW5kIHNlZW1zIHRvIHdvcmsgbXVjaCBiZXR0ZXIgdG8gZHFidWYgZnJvbSB0aGUgc2FtZSB0aHJlYWQgdGhhdCBpcyBxdWV1aW5nIHRoZSBuZXh0IGJ1ZmZlci4KCjIwMDktMDgtMDQgMDk6MTQ6MjAgKzAyMDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBBZGQgdjRsMnNpbmsgZWxlbWVudAoJICBUaGlzIGFsc28gZG9lcyB0aGUgZm9sbG93aW5nIGNoYW5nZXM6CgkgICgxKSBwdWxsIHRoZSBidWZmZXJwb29sIGNvZGUgb3V0IGludG8gZ3N0djRsMmJ1ZmZlcnBvb2wuYywgYW5kIG1ha2UgYQoJICBiaXQgbW9yZSBnZW5lcmljIHNvIGl0IGNhbiBiZSB1c2VkIGJvdGggZm9yIHY0bDJzcmMgYW5kIHY0bDJzaW5rCgkgICgyKSBtb3ZlIHNvbWUgb2YgdGhlIGRldmljZSBwcm9iaW5nL2NvbmZpZ3VyYXRpb24vY2FwcyBzdHVmZiBpbnRvCgkgIGdzdHY0bDJvYmplY3QuYyBzbyBpdCBkb2VzIG5vdCBoYXZlIHRvIGJlIGR1cGxpY2F0ZWQgYmV0d2VlbgoJICB2NGwyc3JjIGFuZCB2NGwyc2luawoJICBGaXhlcyBidWcgIzU5MDI4MC4KCjIwMDktMDgtMDQgMDc6MDc6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGZsdm11eDogRW5hYmxlIHVuaXQgdGVzdCBub3cgdGhhdCBpdCBwYXNzZXMKCjIwMDktMDgtMDMgMjE6MjE6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIHJ0cHFkbTJkZXBheSxydHBzdjN2ZGVwYXk6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgoyMDA5LTA4LTAzIDIxOjIyOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkgIHJ0cHFkbTJkZXBheTogSGFuZGxlIGdhcHMgaW4gaW5jb21pbmcgcGFja2V0cy4KCSAgV2hlbmV2ZXIgd2Ugc2VlIGEgZ2FwLCB3ZSBmbHVzaCB0aGUgdGVtcG9yYXJ5IHBhY2tldHMgKGJ1dCBub3QgdGhlIGFkYXB0ZXIpLiBJZiB3ZQoJICBoYWQgc29tZSBkYXRhIHRlbXBvcmFyaWx5IHN0b3JlZCBpdCB3aWxsIGJlIG91dHB1dHRlZCAodGhlIHNvdW5kIHdpbGwgc291bmQgYSBiaXQKCSAgZ2FyYmxlZC4uLiBidXQgdGhhdCdzIGhvdyBpdCBzb3VuZHMgb24gTWFjT1NYIDopCgoyMDA5LTA4LTAzIDE5OjAxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJICBydHBxZG1kZXBheTogRml4IENSQyBjYWxjdWxhdGlvbiBhbmQgcmVtb3ZlIGNvbW1lbnRlZCBjb2RlLgoKMjAwOS0wOC0wMiAxMzo0MjoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJICBydHA6IE5ldyBRRE0yIHJ0cCBkZXBheWxvYWRlci4KCSAgUmV2ZXJzZS1lbmdpbmVlcmVkIGJ5IGNvbXBhcmluZzoKCSAgKiBBIHJ0cCBoaW50ZWQgZmlsZSBwcm92aWRlZCBieSBEYXJ3aW5TdHJlYW1pbmdTZXJ2ZXIKCSAgKiBUaGUgb3V0cHV0IHByb2N1ZWQgYnkgRFNTIGZvciB0aGF0IHNhbWUgZmlsZQoJICBBbHNvIHVzZWQgdmFyaW91cyBzdHJlYW1pbmcgc291cmNlcyBhdmFpbGFibGUgb24gdGhlIGludGVybmV0IHRvIGZpbmUtdHVuZQoJICB0aGUgY29kZS4KCSAgVGhlIGhlYWRlci9jb2RlY19kYXRhIGV4dHJhY3Rpb24gbWV0aG9kcyBhcmUgZnJvbSBGRk1wZWcgKExHUEwpLgoKMjAwOS0wOC0wMyAyMToyNDo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIHJ0cHN2M3ZkZXBheTogUHJvcGVybHkgZmlsbCBjb2RlY19kYXRhIGFuZCBjbGVhbnVwIGNvZGUgYSBiaXRlIG1vcmUuCgoyMDA5LTA4LTAzIDE5OjAyOjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSAgcnRwc3YzdmRlcGF5OiBPbmx5IG91dHB1dCBidWZmZXJzIG9uY2Ugd2UncmUgY29uZmlndXJlZC4KCjIwMDktMDgtMDMgMTk6MDI6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBydHBzdjN2ZGVwYXk6IEFkZCBtb3JlIGVuY29kaW5nLW5hbWUgdmFyaWFudHMKCjIwMDktMDgtMDMgMjA6MDg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogRml4IHVuaXQgdGVzdCB0byBjb3JyZWN0bHkgaGFuZGxlIHJlcXVlc3QgcGFkcwoJICBSZXF1ZXN0IHBhZHMgYXJlIHJlbW92ZWQgYnkgdGhlIGVsZW1lbnQgaW5zdGFuY2UgaW4gUEFVU0VELT5SRUFEWQoJICBzbyB3ZSBuZWVkIHRvIHJlLXJlcXVlc3QgcGFkcyBmb3IgZXZlcnkgcnVuIGFuZCBsaW5rIHRoZW0gYWdhaW4uCgkgIExhc3QgZml4IGZvciBidWcgIzU5MDQ0Ny4KCjIwMDktMDgtMDMgMjA6MDg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggd3JpdGluZyBvZiB0aGUgaW5kZXggZm9yIDwgMTI4IGJ1ZmZlcnMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTkwNDQ3LgoKMjAwOS0wOC0wMyAyMDowNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCByZXNldHRpbmcgb2YgdGhlIGVsZW1lbnQKCSAgUmVzZXQgdGhlIGhhdmVfdmlkZW8vaGF2ZV9hdWRpbyBmbGFncyBhbmQgbWFrZSBzdXJlIHRvCgkgIHByb3Blcmx5IHJlbGVhc2UgdGhlIHJlcXVlc3QgcGFkcy4KCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTkwNDQ3LgoKMjAwOS0wOC0wMyAxODoxMzo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgYWRkIG5vbi11dGY4IGNoYXJzIHRvIHN0cnVjdHVyZXMKCjIwMDktMDgtMDMgMTg6MDI6MzEgKzAyMDAgIEx1YyBEZXNjaGVuYXV4IDxsdWMuZGVzY2hlbmF1eCBhdCBmcmVlc3VyZi5jaD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgIGpwZWdkZXBheTogdXNlIGF0dHJpYnV0ZXMgZm9yIGV4dHJhIHByb3BlcnRpZXMKCSAgVXNlIHNvbWUgb2YgdGhlIFNEUCBhdHRyaWJ1dGVzIHdoZW4gdGhleSBhcmUgcHJlc2VudCB0byBzcGVjaWZ5IHRoZSBvdXRwdXQKCSAgZGltZW5zaW9uIGFuZCBmcmFtZXJhdGUuIFRoaXMgYWxsb3dzIHVzIHRvIHJlY2VpdmUganBlZyBmcmFtZXMgbGFyZ2VyIHRoYW4KCSAgMjA0MCB3aWR0aC9oZWlnaHQuCgkgIEZpeGVzICM1NjQ0MzcKCjIwMDktMDgtMDMgMTg6MDE6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgUlRQIGRvY3M6IHVwZGF0ZSB3aXRoIGF0dHJpYnV0ZXMgaW4gY2FwcwoKMjAwOS0wOC0wMyAxNzoyMTo0NCArMDIwMCAgTHVjIERlc2NoZW5hdXggPGx1Yy5kZXNjaGVuYXV4IGF0IGZyZWVzdXJmLmNoPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwdXQgYWxsIFNEUCBhdHRyaWJ1dGVzIG9uIGNhcHMKCSAgUHV0IHRoZSBTRFAgYXR0cmlidXRlcyBvbiB0aGUgY2FwcyB0b28gc28gdGhhdCB0aGV5IGNhbiBiZSB1c2VkIGJ5CgkgIGRlcGF5bG9hZGVycy4KCSAgU2VlICM1NjQ0MzcKCjIwMDktMDgtMDMgMTM6MzI6MTIgKzAyMDAgIEpvbmF0aGFuIFRlbGxpZXIgPGpvbmF0aGFuLnRlbGxpZXIgYXQgZ21haWwuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBpbml0aWFsaXplIHRoZSBwcm9iZSB3aXRoIHRoZSBzZXJ2ZXIKCSAgV2hlbiBjcmVhdGluZyBhIG5ldyBwcm9iZSwgcGFzcyB0aGUgc2VydmVyIGluc3RlYWQgb2YgdGhlIGRldmljZSBzdHJpbmcuCgkgIGZpeGVzICM1OTA0MDEKCjIwMDktMDgtMDIgMTE6NDQ6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBkb24ndCBkbyB0aGluZ3Mgd2l0aCBzaWRlLWVmZmVjdHMgaW5zaWRlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCSAgU29tZW9uZSBtaWdodCBjb21waWxlIHRoaXMgY29kZSB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVCBzb21lIGRheS4KCjIwMDktMDgtMDEgMjE6Mzk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IGRvIGxvZ2ljIHdpdGhpbiBnX2Fzc2VydCgpIHN0YXRlbWVudHMKCSAgT3RoZXJ3aXNlIHRoYXQgY29kZSB3aWxsIGp1c3QgYmUgZXhwYW5kZWQgdG8gbm90aGluZyB3aGVuIGNvbXBpbGVkCgkgIC1ER19ESVNBQkxFX0FTU0VSVCAoUFM6IHdoeSBpcyBtYWlubG9vcF9zdGFydCgpIGNhbGxlZCBpbiB0aGUgaW5pdAoJICBmdW5jdGlvbiBhbmQgbm90IHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gUkVBRFk/KQoKMjAwOS0wOC0wMSAxNzowNzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHNlbmQgbmV3c2VnbWVudCBldmVudCB3aGVuIG9wZXJhdGluZyBwdXNoLWJhc2VkIGFuZCB1bmZyYW1lZAoJICBGb3Igc29tZSByZWFzb24gZmxhYyBkb2Vzbid0IGNhbGwgb3VyIG1ldGFkYXRhIGNhbGxiYWNrIHdoZW4gd2Ugb3BlcmF0ZQoJICBpbiBwdXNoIG1vZGUgd2l0aCB1bmZyYW1lZCBpbnB1dCwgYnV0IHRoYXQncyB3aGVyZSB3ZSBzZXQgdXAgdGhlCgkgIG5ld3NlZ21lbnQgZXZlbnQgKHNpbmNlIHRoYXQncyB3aGVyZSB3ZSdkIGdldCB0aGUgZHVyYXRpb24gZnJvbSB0aGUKCSAgc3RyZWFtIGluZm8gaGVhZGVyKSwgc28gd2UgZGlkbid0IHNlbmQgYSBuZXdzZWdtZW50IGV2ZW50IGF0IGFsbCBpbiB0aGlzCgkgIGNhc2UuIEhhY2sgYXJvdW5kIHRoaXMgYnkgc3RvcmluZyBhIGdlbmVyaWMgbmV3c2VnbWVudCBldmVudCBmb3Igbm93CgkgIHdoaWNoIHdpbGwgYmUgdXNlZCBpZiB3ZSBkb24ndCByZXBsYWNlIGl0IHdpdGggYSBiZXR0ZXIgb25lIHRoYXQKCSAgaW5jbHVkZXMgdGhlIGR1cmF0aW9uLgoKMjAwOS0wOC0wMSAxNjo0ODozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHNtYWxsIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIGNhbGxiYWNrIGluZGlyZWN0aW9ucyB3aGljaCBhcmUgbm8gbG9uZ2VyIG5lZWRlZCBiZWNhdXNlCgkgIHRoZXJlJ3Mgb25seSBvbmUgZGVjb2RlciBvYmplY3QgdHlwZSBub3cuIEFsc28gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDgtMDEgMTU6MjI6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiB1c2UgZ3N0X2FkYXB0ZXJfY29weSgpIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGJ1ZmZlciBtZXJnZXMKCSAgZ3N0X2FkYXB0ZXJfcGVlaygpIHdpbGwgbWVyZ2UgYnVmZmVycyBhcyBuZWVkZWQsIHdoaWNoIHdlIGNhbiBhdm9pZAoJICBoZXJlIHNpbmNlIHdlJ3JlIGRvaW5nIGEgbWVtY3B5IGFueXdheSBhbmQgdGhlbiBmbHVzaCB0aGUgY29waWVkCgkgIGRhdGEgZnJvbSB0aGUgYWRhcHRlciByaWdodCBhd2F5LgoKMjAwOS0wOC0wMSAwMDowMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHJlcGFpciBzb21lIGJyb2tlbiBpbmRlbnRpbmcKCjIwMDktMDgtMDEgMTI6MTk6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBjaGVja3M6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIGZsdm11eCwgYnV0IGRpc2FibGUgaXQgZm9yIG5vdwoJICBCYXNpYyB1bml0IHRlc3QgZm9yIGZsdm11eC4gRmFpbHMgbWlzZXJhYmx5LCBoZW5jZSBkaXNhYmxlZCBmb3Igbm93LgoKMjAwOS0wNy0zMSAyMzoyODoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL3BjbTE2c2luZS5mbHY6CgkgIGNoZWNrOiBhZGQgYmFzaWMgdW5pdCB0ZXN0IGZvciBmbHZkZW11eAoJICBJbiBwYXJ0aWN1bGFyLCB0ZXN0IHJlLXVzZSBvZiBmbHZkZW11eCBpbiBib3RoIHB1bGwgYW5kIHB1c2ggbW9kZQoJICAoc2VlICM1ODMwMzApLgoKMjAwOS0wNy0zMSAyMDoyNToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZpeCBpbnZhbGlkIHdyaXRlIGNhdXNlZCBieSB1c2luZyBzaXplb2YoInN0cmluZyIpIGFzIGxlbmd0aAoJICBzaXplb2YoImZvbyIpIGluY2x1ZGVzIHRoZSBzdHJpbmcncyBOVUwtdGVybWluYXRvciBpbiB0aGUgc2l6ZSByZXR1cm5lZCwKCSAgYnV0IHdlJ3JlIHdyaXRpbmcgc3RyaW5ncyBoZXJlIHdpdGggYW4gZXhwbGljaXQgc2l6ZSBhdCB0aGUgYmVnaW5uaW5nCgkgIGFuZCBubyBOVUwtdGVybWluYXRvci4gSW4gbW9zdCBjYXNlcyB1c2luZyBzaXplb2YoImZvbyIpIGFzIGxlbmd0aCBpbgoJICBtZW1jcHkgaXMgbm90IGhhcm1mdWwsIGJ1dCBpdCBpcyB3aGVyZSB0aGUgc3RyaW5nIGdvZXMgcmlnaHQgYXQgdGhlCgkgIGVuZCBvZiBvdXIgYnVmZmVyIHRvIHdyaXRlLCBzaW5jZSB3ZSBkb24ndCBhbGxvY2F0ZSBzcGFjZSBmb3IgdGhhdAoJICBOVUwgdGVybWluYXRvci4KCjIwMDktMDctMjcgMTg6NDQ6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBVc2UgIkdFVCIgaW5zdGVhZCBvZiBTT1VQX01FVEhPRF9HRVQuIEZpeGVzIGJ1aWxkIHdpdGggbGlic291cC0yLjcuKgoJICBUaGlzIGlzIGR1ZSB0byBhIHF1YWxpdHkgQVBJIGNoYW5nZSBpbiBsaWJzb3VwIDIuNy4gU09VUF9NRVRIT0RfKiBhcmUgbm93CgkgIGludGVnZXJzIGFuZCBub3Qgc3RyaW5ncy4uLiB0aGV5IGNvdWxkIGhhdmUgY2hhbmdlZCB0aGUgbmFtZXMuCgoyMDA5LTA3LTMwIDE3OjU3OjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZzogdXNlIGxvbmdlciBtYWNybyBuYW1lcyB0byBub3QgY2xhc2ggd2l0aCBzb21lIHN0dXBpZCB3aW5kb3dzIGRlZmluZXMKCSAgbGlianBlZyBoZWFkZXJzIHB1bGwgc29tZSB3aW5kb3dzIHN5c3RlbSBpbmxjdWRlcyAob24gd2luZG93cykgdGhhdCBjb250YWluIGEKCSAgZGVmaW5lIGZvciBERUZBVUxUX1FVQUxJVFkuCgoyMDA5LTA3LTI5IDE0OjMxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBsYXN0IGNvbW1pdCBhbmQgaW1wcm92ZSByZWFkYWJpbGl0eQoKMjAwOS0wNy0yNCAxOTowNDozMSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeGVkIHRoZSBmaXggZm9yIFRJTUUtPkRFRkFVTFQgY29udmVyc2lvbi4KCSAgRml4ZXMgYnVnICM1NzgwNTIgYWdhaW4uCgoyMDA5LTA3LTI5IDEzOjM4OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwc3YzZGVwYXk6IEZpeCB3aWR0aC9oZWlnaHQgY2FsY3VsYXRpb24sIGJyaW5nIHVwIHRvIG1hcmdpbmFsIHJhbmsuCgkgIEJhc2VkIG9uIGRvY3VtZW50YXRpb24gZm91bmQgb24gaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC8KCjIwMDktMDctMjkgMTI6MTM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogY29uZGl0aW9uYWxseSBjb21waWxlIG5ld2VyIHN0dWZmCgkgIGNvbmZpZ3VyZWRfc2luay9zb3VyY2VfdXNlYyBpbiB0aGUgdGltaW5nX2luZm8gaXMgb25seSBzaW5jZSAwLjkuMTEgc28KCSAgY29uZGl0aW9uYWxseSBjb21waWxlIHRoaXMgaW5mb3JtYXRpb24uCgkgIGZpeGVzICM1OTAwMzgKCjIwMDktMDctMjggMTg6Mjk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBjbGVhbnVwcwoJICBLZWVwIHRyYWNrIG9mIHRoZSBwYXVzZWQgc3RhdGUgb2YgdGhlIHNvdXJjZSBhbmQgbGVhdmUgdGhlIHJlYWQgZnVuY3Rpb24gd2hlbgoJICBwYXVzZWQuCgkgIGRvbid0IHdhaXQgZm9yIGEgbGF0ZW5jeSB1cGRhdGUgd2hlbiB0aGUgZGVsYXkgaXMgbm90IHlldCBrbm93biBidXQgc2ltcGx5CgkgIHJldHVybiAwIGluc3RlYWQgb2YgYmxvY2tpbmcuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGNvcmtlZCBzdGF0ZSBvZiB0aGUgc3RyZWFtLgoJICBGaXggdGhlIHN0YXRlIGNoYW5nZXMuCgoyMDA5LTA3LTI4IDE2OjExOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzZXQgbWF4bGVuZ3RoIGFsd2F5cyB0byAtMQoKMjAwOS0wNy0yOCAxNTo1Mzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM7IGNsZWFudXBzLCByZXBvcnQgcmVhbCBsYXRlbmN5CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbwoJICBBdm9pZCBzb21lIHR5cGUgY2FzdHMKCSAgUmVwb3J0IHRoZSByZWFsIGxhdGVuY3kgdG8gdGhlIGFwcGxpY2F0aW9uLgoKMjAwOS0wNy0yOCAxNjoxMTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHdoZW4gc2Nhbm5pbmcgZm9yIDB4ZmYgbWFya2VyIGVuZHMsIGVuc3VyZSBkZXNpcmVkIHJlc3VsdAoJICBPdGhlcndpc2UsIGFueSBub24gMHhmZiBieXRlIGF0IGVuZCBvZiBkYXRhIHdvdWxkIGJlIG1pc3Rha2VuIGZvcgoJICBhIHRhZyBieXRlLCBhbmQgaW4gY2FzZSBvZiBhIGZyYW1lX2xlbiAwIHRhZyBzdWJzZXF1ZW50bHkgbGVhZCB0byBhbgoJICBpbmZpbml0ZSBsb29wLgoKMjAwOS0wNy0yOCAwMDozMDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZHMgc3VwcG9ydCB0byB3bWEKCjIwMDktMDctMjggMDA6MDc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGRzIHN1cHBvcnQgdG8gd212CgoyMDA5LTA3LTI3IDIxOjM0OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG93bmdyYWRlIHdhcm5pbmcgbWVzc2FnZSB0byBkZWJ1ZwoKMjAwOS0wNy0yNyAxMTo1MTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhdm9pZCB1c2luZyBpdmFsaWQgc3RyZWFtIGluZGV4ZXMKCSAgd2hlbiB3ZSBnZXQgYW4gaW52YWxpZCBzdHJlYW0gaW5kZXggZnJvbSBwdWxzZSBiZWNhdXNlIHdlIHdlcmUganVzdCBzdGFydGluZywKCSAgYXZvaWQgdXNpbmcgaXQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIHZvbHVtZS4KCSAgRml4ZXMgIzU4OTM2NQoKMjAwOS0wNy0yNCAxOTozODowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBEb24ndCBhbGxvdyBjYXBzIGNoYW5nZXMgZm9yIHNvbWUgZWZmZWN0diBmaWx0ZXJzCgkgIFRoZXNlIGZpbHRlcnMgdXNlIGluZm9ybWF0aW9uIGZyb20gcHJldmlvdXMgZnJhbWVzIHRvCgkgIGdlbmVyYXRlIHRoZSBjdXJyZW50IGZyYW1lIGFuZCBhIGNhcHMgY2hhbmdlIHdpbGwgbWFrZQoJICB0aGUgZWZmZWN0IHN0YXJ0IGZyb20gdGhlIGJlZ2lubmluZyBhZ2Fpbi4KCjIwMDktMDctMjQgMTk6Mzc6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIHdhcnB0djogTWFrZSB0aGUgc2luZSB0YWJsZSBnbG9iYWwgaW5zdGVhZCBvZiBoYXZpbmcgaXQgaW4gZXZlcnkgaW5zdGFuY2UKCjIwMDktMDctMjQgMTA6NDc6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZzogbWFrZSBlbmNvZGVyIHdvcmsgd2l0aCBsaWJqcGVnIHY3CgkgIFdlIGhhdmUgdG8gc3BlY2lmeSBkb19mYW5jeV9kb3duc2FtcGxpbmcgPSBGQUxTRSBpbiB0aGUgZW5jb2RlciB3aXRoIGRpZCBub3QgZXhpc3QgYmVmb3JlLgoKMjAwOS0wNy0yNCAwMDo0MjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZWRhYWVlIHRvIDk0Zjk1ZTMKCjIwMDktMDctMjMgMTI6MDY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoJICBGaXhlcyBidWcgIzU4OTQyMy4KCjIwMDktMDctMjIgMTE6MTY6MDYgKzAxMDAgIENvbGluIEd1dGhyaWUgPGNndXRocmllQG1hbmRyaXZhLm9yZz4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXggYSBjb3VwbGUgZXJyb3IgbWVzc2FnZXMgdGhhdCBtZW50aW9uZWQgaW5jb3JyZWN0IGZ1bmN0aW9uIG5hbWVzLgoJICBGaXhlcyAjNTg5NDU5LgoKMjAwOS0wNy0yMyAxMTo1MDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIEFsc28gYWRkIHNvbWUgbW9yZSBxdWVyeSB0eXBlcyB0byB0aGUgYW5zd2VyIG9mIHRoZSBxdWVyeSB0eXBlIGZ1bmN0aW9uLgoJICBGaXhlcyBidWcgIzU4OTQyNC4KCjIwMDktMDctMjEgMTk6NDY6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGZpeCBpbnRlcm1pdHRlbnQgRkxBQ19fU1RSRUFNX0RFQ09ERVJfQUJPUlRFRCBlcnJvcnMgd2hlbiBzZWVraW5nCgkgIFdoZW4gc2Vla2luZyBpbiBhIGxvY2FsIGZsYWMgZmlsZSAoaWUuIG9wZXJhdGluZyBwdWxsLWJhc2VkKSwgdGhlIGRlY29kZXIKCSAgd291bGQgb2Z0ZW4ganVzdCBlcnJvciBvdXQgYWZ0ZXIgdGhlIGxvb3AgZnVuY3Rpb24gc2VlcyBhIERFQ09ERVJfQUJPUlRFRAoJICBzdGF0dXMuIFRoaXMsIGhvd2V2ZXIsIGlzIHRoZSByZWFkIGNhbGxiYWNrJ3Mgd2F5IG9mIHRlbGxpbmcgb3VyIGxvb3AKCSAgZnVuY3Rpb24gdGhhdCBwdWxsX3JhbmdlIGZhaWxlZCBhbmQgc3RyZWFtaW5nIHNob3VsZCBzdG9wLCBpbiB0aGlzIGNhc2UKCSAgYmVjYXVzZSBvZiB0aGUgZmx1c2gtc3RhcnQgZXZlbnQgdGhhdCB0aGUgc2VlayBoYW5kbGVyIHB1c2hlZCB1cHN0cmVhbQoJICBmcm9tIHRoZSBzZWVraW5nIHRocmVhZC4gSGFuZGxlIHRoaXMgc2xpZ2h0bHkgYmV0dGVyIGJ5IHN0b3JpbmcgdGhlIGxhc3QKCSAgZmxvdyByZXR1cm4gZnJvbSBwdWxsX3JhbmdlLCBzbyB0aGUgbG9vcCBmdW5jdGlvbiBjYW4gZXZhbHVhdGUgaXQgcHJvcGVybHkKCSAgd2hlbiBpdCBlbmNvdW50ZXJzIGEgREVDT0RFUl9BQk9SVEVEIGFuZCB0YWtlIHRoZSByaWdodCBhY3Rpb24uCgkgIEZpeGVzICM1Nzg2MTIuCgoyMDA5LTA3LTIxIDEwOjA3OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCBpbmRlbnRpbmcgYW5kIHVwZ3JhZGUgdHdvIGRlYnVncyB0byB3YXJuaW5ncy4KCSAgRml4IG5ld2xpbmVzIGluIHZhcmlhYmxlIGRlY2xzLiBDaGFuZ2UgdHdvIGRlYnVncyB0byBiZWNvbWUgd2FybmluZ3MgYXMgdGhleQoJICBpbmRpY2F0ZSB0aGF0IHRoaW5ncyB3aWxsIG5vdCB3b3JrLgoKMjAwOS0wNy0yMSAxMDowNDozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBjb2RlIGNsZWFudXBzIGZvciBlbmNvZGVyCgkgIFJlbW92ZSBzb21lIGRpc2FibGVkIGNvZGUgaW4gZW5jb2Rlci4gVHJ5ICNpZiAwJ2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cyBhYm91dAoJICB3aHkgaXQgaXMgZGlzYWJsZWQuIE1vdmUgaWRjdC1tZXRob2QgZW51bSB0byBqcGVnLmMgYW5kIHVzZSBpbiBib3RoIGVuY29kZXIgYW5kCgkgIGRlY29kZXIuIEFkZCBpZGN0LW1ldGhvZCBwcm9wZXJ0eSB0byBlbmNvZGVyLgoKMjAwOS0wNy0yMSAwNzo1MDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQW5zd2VyIFNFRUtJTkcgcXVlcmllcyBpbiB0aGUgb3JpZ2luYWwgZm9ybWF0CgoyMDA5LTA3LTIxIDAxOjEyOjQ0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcHV0aWxzOiBpbml0aWFsaXplIHN0cnVjdCBjb250ZW50IHdpdGggMC4KCSAgRml4ZXMgc29tZSByYW5kb20gY3Jhc2hlcy4KCjIwMDktMDctMjAgMTk6MDk6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2V0IHNvbWUgdmFsdWVzIHRvIHRoZWlyIGRlZmF1bHRzCgkgIFNldCB0aGUgbWlucmVxIGFuZCBtYXhsZW5ndGggYnVmZmVyIGF0dHJpYnV0ZXMgdG8gLTEgdG8gbGV0IHB1bGVzZWF1ZGlvIHNlbGVjdCBhCgkgIHNlbnNpYmxlIHZhbHVlLgoKMjAwOS0wNy0yMCAxOTowNDowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB3YWl0IGZvciBwb3N0ZWQgbWVzc2FnZQoJICBXZSBjYW4ndCB3YWl0IGZvciB0aGUgRU5URVIvTEVBVkUgbWVzc2FnZXMgdG8gYmUgYmUgcG9zdGVkIGJlY2F1c2UgdGhlIGJhc2UKCSAgY2xhc3Mgc29tZXRpbWVzIGNhbGxzIHRoZSBzdGFydCBtZXRob2Qgd2l0aCB0aGUgb2JqZWN0IGxvY2ssIHdoaWNoIHdvdWxkIGJsb2NrCgkgIHRoZSBtZXNzYWdlIHBvc3RpbmcuCgkgIEluc3RlYWQsIGp1c3QgYXNzdW1lIHRoYXQgdGhlIG1lc3NhZ2Ugd2lsbCBiZSBwb3N0ZWQgc29vbiBhbmQgY29udGludWUuIFdlJ2xsCgkgIGhhdmUgdG8gZml4IHRoaXMgaW4gdGhlIGJhc2UgY2xhc3MuCgoyMDA5LTA3LTIwIDE4OjExOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSByZWxhdGl2ZSBzZWVrcwoJICBVc2UgcmVsYXRpdmUgc2Vla3MgYmVjYXVzZSBJIHdhcyB0b2xkIHRoYXQgYWJzb2x1dGUgc2Vla3MgZG9uJ3Qgd29yay4KCjIwMDktMDctMjAgMTY6NTI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA3LTIwIDA4OjA3OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogQWRkIHN1cHBvcnQgZm9yIEFSR0IvQkdSQSBpbnB1dAoJICBOb3RlIHRoYXQgdmlkZW90ZXN0c3JjIG91dHB1dHMgMTAwJSB0cmFuc3BhcmVudCB2aWRlbwoJICB3aGljaCB3aWxsIHJlc3VsdCBpbiB3aGl0ZSBvdXRwdXQgZnJvbSBjYWlyb3JlbmRlci4KCjIwMDktMDctMTcgMTM6MjI6NTcgKzAxMDAgIEVsYWluZSBYaW9uZyA8RWxhaW5lLlhpb25nQFN1bi5DT00+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IEZpeCB2NGwyc3JjIG9uIE9wZW5Tb2xhcmlzCgkgIFRoZSB2NGwyIGRyaXZlciBmb3IgVVNCIHdlYmNhbXMgb24gT3BlblNvbGFyaXMgZG9lcyBub3Qgc3VwcG9ydCBzZWxlY3QoKQoJICBjYWxscy4gRGV0ZWN0IHdoZW4gc2VsZWN0KCkgZmFpbHMsIGFuZCBza2lwIHBvbGxpbmcgdGhlIGRldmljZSBhZnRlcndhcmQsCgkgIHdoaWNoIHJlc3RvcmVzIHRoZSBwcmUgMC4xMC4xNCBiZWhhdmlvdXIgb24gT3BlblNvbGFyaXMuCgkgIFNpZ25lZC1vZmYtYnk6IEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCjIwMDktMDctMTcgMTE6MjI6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBJZ25vcmUgc29tZSBuZXcgYmluYXJpZXMKCjIwMDktMDctMTcgMTM6NDk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogQWRkIHRvIHRoZSBkb2N1bWVudGF0aW9uCgoyMDA5LTA3LTE3IDEzOjQyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogUmV0dXJuIG5vdC1uZWdvdGlhdGVkIGlmIHdlIGhhdmUgbm8gY2FwcwoKMjAwOS0wNy0xNyAxMzo0MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkgIGNhaXJvcmVuZGVyOiBGaXggY2FwcyBhbmQgY29sb3JzcGFjZSBoYW5kbGluZwoKMjAwOS0wNy0xNyAxMzozMDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IFVzZSBjb3JyZWN0IG1pbWV0eXBlcyBmb3IgUERGIGFuZCBTVkcKCjIwMDktMDctMTcgMTM6MjQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBSZW1vdmUgcHVsbCBtb2RlLCBpdCBvbmx5IGFkZHMgY29tcGxleGl0eSBidXQgbm90IGFkdmFudGFnZXMKCjIwMDktMDctMTYgMjE6NTU6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBGaXggY2FwcyBuZWdvdGlhdGlvbiBhbmQgY2Fpcm8gc3VyZmFjZSBjcmVhdGlvbgoKMjAwOS0wNy0xNiAyMTo0MjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IENvcnJlY3RseSBzZXQgc3JjY2FwcwoKMjAwOS0wNy0xNiAyMTozMTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkgIGNhaXJvcmVuZGVyOiBNb3ZlIGluc3RhbmNlL2NsYXNzIHN0cnVjdCBkZWZpbml0aW9ucyB0byB0aGUgaGVhZGVyCgoyMDA5LTA3LTE2IDIxOjMwOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm9yZW5kZXI6IEFkZCBMdXR6JyBjb3B5cmlnaHQgdG8gdGhlIGZpbGUgaGVhZGVyCgoyMDA5LTA3LTE2IDIxOjI3OjQ1ICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkgIGNhaXJvOiBBZGQgY2Fpcm8tYmFzZWQgUERGL1BTL1NWRyBlbmNvZGVyIGVsZW1lbnQKCSAgRml4ZXMgYnVnICMzMzE0MjAuCgoyMDA5LTA3LTE2IDIwOjQ0OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBPcHRpb25hbGx5IHdyaXRlIGEgUEFERElORyBibG9jawoJICBUaGUgc2l6ZSBvZiB0aGUgUEFERElORyBibG9jayBpcyBzcGVjaWZpZWQgYnkgYSBuZXcKCSAgInBhZGRpbmciIHByb3BlcnR5LgoJICBGaXhlcyBidWcgIzU4ODQ4My4KCjIwMDktMDctMTYgMTk6MzU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE9ubHkgYXNzdW1lIHNlZWthYmlsaXR5IGlmIHRoZSBzZXJ2ZXIgcHJvdmlkZXMgQ29udGVudC1MZW5ndGgKCSAgUHJldmlvdXNseSBzZWVrYWJpbGl0eSB3YXkgYWx3YXlzIGFzc3VtZWQgdW50aWwgdGhlIGZpcnN0IHNlZWsgYWN0dWFsbHkKCSAgZmFpbGVkLiBOb3cgd2UgYXNzdW1lIHRoYXQgYWxsIHNlcnZlcnMgYXJlIG5vdCBzZWVrYWJsZSB1bmxlc3MgdGhleSBwcm92aWRlCgkgIGEgQ29udGVudC1MZW5ndGggaGVhZGVyLiBJZiBhIHNlZWsgZmFpbHMgYWZ0ZXIgdGhhdCB3ZSBjb250aW51ZSB0bwoJICBhc3N1bWUgbm8gc2Vla2FiaWxpdHkuIEZpeGVzIGJ1ZyAjNTg1NTc2LgoKMjAwOS0wNy0xNiAxNToxNDo0MyArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGRvbid0IHRyeSB0byBhdXRoZW50aWNhdGUgaWYgbm8gdXNlcm5hbWUvcGFzc3dvcmQgaXMgc2V0LgoKMjAwOS0wNy0xNiAxNzoxMDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IENoYWluIHVwIGZpbmFsaXplIHRvIHRoZSBwYXJlbnQgY2xhc3MgaW4gd2FycHR2CgkgIEZpeGVzIGEgbWVtb3J5IGxlYWsuCgoyMDA5LTA3LTE2IDEyOjU1OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJICBlZmZlY3R2OiBBZGQgdW5pdCB0ZXN0IGZvciBhbGwgZWZmZWN0diBlbGVtZW50cwoKMjAwOS0wNy0xNiAxMjoxNzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICBlZmZlY3R2OiBBZGQgbmV3IGVmZmVjdHYgZWxlbWVudHMgdG8gdGhlIGRvY3MKCjIwMDktMDctMTUgMTQ6Mzc6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5oOgoJICBlZmZlY3R2OiBBZGQgcmlwcGxldHYgZWxlbWVudAoJICBUaGlzIHByb2R1Y2VzIGEgd2F0ZXIgcmlwcGxlIGVmZmVjdCBvbiB0aGUgdmlkZW8gaW5wdXQsCgkgIGJhc2VkIG9uIG1vdGlvbiBvciBhIHJhaW4gZHJvcCBhbGdvcml0aG0uCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4Njk1LgoKMjAwOS0wNy0xMiAxNTo0MjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkgIGVmZmVjdHY6IEFkZCBzdHJlYWt0diBlZmZlY3QgZmlsdGVyIGVsZW1lbnQKCSAgVGhpcyBjb21iaW5lcyB0aGUgU3RyZWFrVFYgYW5kIEJhbHRhblRWIGZpbHRlcnMgZnJvbSB0aGUKCSAgZWZmZWN0diBwcm9qZWN0LgoJICBLaW5kbHkgcmVsaWNlbnNlZCB0byBMR1BMMisgYnkgS2VudGFybyBGdWt1Y2hpIDxmdWt1Y2hpQG1lZ2F1aS5uZXQ+LgoJICBGaXhlcyBidWcgIzU4ODM2OC4KCjIwMDktMDctMTIgMTI6MzE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgZWZmZWN0djogRml4IHByb2Nlc3Npbmcgb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzCgoyMDA5LTA3LTEyIDExOjUyOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJICBlZmZlY3R2OiBBZGQgcmFkaW9hY3R2IGVmZmVjdCBmaWx0ZXIKCSAgVGhpcyBmaWx0ZXIgYWRkcyBhIHJhZGlhdGlvbi1saWtlIG1vdGlvbiBibHVyIGVmZmVjdAoJICB0byB0aGUgdmlkZW8gc3RyZWFtLgoJICBLaW5kbHkgcmVsaWNlbnNlZCB0byBMR1BMMisgYnkgS2VudGFybyBGdWt1Y2hpIDxmdWt1Y2hpQG1lZ2F1aS5uZXQ+LgoJICBGaXhlcyBidWcgIzU4ODM1OS4KCjIwMDktMDctMTIgMTE6MjY6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSAgZWZmZWN0djogTWFrZSB0aGUgb3B0diB0aHJlc2hvbGQgcHJvcGVydHkgYW4gdWludAoKMjAwOS0wNy0xMiAxMDozOTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJICBlZmZlY3Q6IEFkZCBvcHR2IGVmZmVjdCBmaWx0ZXIgZnJvbSB0aGUgZWZmZWN0diBwcm9qZWN0CgkgIFRoaXMgZmlsdGVyIGJpbmFyaXplcyBpbnB1dCBmcmFtZXMgYW5kIGNvbWJpbmVzIHRoZW0gd2l0aCB2YXJpb3VzCgkgIG9wdGljYWwgcGF0dGVybi4KCSAgS2luZGx5IHJlbGljZW5zZWQgdG8gTEdQTDIrIGJ5IEtlbnRhcm8gRnVrdWNoaSA8ZnVrdWNoaUBtZWdhdWkubmV0Pi4KCSAgRml4ZXMgYnVnICM1ODgzNDkuCgoyMDA5LTA3LTAzIDA1OjExOjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRW1pdCBzdHJlYW0tc3RhdHVzIGxlYXZlIG1lc3NhZ2UKCSAgRml4ZXMgIzU4NzY5NQoKMjAwOS0wNy0wMyAwNTowNjo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogRW1pdCBzdHJlYW0tc3RhdHVzIGVudGVyIG1lc3NhZ2UKCSAgRW1pdCBzdHJlYW0tc3RhdHVzIG1lc3NhZ2VzIGZvciB0aGUgcHVsc2UgdGhyZWFkLgoJICBEb24ndCB1c2Ugb3VyIG93biBHQ29uZCBmb3Igc2lnbmFsaW5nIGJ1dCBzaW1wbHkgdXNlIHRoZSBwdWxzZSBtYWlubG9vcAoJICBtZWNoYW5pc21zIGZvciBzeW5jaHJvbmlzYXRpb24uCgkgIFNlZSAjNTg3Njk1CgoyMDA5LTA3LTE0IDE4OjE1OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRlYnVnIHRoZSBsYXRlbmN5IHVwZGF0ZSB2YWx1ZXMKCjIwMDktMDctMTQgMTY6MTI6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZXNpbms6IGFkZCAyNGJpdCBzYW1wbGUgZm9ybWF0cwoJICBBZGQgY2hlY2sgZm9yIHB1bHNlYXVkaW8gMC45LjE1IGFuZCBlbmFibGUgMjRiaXRzIHNhbXBsZXMgaW4gdGhhdCBjYXNlLgoKMjAwOS0wNy0xMyAxMjoyMzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ODQ1YjYzIHRvIGZlZGFhZWUKCjIwMDktMDctMTMgMTc6NTM6MjUgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBtcHZwYXk6IFJld29yayB0aGUgdGltZXN0YW1waW5nCgkgIFJld29yayB0aGUgdGltZXN0YW1waW5nIGluIHRoZSBtcHYgcGF5bG9hZGVyIHNvIHRoYXQgdGhlIHRpbWVzdGFtcHMgYXJlIG1vcmUKCSAgYWNjdXJhdGUuCgkgIEZpeGVzICM1ODc2ODAKCjIwMDktMDctMDMgMDg6NDc6MTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jOgoJICB2NGwyc3JjOiBhZGQgYSBzaW1wbGUgdGVzdCBjYXNlIGZvciBkZXZpY2UgcHJvYmluZwoKMjAwOS0wNy0wMyAwODozODo0MyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IG9wdGlvbmFsIHN1cHBvcnQgZm9yIGRldmljZSBwcm9iaW5nIHdpdGggZ3VkZXYKCSAgRW51bWVyYXRlIHY0bDIgZGV2aWNlcyB1c2luZyBndWRldiBpZiBhdmFpbGFibGUuCgkgIEZpeGVzIGJ1ZyAjNTgzNjQwLgoKMjAwOS0wNy0xMCAxOTo1NDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFJhbmRvbSBjbGVhbnVwCgoyMDA5LTA3LTEwIDE5OjU0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogU2VuZCBxdWVyaWVzIHRvIHRoZSBtYXN0ZXIgcGFkIGJ5IGRlZmF1bHQgaW5zdGVhZCBvZiBhbGwgcGFkcwoKMjAwOS0wNy0xMCAxOTozNDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfcmdiLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIFJHQiwgQkdSLCB4UkdCLCBSR0J4LCB4QkdSLCBCR1J4IHN1cHBvcnQKCjIwMDktMDctMTAgMTc6NDM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBDbGVhbiB1cCBkZWJ1Z2dpbmcgYSBiaXQKCjIwMDktMDctMTAgMTc6MjU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBSZW1vdmUgc29tZSByZWR1bmRhbnQgY2hlY2tzIGFuZCBlcnJvciBvdXQgaW1tZWRpYXRlbHkgaWYgbm90IG5lZ290aWF0ZWQKCSAgQWxzbyBzdG9wIGxlYWtpbmcgdGhlIG91dHB1dCBidWZmZXIgaW4gc29tZSBlcnJvciBjYXNlcy4KCjIwMDktMDctMTAgMTc6MjM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB0aGUgY2FsY3VsYXRlX2ZyYW1lX3NpemUoKSBmdW5jdGlvbiBhbmQgdXNlIGxpYmdzdHZpZGVvIGluc3RlYWQKCjIwMDktMDYtMzAgMTU6MTM6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB1bnVzZWQgbGluay91bmxpbmsgcGFkIG1ldGhvZHMKCjIwMDktMDYtMzAgMTI6NDM6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEk0MjAgbW9kZTogQWRkIGZhc3QgcGF0aCBmb3IgMC4wIGFuZCAxLjAgYWxwaGEKCSAgSWYgdGhlIHNvdXJjZSBhbHBoYSBpcyAwLjAsIHdlIHRha2Ugbm90aGluZy4KCSAgSWYgdGhlIHNvdXJjZSBhbHBoYSBpcyAxLjAsIHdlIG92ZXJ3cml0ZSBldmVyeXRoaW5nLgoKMjAwOS0wNi0zMCAxMjo0MDowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogSTQyMCBibGVuZGluZyA6IEZpeCBtYWluIGFsZ29yaXRobS4KCSAgV2hlbiBibGVuZGluZyBhIHNvdXJjZSBsYXllciB3aXRoIGFuIGFscGhhIG9mICdhJyBvbiB0b3Agb2YgYW5vdGhlcgoJICBkZXN0aW5hdGlvbiBsYXllciB3ZSB0YWtlIHRoZSBzdW0gb2Y6CgkgICogJ2EnIHBlcmNlbnQgb2YgdGhlIHNvdXJjZSBsYXllcgoJICAqICgxMDAgLSAnYScpIHBlcmNlbnQgb2YgdGhlIGRlc3RpbmF0aW9uIGxheWVyICh0aGUgcmVtYWluZGVyKQoKMjAwOS0wNi0zMCAxMjozOToxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJwYWQuaDoKCSAgdmlkZW9taXhlcjogTWFrZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgZ2xvYmFsIHRvIGFsbCB0aGUgY29kZS4KCjIwMDktMDYtMjkgMTk6MjM6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZGVidWdnaW5nIHN0YXRlbWVudHMuCgoyMDA5LTA3LTA4IDEzOjM4OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG8gbm90IGxlYWsgdGltZW91dCBtZXNzYWdlCgoyMDA5LTA3LTA5IDA3OjE0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBEb24ndCBmb3J3YXJkIE5FV1NFR01FTlQgZXZlbnRzIGZyb20gdXBzdHJlYW0KCSAgTmV3IG9uZXMgYXJlIGdlbmVyYXRlZCBsYXRlciBhbmQgc2ltcGx5IGZvcndhcmRpbmcgdGhlbSBjYW4KCSAgcmVzdWx0IGluIE5FV1NFR01FTlQgZXZlbnRzIG9mIGRpZmZlcmVudCBmb3JtYXQgZ29pbmcgZG93bnN0cmVhbS4KCSAgRml4ZXMgYnVnICM1ODc5ODMuCgoyMDA5LTA3LTA4IDE4OjE5OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBNYWtlIGNoZWNrZXIgcGF0dGVybiBsb29rdXAgdGFibGUgY29uc3RhbnQKCjIwMDktMDctMDggMTg6MTc6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgQVJHQgoJICBBbmQgY2xlYW4gdXAgdGhlIGNhcHMgcGFyc2luZy4KCjIwMDktMDctMDggMTU6MTc6NDEgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbkBnYWlnbmFyZC5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogSW5pdGlhbGl6ZSBwb2ludGVyIHRvIE5VTEwKCSAgT3RoZXJ3aXNlIHdlJ3JlIGNhbGxpbmcgZnJlZSgpIHdpdGggc29tZSByYW5kb20KCSAgbWVtb3J5IGFkZHJlc3MgaW4gZXJyb3IgY2FzZXMuCgkgIEZpeGVzIGJ1ZyAjNTg3OTgyLgoKMjAwOS0wNy0wNyAxNjozNToyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNwcmlua2xlIHNvbWUgbW9yZSBjb25zdAoKMjAwOS0wNy0wNyAxNTo1Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBlcmZvcm0gc29tZSBtb3JlIChjYXJlZnVsKSBkYXRhIGJ1ZmZlcmluZwoJICBPbmNlIGJ1ZmZlcmluZyBoYXMgc3RhcnRlZCAod2l0aCBhbiBtZGF0IGF0b20pLCBjb250aW51ZSBidWZmZXJpbmcKCSAgdW50aWwgbW9vdiBhdG9tIGlzIHJlYWNoZWQsIHdoaWNoIGhhbmRsZXMgY2FzZXMgd2l0aCBtdWx0aXBsZQoJICBtZGF0IGF0b21zLiAgQWxzbyBrZWVwIGFkYXB0ZXIvb2Zmc2V0IGJldHRlciBpbiBzeW5jIHdpdGggdXBzdHJlYW0KCSAgYW5kIGZpeCBzb21lIGRlYnVnIHN0YXRlbWVudHMuICBGaXhlcyAjNTg3NDI2LgoKMjAwOS0wNy0wNiAxMDo0MDozMSArMDIwMCAgUGhpbGlwIErkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUmVwbGFjZSBkZXByZWNhdGVkIEdTVF9ESVNBQkxFX0RFQlVHIHdpdGggY29ycmVjdCBtYWNyby4gRml4ZXMgIzU4NzgyNgoKMjAwOS0wNy0wMSAxMzowNzo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGRpdmlkaW5nIGJ5IDAKCSAgRXJyb3Igb3V0IGlmIHRpbWVzY2FsZSBpcyAwLgoKMjAwOS0wNy0wMSAwOTozMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogTWFrZSBzdXJlIHdlIGRvbid0IGJsYWNrbGlzdCBzdHJlYW1zIGJ5IHdyb25nbHkgY29tcGFyaW5nIHRoZWlyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU1MDNhNTlhNTc3OWI2NzQ1MWQ4YTI3MTAwMDE4MTc5MGVlNzZiYzcuCgkgIFJldmVydGluZyB0aGlzIHNpbmNlIGl0IGNhdXNlcyByZWdyZXNzaW9ucyB3aXRoIGEgbG90IG9mIHNhbXBsZSBmaWxlcwoJICBJIGhhdmUsIGFsbCBvZiB3aGljaCB3b3JrZWQgZmluZSB3aXRoIHRoZSBsYXN0IC1nb29kIHJlbGVhc2UgKCM1ODY4OTEpLgoKMjAwOS0wNi0zMCAxNTo1NDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvbW1lbnQgb3V0IHVudXNlZCBzdHJ1Y3R1cmUKCjIwMDktMDYtMzAgMTM6MTI6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3JlIHNpemUgY2hlY2tzLCBhbmQgdXNlIGdfdHJ5X25ldzAoKSBpbnN0ZWFkIG9mIGdfbmV3MCgpCgkgIFdoZW5ldmVyIHdlIGFsbG9jIHNvbWV0aGluZyBiYXNlZCBvbiBhIHVzZXItc3VwcGxpZWQgc2l6ZSwgd2Ugc2hvdWxkCgkgIHJlYWxseSB1c2UgZ190cnlfbmV3KCksIG90aGVyd2lzZSB3ZSBjYW4gZWFzaWx5IGJlIG1hZGUgdG8gYWJvcnQgYnkKCSAgcGFzc2luZyBhIHJpZGljdWxvdXNseSBsYXJnZSBudW1iZXIgdG8gdXMgZm9yIGFsbG9jaW5nLiBGaXhlcwoJICBwcm9ibGVtcyB3aXRoIHNvbWUgZnV6emVkIGZpbGVzLgoKMjAwOS0wNi0yOSAxODo1ODozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGd1YXJkIGFnYWluc3QgYm9ndXMgYXRvbSBzaXplcyBhbmQgc2hvcnQgcmVhZHMKCSAgQ2hlY2sgdGhlIHBvc3NpYmx5IDY0LWJpdCBhdG9tIHNpemUgbW9yZSBjYXJlZnVsbHkgYmVmb3JlIGNhc3RpbmcgaXQKCSAgdG8gYW4gaW50IGFuZCBwYXNzaW5nIGl0IHRvIGdzdF9wYWRfcHVsbF9yYW5nZSgpLCBvdGhlcndpc2Ugd2UgbWlnaHQKCSAgZW5kIHVwIHB1bGxpbmcgMCBieXRlcywgZ2V0dGluZyBhbiBlbXB0eSBidWZmZXIgYXMgcmVxdWVzdGVkIGFuZAoJICBkZXJlZmVyZW5jaW5nIG5vdCBhdmFpbGFibGUgZGF0YSB3aGlsc3QgdGhpbmtpbmcgd2UgYWN0dWFsbHkgYXNrZWQKCSAgZm9yIGFuZCBnb3QgMHgxMDAwMDAwMDAwMDAwIGJ5dGVzLiBTaW1pbGFyIGZpeCBmb3IgcHVzaCBtb2RlIG9wZXJhdGlvbgoJICB3aGVyZSBuZWVkZWRieXRlcyBlbmRzIHVwIGJlaW5nIDAgYnl0ZXMsIHdoaWNoIG1ha2VzIHVzIGFzc2VydC4gRml4ZXMKCSAgY3Jhc2ggd2l0aCBicm9rZW4gb3IgZnV6emVkIGZpbGUgKE5CICMxMjIzNzgpLgoKMjAwOS0wNi0yOSAxNjo1Mjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSAweCBwcmVmaXggd2hlbiBsb2dnaW5nIG51bWJlcnMgaW4gaGV4CgoyMDA5LTA3LTAxIDA4OjQwOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBEb24ndCBzZW5kIGVtcHR5IHN0cmluZyB0YWdzCgoyMDA5LTA2LTMwIDIxOjM1OjM3ICswNDAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgRG9uJ3QgdXNlIHNlbmRtc2coKS1kZXBlbmRlbnQgY29kZSBvbiBXaW5kb3dzCgkgIEZpeGVzICM1ODU4NDIKCjIwMDktMDYtMzAgMTU6NTk6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSAgbGF3OiBmaXggY2FwcyBhbmQgbmVnb3RpYXRpb24KCSAgRml4IHRoZSBjYXBzIHRvIGluY2x1ZGUgdGhlIGRlcHRoIChpbnN0ZWFkIG9mIHdpZHRoIHR3aWNlKSBpbiB0aGUgY2FwcyBvZgoJICBhdWRpby94LXJhdy1pbnQuCgkgIEZpeCBuZWdvdGlhdGlvbiB0byBub3Qgb25seSBjb3B5IHRoZSByYXRlL2NoYW5uZWxzIG9mIHRoZSBmaXJzdCBzdHJ1Y3R1cmUuCgoyMDA5LTA2LTMwIDE0OjQ4OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW5jbHVkZSAiMS4wPTEwMCUiIGluIHZvbHVtZSBhbmQgY2hhbmdlIHVwcGVyIGxpbWl0CgkgIFVwcGVyIHZvbHVtZSBsaW1taXQgd2FzIDEwMDAuIFRoYXQgYXBwZWFyIHVubmVjZWFzcmlseSBoaWdoLiBJdCB3b3VsZCBhbHNvIGNhdXNlCgkgIHNldmVyIGRpc3RvcnRpb24gaWYgYWNjaWRlbnRpYWx5IHVzZWQuIE5vdyBpdHMgMTAgKH4gKzE1ZGIpIHdoaWNoIGlzIGFsc28gaW4KCSAgc3luYyB3aXRoIHZvbHVtZSBhbmQgcGxheWJpbjIuCgoyMDA5LTA2LTI5IDE1OjM5OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBzb21lIG1vcmUgdHJpdmlhbCBjbGVhbnVwcwoKMjAwOS0wNi0yOSAxNTozODo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkgIHB1bHNlOiB0cml2aWFsIGNsZWFudXBzCgoyMDA5LTA2LTI5IDE1OjIwOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNsZWFyIHJpbmdidWZmZXIgd2hlbiBhc2tlZCB0bwoJICBTaW5jZSB3ZSBtYXAgdGhlIHJpbmdidWZmZXIgdG8gdGhlIHB1bHNlYXVkaW8gaW50ZXJuYWwgcmluZ2J1ZmZlciwgZmx1c2ggdGhlCgkgIHB1bHNlYXVkaW8gYnVmZmVyIHdoZW4gd2UgYXJlIGFza2VkIHRvIGNsZWFyIHRoZSByaW5nYnVmZmVyLgoJICBUaGlzIGF2b2lkcyBzb21lIGxlZnRvdmVyIGF1ZGlvIGFmdGVyIGEgc2Vlay4KCjIwMDktMDYtMjYgMTU6MDA6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IEFjdHVhbGx5IGRvIHRoZSAnZWNobyAtbicgLT4gcHJpbnRmIGNoYW5nZS4KCjIwMDktMDYtMjYgMTQ6NDA6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicuIENoZWNrIGZvciBhdXRvbWFrZS0xLjFbMDFdCgkgIENoZWNrIGZvciBtb3JlIGF1dG9tYWtlIGNvbW1hbmQgdmFyaWFudHMuIFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicKCSAgZm9yIHBvcnRhYmlsaXR5CgoyMDA5LTA2LTI2IDEzOjQyOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY4MTAwMzAgdG8gNTg0NWI2MwoKMjAwOS0wNi0yNiAxMzoxOTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHByb2Nlc3MgdHJhY2tfbnVtL3RyYWNrX2NvdW50IHRhZ3Mgd2l0aCBhIDAgdmFsdWUKCSAgTnVtYmVyL2NvdW50IHZhbHVlcyBvZiAwIG1lYW4gdGhleSdyZSBub3Qgc2V0LiBEb24ndCBwdXQgdGhvc2UgaW4gdGhlCgkgIHRhZ2xpc3QuCgoyMDA5LTA2LTI1IDE4OjUxOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgd2F2ZWZvcm1zaW5rOiB1c2UgJ2d1aW50OCcgaW5zdGVhZCBvZiAnYnl0ZScgdG8gZml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQzgKCSAgV2UgbmVlZCBhIGNhc3QgaGVyZSBmb3IgcG9pbnRlciBhcml0aG1ldGljIHRvIHdvcmsgY29ycmVjdGx5LCBidXQgc29tZQoJICBNU1ZDIHZlcnNpb25zIGRvbid0IHNlZW0gdG8gbGlrZSAnYnl0ZScsIHNvIHVzZSBndWludDggaGVyZS4gSG9wZWZ1bGx5CgkgIGZpeGVzICM1ODUzNjEuCgoyMDA5LTA2LTI1IDE5OjM5OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IHNldCBzdHJ1Y3RzIHRvIHplcm8gYmVmb3JlIHVzaW5nIHRoZW0gaW4gaW9jdGxzCgkgIFRoaXMgZml4ZXMgdmFsZ3JpbmQgd2FybmluZ3MuCgoyMDA5LTA2LTI1IDEzOjIzOjQwICswMjAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1ha2Ugc3VyZSB3ZSBkb24ndCBibGFja2xpc3Qgc3RyZWFtcyBieSB3cm9uZ2x5IGNvbXBhcmluZyB0aGVpciBkdXJhdGlvbiB3aXRoIGVudGlyZSBjbGlwIGR1cmF0aW9uLgoKMjAwOS0wNi0yNSAxMzoxODoxNCArMDIwMCAgS3J6eXN6dG9mIELFgmFzemtvd3NraSA8a2IgYXQgc3lzbWlrcm8uY29tLnBsPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHJ0cGRlYzogZml4IHNvbWUgYnVmZmVyIGxlYWtzCgoyMDA5LTA2LTI1IDA4OjExOjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZwYXJzZTogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoL2Nhc2UuCgoyMDA5LTA2LTI1IDA4OjEwOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSwgaGludCBicmFuY2ggbGlrZWxpbmVzcywgYWRkIGNvbW1lbnRzLgoKMjAwOS0wNi0yNSAwODowOTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlCgoyMDA5LTA2LTI1IDA3OjQxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgdW51c2VkIHZhcmlhYmxlcy4KCSAgQWxzbyBhZGQgYnJhbmNoIGxpa2VsaW5lc3MgbWFjcm9zLgoKMjAwOS0wNi0yNSAwNzo0MDoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzLiBGaXhlcyBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDYtMjQgMTc6NDM6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmcmVlIG1lbW9yeSBpbiBmaW5hbGl6ZQoJICBmaW5hbGl6ZSBpcyBjYWxsZWQgb25seSBvbmNlLiBubyBuZWVkIHRvIGNsZWFyIHBvaW50ZXJzIHRoZXJlLiBkaXNwb3NlIGlzIGZvcgoJICB1bnJlZmZpbmcuCgoyMDA5LTA2LTI0IDE1OjE0OjE0ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFiMTFkMSB0byBmODEwMDMwCgoyMDA5LTA2LTA4IDE0OjQ2OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNob3J0LWNpcmN1aXQgZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCgpIHdoZW4gcGFyc2luZyB0aGUgaW5kZXgKCSAgRG9uJ3QgY2FsbCBnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KCkgZm9yIGVhY2ggc2luZ2xlIGluZGV4IGVudHJ5LiBOb3QKCSAgb25seSBkbyB3ZSBhbHJlYWR5IGhhdmUgdGhlIHBvaW50ZXIgdG8gdGhlIHN0cmVhbSBjb250ZXh0LCB3ZSBhbHNvIGtub3cKCSAgdGhlIGZvcm1hdHMgd2Ugd2FudCB0byBjb252ZXJ0IGZyb20gYW5kIHRvIGFscmVhZHksIHNvIHdlIG1heSBqdXN0IGFzCgkgIHdlbGwgdXNlIG9wdGltaXNlZCBjb252ZXJzaW9uIHJvdXRpbmVzIHRoYXQgYnlwYXNzIHNvbWUgb2YgdGhlIGNoZWNrcwoJICBhbmQgbG9va3VwcyBtYWRlIGluIGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQoKS4KCjIwMDktMDYtMTcgMTY6Mzk6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFub3RoZXIgcm91bmQgb2YgR18qTElLRUxZIG1pY3JvLW9wdGltaXNhdGlvbnMuCgoyMDA5LTA2LTE3IDE2OjIwOjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBUYWtlIGxhc3Qgc2FtcGxlIGR1cmF0aW9uIGZvciBkdW1teSBzZWdtZW50IGNhbGN1bGF0aW9uLgoJICBUaGlzIGZpeGVzIHRoZSBjYXNlcyB3aGVyZSBmaWxlcyB3aXRob3V0IEVETCB3b3VsZG4ndCBvdXRwdXQgdGhlaXIKCSAgbGFzdCBidWZmZXIuCgoyMDA5LTA2LTI0IDEyOjM2OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU3ByaW5rbGUgYnJhbmNoIGxpa2VsaW5lc3MgbWFjcm9zIG92ZXIgdGhlIGNvZGUuCgoyMDA5LTA2LTIzIDE2OjU0OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogc3ByaW5rbGUgYnJhbmNoIGxpa2VsaW5lc3MgbWFjcm9zIGFjY3Jvc3MgdGhlIGNvZGUuCgoyMDA5LTA2LTE0IDEwOjM2OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgR1NUX01FTURVTVAgc3RhdGVtZW50cyBmb3IgdW5rbm93biBhdG9tcy4KCSAgVGhpcyBpcyB0byBoZWxwIGRldmVsb3BlcnMgdHJhY2sgZG93biBhbmQgaW1wbGVtZW50IHVuaGFuZGxlZCBhdG9tcyBmYXN0ZXIuCgoyMDA5LTA2LTIzIDE3OjUxOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVtb3ZlIHRoZSBpbnRlcmxhY2VkIGZpZWxkIGZyb20gdGhlIG91dHB1dCBjYXBzIGlmIGRlaW50ZXJsYWNpbmcgaXMgZW5hYmxlZAoKMjAwOS0wNi0yMyAxNzo0ODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IENvcHkgdGhlIGNvcnJlY3QgbGluZSBmcm9tIGNvcnJlY3QgcGxhY2UgaW4gdGhlIGhpc3RvcnkKCjIwMDktMDYtMjMgMTY6MzU6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBzYW1lIHByb3RvY29scyBhZnRlciByZWRpcmVjdAoJICBBZnRlciBhIHJlZGlyZWN0IHdlIHdhbnQgdG8gdXNlIHRoZSBzYW1lIHByb3RvY29scyB0aGF0IHdlIHdlcmUgdXNpbmcgZm9yIHRoZQoJICBjdXJyZW50IHVybC4KCjIwMDktMDYtMjMgMTU6MzU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBsZWFrIGNvdmVyIGFydAoKMjAwOS0wNi0yMyAxNDoxMDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgRUFJX0FERFJGQU1JTFkgZ2V0dGluZyByZWRlZmluZWQgaW4gc29tZSBjYXNlcwoJICBJbmNsdWRlIHRoZSBoZWFkZXIgZnJvbSB3aGVyZSB3ZSBpbmNsdWRlIGFsbCB0aGUgc3lzdGVtIGhlYWRlcnMgd2l0aCB0aGUKCSAgc29ja2V0IHN0dWZmIGJlZm9yZSB3ZSB0cnkgdG8gZGVmaW5lIEVBSV9BRERSRkFNSUxZIG91cnNlbHZlcywgb3RoZXJ3aXNlCgkgIHdlIGRlZmluZSBpdCBvdXJzZWx2ZXMgYW5kIHRoZW4gZ2V0IGEgY29tcGlsZXIgd2FybmluZyBpZiBhIHN5c3RlbSBoZWFkZXIKCSAgZGVmaW5lcyBpdCBhcyB3ZWxsIHdpdGhvdXQgZ3VhcmRpbmcgYWdhaW5zdCBpdCBiZWluZyBkZWZpbmVkIGFscmVhZHkuCgoyMDA5LTA2LTIzIDE0OjM5OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYTogYW5kIHRoZSBuZXcgaGVhZGVycyB0b28KCjIwMDktMDYtMjMgMTQ6MzI6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2U6IGZpeCBjb21waWxlciBlcnJvcgoJICBjaGFuZ2UgZ3BvaW50ZXIgdG8gZ3VpbnQ4ICogZm9yIGNvZGVjX3N0YXRlIGFuZCBjb2RlY19wcml2IGFzIHNvbWUKCSAgZnVuY3Rpb25zIG9wZXJhdGUgb24gdGhvc2UgdHlwZXMgYW5kIGl0IGF2b2lkcyBicmVha2luZyBzdHJpY3QtYWxpYXNpbmcKCSAgcnVsZXMuCgoyMDA5LTA2LTIzIDEyOjQyOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIGxlYWtpbmcgYnVmZmVycwoJICBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiByZXN5bmNpbmcgdG8gYSBrZXlmcmFtZS4KCSAgQXZvaWQgbGVha2luZyBidWZmZXJzIHdoZW4gZXhpdGluZyB0aGUgbG9vcCBvbiBlcnJvciBjb25kaXRpb25zLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIEZpeGVzICM1ODU5MTEKCjIwMDktMDYtMjIgMTU6NTY6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogb3Blbi9jbG9zZSB0aGUgZGV2aWNlIGluIFJFQURZCgkgIFRoaXMgYWxsb3dzIHRvIHF1ZXJ5IHRoZSBkZXZpY2UgaW4gUkVBRFkuIEJlZm9yZSBvbmUgbmVlZCB0byBzd2l0Y2ggaXQgdG8gUEFVU0VECgkgIGFuZCB0aGF0IGFsc28gc3RhcnRzIHN0cmVhbWluZy4KCjIwMDktMDYtMjAgMTU6NDE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogdXNlIEdTVF9NRU1EVU1QCgoyMDA5LTA2LTE5IDAwOjE2OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgYXBlZGVtdXg6IGFkZCBjb250YWluZXItZm9ybWF0IHRhZwoJICBVc2UgcGJ1dGlscyBoZXJlIGJlY2F1c2UgdGhlIHN0cmluZyBpcyB0cmFuc2xhdGVkLgoKMjAwOS0wNi0xOSAwMDoxNTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBpZDNkZW11eDogYWRkIGNvbnRhaW5lci1mb3JtYXQgdGFnCgkgIFVzaW5nIHBidXRpbHMgaGVyZSBiZWNhdXNlIHRoZSBzdHJpbmcgaXMgdHJhbnNsYXRlZC4KCjIwMDktMDYtMTggMjM6NTE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZwoJICBBbHNvIG1lcmdlIHRoZSB0d28gYWxtb3N0IGlkZW50aWNhbCBfYWRkXypfcGFkKCkgZnVuY3Rpb25zIGludG8gb25lLgoKMjAwOS0wNi0xOCAyMzo0Mzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBkb24ndCBzY3JldyB1cCBmaXJzdCBhdWRpbyBidWZmZXIKCSAgUXVlcnkgdGhlIGF1ZGlvIGZvcm1hdCwgZXNwLiBkdmRlbXV4LT5udW1fY2hhbm5lbHMsIGJlZm9yZSB3ZSB1c2UgdGhhdAoJICB2YXJpYWJsZSB0byBhbGxvY2F0ZSB0aGUgaW5pdGlhbCBidWZmZXIuIFRoYXQgd2F5IHdlIGRvbid0IGFjY2lkZW50YWxseQoJICBwdXNoIGEgemVyby1zaXplZCBidWZmZXIgYXMgZmlyc3QgYXVkaW8gYnVmZmVyLgoKMjAwOS0wNi0xOCAyMzozODozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFnCgoyMDA5LTA2LTE4IDIzOjM3OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZ3MKCjIwMDktMDYtMTggMjM6MzY6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZwoKMjAwOS0wNi0xOCAyMzozNToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWdzCgoyMDA5LTA2LTIxIDE3OjEzOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICBhdWRpb2FtcGxpZnk6IEZpeCBpbnRlZ2VyIG92ZXJmbG93cyBvbiAzMiBiaXQgYXJjaGl0ZWN0dXJlcwoKMjAwOS0wNi0yMSAwOTo1MDo1NCArMDIwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICBhdWRpb2FtcGxpZnk6IERvbid0IGRlY2xhcmUgYSBsb29wIGluZGV4IHN0YXRpYwoJICBUaGUgcHJldmlvdXMgcGF0Y2ggdG8gYWRkIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgc2FtcGxlIGZvcm1hdHMgcG9zc2libHkKCSAgaW50cm9kdWNlZCBhIHJlZW50cmFuY3kgYnVnOiAgYSB2YXJpYWJsZSB1c2VkIGZvciBhIGxvb3AgaW5kZXggd2FzIGRlY2xhcmVkCgkgIHN0YXRpYy4gIFRoaXMgcGF0Y2ggZml4ZXMgdGhhdCwgYW5kIGFsc28gYWRkcyBhICIvKiAqSU5ERU5ULU9OKiAqLyIgYW5ub3RhdGlvbgoJICBmb2xsb3dpbmcgdGhlIG1hY3JvIGJsb2NrLiAgKEkgZG9uJ3Qga25vdyB3aGF0IHRoZSBhbm5vdGF0aW9uIGlzIGZvciwgYnV0IHRoZQoJICBhZGRlciwgd2hlcmUgSSBjb3BpZWQgdGhpcyBmcm9tLCBoYXMgaXQpLgoKMjAwOS0wNi0xOSAyMjozNzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgYXVkaW9hbXBsaWZ5OiBGaXggb2ZmLWJ5LW9uZSBpbiB3cmFwLXBvc2l0aXZlIG1vZGUKCjIwMDktMDYtMTkgMjI6MjA6NDUgKzAyMDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGxpZ28uY2FsdGVjaC5lZHU+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgIGF1ZGlvYW1wbGlmeTogQWRkIG5vY2xpcCBtZXRob2QgYW5kIHN1cHBvcnQgZm9yIG1vcmUgZm9ybWF0cwoJICBGaXhlcyBidWcgIzU4NTgyOCBhbmQgIzU4NTgzMS4KCjIwMDktMDYtMTkgMjE6NDY6NDEgKzAyMDAgIEtvb3AgTWFzdCA8a3dtQGZyZWVic2Qub3JnPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IEZpeCBidWlsZCBvbiBGcmVlQlNECgkgIEZpeGVzIGJ1ZyAjNTg2Mzk3LgoKMjAwOS0wNi0xOSAxODoxMjoyNyArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2IGF0IGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3RzIGZvciBidWZmZXItbGlzdCBwYXlsb2FkZXJzCgkgIFNlZSAjNTg1NTU5CgoyMDA5LTA2LTE5IDE4OjAwOjM1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIHJ0cG1wNHZwYXk6IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdAoJICBTZWUgIzU4NTU1OQoKMjAwOS0wNi0xOSAxNzo1NzoxMiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2IGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBydHBqcGVncGF5OiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3RzCgkgIFNlZSAjNTg1NTU5CgoyMDA5LTA2LTE5IDE3OjUzOjMyICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdHMKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTggMTE6NTQ6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcHV0aWxzOiBkb24ndCBmcmVlIGludmFsaWQgbWVtb3J5CgkgIEFzIHNwb3R0ZWQgYnkgYmVuamlHIGluIElSQy4KCSAgZG9uJ3QgZnJlZSBpbnZhbGlkIG1lbW9yeSB3aGVuIGdldGFkZHJpbmZvIGZhaWxlZC4KCjIwMDktMDYtMTcgMTc6NDg6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlaW5rOiBkb24ndCBsZWFrIGRldmljZV9kZXNjcmlwdGlvbgoJICBkb24ndCBsZWFrIHRoZSBkZXZpY2VfZGVzY3JpcHRpb24uCgkgIHNvbWUgY2xlYW51cHMuCgoyMDA5LTA2LTE5IDE0OjQ0OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSAucG8gZmlsZXMgZm9yIHN1bmF1ZGlvbWl4ZXIgc3RyaW5nIGNoYW5nZXMKCjIwMDktMDYtMTggMTY6NTg6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtaW5nOyBhZGp1c3Qgc2l6ZXMgdG8gY2F0ZXIgZm9yIHBhZGRpbmcgaW4gY2h1bmtzCgoyMDA5LTA2LTE3IDExOjU0OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbWluZyBtb2RlOyBoYW5kbGUgZGF0YSBjaHVua3MgZ3JvdXBlZCBpbiByZWMgbGlzdHMuCgkgIEZpeGVzICM1Njc5ODMuCgoyMDA5LTA2LTEwIDEyOjM2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFwIHNvbWUgdGFncyB0byBDT01QT1NFUiByYXRoZXIgdGhhbiBBUlRJU1QKCjIwMDktMDYtMTAgMTI6MzQ6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc29tZSAzR1AgdGFnIGV4dHJhY3Rpb24gKGtleXdvcmRzLCBnZW5yZSwgbG9jYXRpb24pCgoyMDA5LTA2LTA5IDE1OjM2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogZXh0cmFjdCBwaXhlbC1hc3BlY3QtcmF0aW8gaW5mb3JtYXRpb24KCjIwMDktMDYtMTcgMDc6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBsZWFraW5nIG9mIHRoZSBNYXRyb3NrYSBUSVRMRSBlbGVtZW50CgoyMDA5LTA2LTE2IDIwOjM4OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgZWZmZWN0djogQWRkIGJhc2ljIGRvY3VtZW50YXRpb24gZm9yIHRoZSBlZmZlY3R2IGVsZW1lbnRzCgoyMDA5LTA2LTE2IDIwOjE2OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIGVmZmVjdHY6IERlZmluZSB0aGUgZmFzdCBQUk5HIGZ1bmN0aW9uIGF0IGEgY2VudHJhbCBwbGFjZQoKMjAwOS0wNi0xNiAyMDoxMzozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICBlZmZlY3R2OiBNb3ZlIHR5cGUgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXJzCgkgIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgZG9jcyBsYXRlci4KCjIwMDktMDYtMTYgMTk6NDE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBSZW1vdmUgZ2V0X3VuaXRfc2l6ZSBpbXBsZW1lbnRhdGlvbnMKCSAgVGhlIGRlZmF1bHQgb24gZnJvbSBHc3RWaWRlb0ZpbHRlciBoYW5kbGVzIHRoaXMgYWxyZWFkeS4KCjIwMDktMDYtMTYgMTQ6NTQ6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBnaXQKCSAgTmVlZCBnaXQgY29yZSBmb3IgYmFzZXNpbmsgYnVmZmVybGlzdCBhZGRpdGlvbnM7IC1iYXNlIHJlcXVpcmVtZW50CgkgIGJ1bXBlZCBncmF0dWl0b3VzbHkuCgoyMDA5LTA2LTE2IDE1OjI1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICB0ZXN0czogYWRkIHNvbWUgZGVidWcsIHNlbmQgbmV3c2VnbWVudAoKMjAwOS0wNi0xNiAxNTowNjo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogYWRkIGRlYnVnIGxpbmUgZm9yIHRoZSBzb2NrZXQKCjIwMDktMDYtMTYgMTU6MDY6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICB0ZXN0czogdHVybiBnX3ByaW50IGludG8gZGVidWcKCjIwMDktMDYtMTYgMTU6MDQ6MTUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMKCSAgQWRkIHN1cHBvcnQgZm9yIEJ1ZmZlckxpc3QgYW5kIGFkZCBhIHVuaXQgdGVzdC4KCSAgRml4ZXMgIzU4NTg0MgoKMjAwOS0wNi0xNiAwMDowMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcmVzZXQgc2Vzc2lvbiBzdGF0ZSB3aGVuIHN0b3BwaW5nCgkgIEluY3JlYXNlcyB0aGUgY2hhbmNlcyB0aGF0IHRoZSBlbGVtZW50IGlzIGFjdHVhbGx5IHJldXNhYmxlLgoKMjAwOS0wNi0xNSAyMzo0OTo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogbG9nIHJlc3BvbnNlIGFuZCByZXF1ZXN0IGhlYWRlcnMgYW5kIGZpeCBzb21lIGJyb2tlbiBpbmRlbnRpbmcKCjIwMDktMDYtMTUgMjI6NDA6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IGd1ZXNzIGNvbnN0YW50RHVyYXRpb24gYmV0dGVyCgkgIERvIGEgYmV0dGVyIGpvYiBhdCBndWVzc2luZyB0aGUgY29uc3RhbnREdXJhdGlvbiBwYXJhbWV0ZXIgd2hlbiBpdCBpcyBub3QKCSAgcHJlc2VudCBpbiB0aGUgY2Fwcy4KCSAgRml4ZXMgIzU4NTIwNQoKMjAwOS0wNi0xNSAyMTowOTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIHdhcnB0djogQ2xlYW4gdXAgd2FycHR2IGVsZW1lbnQgYW5kIGZpeCBzb21lIG1pbm9yIGJ1Z3MgYW5kIGxlYWtzCgoyMDA5LTA2LTE1IDIwOjUzOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgdmVydGlnb3R2OiBDbGVhbiB1cCB2ZXJ0aWdvdHYgZWxlbWVudCBhbmQgZml4IHNvbWUgbWlub3IgYnVncyBhbmQgbGVha3MKCjIwMDktMDYtMTUgMjA6Mzg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICBkaWNldHY6IFVzZSBndWludDggaW5zdGVhZCBvZiBjaGFyICh3aGljaCBjYW4gYmUgc2lnbmVkIG9yIHVuc2lnbmVkKQoKMjAwOS0wNi0xNSAyMDozNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIHNoYWdhZGVsaWN0djogVXNlIGd1aW50OC9naW50OCBpbnN0ZWFkIG9mIGNoYXIgKHdoaWNoIGNhbiBiZSBzaWduZWQgb3IgdW5zaWduZWQpCgoyMDA5LTA2LTE1IDIwOjMxOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgc2hhZ2FkZWxpY3R2OiBDbGVhbiB1cCBlbGVtZW50IGFuZCBmcmVlIGFsbCBtZW1vcnkgaW4gZmluYWxpemUKCjIwMDktMDYtMTUgMjA6MjE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgIHJldnR2OiBDbGVhbiB1cCByZXZ0diBlbGVtZW50CgoyMDA5LTA2LTE1IDIwOjA3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IFNpbXBsaWZ5IHNvbWUgY29kZQoKMjAwOS0wNi0xNSAyMDowNzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBVc2UgdGhlIGlucHV0IGRhdGEgaWYgYSBOVUxMIGJ1ZmZlciBpcyBjaG9zZW4gaW5zdGVhZCBvZiB0aGUgdmFsdWUgMAoKMjAwOS0wNi0xNSAyMDowMDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBGaXggc2V0dGluZyB0aGUgcGxhbmVzIHByb3BlcnR5IG9mIHF1YXJrdHYKCSAgU2V0dGluZyBpdCB0byBhIHZhbHVlPDE2IHdvdWxkIGNhdXNlIGNyYXNoZXMgYmVmb3JlIGJlY2F1c2UKCSAgY3VycmVudF9wbGFuZSB3YXMgc2V0IHRvIHRoZSBvbGQgbnVtYmVyIG9mIHBsYW5lcy0xLiBBbHNvCgkgIGZpeCBjYWxjdWxhdGlvbnMgZm9yIG5vbi0yXm4gcGxhbmVzIHZhbHVlcy4KCjIwMDktMDYtMTUgMTc6NTA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogQ2xlYW4gdXAgdGhlIHF1YXJrdHYgZWxlbWVudAoKMjAwOS0wNi0xNSAxNzozOToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkgIGVmZmVjdHY6IE1ha2UgZWxlbWVudHMgbGlzdCBjb25zdGFudAoKMjAwOS0wNi0xNSAxNzozNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgIGVkZ2V0djogQ2xlYW4gdXAgZWRnZXR2IGVsZW1lbnQgYW5kIGZpeCBtZW1vcnkgbGVhawoKMjAwOS0wNi0xNSAxNzoyMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgIGRpY2V0djogQ2xlYW4gdXAgZGljZXR2IGVsZW1lbnQgYW5kIGZpeCBzb21lIHNtYWxsZXIgaXNzdWVzCgkgIFRoaXMgZml4ZXMgYSBtZW1vcnkgbGVhayAodGhlIGRpY2UgbWFwKSBhbmQgYSBjcmFzaCB3aGVuCgkgIHNldHRpbmcgdGhlIHNxdWFyZS1iaXRzIHByb3BlcnR5IGJlZm9yZSBjYXBzIGFyZSBzZXQuCgoyMDA5LTA2LTE1IDE3OjIwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBBY3R1YWxseSB1c2UgR3N0Q29udHJvbGxlciBmb3Igc3luY2luZyB0aGUgcHJvcGVydGllcyB0byB0aW1lc3RhbXBzCgoyMDA5LTA2LTE1IDE3OjAzOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IEV4cG9ydCBzb21lIG1vcmUgYWdpbmd0diBwcm9wZXJ0aWVzIHZpYSBHT2JqZWN0IHByb3BlcnRpZXMKCjIwMDktMDYtMTUgMTU6MDY6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogR2VuZXJhbCBjbGVhbnVwIGFuZCB1cGRhdGluZyBvZiBjb3B5cmlnaHQKCSAgQWxzbyBtYWtlIHRoZSBzY3JhdGNoLWxpbmVzIHByb3BlcnR5IGV4cG9ydGVkIHZpYSBhIEdPYmplY3QKCSAgcHJvcGVydHkgYW5kIGluaXRpYWxpemUvcmVzZXQgdGhlIGludGVybmFsIHN0YXRlIGNvcnJlY3RseS4KCjIwMDktMDYtMTUgMTU6MDU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogU3RvcmUgYW5kIHVwZGF0ZSBzdGF0ZSBpbnNpZGUgdGhlIGluc3RhbmNlIHN0cnVjdAoJICBUaGlzIG1ha2VzIHRoZSBjb2xvcmFnaW5nIGVmZmVjdCBhbmQgcGl0cyBlZmZlY3QgdmlzaWJsZS4KCjIwMDktMDYtMTUgMTU6NTE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlZiBjdXN0b20gcmluZyBidWZmZXIgY2xhc3MgYW5kIHR5cGUgaW4gY2xhc3NfaW5pdAoJICBIYWNrIGFyb3VuZCB0aHJlYWQtc2FmZXR5IGlzc3VlcyBpbiBHT2JqZWN0IGFuZCBvdXIgcmFjeSBfZ2V0X3R5cGUoKQoJICBmdW5jdGlvbnMgKHdlIGNvdWxkIGVhc2lseSBmaXggdGhlIF9nZXRfdHlwZSgpIGZ1bmN0aW9ucywgYnV0IHdlIHN0aWxsCgkgIG5lZWQgdG8gaGFjayBhcm91bmQgdGhlIEdPYmplY3QgY2xhc3MgcmFjZXMgdW50aWwgd2UgcmVxdWlyZSBhIG5ld2VyCgkgIEdMaWIgdmVyc2lvbiwgSSB0aGluaykuCgoyMDA5LTA2LTE0IDE5OjE5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9kZW1vLXBsYXkuYzoKCSogdGVzdHMvb2xkL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBSZW1vdmUgYSBmZXcgb2xkIGV4YW1wbGUgYXBwcyBmcm9tIHRoZSAwLjggZGF5cwoJICBTb21lIGhhdmUgYmVlbiByZXBsYWNlZCBieSBuZXdlciBvbmVzLCBvdGhlcnMgYXJlIGRlbW9pbmcgZWxlbWVudHMgdGhhdAoJICBkb24ndCBleGlzdCBhbnkgbG9uZ2VyIChub3QgaW4gLWdvb2QgYW55d2F5KSwgYW5kIG90aGVycyBoYXZlIG5vdCBiZWVuCgkgIHRvdWNoZWQgaW4gbWFueSB5ZWFycyBhbmQgaXQgc2VlbSBwb2ludGxlc3MgdG8ga2VlcCB0aGVtIGFyb3VuZC4KCSAgUmVtb3ZpbmcgdGhlc2UgZmlsZXMgbWFrZXMgc3VyZSB3ZSBkb24ndCBoYXZlIGFueSBjb2RlIGluIG91ciByZXBvc2l0b3J5CgkgIHRoYXQgdXNlcyBHdGsrIHN5bWJvbHMgd2hpY2ggYXJlIHRvIGJlIHJlbW92ZWQgZm9yIEdOT01FMywgYW5kIGFzIHN1Y2gKCSAgd2lsbCBtYWtlIHNvbWUgc2NyaXB0IHRoYXQgZ3JlcHMgZm9yIHRoaXMga2luZCBvZiBzdHVmZiBnaXZlIHVzIGEgY2xlYW4KCSAgYmlsbCBvZiBjb2RlIGhlYWx0aC4gRml4ZXMgIzU4NTc1Ny4KCjIwMDktMDYtMTMgMjE6MDI6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogY29tbW9uOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkgIHJ0cHNpcmVucGF5OiBSZW1vdmUgZGVwcmVjYXRlZCBzeW1ib2wKCSAgUGF0Y2ggYnk6IEx1aXMgTWVuaW5hCgoyMDA5LTA2LTEzIDEwOjQzOjU1ICswMjAwICBNYXJ2aW4gU2NobWlkdCA8bWFydmluX3NjaG1pZHRAZ214Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogRG9uJ3QgcnVuIHRoZSBmbGFjZGVjIHRlc3QgaWYgdGhlIHBsdWdpbiBpc24ndCBidWlsdC4gRml4ZXMgIzU4NTYzMAoKMjAwOS0wNi0xMiAxNjowNjoyOCArMDIwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sucmFkaXppIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBSVFAgYmxvY2tzaXplIGZ1bmN0aW9uYWxpdHkKCSAgQWRkIHByb3BlcnR5IHRvIG1ha2UgdGhlIGNsaWVudCBzdWdnZXN0IGEgYmxvY2tzaXplIHRvIHRoZSBzZXJ2ZXIuCgkgIEZpeGVzICM1ODU1NDkKCjIwMDktMDYtMTEgMjI6MzA6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgcnRwOiB1cGRhdGUgUkVBRE1FLCBmaXggc29tZSB0eXBvcywgbWVudGlvbiBnc3RydHBiaW4KCjIwMDktMDYtMTEgMTk6MTA6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIGJvcmRlciBjYXNlcyBpbiByZXNhbXBsZXIKCjIwMDktMDYtMTEgMTM6MzI6MjIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkgIGRvY3M6IEJ1bXAgY29tbW9uLiBVc2UgdXBsb2FkLWRvYy5tYWsgaW5zdGVhZCBvZiB1cGxvYWQubWFrCgkgIFJlbW92ZSB0aGUgbG9jYWwgY29weSBvZiB1cGxvYWQubWFrIGluIGZhdm91ciBvZiB1c2luZyB0aGUgc2hhcmVkCgkgIHVwbG9hZC1kb2MubWFrZSBpbiBjb21tb24vCgoyMDA5LTA2LTExIDExOjM5OjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGRvY3M6IFF1aWV0ZW4gYSBjb3VwbGUgbW9yZSBkb2NzIHdhcm5pbmdzCgoyMDA5LTA2LTExIDExOjI3OjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbHpvLmM6CgkgIGRvY3M6IFJlbW92ZSBndGstZG9jIGNvbW1lbnQgbWFya2VyCgkgIFRoZXNlIGNvbW1lbnQgYmxvY2tzIGFyZW4ndCBndGstZG9jIGNvbW1lbnRzIGFuZCBjYXVzZSBhbm5veWluZyBub2lzZSBpbgoJICB0aGUgZG9jcyBidWlsZC4KCjIwMDktMDYtMTEgMTA6MDU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IHVwc3RyZWFtIG5lZ290YXRpb24KCjIwMDktMDYtMTAgMjE6NDc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgY2xlYW4gdXAgc29tZSBjb2RlCgoyMDA5LTA2LTEwIDE0OjU1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2xpcCBidWZmZXJzIHRvIHRoZSBjdXJyZW50IHNlZ21lbnQgaWYgcG9zc2libGUKCjIwMDktMDYtMTAgMTQ6NDU6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogQ2xlYW4gdXAgaW5jbHVkZXMgYW5kIGNsZWFuIHVwIG9yZGVyIG9mIGluc3RhbmNlIHN0cnVjdCBmaWVsZHMKCjIwMDktMDYtMTAgMTY6MDk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiBEZWZhdWx0IHRvIGRvaW5nIEEsIEIgYW5kIEMgbW9kZXMsIG5vdCBvbmx5IEEKCjIwMDktMDYtMTAgMDk6NTY6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggUW9TIGNhbGN1bGF0aW9ucwoJICBUaGUgZGlmZiBpcyBhIHNpZ25lZCBpbnRlZ2VyLCBub3QgYW4gdW5zaWduZWQgb25lIG9mIGNvdXJzZS4KCSAgSW4gbW9kZXMgb3RoZXIgdGhhbiBHU1RfREVJTlRFUkxBQ0VfQUxMIGV2ZXJ5IGZyYW1lIGhhcyB0d2ljZSB0aGUKCSAgZHVyYXRpb24gb2YgdGhlIGZpZWxkIGR1cmF0aW9uLgoKMjAwOS0wNi0wOSAxNDoxMzozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJICBydHBzaXJlbnBheTogUHV0IHRoZSBiaXRyYXRlIGluIHRoZSBSVFAgY2FwcwoJICBUaGUgTVMgY29kZSBzZWVtcyB0byByZXF1aXJlIHRoZSBiaXRyYXRlIHRvIGludGVyb3BlcmF0ZSBhbmQKCSAgZHJhZnQtaWV0Zi1hdnQtcnRwLWc3MjIxLTAwIGFsc28gaGFzIGl0LgoKMjAwOS0wNi0wOSAxOTo1NTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBJbXBsZW1lbnQgYmFzaWMgUW9TCgkgIFRoaXMgY2hhbmdlIGlzIGJhc2VkIG9uIFRpbSdzIFFvUyBpbXBsZW1lbnRhdGlvbgoJICBmb3IganBlZ2RlYy4KCjIwMDktMDYtMDkgMTk6Mjk6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEaXJlY3RseSBwcm94eSBldmVudHMvcXVlcmllcyB0byB0aGUgcGVlciBwYWRzCgkgIFRoaXMgcmVtb3ZlcyBzb21lIG92ZXJoZWFkIGludHJvZHVjZWQgYnkgdGhlIGRlZmF1bHQgaGFuZGxlcnMKCSAgdGhhdCBuZWVkIHRvIGl0ZXJhdGUgb3ZlciB0aGUgb3RoZXIgcGFkcy4KCjIwMDktMDYtMDkgMTA6Mzg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkZWJ1Z19tZW1kdW1wKCkgdW5rbm93biB0YWdzLiBSZWZhY3RvciBqdW5rIHBhcnNpbmcgY29kZS4KCSAgVGhpcyBtYWtlcyBsaWZlIHNsaWdodGx5IGVhc2llciB3aGVuIGRlYnVnZ2luZyBhdmkgZmlsZXMuCgoyMDA5LTA2LTA4IDA4OjIxOjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBEb24ndCBmb3JnZXQgdG8gZGlzdCB0aGUgaGVhZGVycyBmb3IgdGhlIENFTFQgKGRlKXBheWxvYWRlcnMuCgoyMDA5LTA2LTA3IDIwOjU0OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXZlcnQgIlJldmVydCAicXRkZW11eDogZmlsbCB0aW1lc3RhbXAgdGFibGUgY29tcGxldGVseSIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWYwMjJjOGE4NTAzYzJjZTBmYTYxN2ZkYjUwZTQxNzA2ZGQ0MTJmNS4KCSAgU29ycnksIEkgd2FzIHRoaW5raW5nIGFib3V0IHRoZSB3cm9uZyBtb2R1bGUuCgoyMDA5LTA2LTA3IDIwOjQ5OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IGZpbGwgdGltZXN0YW1wIHRhYmxlIGNvbXBsZXRlbHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzkwYjA1MGZjNTMwMmNhZTg5Y2RkY2QyM2IyNTgwOTM5NjdkMDVhOS4KCSAgSSBmb3Jnb3Qgd2Ugd2VyZSBmcm96ZW4uCgoyMDA5LTA2LTA3IDIwOjQ2OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaWxsIHRpbWVzdGFtcCB0YWJsZSBjb21wbGV0ZWx5CgkgIFdoZW4gdGhlcmUgYXJlIGxlc3MgdGltZXN0YW1wcyB0aGF0IHRoZXJlIGFyZSBzYW1wbGVzLCBmaWxsIHVwIHRoZSBzYW1wbGUgdGFibGUKCSAgd2l0aCB0aGUgbGFzdCBrbm93IHRpbWVzdGFtcC4gVGhpcyBzaXR1YXRpb24gY2FuIGhhcHBlbiB3aGVuIHRoZSBsYXN0IHNhbXBsZQoJICBkb2VzIG5vdCBkZWNvZGUgYW5kIGRvZXNuJ3QgbmVlZCBhIHRpbWVzdGFtcC4gV2UgaG93ZXZlciBjYWxjdWxhdGUgdGhlIHRvdGFsCgkgIHRyYWNrIGxlbmd0aCB1c2luZyB0aGUgbGFzdCBzYW1wbGUgdGltZXN0YW1wIHNvIHdlIG5lZWQgdG8gaGF2ZSBzb21ldGhpbmcKCSAgc2Vuc2libGUgaW4gdGhlcmUuCgkgIEZpeGVzICM1ODUwNTYKCjIwMDktMDYtMDcgMTM6Mzc6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGhhbmRsZSBMSVNUIElORk8gb2YgMCBzaXplCgkgIEhhbmRsZSBMSVNUIElORk8gY2h1bmtzIG9mIDAgc2l6ZSBpbnN0ZWFkIG9mIGNhdXNpbmcgZXJyb3JzLgoJICBGaXhlcyAjNTg0OTgxCgoyMDA5LTA2LTA3IDEzOjI0OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJldmVydCAid2F2cGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLCBtb3ZlIHZhcmlhYmxlIHRvIHdoZXJlIGl0J3MgbmVlZGVkLiIKCSAgUmV2ZXJ0cyBjb21taXQgNDQyNTZhNzhmOGRkNzlhOTFmM2JiMmFiN2MzYWE2MjNjMDk3YmI4YSBhbmQgdXNlIHRoZSByZXN1bHQgaW4KCSAgZXJyb3IgcmVwb3J0aW5nIHNvIHRoYXQgd2UgY2FuIHNlZSB3aGF0J3MgZ29pbmcgb24uCgoyMDA5LTA2LTA1IDE4OjU1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSAgY2VsdGRlcGF5OiBhZGQgQ0VMVCBkZXBheWxvYWRlcgoKMjAwOS0wNi0wNSAxNTozMDo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuaDoKCSAgcnRwY2VsdHBheTogYWRkIENFTFQgUlRQIHBheWxvYWRlcgoKMjAwOS0wNi0wNSAxNjo1NDo0OCArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgc3VuYXVkaW86IEZpeCBzd2l0Y2ggc2V0dGluZyBvbiBzb21lIGRldmljZXMuIEFkZCBkZWJ1Zy4gRml4IGEgRklYTUUuCgkgIEZpeCB0aGUgc2V0dGluZyBvZiB0b2dnbGUgc3dpdGNoZXMgb24gc29tZSBicm9rZW4gYXVkaW8gZHJpdmVycyB3aGljaAoJICByZXBvcnQgdGhhdCBubyBhdWRpbyBwb3J0cyBhcmUgc2V0dGFibGUgYnkgaWdub3JpbmcgdGhlIG1vZF9wb3J0IGZpZWxkCgkgIHRoZXJlLgoJICBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBGaXggYSBGSVhNRSBub3cgdGhhdCBHb29kIHJlbGllcyBvbiBhIG5ldyBlbm91Z2ggZ3N0LXBsdWdpbnMtYmFzZS4KCjIwMDktMDYtMDQgMTI6Mjc6MTkgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgIHN1bmF1ZGlvOiBTdXBwb3J0IG5ldyBmbGFncyBmb3Igb3B0aW9ucyBhbmQgYWN0aW9ucwoJICBVc2UgbmV3IGF1ZGlvIG1peGVyIGZsYWdzIGFkZGVkIGluIEJhc2UgMC4xMC4yMyB0byBleHBvc2UgZmxhZ3MgYW5kIG9wdGlvbnMKCSAgb24gdGhlIFN1bkF1ZGlvIGRldmljZXMuCgkgIEZpeGVzOiAjNTgzNTkzCgkgIFBhdGNoIEJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgkgIFBhdGNoIEJ5OiBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoyMDA5LTA1LTE1IDExOjUwOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEZpcnN0IHRyeSB0byBoYW5kbGUgRFZEIHN0aWxsIGZyYW1lcyBjb3JyZWN0bHkKCSAgVGhpcyBoZWxwcyBhIGJpdCB3aXRoIGJ1ZyAjNTgyNzQwIGJ1dCBzdGlsbCBkb2Vzbid0IG1ha2UgaXQgd29yay4KCjIwMDktMDYtMDQgMTc6Mzc6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBvbmx5IG5vdGlmeSBpZiBhbGwgY2hlY2tzIHBhc3NlZAoJICBSZXBsYWNlIGdvdG8gZG9uZTogd2l0aCByZXR1cm4sIGFzIHRob3NlIGFyZSBjaGVja3Mgd2hlbiB3ZSBkb24ndCB3YW50IHRvIGZsYWcgYQoJICBwZW5kaW5nIG5vdGlmeS4KCjIwMDktMDYtMDQgMTU6MTk6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCB0aGUgcmlnaHQgc3RhdGUgb24gcnRwYmluCgkgIFdlIG5lZWQgdG8gc2V0IHRoZSBzdGF0ZSBvZiBnc3RydHBiaW4gdG8gdGhlIHNhbWUgc3RhdGUgYXMgb3VyIHNvdXJjZSBlbGVtZW50cy4KCSAgVGhpcyBmaXhlcyBmYWxsYmFjayB0byBUQ1AgYWdhaW4uCgoyMDA5LTA2LTAzIDE4OjIzOjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2hlY2sgcG9pbnRlciBiZWZvcmUgYWNjZXNzaW5nCgkgIE1vdmUgZXhpc3RpbmcgY2hlY2sgYSBmZXcgbGluZXMgdXAsIHNvIHRoYXQgd2UgY2hlY2sgYmVmb3JlIGFjY2Vzc2luZyBmaWVsZHMuCgoyMDA5LTA2LTAzIDE4OjIxOjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVuYW1lIGdzdF9wdWxzZV9zaW5rX2dldF90aW1lIHRvIGdzdF9wdWxzZXNpbmtfZ2V0X3RpbWUKCSAgUmVuYW1lIGludGVybmFsIG1ldGhvZCBmb3IgY29uc2lzdGVuY3kuCgoyMDA5LTA2LTAzIDE4OjE5OjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdXNlIHZhbHVlcyBmcm9tIHBhX3N0cmVhbV9nZXRfYnVmZmVyX2F0dHIoKQoJICBXZSB3ZXJlIHB1dHRpbmcgdGhlIHJlcXVlc3RlZCB2YWx1ZXMgYmFjayBpbnRvIHJpbmdidWZmZXIgc3BlYywgaW5zdGVhZCBvZgoJICB1c2luZyB0aGUgcXVlcmllZCB2YWx1ZXMuCgoyMDA5LTA2LTAyIDE5OjMyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZyYXdwYXk6IHRyaW0gb3V0cHV0IGJ1ZmZlcnMKCSAgUmVtb3ZlIHRoZSBsZWZ0b3ZlciB1bnVzZWQgYnl0ZXMgaW4gdGhlIG91dHB1dCBidWZmZXIuCgkgIEZpeGVzICM1ODQ2MTMKCjIwMDktMDYtMDIgMTk6MzA6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGZpeCBwYXJzaW5nIG9mIHNhbXBsaW5nIGZpZWxkCgkgIGNvbW1pdCBhMTJkOWE4MGYyMjViZTk3YjM2NzRiMWEwNTA2YWM2NjU0NGRiZjQ5IGJyb2tlIHRoZSBwYXJzaW5nIG9mIHRoZQoJICBzYW1wbGluZy4KCjIwMDktMDUtMjcgMTc6MDY6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogQXZvaWQgcG9zc2libGUgb3ZlcmZsb3cgaW4gY2FsY3VsYXRpb25zCgkgIEEgbWFsZm9ybWVkIChvciBzaW1wbHkgaHVnZSkgUE5HIGZpbGUgY2FuIGxlYWQgdG8gaW50ZWdlciBvdmVyZmxvdyBpbgoJICBjYWxjdWxhdGluZyB0aGUgc2l6ZSBvZiB0aGUgb3V0cHV0IGJ1ZmZlciwgbGVhZGluZyB0byBjcmFzaGVzIG9yIGJ1ZmZlcgoJICBvdmVyZmxvd3MgbGF0ZXIuIEZpeGVzIFNBMzUyMDUgc2VjdXJpdHkgYWR2aXNvcnkuCgoyMDA5LTA2LTAyIDAwOjQ4OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogc29tZSBtb3JlIGxvZ2dpbmcgLSBkdW1wIGhlYWRlciBwYWNrZXRzCgkgIEFsc28sIHRoZSBmaW5hbCBmaXhpbmcgdXAgb2YgdGhlIGhlYWRlcnMgaXMgZXhwZWN0ZWQgYW5kIG5vdCBzb21ldGhpbmcKCSAgd2Ugc2hvdWxkIHdhcm4gYWJvdXQuCgoyMDA5LTA2LTAyIDAwOjM3OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogbmV2ZXIgZXZlciBwYXNzIHZhbHVlcyA+MzZiaXRzIHRvIF9zZXRfdG90YWxfc2FtcGxlc19lc3RpbWF0ZSgpCgkgIExldCdzIGJlIHBhcmFub2lkIGFuZCBtYWtlIHN1cmUgd2UgbmV2ZXIgcGFzcyBhIG51bWJlciB0aGF0IHRha2VzIHVwCgkgIG1vcmUgdGhhbiAzNiBiaXRzIHRvIF9zZXRfdG90YWxfc2FtcGxlc19lc3RpbWF0ZSgpLCBzaW5jZSBsaWJGTEFDCgkgIGV4cGVjdHMgYWxsIHRoZSBvdGhlciBiaXRzIHRvIGJlIHplcm8sIGFuZCBpZiB0aGlzIGlzIG5vdCB0aGUgY2FzZQoJICBuZWlnaGJvdXJpbmcgZmllbGRzIGluIHRoZSBnbG9iYWwgc3RyZWFtIGluZm8gaGVhZGVyIG1heSBnZXQgbWVzc2VkCgkgIHVwIGluYWR2ZXJ0ZW50bHksIHNvIHRoYXQgZmxhYyAtZCByZWZ1c2VzIHRvIGRlY29kZSB0aGUgc3RyZWFtLgoJICBTZWUgIzU4NDQ1NS4KCjIwMDktMDYtMDEgMjI6MzM6MDIgKzAyMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIEFkZHJlc3MgYmFkIEZMQUMgc2FtcGxlIGxlbmd0aCBlbmNvZGluZyBvZiAjNTg0NDQ1NQoJICBDb21taXQgZGY3MDdjNjY2NDMzYTc4ZDM4NzhhZjZmMDU1Njk4ZDU3NTYyMjZjNAoJICBpbnRyb2R1Y2VkIGFuIG9idmlvdXMgYnVnIGluIHRoZSBzYW1wbGUgbGVuZ3RoIGNhbGN1bGF0aW9uLAoJICB1c2luZyB0aGUgd3JvbmcgbWFjcm8gZm9yIGNvbnZlcnNpb24uCgoyMDA5LTA2LTAxIDExOjU4OjIxIC0wNzAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL21teC5oOgoJICBkZWludGVybGFjZTogRml4IHNwdXJpb3VzIGNvbG9ucyBpbiBhc20gY29kZQoJICBGaXhlcyAjNTg0MTc0LgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDYtMDEgMDA6NDA6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2tpcCBKVU5LIGNodW5rcyBpbiBkYXRhIHNlY3Rpb24gaW4gc3RyZWFtaW5nIG1vZGUKCSAgU2tpcCBKVU5LIHRhZ3MgaW4gc3RyZWFtaW5nIG1vZGUgYXMgd2VsbCBpbnN0ZWFkIG9mIEVPU2luZwoJICBwcmVtYXR1cmVseS4gRml4ZXMgIzU2NDEwMC4KCjIwMDktMDUtMjggMTQ6MDE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgdXNlIC8vIGNvbW1lbnRzCgoyMDA5LTA1LTI4IDEzOjU2OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSAgdmlkZW9taXhlcjogRml4IGJhY2tncm91bmQgYmxpdHRpbmcgd2hlbiBhIGNvbG9yIG1vZGUgaXMgc2VsZWN0ZWQgd2l0aCBCR1JBCgoyMDA5LTA1LTI4IDEzOjU0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBTb21lIGNsZWFudXAgYW5kIGZpeCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIGZyYW1lIHNpemUgaW4gYnl0ZXMKCjIwMDktMDUtMjggMTM6MzU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBGaXggSTQyMCBibGVuZGluZyB0byBhY3R1YWxseSBkbyBzb21ldGhpbmcKCSAgRm9yIHRoaXMgd2UgYSkgaW1wbGVtZW50IHRoZSBjaGVja2VycyBmaWxsaW5nIGFuZCBiKQoJICBhY3R1YWxseSBibGVuZCB0aGUgc3JjL2Rlc3QgYnkgdXNpbmcgdGhlIHNyYyBhbHBoYSB2YWx1ZQoJICBmcm9tIHRoZSBwYWQuCgoyMDA5LTA1LTI4IDEzOjE0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSAgdmlkZW9taXhlcjogRml4IEFSR0IgYmxlbmRpbmcgdG8gYWN0dWFsbHkgd29yawoKMjAwOS0wNS0yOCAxMzowNDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJICB2aWRlb21peGVyOiBCbGVuZCBCR1JBIG91cnNlbHZlcyBpbnN0ZWFkIG9mIHVzaW5nIENhaXJvCgoyMDA5LTA1LTI4IDEyOjU1OjE2ICswMjAwICBBbGV4IFVnYXJ0ZSA8YWxleHVnYXJ0ZUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBibGVuZGluZyBCR1JBIGFuZCBBWVVWCgkgIEZpeGVzIGJ1ZyAjNTc3MDE3LgoKMjAwOS0wNS0yOCAxMjozOTo0NiArMDIwMCAgR2hpc2xhaW4gJ0F1cycgTGFjcm9peCA8YXVzQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IFVzZSBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGludGVybmFsbHkgZm9yIHRoZSBpbnQxNiBtb2RlCgkgIEJ5IHVzaW5nIGludDMyIGFyaXRobWV0aWMgd2Ugd2lsbCBpbnRyb2R1Y2UgZGlzdG9ydGlvbnMgYXMgdGhlCgkgIElJUiBmaWx0ZXIgaXMgdmVyeSBzZW5zaXRpdmUgdG8gcm91bmRpbmcgZXJyb3JzLiBGaXhlcyBidWcgIzU4MDIxNC4KCjIwMDktMDUtMjggMTA6NTU6MTYgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBwbHVnaW5zCgoyMDA5LTA1LTI2IDE3OjE5OjA4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg4OGUwYTIgdG8gYzU3MjcyMQoKMjAwOS0wNS0yNiAxNjoyMDozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IGNsZWFudXAgYW5kIGNvbW1lbnRpbmcKCSAgUmVtb3ZlIG5ld2xpbmVzIGluc2VydGVkIGJ5IGdzdC1pbmRlbnQgb25jZS4gUmVtb3ZlIHVudXNlZCB2YXIgZnJvbSBpbnN0YW5jZQoJICBzdHJ1Y3QuIEFkZCBjb21tZW50cy4gQWRkIGFub3RoZXIgI2RlZmluZSBmb3IgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZS4KCjIwMDktMDUtMDYgMTI6NDM6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtYWtlZmlsZTogaWRlYSBhYm91dCBtYWtlaW5nIG1vcmUgc291cmNlcy9zaW5rcyB0ZXN0YWJsZSBhZ2FpbgoKMjAwOS0wNS0yNSAxNjozMzozNSArMDIwMCAgSm9obiBLZWVwaW5nIDxqb2huLmtlZXBpbmcgYXQgbGluZW9uZS5uZXQ+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IG1hdGNoIGdfbWFsbG9jKCkgd2l0aCBnX2ZyZWUoKQoJICBNYXRjaGluZyBnX21hbGxvYygpIHdpdGggYSBnX2ZyZWUoKSBpcyBpbXBvcnRhbnQgd2hlbiBhIGN1c3RvbSBhbGxvY2F0b3IgaXMKCSAgaW5zdGFsbGVkLgoJICBGaXhlcyAjNTgzODAzCgoyMDA5LTA1LTEyIDE4OjM5OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBkb24ndCBsb29rIGZvciBoZWFkZXJzIGluIHNvbWUgY2FzZXMKCSAgSW4gc29tZSBzdHJlYW1zIChzdGFydGluZyB3aXRoIDAwMDAwMTAwKSBkb24ndCBsb29rIGZvciB0aGUgaGVhZGVycyBidXQgcHVzaAoJICBkYXRhIGFzIGl0IGlzLgoJICBGaXhlcyAjNTgyMTUzCgoyMDA5LTA1LTEzIDExOjUwOjIyICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemkgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtZW1vcnkgbGVhayBvZiBtZXNzYWdlcwoJICBGcmVlIG1lc3NhZ2VzIGNvcnJlY3RseS4KCSAgRml4ZXMgIzU3NzMxOAoKMjAwOS0wNS0yNCAxOTozMjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBmYWtlc3JjIHNpbGVudAoJICBNYWtlIHRoZSBmYWtlc3JjIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHNlbmRpbmcgZHVtbXkgcGFja2V0cyBzaWxlbnQuCgoyMDA5LTA1LTI0IDE2OjMzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBzZW5kIHRlYXJkb3duIGJlZm9yZSBzZXR1cAoJICBEb24ndCBzZW5kIGEgVEVBUkRPV04gcmVxdWVzdCB3aGVuIHdlIGRpZCBub3QgbWFuYWdlIHRvIHN1Y2Nlc3NmdWxseSBzZXR1cCBhCgkgIHN0cmVhbS4KCjIwMDktMDUtMTQgMTQ6NDY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFBvcHVsYXRlIGEgR3N0SW5kZXggdGhhdCBpcyBzZXQgb24gbWF0cm9za2FkZW11eAoKMjAwOS0wNS0xNCAxMDozNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEdldCB0aGUgbWF4IGR1cmF0aW9uIGZyb20gdXBzdHJlYW0gaWYgdGhlcmUncyBubyBkdXJhdGlvbiB0YWcKCjIwMDktMDUtMTQgMTA6Mjk6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBXcml0ZSBhbiBpbmRleCB0YWJsZSB0byB0aGUgZW5kIG9mIHRoZSBmaWxlCgoyMDA5LTA1LTIyIDAxOjEyOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXV0b3Rvb2xzOiBtb3ZlIHRoZSAtV25vLXBvcnRhYmlsaXR5IGZyb20gYXV0b2dlbi5zaCB0byBjb25maWd1cmUuYWMKCSAgSWYgd2UncmUgbHVja3kgaXQnbGwgZ2V0IHVzZWQgb24gYXV0b21hdGljIHJlYnVpbGRzIGFzIHdlbGwgdGhhdCB3YXkuCgoyMDA5LTA1LTIyIDAxOjEwOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBtNC9nc3QtZmlvbnJlYWQubTQ6CgkgIG00OiBmaXggJ3N1c3BpY2lvdXMgY2FjaGUgaWQnIHdhcm5pbmdzCgkgIGFuZCB1cGRhdGUgY29tbW9uIHRvIHB1bGwgaW4gYSBzaW1pbGFyIGZpeC4gQWxzbyBjaGVjayBpbiBjb25maWd1cmUKCSAgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgZG8gd2hpbGUgbWFjcm9zIChHTGliIHdhbnRzIHRoaXMKCSAgZGVmaW5lZCBhbmQgaXQgaXMgbmVlZGVkIHRvIGF2b2lkIHdhcm5pbmdzIHdpdGggc29tZSBjKysgY29tcGlsZXJzCgkgIGFwcGFyZW50bHkpLgoKMjAwOS0wNS0yMiAwMTozOTozMyArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VwaHR0cHNyYzogQnVtcC11cCBsaWJzb3VwLTIuMjQgZGVwIHRvID49IDIuMjYKCSAgVGhlIGhlbHBlciBmdW5jdGlvbiBzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfY29udGVudF90eXBlIHRoYXQgd2Ugbm93IHVzZQoJICB3YXMgYWRkZWQgaW4gMi4yNi4KCjIwMDktMDUtMjAgMTc6NTc6NTkgKzAzMDAgIFplZXNoYW4gQWxpIChLaGF0dGFrKSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBTZXQgY2FwcyBmb3IgYXVkaW8vTDE2IGNvbnRlbnQtdHlwZQoJICBXaGVuICJDb250ZW50LVR5cGUiIGhlYWRlciBpcyAiYXVkaW8vTDE2Iiwgd2UgbmVlZCB0byBzZXQgdGhlIGNhcHMgb24gdGhlCgkgIG91dGdvaW5nIGJ1ZmZlcnMgc28gdGhhdCBkb3duc3RyZWFtIGVsZW1lbnRzIGNhbiBoYXZlIG1lYW5zIHRvIGRldGVjdCB0aGUKCSAgc3RyZWFtIHR5cGUgYW5kIGhhbmRsZSBpdCBhcHByb3ByaWF0ZWx5LiBUZXN0ZWQgd2l0aCBIVFRQIHN0cmVhbSBwcm92aWRlZAoJICBieSBwdWxzZS1hdWRpbydzIGh0dHAgbW9kdWxlIChnaXQgbWFzdGVyKS4KCjIwMDktMDUtMjAgMTU6MDY6MjUgKzAzMDAgIFplZXNoYW4gQWxpIChLaGF0dGFrKSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBSZW5hbWUgaWN5X2NhcHMgdG8gc3JjX2NhcHMKCjIwMDktMDUtMjEgMjM6Mzk6MTMgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxpcHBlIGF0IGZsdWVuZG8uY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBidW1wIG1heCBzaXplIHRvIDY1NTM1eDY1NTM1CgkgIFJlbW92ZSBhcnRpZmljaWFsIGpwZWcgaW1hZ2UgbGltaXRzLgoJICBGaXhlcyAjNTgzMDQ4LgoKMjAwOS0wNS0yMSAyMTozNjowMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogVXBkYXRlIHRoZSB3aW4zMiBjb25maWcuaAoKMjAwOS0wNS0xOSAxNToxMjowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogUmVjb2duaXNlIFBHUyBzdWJwaWN0dXJlIHN0cmVhbXMgLSB0aGUgYmx1cmF5IGZvcm1hdC4KCSAgUmVjb2duaXNlIGFuZCBhcHBseSBhcHByb3ByaWF0ZSBjYXBzIHRvIFBHUyAoUHJlc2VudGF0aW9uIEdyYXBoaWMgU3RyZWFtKQoJICBzdWJwaWN0dXJlIHN0cmVhbXMuCgoyMDA5LTA1LTE1IDEwOjQyOjE5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQ29udmVydCBhbiBlcnJvbmVvdXMgYXNzZXJ0aW9uCgkgIE9jY2FzaW9uYWxseSwgd2UgZ2V0IGEgY2hhbmdlIGNhbGxiYWNrIGZvciBhbiBvbGQgc3RyZWFtLCB0cmlnZ2VyaW5nCgkgIHRoZSBhc3NlcnRpb24gdW5uZWNlc3NhcmlseS4gSnVzdCBpZ25vcmUgc3VjaCBjYWxsYmFja3MuCgoyMDA5LTA1LTIwIDE2OjE0OjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBQcmludCBhIHdhcm5pbmcgb24gdW5kZXIvb3ZlcmZsb3dzCgoyMDA5LTA1LTIwIDE4OjQ1OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBwYXJzZSBpbjI0IGJveGVzIHRvIGdldCBlbmRpYW5uZXNzCgkgIGluMjQgc2FtcGxlcyBhcmUgbm9ybWFsbHkgYmlnLWVuZGlhbiBidXQgYW4gZW5kYSBib3ggY2FuIGNoYW5nZSB0aGlzIHRvCgkgIGxpdHRsZS1lbmRpYW4uIFJlY3Vyc2UgaW50byB0aGUgaW4yNCBib3ggYW5kIGZpbmQgdGhlIGVuZGEgYm94IHNvIHRoYXQgd2UgZ2V0CgkgIHRoZSBlbmRpYW5uZXNzIHJpZ2h0LgoJICBGaXhlcyAjNTgyNTE1CgoyMDA5LTA1LTIwIDE0OjE0OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYWRkIHByb3BlciBwYWR0ZW1wbGF0ZQoKMjAwOS0wNS0yMCAxNDowMjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGFkZCBtb3JlIG1pbWUgdHlwZXMKCSAgQWRkIG1pbWUtdHlwZSBmb3IgUGFuYXNvbmljIGc3MjYgYW5kIGFkZCBtb3JlIHJlcXVpcmVkIGNhcHMgcHJvcGVydGllcyBmb3Igb3RoZXIKCSAgRzcyNiBtaW1lLXR5cGVzLgoJICBNYWtlIG1pbWUtdHlwZXMgY2FzZSBpbnNlbnNpdGl2ZS4KCSAgU2VlICM1ODIxNjkKCjIwMDktMDUtMjAgMTM6NDc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGFkZCBmbG93IGFnZ3JlZ2F0aW9uCgoyMDA5LTA1LTIwIDEzOjI5OjAyICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBhbGxvdyBjb250ZW50IHRvIGJlIGVtcHR5LgoJICBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlciBkb2Vzbid0IGFsbG93IGJ1ZmZlciB0byBiZSBlbXB0eS4KCSAgU2ltcGx5IHNraXAgYW55IHBhcnQgd2hlcmUgdGhlIGNvbnRlbnQgaXMgZW1wdHkuICBEb24ndAoJICBjcmVhdGUgYSBwYWQgZm9yIGl0IGVpdGhlci4KCSAgU2VlICM1ODIxNjkKCjIwMDktMDUtMTggMjI6MTk6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkgIHJ0cDogZml4IGNoYW5uZWwgcG9zaXRpb25zIGZvciBtb25vCgoyMDA5LTA1LTIxIDIxOjAyOjExICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjE1LjEKCj09PSByZWxlYXNlIDAuMTAuMTUgPT09CgoyMDA5LTA1LTIwIDIyOjM0OjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNQoKMjAwOS0wNS0yMCAyMjowMzoyMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTA1LTE2IDAyOjU5OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMyBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xNiAwMjozNzowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgY2hlY2s6IERvbid0IGNoYW5nZSBkaXJlY3RvcnkgaW4gdGhlIHRlc3QKCSAgQ2hhbmdpbmcgZGlyZWN0b3J5IGludmFsaWRhdGVzIHRoZSBwYXRocyB0aGUgcmVnaXN0cnkgaGFzIHBpY2tlZAoJICB1cCBmb3Igb3VyIHBsdWdpbnMsIGJlY2F1c2UgdGhlIHRlc3QgZW52aXJvbm1lbnQgc3BlY2lmaWVzIHJlbGF0aXZlCgkgIHBhdGhzLiBGaXhpbmcgdGhhdCBpcyBhIHNlcGFyYXRlIHByb2JsZW0sIGluIHRoZSBtZWFudGltZSwgYnVpbGQgYQoJICBwYXRoIHRvIHRoZSB0ZXN0IGZpbGVzIGluc3RlYWQgb2YgY2hhbmdpbmcgZGlyZWN0b3J5LiBGaXhlcyB0aGUKCSAgZGlzdGNoZWNrLgoKMjAwOS0wNS0xNiAwMTo1Mzo0NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBSZW1vdmUgZGlyZWN0ZHJhdyBwcm9qZWN0IGZpbGVzIGZyb20gdGhlIHdpbjMyIG1hbmlmZXN0CgoyMDA5LTA1LTE2IDAxOjIxOjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIGNoZWNrOiBSZW1vdmUgYXNzZXJ0aW9uIHRoYXQgYnJlYWtzIGNoZWNrIGFnYWluIGdpdCBtYXN0ZXIKCSAgUmVtb3ZlIHRoZSBhc3NlcnRpb24gdGhhdCB0aGUgc2VuZGVyIG9mIHRoZSB0YWdzIG1lc3NhZ2UgaXMgdGhlCgkgIGVsZW1lbnQgdW50aWwgd2UgZGVjaWRlIHdoZXRoZXIgdGhhdCdzIGdvaW5nIHRvIGJlIHRydWUgb3Igbm90LgoKMjAwOS0wNS0xNiAwMToxMTozMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSogd2luMzIvdnM3L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIE1vdmVkICdkaXJlY3RkcmF3JyBmcm9tIC1nb29kIHRvIC1iYWQKCjIwMDktMDUtMTYgMDA6MTg6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBpZ25vcmVzOiBJZ25vcmUgdGhlIGZsYWNkZWMgY2hlY2sgYmluYXJ5CgoyMDA5LTA1LTE2IDAwOjE3OjU3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgZG9jczogVXBkYXRlIGluc3BlY3Rpb24gZGV0YWlscyBmb3IgdGhlIGF2aSBwbHVnaW4KCjIwMDktMDUtMTYgMDA6MDA6MDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIE1vdmVkICd5NG1lbmMnIGZyb20gLWJhZCB0byAtZ29vZAoKMjAwOS0wNS0xMyAxNzo1NTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0geTRtZW5jOiBjaGFuZ2UgbXkgZW1haWwKCSAgY2hhbmdlIG15IGVtYWlsIHRvIHNvbWV0aGluZyBtb3JlIGN1cnJlbnQKCSAgU2VlICM1ODA3ODMKCjIwMDktMDUtMTMgMTc6NTQ6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHk0bWVuYzogZG9uJ3Qgc3RyaXAgdGltZXN0YW1wcwoJICBGaXhlcyAjNTgyNDgzCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTA2LTI2IDE1OjUyOjQwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgoyMDA3LTA0LTI0IDE1OjQ5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1fZW5jb2RlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0Y2Fwcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoKMjAwNi0xMS0xMyAxODo1NTo1NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gY29uZmlndXJlLmFjOiBFbmFibGUgY2RhdWRpbyBhbmQgeTRtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBFbmFibGUgY2RhdWRpbyBhbmQgeTRtLgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1fZW5jb2RlX2Jhc2VfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9jbGFzc19pbml0KSwgKGdzdF95NG1fZW5jb2RlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfcmVzZXQpLCAoZ3N0X3k0bV9lbmNvZGVfc2V0Y2FwcyksCgkgIChnc3RfeTRtX2VuY29kZV9nZXRfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfeTRtX2VuY29kZV9nZXRfZnJhbWVfaGVhZGVyKSwgKGdzdF95NG1fZW5jb2RlX2NoYWluKSwKCSAgKGdzdF95NG1fZW5jb2RlX3NldF9wcm9wZXJ0eSksIChnc3RfeTRtX2VuY29kZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3k0bV9lbmNvZGVfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBQb3J0IG9mIHk0bWVuY29kZSB0byAwLjEwLgoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMDggMjE6NDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAxOTowNDowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBnc3QvOiBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5oOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wNiAxMTozNToyNiArMDAwMCAgakBib290bGFiLm9yZyA8akBib290bGFiLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNS0wOS0wNSAxNzoyMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNS0wNy0wNSAxMDo1MTo0OSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgW01PVkVEIEZST00gQkFEXSBXYXksIHdheSwgd2F5IHRvbyBtYW55IGZpbGVzOiBSZW1vdmUgY3JhY2sgY29tbWVudCBmcm9tIHRoZSAyMDAwIGVyYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDctMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogV2F5LCB3YXksIHdheSB0b28gbWFueSBmaWxlczoKCSAgUmVtb3ZlIGNyYWNrIGNvbW1lbnQgZnJvbSB0aGUgMjAwMCBlcmEuCgoyMDA1LTAxLTE0IDE4OjM2OjQyICswMDAwICBTdMOpcGhhbmUgTG9ldWlsbGV0IDxnc3RyZWFtZXJAbGVyb3V0aWVyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gSSdtIGEgYmFkIGJveS4gdXNpbmcgLzEwMDEuIHRvIGZvcmNlIEMgdG8gZG8gZmxvYXQgZGl2aXNpb24gYW5kIG5vdCBpbnRlZ2VyIGRpdmlzaW9uIChhcyBpdCBkaWQgaW4gbXkgbGFzdCBjb21taXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAocGFyc2VfbWR2ZHN1Yik6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfc2lua2Nvbm5lY3QpOgoJICBJJ20gYSBiYWQgYm95LiB1c2luZyAvMTAwMS4gdG8gZm9yY2UgQyB0byBkbyBmbG9hdCBkaXZpc2lvbgoJICBhbmQgbm90IGludGVnZXIgZGl2aXNpb24gKGFzIGl0IGRpZCBpbiBteSBsYXN0IGNvbW1pdCkKCSAgVGhhbmtzIHRvIERhdmlkIEkuIExlaG4gZm9yIHBvaW50aW5nIHRoaXMgbWlzdGFrZS4KCjIwMDUtMDEtMTQgMTI6Mjc6MjIgKzAwMDAgIFN0w6lwaGFuZSBMb2V1aWxsZXQgPGdzdHJlYW1lckBsZXJvdXRpZXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSByZXBsYWNlIGZyYW1lcmF0ZSBhcHJveGltYXRpb25zIGJ5IHRoZWlyIHJlYWwgdmFsdWUgKDI0MDAwLzEwMDEsIDMwMDAwLzEwMDEsIDYwMDAwLzEwMDEpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKHBhcnNlX21kdmRzdWIpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX3Npbmtjb25uZWN0KToKCSAgcmVwbGFjZSBmcmFtZXJhdGUgYXByb3hpbWF0aW9ucyBieSB0aGVpciByZWFsIHZhbHVlCgkgICgyNDAwMC8xMDAxLCAzMDAwMC8xMDAxLCA2MDAwMC8xMDAxKQoJICBGaW5pc2ggZml4aW5nIGJ1ZyAjMTY0MDQ5CgoyMDA0LTA3LTI3IDIxOjQxOjMwICswMDAwICBTdGV2ZSBMaG9tbWUgPHN0ZXZlLmxob21tZUBmcmVlLmZyPgoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJICBbTU9WRUQgRlJPTSBCQURdIG1vcmUgd29ya2luZyBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIHdvcmtpbmcgcGx1Z2lucwoKMjAwNC0wNy0yNyAwOTo1NzozMyArMDAwMCAgU3RldmUgTGhvbW1lIDxzdGV2ZS5saG9tbWVAZnJlZS5mcj4KCgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSAgW01PVkVEIEZST00gQkFEXSByZW5hbWUgR1N0cmVhbWVyLTAuOC5saWIgdG8gbGliZ3N0cmVhbWVyLmxpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVuYW1lIEdTdHJlYW1lci0wLjgubGliIHRvIGxpYmdzdHJlYW1lci5saWIKCjIwMDQtMDctMjcgMDk6NDg6NTEgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gYXZvaWQgcHJvYmxlbXMgd2l0aCBtYXRoLmgsIGZpeCByZWxlYXNlIGRlcGVuZGFuY3kKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGF2b2lkIHByb2JsZW1zIHdpdGggbWF0aC5oLCBmaXggcmVsZWFzZSBkZXBlbmRhbmN5CgoyMDA0LTA3LTI2IDEzOjIwOjExICswMDAwICBTdGV2ZSBMaG9tbWUgPHN0ZXZlLmxob21tZUBmcmVlLmZyPgoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJICBbTU9WRUQgRlJPTSBCQURdIG1vcmUgcGx1Z2lucyBzdXBwb3J0ZWQgdW5kZXIgd2luZG93cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBwbHVnaW5zIHN1cHBvcnRlZCB1bmRlciB3aW5kb3dzCgoyMDA0LTA0LTAxIDExOjQ4OjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gYTUyZGVjOiAgIFVzZSBhIGRlYnVnIGNhdGVnb3J5LCBPdXRwdXQgdGltZXN0YW1wcyBjb3JyZWN0bHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGE1MmRlYzogICBVc2UgYSBkZWJ1ZyBjYXRlZ29yeSwgT3V0cHV0IHRpbWVzdGFtcHMgY29ycmVjdGx5CgkgIEVtaXQgdGFnIGluZm8sIEhhbmRsZSBldmVudHMsIHRlbGwgbGliYTUyZGVjIGFib3V0IGNwdQoJICBjYXBhYmlsaXRpZXMgc28gaXQgY2FuIHVzZSBNTVggZXRjLgoJICBkdmRlYzogICAgRml4IGEgY3Jhc2hlciBhY2Nlc3NpbmcgaW52YWxpZCBtZW1vcnkKCSAgZHZkbmF2c3JjOlNvbWUgc3VwcG9ydCBmb3IgYnl0ZS1mb3JtYXQgc2Vla2luZy4KCSAgU21hbGwgZml4ZXMgZm9yIHN0aWxsIGZyYW1lcyBhbmQgbWVudSBidXR0b24gb3ZlcmxheXMKCSAgbXBlZzJkZWM6IFVzZSBhIGRlYnVnIGNhdGVnb3J5LiBBZGp1c3QgdGhlIHJlcG9ydCBsZXZlbCBvZiBzZXZlcmFsIGl0ZW1zIHRvCgkgIExPRy4gQ2FsbCBtcGVnMl9jdXN0b21fZmJ1ZiB0byBtYXJrIG91ciBidWZmZXJzIGFzICdjdXN0b20gYnVmZmVycycKCSAgc28gaXQgZG9lc24ndCBsb3NlIHRoZSBHc3RCdWZmZXIgcG9pbnRlcgoJICBuYXZzZWVrOiAgQWRkIHRoZSBuYXZzZWVrIGRlYnVnIGVsZW1lbnQgZm9yIHNlZWtpbmcgYmFjayBhbmQgZm9ydGggaW4gYQoJICB2aWRlbyBzdHJlYW0gdXNpbmcgYXJyb3cga2V5cy4KCSAgbXBlZzJzdWJ0OlByZXR0eSBtdWNoIGEgY29tcGxldGUgcmV3cml0ZS4gTm93IGEgbG9vcGJhc2VkIGVsZW1lbnQuIE1heSBzdGlsbAoJICByZXF1aXJlIHdvcmsgdG8gcHJvcGVybHkgc3luY2hyb25pc2Ugc3VidGl0bGUgYnVmZmVycy4KCSAgbXBlZ2RlbXV4OgoJICBkdmRkZW11eDogRG9uJ3QgYXR0ZW1wdCB0byBjcmVhdGUgc3ViYnVmZmVycyBvZiBzaXplIDAKCSAgUmVkdWNlIGEgY291cGxlIG9mIGVycm9yIG91dHB1dHMgdG8gd2FybmluZ3MuCgkgIHk0bWVuY29kZTpPdXRwdXQgdGhlIHk0bSBmcmFtZSBoZWFkZXIgY29ycmVjdGx5CgoyMDA0LTAzLTE1IDE5OjMyOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoKMjAwNC0wMy0xNSAxNjozMjo1NCArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQURdICouaDogUmV2ZXJ0IGluZGVudGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiAqLmg6IFJldmVydCBpbmRlbnRpbmcKCjIwMDQtMDMtMTQgMjI6MzQ6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBnc3QtaW5kZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnc3QtaW5kZW50CgoyMDA0LTAxLTEyIDAyOjAxOjUyICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvLmg6IEZpeCBjYXBzIHRlbXBsYXRlIG5hbWVzIHRvIGJlIHVuZGVyc3RhbmRhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wMS0xMiAgQmVuamFtaW4gT3R0ZSAgPGluN3kxMThAcHVibGljLnVuaS1oYW1idXJnLmRlPgoJICAqIGdzdC1saWJzL2dzdC92aWRlby92aWRlby5oOgoJICBGaXggY2FwcyB0ZW1wbGF0ZSBuYW1lcyB0byBiZSB1bmRlcnN0YW5kYWJsZS4KCSAgUHJlZml4IGV2ZXJ5dGhpbmcgd2l0aCBHU1RfVklERU8uCgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgICogZXh0L2hlcm1lcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9iYXNlX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKHJhd19jYXBzX2ZhY3RvcnkpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKHJhd19jYXBzX2ZhY3RvcnkpOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKHJhd19jYXBzX2ZhY3RvcnkpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfbG9vcCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX3NyY2Nvbm5lY3QpLCAoZ3N0X21vbm9zY29wZV9jaGFpbik6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgICogZ3N0L3N5bmFlc3RoZXNpYS9nc3RzeW5hZXN0aGVzaWEuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfcGFsZXR0ZV90b19jYXBzKToKCSAgTWFrZSB0aGVtIHdvcmsgd2l0aCBuZXcgdmlkZW8uaCBmaWxlLgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2hhaW4pLAoJICAoZ3N0X3hpbWFnZXNpbmtfYnVmZmVyX2ZyZWUpLCAoZ3N0X3hpbWFnZXNpbmtfYnVmZmVyX2FsbG9jKToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NoYWluKSwKCSAgKGdzdF94dmltYWdlc2lua19idWZmZXJfZnJlZSksIChnc3RfeHZpbWFnZXNpbmtfYnVmZmVyX2FsbG9jKToKCSAgTWFrZSBpdCB3b3JrIHdpdGggbmV3IGJ1ZmZlciBhbGxvY2F0aW9uIHN5c3RlbS4KCjIwMDMtMTItMjIgMDE6NDc6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBNZXJnZSBDQVBTIGJyYW5jaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVyZ2UgQ0FQUyBicmFuY2gKCjIwMDMtMTItMDQgMTA6Mzc6MzggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgoyMDAzLTExLTE2IDIyOjAyOjIzICswMDAwICBMZWlmIEpvaG5zb24gPGxlaWZAYW1iaWVudC4yeS5uZXQ+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdICsgY2hlY2tpbmcgaW4gcGx1Z2luIGNhdGVnb3J5IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICsgY2hlY2tpbmcgaW4gcGx1Z2luIGNhdGVnb3J5IGNoYW5nZXMKCjIwMDMtMTEtMDcgMTI6NDc6MDIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm9tIHNldmVyYWwgc291cmNlIGZpbGVzCgoyMDAzLTExLTAyIDE5OjE3OjI3ICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gZml4IHRvIG5ldyBwbHVnaW4gc3lzdGVtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdG8gbmV3IHBsdWdpbiBzeXN0ZW0KCjIwMDMtMTAtMDggMTY6MDg6MTkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgoyMDAzLTA4LTEwIDAwOjAxOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoKMjAwMy0wNy0wNiAyMDo0OTo1MiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0J3MgZG9jdW1lbnQuIE5vdGU6IHNvbWUgcGx1Z2lucyB3aWxsIGJyZWFrLCBzb21lIHBpcGVsaW5lcyB3aWxsIGJyZWFrLCBleHBlY3QgSEVBRCB0byBiZSBicm9rZW4gb3IgYXQgbGVhc3Qgbm90IDEwMCUgd29ya2luZyBmb3IgYSBmZXcgZGF5cywgYnV0IGRvbid0IGZvcmdldCB0byByZXBvcnQgYnVncwoKMjAwMy0wNi0yOSAxOTo0NjoxMyArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIEluY2x1ZGVzIGZpeGVzIGZvciBtaXNzaW5nIGluY2x1ZGVzIGZvciBjb25maWcuaCBhbmQgdW5pc3RkLmgKCSAgSSBvbmx5IGVuc3VyZWQgZm9yIHBsdWdpbnMgSSBjYW4gYnVpbGQgdGhhdCB0aGV5IHdvcmssIHNvIGlmIHNvbWUgb2YgdGhlbSBhcmUgc3RpbGwgYnJva2VuLCB5b3UgZ290dGEgZml4IHRoZW0geW91cnNlbHZlcyB1bmZvcnR1bmF0ZWx5LgoKMjAwMy0wMS0xMCAxMzozODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIFBhZENvbm5lY3QgLT4gUGFkTGluawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgoyMDAzLTAxLTEwIDEwOjIyOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMKCSAgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcwoJICBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHRoYXQgSSBkb24ndCBzcGVuZCBkb3VibGUKCSAgdGhlIHRpbWUgcmVzb2x2aW5nIGNvbmZsaWN0cwoKMjAwMi0xMi0wOCAxNDo1MDoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCjIwMDItMDktMTggMTk6MDI6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgoyMDAyLTA2LTE3IDEwOjI5OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gY29zbWV0aWMgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb3NtZXRpYyBjaGFuZ2UKCjIwMDItMDUtMDMgMDk6NTk6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSB2YXJpb3VzIG5hbWUgZml4ZXMgYW5kIHN1bmRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBuYW1lIGZpeGVzIGFuZCBzdW5kcnkKCjIwMDItMDQtMjAgMjE6NDI6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcyBhIGN1cnJlbnQgY2hlY2sgZm9yIG1wZWcyZGVjIGRldGFpbHMtPmtsYXNzIHJlb3JnYW5pemF0aW9ucyBhbiBlbGVtZW50IGJyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGEgaGFjayB0byB3b3JrIGFyb3VuZCBpbnRsdG9vbCdzIGJyb2tlbm5lc3MKCSAgKiBhIGN1cnJlbnQgY2hlY2sgZm9yIG1wZWcyZGVjCgkgICogZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zCgkgICogYW4gZWxlbWVudCBicm93c2VyIHRoYXQgdXNlcyBkZXRhaWxzLT5rbGFzcwoJICAqIHNlcGFyYXRlZCBjZHhhIHBhcnNlIG91dCBmcm9tIHRoZSBhdmkgZGlyZWN0b3J5CgoyMDAyLTA0LTExIDIwOjQyOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURQoJICBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBhbHNvLCBzb21lIC1XZXJyb3IgZml4ZXMuCgoyMDAyLTAzLTMwIDE3OjA2OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBDaGFuZ2VkIHRvIHRoZSBuZXcgcHJvcHMgQVBJCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIHRvIHRoZSBuZXcgcHJvcHMgQVBJCgkgIE90aGVyIHNtYWxsIHR1ZmYuCgoyMDAyLTAzLTIwIDIxOjQ1OjA0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgoyMDAyLTAzLTE5IDA0OjEwOjA2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMgZG9uJ3QgbGluayBwbHVnaW5zIHRvIGNvcmUgbGlicyAtLSB0aGUgdmVyc2lvbmluZyBpcyBkb25lIGludGVybmFsbHkgdG8gdGhlIHBsdWdpbnMgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzCgkgICogZG9uJ3QgbGluayBwbHVnaW5zIHRvIGNvcmUgbGlicyAtLSB0aGUgdmVyc2lvbmluZyBpcyBkb25lIGludGVybmFsbHkgdG8gdGhlIHBsdWdpbnMgd2l0aCB0aGUgcGx1Z2luX2luZm8gc3RydWN0LAoJICBhbmQgc3ltYm9sIHJlc29sdXRpb24gaXMgbGF6eSwgc28gd2UgY2FuIGFsd2F5cyBrbm93IGlmIGEgcGx1Z2luIGNhbiBiZSBsb2FkZWQgYnkgdGhlIHBsdWdpbl9pbmZvIGRhdGEuIGluIHRoZW9yeS4KCjIwMDItMDMtMTkgMDE6Mzk6NDMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8KCSAgQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2ljYWxseSwKCSAgYW5kIHRoaXMgZ2l2ZXMgdGhlIHVzZXIgdGhlIGZyZWVkb20gdG8gc2F5IG1ha2UgR1NUX1BMVUdJTl9MREZMQUdTPS1teWZsYWcKCjIwMDItMDEtMTggMTE6Mzc6MTkgKzAwMDAgIFdyb2JlbGwgPHdyb2JlbGxAaXRlLnBsPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSAtIHBsdWdpbnMgYXJlIGJ1aWx0IHdpdGhvdXQgdmVyc2lvbmluZyBpbmZvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAtIHBsdWdpbnMgYXJlIGJ1aWx0IHdpdGhvdXQgdmVyc2lvbmluZyBpbmZvCgoyMDAyLTAxLTEzIDIyOjI3OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBCcmluZyB0aGUgcGx1Z2lucyBpbiBzeW5jIHdpdGggdGhlIG5ldyBjb3JlIGNhcHNuZWdvIHN5c3RlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJyaW5nIHRoZSBwbHVnaW5zIGluIHN5bmMgd2l0aCB0aGUgbmV3IGNvcmUgY2Fwc25lZ28gc3lzdGVtLgoJICBBZGRlZCBzb21lIGZlYXR1cmVzLCBlbmhhbmNlbWVudHMuLi4KCjIwMDItMDEtMTIgMDM6MzQ6MjcgKzAwMDAgIERhdmlkIEkuIExlaG4gPGRsZWhuQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcy9maWx0ZXIvcGx1Z2luLyBsaW5rIHBsdWdpbnMgdG8gR1NUX0xJQlMgcmVhcnJhbmdlIHJ1bGVzIHRvIGEgY29tbW9uIGZvcm1hdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzL2ZpbHRlci9wbHVnaW4vCgkgICogbGluayBwbHVnaW5zIHRvIEdTVF9MSUJTCgkgICogcmVhcnJhbmdlIHJ1bGVzIHRvIGEgY29tbW9uIGZvcm1hdAoKMjAwMS0xMi0yMyAyMDoyMToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIG1vcmUgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgZml4ZXMKCjIwMDEtMTItMjMgMTM6MTc6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBCQkIgYXNrZWQgbWUgdG8gcmVuYW1lIGxhdiB0byB5NG0gY2FuIHNvbWVvbmUgd2hvIGtub3dzIHRoZSBwbHVnaW4gZG8gdGhpcyBpbiB0aGUgc291cmNlIGFzIHdlbGwgPwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQkJCIGFza2VkIG1lIHRvIHJlbmFtZSBsYXYgdG8geTRtCgkgIGNhbiBzb21lb25lIHdobyBrbm93cyB0aGUgcGx1Z2luIGRvIHRoaXMgaW4gdGhlIHNvdXJjZSBhcyB3ZWxsID8KCjIwMDktMDUtMTUgMTg6MTc6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBhZGQgTWFrZXZhcnMgbWFnaWMgc28gd2UgZG9uJ3QgZ2V0IGxpbmUgbnVtYmVycyBpbiAqLnBvIGZpbGVzCgkgIFRoaXMgYXZvaWRzIHRoZSBudW1iZXIgb25lIHJlYXNvbiBmb3IgbG9jYWwgbW9kaWZpY2F0aW9ucyBpbiAqLnBvCgkgIGZpbGVzIGFuZCBhbmQgbWFrZXMgdGhpbmdzIGxlc3MgYW5ub3lpbmcgd2hlbiB3b3JraW5nIHdpdGggZ2l0IChvcgoJICBhbnkgb3RoZXIgVkNTIGZvciB0aGF0IG1hdHRlcikuCgoyMDA5LTA1LTE1IDE3OjExOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9hdWRpb3Rlc3RzcmMuZmxhYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvY2hlY2svdGVzdC1jZXJ0LnBlbToKCSogdGVzdHMvY2hlY2svdGVzdC1rZXkucGVtOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvYXVkaW90ZXN0c3JjLmZsYWM6CgkqIHRlc3RzL2ZpbGVzL3Rlc3QtY2VydC5wZW06CgkqIHRlc3RzL2ZpbGVzL3Rlc3Qta2V5LnBlbToKCSAgY2hlY2tzOiBtb3ZlIGZpbGVzIHJlcXVpcmVkIGJ5IHVuaXQgdGVzdHMgaW50byB0ZXN0cy9maWxlcyBhbmQgbWFrZSBzdXJlIHRoZXkncmUgZGlzdGVkCgkgIE1vdmUgdW5pdCB0ZXN0IGRhdGEgaW50byB0aGUgZGlyZWN0b3J5IHdoZXJlIGl0IGJlbG9uZ3MgYW5kIG1ha2UgaW4gcGFydGljdWxhcgoJICB0aGUgZmxhY2RlYyB1bml0IHRlc3QgY2QgaW50byB0aGUgZGlyZWN0b3J5IHdpdGggdGhlIHRlc3QgZmlsZXMgaW5zdGVhZCBvZiBtYWtpbmcKCSAgYXNzdW1wdGlvbnMgYWJvdXQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaW4gdGhhdCB1bml0IHRlc3QuIEFzIGEgc2lkZSBlZmZlY3QKCSAgb2YgbW92bmcgdGhvc2UgZmlsZXMsIHRoZXJlJ3Mgb25seSBvbmUgRVhUUkFfRElTVCBpbiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbSBub3csCgkgIHdoaWNoIGlzIGxpa2VseSB0byB3b3JrIGJldHRlciB0aGFuIGhhdmluZyB0d28uIEhvcGVmdWxseSBmaXhlcyAjNTgyNzUzLgoKMjAwOS0wNS0xNCAyMTo0MzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IElmIHRoZSB1cHN0cmVhbSBtYXggbGF0ZW5jeSBpcyB1bmJvdW5kIHJldHVybiB1bmJvdW5kIG1heCBsYXRlbmN5CgkgIEZpeGVzIGJ1ZyAjNTgyNjYxLgoKMjAwOS0wNS0xNSAwODo0NDozOSArMDIwMCAgSmFtZXMgQW5kcmV3YXJ0aGEgPHRyczgwQHVjYy5ndS51d2EuZWR1LmF1PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIEZpeGVzIGJ1ZyAjNTgyNzE1LgoKMjAwOS0wNS0xMyAyMjo0Njo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBSZWNvdmVyZWQgZGVidWd1dGlscyBsaW5lIGFjY2lkZW50YWxseSByZW1vdmVkIGluIGRlaW50ZXJsYWNlMiBtb3ZlLgoKMjAwOS0wNS0xMyAxMDo0Njo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9tbXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9wbHVnaW5zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc3NlLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBNb3ZlZCAnZGVpbnRlcmxhY2UyJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgQW5kIHJlbmFtZSBpdCB0byBkZWludGVybGFjZS4KCjIwMDktMDUtMDggMTU6Mzk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgW01PVkVEIEZST00gQkFEIDU2LzU2XSBkZWludGVybGFjZTI6IEFkZCBhIGRpc2FibGVkIG1vZGUgZm9yIHBhc3N0aHJvdWdoIG9wZXJhdGlvbgoJICBBbHNvIGFsbG93IHRvIGNoYW5nZSB0aGUgbW9kZSBpbiBQQVVTRUQgYW5kIFBMQVlJTkcgYnkgdXBkYXRpbmcKCSAgdGhlIGNhcHMgaWYgbmVjZXNzYXJ5LgoKMjAwOS0wNC0yMiAxOTo0MzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTUvNTZdIGRlaW50ZXJsYWNlMjogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDQtMTkgMTc6MTg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDU0LzU2XSBkZWludGVybGFjZTI6IE1ha2UgaXQgcG9zc2libGUgdG8gc2VsZWN0IGludGVybGFjaW5nIGF1dG9kZXRlY3Rpb24gb3IgdG8gZW5mb3JlIGRlaW50ZXJsYWNpbmcKCSAgRm9yIHRoaXMgYWRkIGEgIm1vZGUiIHByb3BlcnR5IHRoYXQgZGVmYXVsdHMgdG8gImludGVybGFjZWQiIGZvciBub3cgYXMKCSAgbW9zdCBkZWNvZGVycy9kZW11eGVycyBkb24ndCBwcm9wZXJseSBzZXQgdGhlICJpbnRlcmxhY2VkIiBmaWVsZCBvbiB0aGUKCSAgY2FwcyB5ZXQuCgkgIElmIHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvICJhdXRvIiB0aGUgZWxlbWVudCB3aWxsIHdvcmsgaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB1bmxlc3MgdGhlIGNhcHMgY29udGFpbiB0aGUgImludGVybGFjZWQiIGZpZWxkLgoKMjAwOS0wNC0xNyAxNTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTMvNTZdIGRlaW50ZXJsYWNlMjogVXNlIEdTVF8oREVCVUd8V0FSTklOR3xFUlJPUilfT0JKRUNUIGluc3RlYWQgb2YgdGhlIG5vbi1PQkpFQ1Qgb25lcwoKMjAwOS0wNC0xNyAxNTozOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTIvNTZdIGRlaW50ZXJsYWNlMjogUmVzZXQgaGlzdG9yeSBpZiBESVNDT05UIGlzIHNldCBvbiB0aGUgaW5jb21pbmcgYnVmZmVyCgoyMDA5LTA0LTE3IDE1OjM5OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MS81Nl0gZGVpbnRlcmxhY2UyOiBGaXggdGltZXN0YW1wcyBmb3IgYnVmZmVycyB3aXRoIFJGRiBmbGFnIHNldAoKMjAwOS0wNC0xNiAxNzo0MTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgW01PVkVEIEZST00gQkFEIDUwLzU2XSBkZWludGVybGFjZTI6IFJlbmFtZSBsaW5lX2xlbmd0aCB0byByb3dfc3RyaWRlIGFuZCByZW1vdmUgb3V0cHV0X3N0cmlkZQoKMjAwOS0wNC0xNiAxNTo1MjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDkvNTZdIGRlaW50ZXJsYWNlMjogSW1wbGVtZW50IHN1cHBvcnQgZm9yIFJGRiBhbmQgT05FRklFTEQgYnVmZmVyIGZsYWdzCgoyMDA5LTA0LTE1IDE1OjQ2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0OC81Nl0gZGVpbnRlcmxhY2UyOiBNb3ZlIG91dHB1dCBidWZmZXIgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0IHRvIGEgZnVuY3Rpb24gcGFyYW1ldGVyCgoyMDA5LTA0LTE1IDE1OjMzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ny81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgZGV0ZWN0aW9uIG9mIHRoZSBmaWVsZCBvcmRlcgoKMjAwOS0wNC0xNSAxNDo0Nzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDYvNTZdIGRlaW50ZXJsYWNlMjogQWRkIHN1cHBvcnQgZm9yIFlWWVUgY29sb3JzcGFjZQoJICBUaGlzIGlzIHRoZSBzYW1lIGFzIFlVWTIgd2l0aCBqdXN0IENyIGFuZCBDYiBzd2FwcGVkLiBBcwoJICB3ZSBkb24ndCBtYWtlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZW0gd2hlbiBkZWludGVybGFjaW5nCgkgIHRoaXMgd29ya3MuCgoyMDA4LTExLTA2IDE0OjA1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDQ1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSk6CgkgIEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDQvNTZdIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTEwLTA5IDE5OjM4OjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDMvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIFg4NiBhc3NlbWJseS4KCjIwMDgtMDgtMjggMTc6MTY6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDQyLzU2XSBnc3QvZGNjcC86IEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIEZvcnRlIC0gYXBwYXJlbnRseSBpdCBoYXRlcyBjb25jYXRlbmF0aW5nIGEKCSAgbWFjcm8gYXJndW1lbnQgdGhhdCBzdGFydHMgd2l0aCBhbiB1bmRlcnNjb3JlPz8KCjIwMDgtMDgtMjYgMTI6MzM6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC86IFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUgYSBzbWFsbCBzcGVlZHVwIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlCgkgIGEgc21hbGwgc3BlZWR1cCBhbmQgbWFrZXMgaXQgcG9zc2libGUgdG8gaGFuZGxlIGNocm9tYSBhbmQgbHVtYQoJICBkaWZmZXJlbnQgd2hpY2ggaXMgbmVlZGVkIGxhdGVyLgoKMjAwOC0wOC0yNSAxNDozNzo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQwLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nCgkgIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHNlYXJjaC1lZmZvcnQ9MCBjdXJyZW50bHksIGlzIHBhaW5mdWxseQoJICBzbG93IGFuZCBuZWVkcyBzb21lIGNsZWFudXAgbGF0ZXIgd2hlbiBhbGwgc2VhcmNoLWVmZm9ydCBzZXR0aW5ncwoJICBhcmUgaW1wbGVtZW50ZWQgaW4gQy4KCjIwMDgtMDgtMDIgMTg6NDg6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfc2NhbGVyX2JvYik6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdAoJICBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgoyMDA4LTA4LTAyIDE4OjM2OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzgvNTZdIGdzdC9kZWludGVybGFjZTIvOiBBZGQgdGhlIHJlbWFpbmluZyB0dnRpbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBmaXggdGhlIGRlaW50ZXJsYWNlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24gb2YgRy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhci5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2MpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14ZXh0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZDJfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZDJfbW14KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfc2NhbGVyX2JvYiksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3NjYWxlcl9ib2JfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3NjYWxlcl9ib2JfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2luaXQpOgoJICBBZGQgdGhlIHJlbWFpbmluZyB0dnRpbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBmaXggdGhlCgkgIGRlaW50ZXJsYWNlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24gb2YgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2QuCgoyMDA4LTA4LTAyIDE4OjMwOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzcvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoKMjAwOC0wOC0wMiAxODoxODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0IGNhbiBiZSB1c2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0CgkgIGNhbiBiZSB1c2VkIGJ5IHNpbXBsZSBkZWludGVybGFjaW5nIG1ldGhvZHMuIFRoZXkgb25seSBoYXZlIHRvIHByb3ZpZGUKCSAgYSBmdW5jdGlvbiBmb3IgaW50ZXJwb2xhdGluZyBhIHNjYW5saW5lIG9yIGNvcHlpbmcgYSBzY2FubGluZS4KCjIwMDgtMDgtMDIgMTg6MTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogUmVzcGVjdCB0aGUgbGF0ZW5jeSBvZiB0aGUgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0gZm9yIHRoZSB0aW1lc3RhbXBzIG9mIGV2ZXJ5IGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKToKCSAgUmVzcGVjdCB0aGUgbGF0ZW5jeSBvZiB0aGUgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0gZm9yIHRoZSB0aW1lc3RhbXBzCgkgIG9mIGV2ZXJ5IGJ1ZmZlci4KCjIwMDgtMDgtMDIgMTg6MTM6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzIGRlZmluZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMKCSAgZGVmaW5lZC4KCjIwMDgtMDgtMDIgMTg6MDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpOgoJICBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0CgkgIHJlbGVhc2UuCgoyMDA4LTA4LTAyIDE4OjAyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzIvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbiB0aGF0IGRvdWJsZXMvaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9ncmVhdGVzdF9jb21tb25fZGl2aXNvciksIChnc3RfZnJhY3Rpb25fZG91YmxlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZ2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpOgoJICBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24KCSAgdGhhdCBkb3VibGVzL2hhbGZzIHRoZSBmcmFtZXJhdGUgaWYgYWxsIGZpZWxkcyBzaG91bGQgYmUgc2VudCBvdXQuCgoyMDA4LTA3LTE4IDA4OjM0OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzEvNTZdIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneSBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5CgkgIGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIEJ1aWxkIHRoZSBkZWludGVybGFjZTIgcGx1Z2luIG9uIGFsbCBhcmNoaXRlY3R1cmVzIGJ1dCBzdGlsbCBtYXJrIGl0CgkgIGFzIGV4cGVyaW1lbnRhbC4KCSAgQnVpbGQgdGhlIHg4NiBpbmxpbmUgYXNzZW1ibHkgb25seSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IGlzIHN1cHBvcnRlZAoJICBhbmQgb25seSBvbiB4ODYgb3IgYW1kNjQuIEZpeGVzIGJ1ZyAjNTQzMjg2LgoKMjAwOC0wNy0xNCAxNDoxMzo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBGaXggYnVpbGQgb24geDg2XzY0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRml4IGJ1aWxkIG9uIHg4Nl82NAoKMjAwOC0wNy0xMyAxMDo1Njo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI5LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUgYXNzZW1ibHkgb3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIG9ubHkgaGFuZGxlIHRoaXMgYW5kIGNhbGxpbmcgdGhlIEMKCSAgaW1wbGVtZW50YXRpb24gZm9yIHRoZSByZW1haW5pbmcgcGFydCBkb2Vzbid0IHdvcmsgYmVjYXVzZSBpdCBuZWVkcwoJICBwcmV2aW91cyBjYWxjdWxhdGlvbnMuCgoyMDA4LTA3LTEzIDEwOjUyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjgvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBUaGUgU1NFIG1ldGhvZCBpbiBmYWN0IG9ubHkgbmVlZHMgTU1YRVhULCBkZWNsYXJlIGl0IGFzIHN1Y2guCgoyMDA4LTA3LTA4IDEzOjMxOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjcvNTZdIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfc2V0dXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgoyMDA4LTA3LTA2IDIwOjQzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjYvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOiBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSBzb21lCgkgIHNwZWVkdXAgYXMgdGhleSdyZSB1c2VkIG9ubHkgb25jZSBhbmQgbmVlZCB0byBnZXQgbWFueSBsb2NhbCB2YXJpYWJsZXMKCSAgcGFzc2VkIGFzIHBhcmFtZXRlci4KCjIwMDgtMDctMDUgMTk6MjA6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCjIwMDgtMDctMDUgMTk6MTE6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9sYXRlbmN5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBGaXggb3V0cHV0dGluZyBvZiBhbGwgZmllbGRzLCBpLmUuIGRvdWJsaW5nIG9mIHRoZSBmcmFtZXJhdGUuCgoyMDA4LTA3LTA1IDE2OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjMvNTZdIGdzdC9kZWludGVybGFjZTIvOiBVc2UgYSBHc3RPYmplY3Qgc3VidHlwZSBmb3IgdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZXhwb3J0IHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MgZm9yIGVhY2ggZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfZmllbGRzX3JlcXVpcmVkKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChfZG9faW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2luaXQpOgoJICBVc2UgYSBHc3RPYmplY3Qgc3VidHlwZSBmb3IgdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZXhwb3J0CgkgIHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MgZm9yIGVhY2ggZGVpbnRlcmxhY2luZyBtZXRob2QgdmlhIEdPYmplY3QKCSAgcHJvcGVydGllcy4KCSAgSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlIHRvIGFsbG93IGFjY2VzcyB0byB0aGUgdXNlZAoJICBkZWludGVybGFjaW5nIG1ldGhvZCBhbmQgdG8gYWxsb3cgYWRqdXN0aW5nIHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MuCgkgIE1vdmUgZ2xvYmFsIHZhcmlhYmxlcyBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nIG1ldGhvZCBpbnRvCgkgIGZ1bmN0aW9uIGxvY2FsIHZhcmlhYmxlcyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGlzIGRlaW50ZXJsYWNpbmcKCSAgbWV0aG9kIGZyb20gZGlmZmVyZW50IGluc3RhbmNlcy4KCjIwMDgtMDctMDUgMTI6MjI6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGdyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5CgkgIG9wdGltaXplZCBncmVlZHloIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDctMDQgMTg6NTQ6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgIE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoKMjAwOC0wNi0zMCAwNzo1MTowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIwLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6ICh0b21zbW9jb21wX2luaXQpLAoJICAodG9tc21vY29tcF9maWx0ZXJfbW14KSwgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSksIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgIFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICBVc2UgIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+LgoKMjAwOC0wNi0yOSAxMDo1Njo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE5LzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogR2V0IHJpZCBvZiBzcGVlZHkuW2NoXSBhcyB3ZSBkb24ndCB1c2UgbW9zdCBvZiBpdCdzIGNvZGUgYW55d2F5IGFuZCBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVsaWNlbnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgR2V0IHJpZCBvZiBzcGVlZHkuW2NoXSBhcyB3ZSBkb24ndCB1c2UgbW9zdCBvZiBpdCdzIGNvZGUgYW55d2F5CgkgIGFuZCBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVsaWNlbnNlZCB0byBMR1BMLiBVc2UgbWVtY3B5KCkgaW5zdGVhZAoJICBvZiB0aGUgc3BlZWR5IG1lbWNweSBldmVyeXdoZXJlIGluc3RlYWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgUmVtb3ZlIG1hbnkgdW51c2VkIGRlY2xhcmF0aW9ucy4KCjIwMDgtMDYtMjggMTg6MTM6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCjIwMDgtMDYtMjggMTg6MTA6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IERvbid0IHVzZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBub3QgYXBwcm9waWF0ZSBmb3IgdGhpcyBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgIERvbid0IHVzZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncwoJICBub3QgYXBwcm9waWF0ZSBmb3IgdGhpcyBtZXRob2QuIEluc3RlYWQgaW1wbGVtZW50IGRlaW50ZXJsYWNlX2ZyYW1lCgkgIGZ1bmN0aW9uIGJ5IHRha2luZyB0aGUgb25lIGZyb20gZ3JlZWR5aC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpOgoJICBTbWFsbCBmaXggZm9yIHRoZSBDIGltcGxlbWVudGF0aW9uLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBEb24ndCB1c2UgdGhlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG9ubHkKCSAgdXNlZCBmb3IgdGhpcyBtZXRob2QgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gSW5zdGVhZCBpbXBsZW1lbnQKCSAgZGVpbnRlcmxhY2VfZnJhbWUgZnVuY3Rpb24gYW5kIG1ha2UgaXQgYSBiaXQgbW9yZSBlZmZpY2llbnQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgRml4IGNvZGluZyBzdHlsZSBhbmQgcmVtb3ZlIHNjYW5saW5lcyBmdW5jdGlvbiBhcyBpdCdzIHVudXNlZCBub3cuCgoyMDA4LTA2LTI4IDE3OjI1OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTYvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4KCSAgdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hcmsgdGhlIFNTRSB2ZXJzaW9uIGFzIE1NWEVYVCBhcyBpdCBkb2Vzbid0CgkgIHJlcXVpcmUgYW55IFNTRSBpbnN0cnVjdGlvbnMuCgoyMDA4LTA2LTI3IDEzOjIyOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpOgoJICBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgU2V0IGR1cmF0aW9uIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wNi0yNSAxNjowNTowOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wNi0yNCAxMjowODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDEzLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzIG1lbW9yeSBhY2Nlc3NlcyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCk6CgkgIE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcwoJICBtZW1vcnkgYWNjZXNzZXMgYW5kIGZpeCB0aGUgd29ya2Fyb3VuZCBmb3IgdGhlIG1pc3NpbmcgcmlnaHQgc2hpZnQKCSAgb24gYnl0ZXMgdG8gdW5zZXQgdGhlIGhpZ2hlc3QgYml0IG9mIGV2ZXJ5IGJ5dGUuCgoyMDA4LTA2LTI0IDEwOjE1OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTIvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFIGluc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRQoJICBpbnN0cnVjdGlvbi4KCjIwMDgtMDYtMjQgMTA6MTI6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoKMjAwOC0wNi0yNCAwOTo0MDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDEwLzU2XSBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOiBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KToKCSAgRml4IEMgYW5kIE1NWCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgbW9yZS4KCjIwMDgtMDYtMjQgMDk6MTA6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBNTVhFWFQgaW1wbGVtZW50YXRpb24uCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGFuZCBkb24ndCByZWFkIG92ZXIgYXJyYXkgYm91bmRhcmllcyBpbiB0aGUgTU1YRVhUCgkgIGltcGxlbWVudGF0aW9uLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgRml4IGEgc21hbGwgcm91bmRpbmcgYnVnIGluIHRoZSBNTVggaW1wbGVtZW50YXRpb24sIHRoZSBNTVgKCSAgaW1wbGVtZW50YXRpb24gZG9lc24ndCBhY3R1YWxseSBuZWVkIE1NWEVYVCBpbnN0cnVjdGlvbnMgc28gZG9uJ3QgbWFyawoJICBpdCBhcyBzdWNoLgoJICBIYW5kbGUgb2RkIHdpZHRocyBpbiBib3RoIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDYtMjEgMDk6MDU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZSBhc3NlbWJseSBvcHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9zc2UpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gYXMgU1NFIGFzIGl0IHVzZXMgU1NFIGluc3RydWN0aW9ucwoJICBhZGRpdGlvbmFsIHRvIE1NWCBpbnN0cnVjdGlvbnMuCgoyMDA4LTA2LTIwIDE0OjQ4OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDcvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbyBidXQgdXNlIHRoZSBNTS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9saW5lX2MpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28KCSAgYnV0IHVzZSB0aGUgTU1YRVhUIG9wdGltaXplZCBjb2RlIHdoZW5ldmVyIHBvc3NpYmxlLgoKMjAwOC0wNi0yMCAxNDozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMgd2hlbiBmaW5hbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcmVzZXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzCgkgIHdoZW4gZmluYWxpemluZywgYWxsb2NhdGUgYnVmZmVycyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYW5kCgkgIHByb3Blcmx5IHJldHVybiBmbG93IHJldHVybnMgZnJvbSBnc3RfcGFkX3B1c2goKSBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0uCgoyMDA4LTA2LTIwIDEzOjQ1OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDUvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBBZGQgbWlzc2luZyBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXIuCgoyMDA4LTA2LTIwIDEzOjI0OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDQvNTZdIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZQoJICBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwgZW5hYmxlZCBvbmx5CgkgIGJ5IC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4KCjIwMDgtMDYtMTggMDY6MzE6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMy81Nl0gRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwKCSAgY29tbWVudHMuCgoyMDA4LTA2LTExIDExOjEyOjQ5ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgW01PVkVEIEZST00gQkFEIDAyLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOC0wNi0xMSAxMToxMjoxNCArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDktMDUtMTMgMTA6MzA6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmbHY6IEFjdHVhbGx5IGFkZCB0aGUgZmx2IHBsdWdpbiB0byBjb25maWd1cmUuYWMKCjIwMDktMDUtMTMgMDk6MjQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgY2hlY2tzOiBmaXggZmxhY2RlYyB1bml0IHRlc3RzIG9uIGJpZy1lbmRpYW4gbWFjaGluZXMgYW5kIHVuZGVyIHZhbGdyaW5kCgkgIEZsYWNkZWMgb3V0cHV0cyAxNi1iaXQgc2FtcGxlcywgc28gbGV0J3MgY2hlY2sgaWYgdGhlIHZhbHVlIG9mIHRoZSBmaXJzdAoJICBzYW1wbGUgaXMgd2hhdCB3ZSBleHBlY3QgcmF0aGVyIHRoYW4ganVzdCB0aGUgZmlyc3QgYnl0ZSwgd2hpY2ggbWF5IGJlCgkgIGRpZmZlcmVudCBmcm9tIHdoYXQgd2UgZXhwZWN0IGRlcGVuZGluZyBvbiB0aGUgaG9zdCdzIGVuZGlhbm5lc3MuIEZpeGVzCgkgIHRoZSBmbGFjZGVjIHVuaXQgdGVzdHMgb24gUFBDLiBBbHNvIGZpeCBhIGJ1bmNoIG9mIGxlYWtzIGluIHRoZSB1bml0CgkgIHRlc3RzIHRvIG1ha2UgdmFsZ3JpbmQgaGFwcHkuIEZpeGVzICM1ODI0MjAuCgoyMDA5LTA1LTEzIDA5OjE4OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IGJ1ZmZlciBsZWFrCgkgIGdzdF9idWZmZXJfcmVwbGFjZSgpIHdpbGwgdGFrZSBpdHMgb3duIHJlZiwgc28gd2Ugc3RpbGwgaGF2ZQoJICB0byB1bnJlZiB0aGUgYnVmZmVyIGlmIHdlIGRvbid0IG5lZWQgaXQgYW55IGxvbmdlci4KCjIwMDktMDUtMTIgMjE6MjA6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHBvaW50ZXIgYXJpdGhtZXRpYwoJICBUaGlzIGZpeGVzIGEgc2Vla2luZyByZWdyZXNzaW9uLCBidWcgIzEzNDUyMi4KCjIwMDktMDUtMTIgMjE6MzY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIE1vdmVkICdmbHYnIGZyb20gLWJhZCB0byAtZ29vZAoKMjAwOS0wNS0wNyAxNzo1Mzo0MiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTcvNTddIEFkZCByYW5rcyB0byB2YXJpb3VzIG11eGVycyBhbmQgZW5jb2RlcnMgaW4gLWJhZAoKMjAwOS0wNC0yOSAxODo1MjoyMCArMDEwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgW01PVkVEIEZST00gQkFEIDU2LzU3XSBmbHZtdXg6IGluaXQgdmFyaWFibGUgdG8gTlVMTCB0byBmaXggY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyAjNTgwNzg2LgoKMjAwOS0wNC0yOSAxMzo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NS81N10gZmx2OiBTZXQvcmVxdWlyZSB0aGUgZnJhbWVkL3BhcnNlZCBmaWVsZHMgb2YgdGhlIGF1ZGlvL21wZWcgY2FwcyB0byBUUlVFCgoyMDA5LTA0LTI5IDEzOjE2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NC81N10gZmx2OiBBbHdheXMgd3JpdGUgYXQgbGVhc3QgdGhlIG1pbmltYWwgdGFncyBhbmQgd3JpdGUgdGhlIFBBUiBhcyB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1My81N10gZmx2OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHNvbWUgdGFncwoKMjAwOS0wNC0yOSAxMzowMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Mi81N10gZmx2OiBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgdGFnCgoyMDA5LTA0LTI5IDA5OjQwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDUxLzU3XSBmbHY6IEZpeCBwYXJzaW5nIG9mIHRhZ3MgYW5kIGFkZCBuZXcgbWFwcGluZ3MKCSAgV2Ugc2hvdWxkbid0IHJlZ2lzdGVyIGEgbmV3IEdzdFRhZyBmb3IgZXZlcnkgdW5rbm93biB0YWcKCSAgd2UgZmluZCBhcyB0aGlzIG1pZ2h0IGxlYWQgdG8gY29uZmxpY3RzIGFuZCBhbHNvIHRob3NlCgkgIHRhZ3MgYXJlIGVzc2VudGlhbGx5IHVua25vd24uCgkgIEFkZCBtYXBwaW5ncyBmb3Igc29tZSBrbm93biB0YWdzIGFuZCBhbHNvIGNvbnZlcnQgc3RyaW5nCgkgIGRhdGVzIHRvIEdEYXRlLCBhcyBmb3VuZCBpbiBtYW55IEZMViBmaWxlcy4KCjIwMDktMDQtMjIgMTk6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MC81N10gZmx2OiBBZGQgZG9jdW1lbnRhdGlvbiB0byBmbHZtdXggYW5kIGZsdmRlbXV4CgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzczNy4KCjIwMDktMDEtMjIgMTM6Mzk6MzQgKzAxMDAgIEphbiBVcmJhbnNraSA8ai51cmJhbnNraUBzdHVkZW50cy5taW11dy5lZHUucGw+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0OS81N10gQWRkIHN1cHBvcnQgZm9yIEVDTUEgYXJyYXlzIGluIHNjcmlwdCB0YWdzLiBGaXhlcyBidWcgIzU2Nzk2NS4KCSAgQWRkIHN1cHBvcnQgZm9yIEVDTUEgYXJyYXlzIGluIHNjcmlwdCB0YWdzLiBUaGlzIGZpeGVzCgkgIHNlZWtpbmcgb24gc29tZSBmaWxlcyB0aGF0IGhhdmUgdGhlIHNlZWsgdGFibGUgc3RvcmVkCgkgIGluc2lkZSBhbiBFQ01BIGFycmF5IGluc3RlYWQgb2YgdGhlIG5vcm1hbCBhcnJheS4KCjIwMDgtMTItMDMgMTE6NDM6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0OC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyk6CgkgIENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgoyMDA4LTExLTI0IDExOjE3OjE5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ny81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cyBrZXlmcmFtZS4gTWFyayB0aGUgZGlzY29udCBmbGFnIHdoZW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTExLTI0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lLiBNYXJrCgkgIHRoZSBkaXNjb250IGZsYWcgd2hlbiB3ZSd2ZSBtb3ZlZCBpbiB0aGUgZmlsZS4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSk6IE1QMwoJICBzdHJlYW1zCgkgIGFyZSBwYXJzZWQgYWxyZWFkeSwgbWFrZXMgYXV0b3BsdWdnZWQgcGlwZWxpbmVzIHNob3J0ZXIuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDYvNTddIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTEwLTI4IDE4OjQ0OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDUvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wbGVtZW50IHBvc2l0aW9uIHF1ZXJ5IGluIHRpbWUgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3F1ZXJ5KToKCSAgSW1wbGVtZW50IHBvc2l0aW9uIHF1ZXJ5IGluIHRpbWUgZm9ybWF0LgoKMjAwOC0xMC0yOCAxODo0MToxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQ0LzU3XSBnc3QvZmx2LzogUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YKCSAgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIFB1c2ggdGFncyBhbHJlYWR5IGlmIG9ubHkgb25lIHBhZCB3YXMgYWRkZWQsIG5vIG5lZWQgdG8gd2FpdCBmb3IKCSAgdGhlIHNlY29uZCBvbmUuCgkgIFdoZW4gZ2VuZXJhdGluZyBvdXIgaW5kZXggc2V0IGhhc192aWRlbyBhbmQgaGFzX2F1ZGlvIGlmIHdlIGZpbmQKCSAgdmlkZW8gb3IgYXVkaW8gaW4gY2FzZSB0aGUgRkxWIGhlYWRlciBoYXMgaW5jb3JyZWN0IGRhdGEuCgoyMDA4LTEwLTI3IDA5OjQ1OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDMvNTddIGdzdC9mbHYvOiBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0IGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0CgkgIGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgRml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoKMjAwOC0xMC0yNyAwOTo0MToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQyLzU3XSBnc3QvZmx2L01ha2VmaWxlLmFtOiBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6CgkgIFJld3JpdGUgdGhlIHNjcmlwdCB0YWcgcGFyc2luZyB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IHRvIHJlYWQKCSAgbW9yZSBkYXRhIHRoYW4gd2UgaGF2ZS4gQWxzbyB1c2UgR1NUX1JFQURfVUlOVDI0X0JFIGRpcmVjdGx5IGFuZAoJICBmaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgkgIFRoaXMgc2hvdWxkIG1ha2UgYWxsIGNyYXNoZXMgb24gZnV6emVkIEZMViBmaWxlcyBkaXNhcHBlYXIuCgoyMDA4LTEwLTI3IDA5OjM3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDEvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogUHJvcGVybHkgY2hlY2sgZXZlcnl3aGVyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcGFyc2UgYW5kIGRvbid0IHJlYWQgb3V0c2lkZSB0aGUgYWxsb2NhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgUHJvcGVybHkgY2hlY2sgZXZlcnl3aGVyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcGFyc2UgYW5kCgkgIGRvbid0IHJlYWQgb3V0c2lkZSB0aGUgYWxsb2NhdGVkIG1lbW9yeSByZWdpb24uCgoyMDA4LTEwLTI3IDA5OjM1OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDAvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dAoJICBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCjIwMDgtMTAtMjcgMDk6MzM6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOS81N10gZ3N0L2Zsdi86IEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkCgkgIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgoyMDA4LTEwLTI3IDA5OjMyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzgvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbSBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfbG9vcCksCgkgIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtCgkgIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgRml4IHNlZWsgZXZlbnQgaGFuZGxpbmcgdG8gbG9vayBhdCB0aGUgZmxhZ3Mgb2YgdGhlIHNlZWsgZXZlbnQKCSAgaW5zdGVhZCBvZiBhc3N1bWluZyBzb21lIHJhbmRvbSBmbGFncywgZG9uJ3Qgc2VuZCBzZWdtZW50LXN0YXJ0CgkgIG1lc3NhZ2VzIHdoZW4gb3BlcmF0aW5nIGluIHB1c2ggbW9kZSBhbmQgcHVzaCBzZWVrIGV2ZW50cyB1cHN0cmVhbQoJICBpZiB3ZSBjb3VsZG4ndCBoYW5kbGUgdGhlbS4KCjIwMDgtMTAtMjcgMDk6Mjc6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgoyMDA4LTEwLTI3IDA5OjI1OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzYvNTddIGdzdC9mbHYvOiBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlCgkgIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmlsZXMgKHdoaWNoIGFyZSBtb3JlIHRoYW4KCSAgb2Z0ZW4gaW5jb3JyZWN0IGFuZCBjYXVzZSBmYWlsZWQgc2Vla3MpLgoJICBGb3IgcHVzaCBtb2RlIHdlIHN0aWxsIHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgdGhlIGZpbGUgYW5kIGV4dGVuZCBpdAoJICB3aGlsZSBkb2luZyB0aGUgcGxheWJhY2suCgoyMDA4LTEwLTI3IDA5OjIwOjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzUvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW5zdGVhZCBvZiB1c2luZyBnc3RfcGFkX2V2ZW50X2RlZmF1bHQoKSB1c2UgYSBzbWFsbCBnc3RfcGFkX3B1c2hfZXZlbnQoKSB3cmFwcGVyIHRoYXQgb25seSBkby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1c2hfc3JjX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KToKCSAgSW5zdGVhZCBvZiB1c2luZyBnc3RfcGFkX2V2ZW50X2RlZmF1bHQoKSB1c2UgYSBzbWFsbAoJICBnc3RfcGFkX3B1c2hfZXZlbnQoKSB3cmFwcGVyIHRoYXQgb25seSBkb2VzIHdoYXQgd2Ugd2FudCBhbmQgaXMgbXVjaAoJICBtb3JlIHNpbXBsZS4KCjIwMDgtMTAtMjcgMDk6MTQ6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC4qOiBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZSBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZQoJICBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0IHdoZW4gc3RhcnRpbmcgYSBuZXcgc3RyZWFtIHRvIGdldAoJICBhbGwgb2xkIGVudHJpZXMgcmVtb3ZlZC4KCjIwMDgtMTAtMjcgMDk6MTI6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgoyMDA4LTEwLTI3IDA5OjEwOjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzIvNTddIGdzdC9mbHYvOiBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMgaGFuZGxlZC4KCjIwMDgtMTAtMTYgMTU6MjE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMS81N10gZ3N0L2Zsdi9nc3RmbHZtdXguYzogRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbyBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpOgoJICBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvCgkgIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM1NTY1NjQuCgoyMDA4LTEwLTEyIDE3OjA4OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzAvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgRml4ZXMgYnVnICM1NTYwMDMuCgoyMDA4LTEwLTEwIDE2OjMzOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjkvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0CgkgIGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3JrIHdpdGggKGkuZS4gdGhlIHBhZCdzIGNhcHMpLgoJICBBZGQgbm9uLWtleWZyYW1lIHZpZGVvIGZyYW1lcyB0byB0aGUgaW5kZXggdG9vIGJ1dCB3aXRob3V0IHRoZQoJICBrZXlmcmFtZSBmbGFnLgoJICBBZGQgYXVkaW8gZnJhbWVzIHRvIHRoZSBpbmRleCBvbmx5IGlmIHdlIGhhdmUgbm8gdmlkZW8gc3RyZWFtLgoKMjAwOC0xMC0xMCAxNjoxNTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI4LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0gYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtCgkgIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhcHMgYXJlIHNldC4KCjIwMDgtMTAtMDkgMTY6MjA6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNy81N10gZ3N0L2Zsdi86IEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAKCSAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0IChtYXliZSBiZXR0ZXIpIGR1cmF0aW9uIGZyb20KCSAgbWV0YWRhdGEgbGF0ZXIgd2UnbGwgdXNlIHRoYXQgaW5zdGVhZC4KCjIwMDgtMTAtMDkgMTU6NDM6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNi81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBSZWZhY3RvciBfcHVsbF9yYW5nZSgpIGxvZ2ljIHdpdGggY2hlY2tzIGludG8gYSBzZXBlcmF0ZSBmdW5jdGlvbiB0byBtYWtlIHRoaW5ncyBhIGJpdCBtb3JlIHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBSZWZhY3RvciBfcHVsbF9yYW5nZSgpIGxvZ2ljIHdpdGggY2hlY2tzIGludG8gYSBzZXBlcmF0ZSBmdW5jdGlvbgoJICB0byBtYWtlIHRoaW5ncyBhIGJpdCBtb3JlIHJlYWRhYmxlLgoKMjAwOC0xMC0wOSAxNToyNjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI1LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCk6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgSWYgd2UgZ2V0IEdTVF9GTE9XX05PVF9MSU5LRUQgaW4gdGhlIHBhcnNlIGxvb3AgYnV0IGF0IGxlYXN0CgkgIG9uZSBvZiB0aGUgcGFkcyBpcyBsaW5rZWQgY29udGludWUgdGhlIGxvb3AuCgoyMDA4LTEwLTA5IDEwOjAwOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjQvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSk6CgkgIENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbAoJICB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWNvZGVyIGFuZCBoYXMgZGlmZmVyZW50IGNhcHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpbyBjb2RlYyBpZCAxNCwgd2hpY2ggaXMgTVAzIHdpdGggOGtIeiBzYW1wbGluZwoJICByYXRlLgoJICBGaXggZW5kaWFubmVzcyBhbmQgc2lnbmVkbmVzcyBmb3IgcmF3IGF1ZGlvIGNvZGVjIGlkcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGFsYXcgYW5kIG11bGF3IGF1ZGlvLgoKMjAwOC0xMC0wOSAwOTo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIzLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbik6CgkgIEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkCgkgIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMgZW1wdHkuCgkgIEFkZCBzb21lIGV4cGxhbmF0aW9ucyBhYm91dCB0aGUgaGVhZGVyIGFuZCB0YWcgc2l6ZS4KCSAgRG9uJ3QgcHJpbnQgc3luY2hyb25pemluZyBtZXNzYWdlIGlmIGV2ZXJ5dGhpbmcgaXMgZmluZS4KCjIwMDgtMTAtMDkgMDk6MjY6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMi81N10gZ3N0L2Zsdi86IEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZyBvZiBzdHJlYW0gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9iYXNlX2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfY2xhc3NfaW5pdCksIChnc3RfZmx2X211eF9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2ZpbmFsaXplKSwgKGdzdF9mbHZfbXV4X3Jlc2V0KSwKCSAgKGdzdF9mbHZfbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLCAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2hlYWRlciksIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpLAoJICAoZ3N0X2Zsdl9tdXhfY29sbGVjdGVkKSwgKGdzdF9mbHZfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nCgkgIG9mIHN0cmVhbSBtZXRhZGF0YS4KCjIwMDgtMDYtMTMgMjI6NDY6NDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDIxLzU3XSBnc3QvZmx2LzogSW50cm9kdWNlIGRlbXV4aW5nIHN1cHBvcnQgZm9yIEFBQyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDYtMTQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSW50cm9kdWNlIGRlbXV4aW5nIHN1cHBvcnQgZm9yIEFBQwoJICBhbmQKCSAgSC4yNjQvQVZDIGluc2lkZSBGTFYuCgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIChnc3RfZHNob3dhdWRpb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2NoYWluKSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93YXVkaW9kZWNfc2V0dXBfZ3JhcGgpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAoZ3N0X2RzaG93dmlkZW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd3ZpZGVvZGVjX2NoYWluKSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NyY19nZXRjYXBzKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDogTG90IG9mIHJhbmRvbSBmaXhlcwoJICB0byBpbXByb3ZlIHN0YWJpbGl0eSAocmVmIGNvdW50aW5nLCBzYWZldHkgY2hlY2tzLi4uKQoKMjAwOC0wNC0yNSAwODowNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3F1ZXJ5KToKCSAgRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCjIwMDgtMDQtMTEgMjM6MTk6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTkvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcyBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KToKCSAgSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcwoJICBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYSBOVUxMIHN0cmluZyAoIzUyNzYyMikuCgoyMDA3LTEyLTExIDExOjU0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDE4LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZyB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcKCSAgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgoyMDA3LTEyLTA5IDE5OjM3OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE3LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBFbWl0IHRhZyB3aXRoIHRoZSBjb2RlYyBuYW1lIHNvIGl0IGdldHMgcHJvcGVybHkgcmVwb3J0ZWQgaW4gdG90ZW0gYW5kCgkgIG90aGVyIGFwcGxpY2F0aW9ucy4KCjIwMDctMTEtMjUgMTA6NDU6MDkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTYvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUgd2l0aCBnbm9ubGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlCgkgIHdpdGggZ25vbmxpbi4KCjIwMDctMTEtMTIgMTk6MjI6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTUvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UKCSAgYWN0dWFsbHkgaGF2ZSBkYXRhIHRvIHJlYWQgYXQgdGhlIGVuZCBvZiB0aGUgdGFnLiBUaGlzIGF2b2lkcyB0cnlpbmcKCSAgdG8gYWxsb2NhdGUgbmVnYXRpdmUgYnVmZmVycy4KCjIwMDctMTAtMjIgMTU6NDU6NDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDE0LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IERvbid0IGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKTogRG9uJ3QKCSAgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIKCSAgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIGVtaXQgdGhlbSBmb3IgMiBwYWRzIHNjZW5hcmlvcwoJICB0aG91Z2ggdG8gc3BlZWQgdXAgbWVkaWEgZGlzY292ZXJ5LgoKMjAwNy0wOS0yNyAxMDowNjoyMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTMvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUKCSAgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoKMjAwNy0wOS0yNiAxNjozMDo1MCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTIvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogY29kZWNfZGF0YSBpcyBuZWVkZWQgZm9yIGV2ZXJ5IHRhZyBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAoRml4IGEgc3R1cGlkIGJ1ZyBpIGludHJvZHVjZWQgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogY29kZWNfZGF0YSBpcyBuZWVkZWQgZm9yIGV2ZXJ5IHRhZwoJICBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAoRml4IGEgc3R1cGlkIGJ1ZyBpIGludHJvZHVjZWQgd2l0aG91dAoJICB0ZXN0aW5nKQoKMjAwNy0wOS0yNiAxMToxNzowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTEvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlCgkgIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBGaXggcmF3IGF1ZGlvIGNhcHMgZ2VuZXJhdGlvbi4KCjIwMDctMDktMTIgMDg6Mzg6MjIgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDEwLzU3XSBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCjIwMDctMDgtMjcgMTQ6NTY6MDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA5LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgoyMDA3LTA4LTI0IDE3OjAzOjE1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwOC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoKMjAwNy0wOC0yNCAxNTozMToyNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDcvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wbGVtZW50IHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogSW1wbGVtZW50CgkgIHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCjIwMDctMDgtMjIgMTQ6NTA6NTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA2LzU3XSBnc3QvZmx2LzogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaAoJICBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgRmxhc2ggcGxheWVycyBjYW4gc3VwcG9ydCBpdCBhcyB3ZWxsIHRoaXMgd2F5LgoKMjAwNy0wOC0yMiAxNDowMzo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDUvNTddIGdzdC9mbHYvOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8gcHVzaCB0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlCgkgIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8KCSAgcHVzaAoJICB0YWdzIGFuZCBlbWl0IG5vLW1vcmUtcGFkcy4gRml4IHNvbWUgcHJpbnRmIHR5cGluZyBpbiBkZWJ1Z2dpbmcuCgoyMDA3LTA4LTE0IDE0OjU2OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDA0LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KToKCSAgRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCjIwMDctMDgtMTQgMTQ6MjI6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAzLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMTQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9hZGFwdGVyX2ZsdXNoKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9xdWVyeSksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGFzc19pbml0KTogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwKCSAgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogUGFyc2UKCSAgbW9yZSBtZXRhZGF0YSB0eXBlcyBhbmQga2V5ZnJhbWVzIGluZGV4LgoKMjAwNy0wNy0yNSAxMzoyOTowNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDIvNTddIGdzdC9mbHYvOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdCByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0CgkgIHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgoyMDA3LTA3LTE5IDE1OjA1OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMS81N10gQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0xOSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2Vla190b19wcmV2X2tleWZyYW1lKSwgKGdzdF9mbHZfZGVtdXhfbG9vcCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9CRVVJMjQpLCAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9kZW11eF9xdWVyeV90eXBlcyksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIEl0IGRvZXMgbm90IGRvIHNlZWtpbmcgeWV0LCBpdCBzdXBwb3J0cyBwdWxsIGFuZCBwdXNoIG1vZGUgc28KCSAgWUVTCgkgIHlvdSBjYW4gdXNlIGl0IHRvIHBsYXkgeW91dHViZSB2aWRlb3MgZGlyZWN0bHkgZnJvbSBhbiBIVFRQIHVyaS4KCSAgTm90IHNvIG11Y2ggdGVzdGluZyBkb25lIHlldCBidXQgaXQgcGFyc2VzIG1ldGFkYXRhLCByZXBseSB0bwoJICBkdXJhdGlvbiBxdWVyaWVzLCBldGMuLi4KCjIwMDktMDUtMTIgMTM6MDA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBMaW5rIHRvIC1sbQoJICBGaXhlcyBidWcgIzU4MjI4MS4KCjIwMDktMDUtMTIgMTE6MTY6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICByZ2FuYWx5c2lzOiBSZW1vdmUgaW52YWxpZCB1bml0IHRlc3QKCSAgVGhlIHRlc3QgY3JlYXRlcyBidWZmZXJzIHdpdGggbm9uLXNpbGVuY2UsIHNldHMgdGhlIEdBUAoJICBmbGFnIG9uIGl0IGFuZCBleHBlY3RzIHJnYW5hbHlzaXMgdG8gaWdub3JlIHRoZSBjb250ZW50IGFuZCBhc3N1bWUgc2lsZW5jZS4KCSAgVGhhdCdzIG5vdCB0aGUgd2F5IGhvdyBHQVAgYnVmZmVycyBzaG91bGQgYmUgdXNlZCwgaWYgdGhlIEdBUCBmbGFnIGlzIHNldAoJICBlbGVtZW50cyAqY2FuKiBhc3N1bWUgdGhhdCB0aGV5IG9ubHkgY29udGFpbiBzaWxlbmNlIGJ1dCB0aGV5J3JlIG5vdCAqcmVxdWlyZWQqCgkgIHRvIGFzc3VtZSB0aGF0LiBUaGUgR0FQIGZsYWcgbXVzdCBvbmx5IGJlIHNldCBvbiBzaWxlbmNlIGJ1ZmZlcnMuCgkgIEZpeGVzIGJ1ZyAjNTgyMjUyLgoKMjAwOS0wNS0xMiAwMDo0ODo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjIgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTEgMjM6MTM6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IGRpc3QgaWQzLTU3NzQ2OC11bnN5bmNlZC10YWcudGFnIHRlc3QgZmlsZQoKMjAwOS0wNS0xMSAyMTowMjoyNyArMDIwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW4gYXQgZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW5pdGlhbGl6ZSB2YXJpYWJsZSB0byAwCgkgIEZpeGVzICM1ODIyMTguCgoyMDA5LTA1LTExIDE4OjIxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBPbmx5IHNlYXJjaCBmb3IgdGhlIGluZGV4IGVudHJ5IG9uY2UKCjIwMDktMDUtMTEgMTg6MTg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSB0aGUgZmlyc3QgaW5kZXggZW50cnkgaWYgaXQncyBhZnRlciB0aGUgc2VlayBwb3NpdGlvbgoKMjAwOS0wNS0xMSAxODoxNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVc2UgdGhlIGZpcnN0IGVudHJ5IGZvciBhIGdpdmVuIHN0cmVhbSBpZiB0aGUgZmlyc3QgZW50cnkgaXMgYWZ0ZXIgdGhlIHNlZWsgcG9zaXRpb24KCjIwMDktMDUtMTEgMTY6NTA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogVXNlIGJpbmFyeSBzZWFyY2ggZm9yIGZpbmRpbmcgdGhlIHJlcXVlc3RlZCBpbmRleCBlbnRyeSB3aGVuIHNlZWtpbmcKCjIwMDktMDUtMTEgMTU6MzY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogSW1wcm92ZS9vcHRpbWl6ZSBzZWVraW5nCgkgIEZpcnN0IG9mIGFsbCBhIGtleWZyYW1lIHNlZWsgc2hvdWxkIGJlIGRvbmUgdG8gdGhlCgkgIGtleWZyYW1lIHJpZ2h0IGJlZm9yZSB0aGUgcmVxdWVzdGVkIHBvc2l0aW9uIGFuZCBub3QKCSAgdG8gdGhlIGtleWZyYW1lIHRoYXQgaXMgbmVhcmVzdCB0byB0aGUgcmVxdWVzdGVkIHBvc2l0aW9uLgoJICBVc2UgcGVyIHRyYWNrIGluZGV4IGFycmF5cyBhbmQgdXNlIG91ciBuZXcgYmluYXJ5IHNlYXJjaCBmdW5jdGlvbgoJICBmcm9tIGNvcmUgdG8gc3BlZWQgdXAgdGhlIHNlYXJjaC4KCjIwMDktMDUtMTEgMTU6MzY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUvYmFzZQoKMjAwOS0wNS0xMSAxMDoxNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZ2RrcGl4YnVmOiBVc2UgdGhlIGxpYnMgYW5kIGNmbGFncyBvZiBnZGsgcGl4YnVmIGluc3RlYWQgb2YgZ3RrCgkgIFRoaXMgZml4ZXMgdGhlIGJ1aWxkIGlmIGdkay1waXhidWYgaXMgZm91bmQgYnV0IGd0ayBpc24ndAoKMjAwOS0wNS0xMSAwOTo1ODo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFsd2F5cyBkZWZpbmUgdGhlIGNvbmRpdGlvbmFsIEhBVkVfR1RLIHRvIGZpeCBjb25maWd1cmUgaW4gc29tZSBjYXNlcwoKMjAwOS0wNS0xMCAxMToxNzoyMyArMDIwMCAgTWFyYy1BbmRyZSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgUnVuIGxpYnRvb2xpemUgYmVmb3JlIGFjbG9jYWwKCSAgVGhpcyB1bmJyZWFrcyB0aGUgYnVpbGQgaW4gc29tZSBjYXNlcy4gRml4ZXMgYnVnICM1ODIwMjEKCjIwMDktMDUtMDkgMTA6NTA6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggcHJpbnRmIGZvcm1hdCB0byBhZ3JlZSB3aXRoIGFyZ3VtZW50CgoyMDA5LTA1LTA4IDE5OjQyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIHJhdzEzOTQ6IGluY2x1ZGUgc3RkbGliLmggZm9yIHN0cnRvbCgpCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCB4bWwgc3R1ZmYgaW4gY29yZSBkaXNhYmxlZC4KCjIwMDktMDUtMDggMTY6NDA6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEFjdHVhbGx5IG91dHB1dCB0aGUgcGVuZGluZyBidWZmZXIuLiBhbmQgbm90IGEgYmxhbmsgb25lLgoJICBJdCB3YXMgcHJldmlvdXNseSBzZW5kaW5nIHRoZSBib2d1cyBidWZmZXIgd2hpY2ggd2FzIHJldHVybmVkIGZyb20KCSAgdGhlIGJ1ZmZlcmFsbG9jIChyZXF1aXJlZCBmb3IgcmV2ZXJzZSBuZWdvdGlhdGlvbiBhcHBhcmVudGx5KSBpbnN0ZWFkCgkgIG9mIHRoZSBwZW5kaW5nIGJ1ZmZlci4KCjIwMDktMDUtMDggMTI6MDA6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFsbG93IG5vbi1zdHJpbmcgZmllbGRzIGluIHRoZSBleHRyYS1oZWFkZXJzIHByb3BlcnR5CgoyMDA5LTA1LTA4IDExOjM1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkgIHJ0ajJrZGVwYXk6IGFkZCBiYXNpYyBKUEVHIDIwMDAgZGVwYXlsb2FkZXIKCjIwMDktMDUtMDggMTE6MzE6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IHNldCBtYXJrZXIgYml0IGNvcnJlY3RseQoKMjAwOS0wNS0wOCAxMToyOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIHN1cHBvcnQgZm9yIGV4dHJhLWhlYWRlcnMgYXBwZW5kZWQgdG8gdGhlIEhUVFAgcmVxdWVzdAoJICBUaGlzIGFsbG93cyB0byBzZXQgdGhlIFJlZmVyZXIgaGVhZGVyIGFtb25nIG90aGVyIHRoaW5ncyBieQoJICBhZGRpbmcgYSAiZXh0cmEtaGVhZGVycyIgcHJvcGVydHkgdGhhdCB0YWtlcyBhIEdzdFN0cnVjdHVyZQoJICB3aXRoIGZpZWxkPXN0cmluZyBwYWlycy4KCSAgRml4ZXMgYnVnICM1ODE4MDYuCgoyMDA5LTA1LTA4IDEwOjM4OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSAgcnRwajJrcGF5OiBhZGQgYSBzaW1wbGUgSlBFRyAyMDAwIHBheWxvYWRlcgoKMjAwOS0wNS0wOCAxMDozMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiB3ZSBvbmx5IG5lZWQgdG8gc3dhcCBiaXRzIG9uIExFCgoyMDA5LTA1LTA3IDE4OjEwOjA4ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgQWRkIFJBTktTIGZvciB2YXJpb3VzIGVuY29kZXJzIGFuZCBtdXhlcnMKCjIwMDktMDUtMDcgMTc6MDk6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkIHNvbWUgZGVidWdnaW5nCgoyMDA5LTA1LTA3IDE1OjU4OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBhcnNlIHhpcGggaGVhZGVycyBsZW5ndGggY29ycmVjdGx5CgkgIFNlZSAjNTgwOTgwCgoyMDA5LTA1LTA3IDE2OjI1OjQxICswMjAwICBHYWJyaWVsIEJvdXZpZ25lIDxib3V2aWduZUBtcDMtdGVjaC5vcmc+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgIHJnYW5hbHlzaXM6IEFkZCBhYmlsaXR5IHRvIHBvc3QgbGV2ZWwgbWVzc2FnZXMKCSAgRml4ZXMgYnVnICM1ODE1NjguCgoyMDA5LTA1LTA2IDIzOjU2OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHJlZnVzZSBzb21lIHVuc3VwcG9ydGVkIGpwZWcgZm9ybWF0cwoKMjAwOS0wNS0wNiAxODowNjo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogZml4IGRlc2NyaXB0aW9uCgoyMDA5LTA1LTA2IDE2OjA5OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHJld3JpdGUgcXVhbnQgdGFibGUgaGFuZGxpbmcKCSAgUmV3cml0ZSB0aGUgcXVhbnQgdGFibGUgcGFyc2luZyB0byBhbHNvIGhhbmRsZSBtdWx0aXBsZSB0YWJsZXMgaW4gb25lIEpQRUcgSERRCgkgIHNlZ21lbnQuCgkgIEhhbmRsZSBtb3JlIGpwZWcgdHlwZXMgYnkga2VlcGluZyB0cmFjayBvZiB0aGUgdGFibGVzIHVzZWQgcGVyIGNvbXBvbmVudCBhbmQKCSAgcHV0dGluZyB0aGUgdXNlZCBvbmVzIGluIHRoZSBxdWFudCBoZWFkZXJzLgoKMjAwOS0wNC0xOCAxNzoyMzo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgaWQzdjJtdXg6IE1ha2UgdGhlIHRlc3QgZmFpbHVyZSBzbGlnaHRseSBtb3JlIGluZm9ybWF0aXZlCgoyMDA5LTA0LTIwIDE4OjMzOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWM6IE1ha2UgYnVmZmVycyBjcmVhdGVkIGR1cmluZyBzZWVrIGFjdCBsaWtlIG5vcm1hbCBidWZmZXJzLgoJICBTdG9yZSB0aGUgb2Zmc2V0IGFuZCBjYXBzIHdoZW4gYWxsb2NhdGluZyBhIGJ1ZmZlciBkdXJpbmcgc2Vla2luZywgYW5kIHRoZW4KCSAgYWxsb2NhdGUgYSBuZXcgYnVmZmVyIHdpdGggYnVmZmVyX2FsbG9jIGJlZm9yZSB3ZSBwdXNoIGl0IG91dC4gVGhpcyBlbnN1cmVzCgkgIHRoYXQgaW4gYWxsIHJlc3BlY3RzIHRoZSBmaXJzdCBidWZmZXIgZGVjb2RlZCBkdXJpbmcgc2Vla2luZyBiZWhhdmVzIGxpa2UKCSAgYWxsIG90aGVyIGJ1ZmZlcnMsIGluY2x1ZGluZyBhbGxvd2luZyBkb3duc3RyZWFtIHJlLW5lZ290aWF0aW9uLgoKMjAwOS0wNC0xOCAxODowMDo1NCArMDIwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGRvbid0IHVzZSBwYWRfYWxsb2Mgd2hlbiBkZWNvZGluZyB3aGlsZSBzZWVraW5nLiBGaXhlcyAjNTc5NDIyCgoyMDA5LTA1LTA2IDEzOjIyOjUxICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHJlZmFjdG9yZWQgZ3N0X2pwZWdfZGVjX3BhcnNlX2ltYWdlX2RhdGEKCSAgRml4ZXMgIzU3OTgwOAoKMjAwOS0wNS0wNiAxMzoxMTo1MyArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBzdXBwb3J0IGFkZGl0aW9uYWwgMHhmZiBiZWZvcmUgZW5kIG1hcmtlci4KCSAgSlBFRyBtYXJrZXJzIG1heSBiZSBwcmVjZWRlZCBieSBhZGRpdGlvbmFsIDB4ZmYuICBqcGVnZGVjIHNob3VsZAoJICBza2lwIG92ZXIgdGhlc2UsIGV2ZW4gYmVmb3JlIHRoZSBlbmQgbWFya2VyLgoJICBTZWUgIzU3OTgwOAoKMjAwOS0wNS0wNiAxMjo1NDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBoYW5kbGUgaW5wdXQgd2l0aCAxIHF1YW50IHRhYmxlCgkgIEFsc28gaGFuZGxlIGlucHV0IHdpdGgganVzdCBvbmUgcXVhbnQgdGFibGUsIHNpbXBseSBkdXBsaWNhdGUgdGhlIHF1YW50IHRhYmxlLgoJICBIYW5kbGUgaW52YWxpZCBTT0YgY29ycmVjdGx5IGFuZCBzb21lIHNtYWxsIGNsZWFudXBzLgoJICBGaXhlcyAjNTc4MjU3CgoyMDA5LTA0LTI5IDE1OjU4OjEwICswMzAwICBNYXJjbyBCYWxsZXNpbyA8bWFyY28uYmFsbGVzaW9Abm9raWEuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggYnl0ZSBvcmRlciBzd2FwcGluZyBpbiAzR1BQIGNsYXNzaWZpY2F0aW9uIGVudGl0eSB0YWcKCSAgRml4ZXMgIzU4MDc0Ni4KCjIwMDktMDUtMDUgMTc6MDc6MTMgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGF2b2lkIHJlYWRpbmcgZnJvbSBpbmF2bGlkIG1lbW9yeQoJICBSZWFkIHRoZSB0aW1lc3RhbXAgb2YgdGhlIGluY29tbWluZyBidWZmZXIgYmVmb3JlIHdlIHB1c2ggaXQgaW4gdGhlIGFkYXB0ZXIgYW5kCgkgIGZsdXNoIGl0IG91dCBhZ2FpbiBhcyB0aGUgYnVmZmVyIG1pZ2h0IGJlIHVucmVmZmVkIHRoZW4gYW5kIHdlIHJlYWQgZnJvbSBpbnZhbGlkCgkgIG1lbW9yeS4KCSAgRml4ZXMgIzU4MTQ0NC4KCjIwMDktMDUtMDUgMTc6MDM6MjkgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGRvbid0IGxlYWsgZHluYW1pYyBwYWRzCgkgIEZyZWUgdGhlIGR5bmFtaWMgcGFkcyBkYXRhIGluIGZpbmFsaXplLgoJICBGaXhlcyAjNTgxNDMyCgoyMDA5LTA1LTA1IDE2OjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBydHBqcGVncGF5OiBjb3JyZWN0bHkgc2V0IHRoZSB0eXBlIGhlYWRlcgoJICBEb24ndCByZXF1aXJlIHdpZHRoL2hlaWdodCBvbiB0aGUgY2Fwcy4gVXNlIHRoZSBTT0YgaGVhZGVyIHRvIGZpbmQgd2lkdGgvaGVpZ2h0CgkgIGFuZCBmYWxsIGJhY2sgdG8gdGhlIGNhcHMgaWYgdGhlcmUgaXMgbm8gU09GLiBBbHNvIHVzZSB0aGUgU09GIGluZm8gdG8gZmluZCB0aGUKCSAgc3Vic2FtcGxpbmcgYW5kIHF1YW50aXphdGlvbiB0YWJsZXMgdXNlZC4gVGhpcyBhbGxvd3MgdXMgdG8gc2V0IHRoZSByaWdodCB0eXBlCgkgIHZhbHVlIGluIHRoZSBKUEVHIHJ0cCBoZWFkZXIuCgkgIERlcHJlY2F0ZSB0aGUgcXVhbGl0eSBwcm9wZXJ0eSwgaXQncyB1bnVzZWQgbm93IGFuZCBpdCB3YXMgdXNlZCB3cm9uZ2x5IGJlZm9yZS4KCSAgQWx3YXlzIHNlbmQgZnVsbCBxdWFudCB0YWJsZXMgZm9yIG5vdyB1bnRpbCB3ZSBoYXZlIHNvbWUgY29kZSB0byBkZXRlY3QgZGVmYXVsdAoJICBvbmVzLgoJICBGaXhlcyAjNTgwODgwCgoyMDA5LTA1LTA1IDE2OjI4OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAgcnRwanBlZ2RlcGF5OiB1c2Ugd2lkdGgvaGVpZ2h0IGZyb20gcGF5bG9hZAoJICBVc2UgdGhlIHdpZHRoIGFuZCB0aGUgaGVpZ2h0IGZyb20gdGhlIHBheWxvYWQgaGVhZGVycyBhbmQgc2V0IHRoZW0gb24gdGhlCgkgIG91dHB1dCBjYXBzIGZvciBhZGRlZCBhd2Vzb21lbmVzcy4KCSAgRml4IHF1YW50IHBhcnNpbmcsIHdlIG5lZWQgdG8gY2hlY2sgdGhlIHR5cGUgaW4gdGhlIGxvd2VyIDYgYml0cy4KCSAgQWRkIGZpcnN0IGJpdHMgb2YgY2FjaGluZyBxdWFudGl6YXRpb24gdGFibGVzLgoKMjAwOS0wNS0wNSAxNjoyNDoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogc2V0IGNvbG9yc3BhY2UgYmVmb3JlIF9zZXRfZGVmYXVsdHMoKQoJICBUaGUgbGlianBlZyBhcGkgc2F5cyB0aGF0IHdlIG5lZWQgdG8gc2V0IHRoZSBjb2xvcnNwYWNlIGJlZm9yZSB3ZSBjYWxsCgkgIF9zZXRfZGVmYXVsdHMoKS4gSW5kZWVkLCBpZiB3ZSBkb24ndCBkbyB0aGF0IHdlIGVuZCB1cCB3aXRoIHNvbWUgdmVyeSBmcmVha3kKCSAgbm9uLXN0YW5kYXJkIHF1YW50IHRhYmxlIGFuZCBodWZmbWFuIHRhYmxlIGluZGV4ZXMuCgoyMDA5LTA1LTA1IDEzOjE5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZG9uJ3QgYnVpbGQgZXhhbXBsZXMgaWYgLS1kaXNhYmxlLWV4YW1wbGVzIHdhcyBwYXNzZWQgdG8gY29uZmlndXJlCgoyMDA5LTA1LTA1IDEyOjMzOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjbGVhbiB1cCBtZXNzIGFyb3VuZCBndGsrIGNoZWNraW5nCgkgIEFuZCBkb24ndCBjaGVjayBmb3IgZ3RrKyB3aGVuIGl0J3Mgbm90IG5lZWRlZCAoaWUuIGlmIGV4YW1wbGVzIGFyZSBkaXNhYmxlZCkKCjIwMDktMDUtMDUgMTI6Mjc6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgY29uZmlndXJlOiBtYWtlIGdkay1waXhidWYgcGx1Z2luIGRlcGVuZCBvbmx5IG9uIGdkay1waXhidWYsIG5vdCBndGsrCgoyMDA5LTA1LTA0IDE4OjU1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggZmluZF9zdHJlYW1fYnlfKiBmdW5jdGlvbnMKCSAgRml4IHZhcmlvdXMgdmVyc2lvbiBvZiBmaW5kX3N0cmVhbV9ieV8qIGJ5IG5vdCB0cnlpbmcgdG8gY29udmVydCBhbiBpbnQgdG8gYQoJICBwb2ludGVyIGFuZCB2aWNlIHZlcnNhLCBmb3IgcG9ydGFiaWxpdHkgcmVhc29ucy4KCSAgRml4ZXMgIzU4MTMzMwoKMjAwOS0wNS0wNCAxODozMjowNSArMDIwMCAgQ2hyaXMgV2ludGVyIDxlbHdpbnRybyBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkdW1teSBuYXQgcGFja2V0IGxvZ2ljCgkgIEZpeCBhIHR5cG8gaW4gdGhlIGR1bW15IE5BVCBwYWNrZXQgc2VuZGluZyBjb2RlLgoJICBGaXhlcyAjNTgxMzI5CgoyMDA5LTA0LTMwIDEwOjI0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgZXJyb3JzIGFmdGVyIHNlcnZlciBlb2YKCSAgU2VydmVyIGVvZiAoZS5nLiBjb25uZWN0aW9uIGNsb3NlZCkgaXMgYW5ub3VuY2VkIGFzIGNvbm5lY3Rpb24gY2xvc2VkLAoJICBzbyBiZXR0ZXIgcmVjb3JkIHN0YXRlIGFuZCBhY3QgYWNjb3JkaW5nbHkgdG8gcHJldmVudCAocmVhZC93cml0ZSkKCSAgZXJyb3JzIGR1cmluZyBzdWJzZXF1ZW50IHRlYXJkb3duL2NsZWFudXAgc2VxdWVuY2VzLiAgI0ZpeGVzIDU4MDg1MS4oYykuCgoyMDA5LTA0LTMwIDEwOjE5OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBzZXQgYmFzZV90aW1lIG9uIHNyYyBhZnRlciBmbHVzaAoJICB0aW1lc3RhbXBzIGZvbGxvd2luZyBmbHVzaC9zZWVrIHNob3VsZCBiZSBjb25zaXN0ZW50IGJldHdlZW4KCSAgVURQIGFuZCBUQ1AgaW50ZXJsZWF2ZWQgY2FzZS4gIEZpeGVzICM1ODA4NTEuKGIpLgoKMjAwOS0wNC0zMCAxMDoxNzoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNhbml0eSBjaGVja3Mgb24gcmFuZ2UgaW5mbwoJICBBIG1heCByYW5nZSB0aGF0IG92ZXJmbG93cyBzaG91bGQgbm90IGJlIHRydXN0ZWQsCgkgIG5vciBzaG91bGQgYSBtYXggcmFuZ2UgdGhhdCBlcXVhbHMgdGhlIG1pbiByYW5nZS4KCSAgRml4ZXMgIzU4MDg1MS4oYSkuCgoyMDA5LTA1LTA0IDE2OjE2OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHVzZSBTS0lQIGZsYWcgdG8gdXNlIFNDQUxFIGhlYWRlcnMKCSAgV2UgY2FuIHVzZSB0aGUgU0tJUCBzZWVrIGZsYWcgdG8gaW5zdHJ1Y3QgdGhlIHNlcnZlciB0byBzZW5kIGRhdGEgZmFzdGVyIHRoZW4KCSAgbm9ybWFsIGJ1dCB3aXRoIHRoZSBzYW1lIGJhbmR3aWR0aC4KCSAgRml4ZXMgIzUzNzYwOQoKMjAwOS0wNS0wNCAxNDoxOToyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IG1ha2Ugc3BlZXhfZGVjX2NvbnZlcnQgd29yayB3aXRoIHNhbWUtZm9ybWF0IHZhbHVlcyB3aGVuIG5vIGRhdGEgaGFzIGJlZW4gZGVjb2RlZC4KCjIwMDktMDUtMDQgMTI6NDM6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjo0MTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjQwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFjazogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzU6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBiaW5hcnkgc2VhcmNoIGZvciBpbmRleAoJICBVc2UgdGhlIG5ldyBiaW5hcnkgc2VhcmNoIG1ldGhvZCBmb3IgZmluZGluZyB0aGUgcmlnaHQgaW5kZXggZW50cnkgZmFzdGVyLgoKMjAwOS0wNS0wNCAxMToyNjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogZHJhdyB0aGUgY29tcGxldGUgVSBhbmQgViBwbGFuZXMKCSAgUm91bmQgdXAgdGhlIHNjYWxlZCBVIGFuZCBWIHdpZHRoIGFuZCBoZWlnaHQgc28gdGhhdCB3ZSBhbHdheXMgZHJhdyB0aGUgY29ycmVjdAoJICBhbW91bnQgb2YgcGl4ZWxzIHRvIGZpbGwgdGhlIGNvbXBsZXRlIGltYWdlLgoJICBGaXhlcyAjNTY5NjExCgoyMDA5LTA1LTAxIDE5OjM1OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc29tZSBtb3JlIG1pY3JvIG9wdGltaXNhdGlvbnMKCjIwMDktMDQtMzAgMTg6NDE6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IG1pY3JvIG9wdGltaXplIHF0ZGVtdXggYSBsaXR0bGUKCSAgU3ByaW5rbGUgc29tZSBHX0xJS0VMWSBhcm91bmQuCgkgIEF2b2lkIHRyYXZlcnNpbmcgYW5kIGR1bXBpbmcgdGhlIHRyZWUgd2hlbiBkZWJ1Z2dpbmcgaXMgbm90IGFjdGl2YXRlZC4KCjIwMDktMDQtMzAgMTQ6MjI6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlIHBpY3R1cmVzCgkgIEFkZCBzdXBwb3J0IGZvciBzdWJ0aXRsZSBwaWN0dXJlcy4KCSAgRml4ZXMgIzU2ODI3OC4KCjIwMDktMDQtMzAgMTA6MzI6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogbWFrZSBzdXJlIHdlIGFsd2F5cyBzaWduYWwgd2FpdGVycwoJICBBbHdheXMgc2lnbmFsIHRoZSB3YWl0ZXJzIGluIHRoZSBhc3luYyBjYWxsYmFja3MuIEVzcGVjaWFsbHkgZm9yIHRoZSB2b2x1bWUKCSAgY2FsbGJhY2tzIHNpbmNlIHRoaXMgbWlnaHQgY2F1c2UgZGVhZGxvY2tzLgoKMjAwOS0wNC0yOSAxODowOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVsZWFzZSBzdGF0ZSBsb2NrIGJlZm9yZSBzdG9wcGluZyB0YXNrCgkgIFdlIG5lZWQgdG8gcmVsZWFzZSB0aGUgc3RhdGUgbG9jayBiZWZvcmUgdHJ5aW5nIHRvIHdhaXQgZm9yIHRoZSB0YXNrIHRvIGVuZAoJICBiZWNhdXNlIHRoZSB0YXNrIG1pZ2h0IGFsc28gdGFrZSB0aGUgbG9jay4KCSAgRml4ZXMgIzU3NzY3MQoKMjAwOS0wNC0yOSAxMjoxOToyNyArMDIwMCAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZSBhdCBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIGFjLTMgYXVkaW8KCSAgZml4IGRlbXV4aW5nIG9mIG00diBzdHJlYW1zIHdpdGggYWMtMyBhdWRpbwoJICBGaXhlcyAjNTgwNTU0CgoyMDA5LTA0LTI5IDExOjEyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogVXNlIHRoZSB0YWcgbWVyZ2UgbW9kZSB0aGF0IHdhcyBzZXQgb24gdGhlIGludGVyZmFjZSBmb3IgbWVyZ2luZyB0YWcgZXZlbnRzCgoyMDA5LTA0LTI1IDA5OjQzOjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggZ2V0YWRkcmluZm8gZXJyb3IgcmVwb3J0aW5nCgkgIGdldGFkZHJpbmZvIGVycm9ycyBzaG91bGQgYmUgcmVwb3J0ZWQgd2l0aCBnYWlfc3RyZXJyb3IgaW5zdGVhZCBvZiBlcnJubyBhcwoJICBzcG90dGVkIGJ5IE1pa2VTLgoKMjAwOS0wNC0yNyAxMDowODozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICBnNzI2cGF5OiBmaXggY29tcGlsYXRpb24KCjIwMDktMDQtMjcgMTA6MDI6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkgIGc3MjZwYXk6IGFkZCBSRkMgY29tcGxpYW50IHBhY2tldGl6aW5nCgkgIFNodWZmbGUgdGhlIGlucHV0IGJpdHMgYWNjb3JkaW5nIHRvIFJGQyAzNTUxIGZvciBHNzI2IHBheWxvYWRzLgoJICBBZGQgb3B0aW9uIHRvIGZvcmNlIHRoZSBwcmV2aW91cyBiZWhhdmlvdXIuCgkgIEZpeGVzICM1NjcxNDAKCjIwMDktMDQtMjcgMDk6NTk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICBnNzI2ZGVwYXk6IGFkZCBkZWJ1ZyBjYXRlZ29yeQoJICBBZGQgYSBkZWJ1Z2dpbmcgY2F0ZWdvcnksIGFkZCBzb21lIGNvbW1lbnRzIGFuZCByZW1vdmUgX3BlZWtfcGFyZW50KCkuCgoyMDA5LTA0LTI2IDE1OjU5OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgaWQzdjJtdXg6IHdlIG5lZWQgdGFnbGliIDEuNSBmb3IgSUQzdjI6OlJlbGF0aXZlVm9sdW1lRnJhbWU6OnNldElkZW50aWZpY2F0aW9uCgkgIEJ1bXAgdGFnbGliIHJlcXVpcmVtZW50LgoKMjAwOS0wNC0yNCAwMjoxMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9maWxlcy9pZDMtNTc3NDY4LXVuc3luY2VkLXRhZy50YWc6CgkgIGlkM2RlbXV4OiBhZGQgdW5pdCB0ZXN0IGZpbGUgZm9yIHVuc3luY2VkIGlkMyB0YWdzCgoyMDA5LTA0LTI0IDAxOjUxOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBwYXJzZSB1bnN5bmNocm9uaXNlZCB0YWdzIHByb3Blcmx5CgkgIFdlIGRpZG4ndCBoYW5kbGUgdW5zeW5jaHJvbml6YXRpb24gYXQgYWxsIHVwIHRvIG5vdywgd2hpY2ggbWlnaHQgaGF2ZQoJICBjYXVzZWQgZnJhbWVzIHRvIG5vdCBiZSBleHRyYWN0ZWQgLSBlc3AuIGZyYW1lcyBhZnRlciBhbiBBUElDIHBpY3R1cmUKCSAgZnJhbWUuIEZpeGVzICM1Nzc0NjguCgoyMDA5LTA0LTI0IDAxOjAxOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBwYXNzIHRoZSByaWdodCBzaXplIHZhbHVlIGZvciBzaXplIG9mIGFsbCBmcmFtZXMgdG8gdGhlIHBhcnNlcgoJICBGcmFtZSBkYXRhIHNpemUgaXMgdGFnIHNpemUgYWRqdXN0ZWQgZm9yIHNpemUgb2YgdGhlIHRhZyBoZWFkZXIgYW5kCgkgIGZvb3Rlciwgbm90IHRhZyBzaXplIGluY2x1ZGluZyBoZWFkZXIgYW5kIGZvb3Rlci4KCjIwMDktMDQtMjIgMTU6MjQ6NTUgKzAyMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aSBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHNvbWUgbW9yZSBwYWQgbGVha3MKCSAgRml4IHNvbWUgcGFkIGxlYWtzLgoJICBTZWUgIzU3NzMxOC4KCjIwMDktMDQtMjEgMjI6MTI6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjM5NDFlYSB0byA2YWIxMWQxCgoyMDA5LTA0LTIxIDE0OjAyOjAxIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb3ZlcnJpZGUgY2FwcyBiYXNlZCBvbiBkYXRhIGZyb20gRVNEUyBhdG9tcyBpbiBtcGVnNC4KCSAgSWYgdGhlIGNvZGVjIGlzIGFjdHVhbGx5IHNvbWV0aGluZyBlbHNlIChlLmcuIG1qcGVnKSBjaGFuZ2UgdGhlIGNhcHMgdG8KCSAgbWF0Y2ggd2hlbiBwYXJzaW5nIHRoZSBFU0RTIGF0b20uCgkgIEFsc28sIGZvciBBQUMsIG92ZXJyaWRlIHJhdGUgYW5kIGNoYW5uZWxzIHdpdGggY29ycmVjdCB2YWx1ZXMgcmVhZCBmcm9tCgkgIEVTRFMsIHNpbmNlIHRoZSByYXRlL2NoYW5uZWxzIHZhbHVlcyBlbHNld2hlcmUgYXJlIG9mdGVuIHdyb25nLgoKMjAwOS0wNC0yMCAxOTozMjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB3YXJuaW5nIGZvciBzdGlsbCBpbWFnZXMgYnkgbm90IHRyeWluZyB0byBkaXZpZGUgYnkgMAoJICBEb24ndCBwYXNzIGEgMCBkaXZpc29yIHRvIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSgpLCBvciBpdCB3aWxsIGNvbXBsYWluCgkgIGluIHRoZSBzaW5nbGUgaW1hZ2UgY2FzZSB3aGVyZSBmcHM9MC8xIChhcmUgd2Ugc3VwcG9zZWQgdG8gZGlmZmVyZW50aWF0ZQoJICBiZXR3ZWVuIG5vIGZwcz1zdGlsbCBpbWFnZSBhbmQgZnBzPTAvMT12YXJpYWJsZSByYXRlIGhlcmUgYnR3PykKCjIwMDktMDQtMjAgMTc6MjU6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBGaXggYSBzaW1wbGUgdHlwbyBpbiB0aGUgcHJldmlvdXMgY29tbWl0CgkgIFVzZSAjaWZkZWYgaW5zdGVhZCBvZiAjaWYsIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMDQtMjAgMTU6NDg6MjEgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQHdpbmdvbWFjLmJjbi5vYmxvbmcubmV0PgoKCSAgZml4IGZvcm1hdCBzdHJpbmcgaW4gcG5nZGVjCgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogRml4IHNpemVfdCB2cyB1bnNpZ25lZCBpbnQgZm9ybWF0IGluIGVycm9yIG1lc3NhZ2UuCgoyMDA5LTA0LTIwIDE1OjQ2OjAzICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0B3aW5nb21hYy5iY24ub2Jsb25nLm5ldD4KCgkgIG9ubHkgdXNlIHN0cnVjdCBpcF9tcmVxbiBpZiBpdCBpcyBkZXRlY3RlZAoJICAqIGNvbmZpZ3VyZS5hYzogTWFrZSBhbiBleHBsaWNpdCBjaGVjayBmb3Igc3RydWN0IGlwX21yZXFuLgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogVXNlIEhBVkVfSVBfTVJFUU4gaW5zdGVhZCBvZiB0aGUgYWQtaG9jIGNoZWNrcy4KCjIwMDktMDQtMjAgMTM6NDU6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBGaXggcHVzaCBtb2RlIGJ1ZmZlcmluZyBzYW5pdHkgY2hlY2sgdG8gYWN0dWFsbHkgZml0IHRoZSBkZXNjcmlwdGlvbi4KCjIwMDktMDQtMTggMTk6MTE6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogQW5kIGxldCdzIG5vdCBmb3JnZXQgdG8gcmVtb3ZlIHRoZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA0LTE4IDE4OjUwOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLCB0aGUgdmFyaWFibGVzIGFyZSBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0OTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBUaGUgdmFsdWUgaXMgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDg6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuCgkgIHQgaXMgYmVpbmcgb3ZlcndyaXR0ZW4gYWZ0ZXIsIGJlZm9yZSBpdCdzIHVzZWQuCgoyMDA5LTA0LTE4IDE4OjQ4OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICBydHBhbXJkZXBheTogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlLCB0aGUgdmFsdWUgaXMgb25seSByZWFkIG9uY2UuCgoyMDA5LTA0LTE4IDE4OjQ3OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwYW1ycGF5OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUsIHRoZSB2YWx1ZSBpcyBvbmx5IHJlYWQgb25jZS4KCjIwMDktMDQtMTggMTg6NDY6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgIGdvb20vZmlsdGVyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVmFsdWUgb3ZlcndyaXR0ZW4ganVzdCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDU6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFZhbHVlIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ1OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBWYWx1ZSBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0MzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUsIGl0J3MgbmV2ZXIgYmVpbmcgcmVhZC4KCjIwMDktMDQtMTggMTg6NDI6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuICdyZXMnIGlzbid0IHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQxOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLiAncmVzJyBpcyBuZXZlciByZWFkLgoKMjAwOS0wNC0xOCAxODo0MDo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIGRlYWQgdmFyaWFibGUuICdzdHJlYW0nIGlzIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjM5OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVib3g6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLgoJICBUaGVzZSB2YXJpYWJsZXMgYXJlIG5ldmVyIHJlYWQgYWZ0ZXIgdGhpcyBwb2ludC4KCjIwMDktMDQtMTggMTg6Mzg6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICBnb29tOiBmZiBhbmQgaWZmIGFyZSBvbmx5IHVzZWQgaW4gYSAnI2lmZGVmIERSQVdfTU9USUYnIGJsb2NrLgoKMjAwOS0wNC0xOCAxODozNDoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4KCSAgcmVzIGlzbid0IHJlYWQgYWZ0ZXIgdGhpcy4KCjIwMDktMDQtMTggMTg6MzI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLCBtb3ZlIHZhcmlhYmxlIHRvIHdoZXJlIGl0J3MgbmVlZGVkLgoJICBUaGUgaGVhZGVyX3JlYWRfZXJyb3IgbGFiZWwgd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IKCjIwMDktMDQtMTggMTg6MjE6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuCgkgIFRoZSB2YWx1ZSBvZiAnc3RyJyB3aWxsIG5ldmVyIGJlIHVzZWQgaW4gdGhlc2UgY2FzZXMuCgoyMDA5LTA0LTE4IDE4OjE5OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlLgoJICBpcmV0IHdhcyBuZXZlciByZWFkIG91dHNpZGUgb2YgdGhhdCBsb29wLCBhbmQgaXMgYWx3YXlzIGJlaW5nIGV4aXRlZCBpZgoJICBpcmV0IHdhcyAhPSBHU1RfRkxPV19PSyBhbnl3YXkuCgoyMDA5LTA0LTE4IDE4OjE3OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogTW92ZSAncmVzJyB0byB3aGVyZSBpdCdzIGFjdHVhbGx5IGJlaW5nIHVzZWQuCgkgIHJlcyB3YXMgbmV2ZXIgdXNlZCBvdXRzaWRlIG9mIHRoYXQgYmxvY2sgZXhjZXB0IGZvciBhIGRlYWQgYXNzaWdubWVudC4KCjIwMDktMDQtMTggMTg6MTY6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgIGF1ZGlvZng6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgkgIHJ6IGlzIG5ldmVyIHVzZWQgaW4gdGhlc2UgbWV0aG9kcy4KCjIwMDktMDQtMTggMTg6MTU6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hyaW5nYnVmZmVyOiBSdW4gZ3N0LWluZGVudC4KCjIwMDktMDQtMTggMTg6MTQ6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLgoJICBUaG9zZSB2YXJpYWJsZXMgYXJlIG5vdCByZWFkIGFmdGVyIHRoYXQgcG9pbnQuCgoyMDA5LTA0LTE4IDE4OjExOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL3BhaW50LmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFJlbW92ZSB0cml2aWFsIHVudXNlZCB2YXJpYWJsZXMgZGV0ZWN0ZWQgYnkgQ0xhbmcgc3RhdGljIGFuYWx5emVyLgoKMjAwOS0wNC0xOCAxNzo1MjowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBSZW1vdmUgYmxhbmsge3NldHxnZXR9X3Byb3BlcnR5L2NoYW5nZV9zdGF0ZS9maW5hbGl6ZSBtZXRob2RzLgoKMjAwOS0wNC0xOCAxNzo0Mjo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBpbiBfY2xhc3NfaW5pdAoJICBEZXRlY3RlZCBieSBMTFZNJ3MgQ0xhbmcgc3RhdGljIGFuYWx5emVyCgoyMDA5LTA0LTE4IDEzOjU0OjA4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBjaGVjazogQ2hlY2sgd2hldGhlciB0aHJlYWRzIGFyZSBhbHJlYWR5IGluaXRpYWxpc2VkIGJlZm9yZSBnX3RocmVhZF9pbml0KCkKCjIwMDktMDQtMTggMTQ6MzI6NDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFyayBkaXNjb250IG9uIHRoZSBzdHJlYW1zIGFzIHdhcyBzYWlkIHRoZSBkZWJ1ZyBsaW5lCgkgIEFmdGVyIGEgc2VlayBtYXJrIGFsbCBzdHJlYW1zIHdpdGggZGlzY29udCBhcyBpdCB3YXMgc2FpZCBpbiB0aGUgZGVidWcgbGluZS4KCSAgRml4ZXMgdGhhdCBidWZmZXJzIGFmdGVyIGEgc2VlayBhcmUgZ2VuZXJhdGVkIHdpdGhvdXQgYSB2YWxpZCB0aW1lc3RhbXAuCgoyMDA5LTA0LTE4IDA4OjQ1OjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcCBHU1RfUlRTUF9FRU9GIHRvIEVPUyBvbiBzZXJ2ZXIgcmVxdWVzdHMKCSAgUGVybWl0IHByb3Blcmx5IGhhbmRsZSB0aGUgRU9TIGNvbmRpdGlvbiB3aGVuIHNlcnZlciByZXBvcnQgaXQgaW4gYSByZXF1ZXN0LgoKMjAwOS0wNC0xOCAwODozOTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mIHUuCgoyMDA5LTA0LTE2IDIyOjUwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBzYW1wbGUgb2Zmc2V0IGNhbGN1bGF0aW9uIGFnYWluCgoyMDA5LTA0LTE1IDE5OjMyOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICBzdW5hdWRpbzogZml4IGJyb2tlbiBpbmRlbnRhdGlvbiBvZiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMKCjIwMDktMDQtMTUgMTk6Mjg6NTMgKzAxMDAgIEphbWVzIEFuZHJld2FydGhhIDx0cnM4MEB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgIHN1bmF1ZGlvOiByZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGFuZCBnb3RvIGxhYmVscwoJICBGaXhlcyAjNTc5MDcwLgoKMjAwOS0wNC0xNSAxOToyNDo0OSArMDIwMCAgSmFtZXMgQW5kcmV3YXJ0aGEgPHRyczgwIGF0IHVjYy5ndS51d2EuZWR1LmF1PgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiBmaXggY29tcGlsYXRpb24gb24gYmlnLWVuZGlhbgoJICBTb21lIHNlbWljb2xvbnMgd2VyZSBtaXNzaW5nIGZyb20gdGhlIGJpZy1lbmRpYW4gc3RydWN0cyBpbiBnc3RydHBoMjYzcGF5LmguCgkgIEEgR1NUX0RFQlVHIGNhbGwgd2FzIG1pc3NpbmcgYSBmb3JtYXQgc3BlY2lmaWVyLgoJICBGaXhlcyAjNTc5MDY5CgoyMDA5LTA0LTE1IDIwOjEwOjA0ICswMzAwICBNYXJjbyBCYWxsZXNpbyA8bWFyY28uYmFsbGVzaW9Abm9raWEuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgIHF0ZGVtdXg6IGltcGxlbWVudCAzR1BQIChUUyAyNi4yNDQgVjguMC4wKSBBc3NldCBtZXRhZGF0YSBoYW5kbGluZywgRml4ZXMgIzEzMjE5MwoJICBJbXBsZW1lbnRzIDNncHAgaXNvIG1ldGFkYXRhIHRhZ3Mgd2hpY2ggYXJlIGRpZmZlcmVudCBmcm9tIG1vdiB1ZHRhIGF0b21zLgoKMjAwOS0wNC0xNSAxNTo1MToyNCArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuaDoKCSAgZGVidWd1dGlsczogVXNlIEdfQkVHSU5fREVDTFMvR19FTkRfREVDTFMuCgkgIFVzZSBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xTIHRvIGF2b2lkIGdzdC1pbmRlbnQgbWVzc2luZyB1cCB0aGUKCSAgaW5kZW50YXRpb24gZHVlIHRvIGV4dGVybiAiQyIgeyB9LgoKMjAwOS0wNC0xNSAxNjowMzoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Zy9kZWJ1Zy52Y3Byb2o6CgkqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVnL2VmZW5jZS5oOgoJKiBnc3QvZGVidWcvZWZlbmNlLnZjcHJvajoKCSogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuaDoKCSogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuaDoKCSogZ3N0L2RlYnVnL25hdmlnYXRpb250ZXN0LnZjcHJvajoKCSogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlYnVnL3Rlc3RzLmM6CgkqIGdzdC9kZWJ1Zy90ZXN0cy5oOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWcudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL25hdmlnYXRpb250ZXN0LnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmg6CgkgIGRlYnVnOiByZW5hbWUgZGVidWcgdG8gZGVidWd1dGlscyB0byBhdm9pZCBjbGFzaCB3aXRoIC0tZGlzYWJsZS1kZWJ1Zy4gRml4ZXMgIzU2MjE2OAoKMjAwOS0wNC0xNSAxNTo0MzowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJKiBnc3QvZGVidWcvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuaDoKCSogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5oOgoJKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVnL3Rlc3RzLmg6CgkgIGRlYnVnOiBpbmRlbnQgYmVmb3JlIHJlbmFtaW5nCgoyMDA5LTA0LTE1IDE0OjA3OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgZzcyNmRlcGF5OiBhZGQgcHJvcGVydHkgZm9yIGFhbDIgZm9yY2UKCjIwMDktMDQtMTUgMTM6NTY6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJICBnNzI2ZGVwYXk6IGltcGxlbWVudCBSRkMzNTUxIHBhY2tpbmcKCSAgV2UgaW1wbGVtZW50ZWQgdGhlIEFBTDIgcGFja2luZywgYWRkIHRoZSBlbmNvZGluZy1uYW1lIGZvciB0aG9zZSB0byB0aGUgY2FwcyBhbmQKCSAgYSBwcm9wZXJ0eSB0byBmb3JjZSBBQUwyIGRlY29kaW5nIChhbHdheXMgVFJVRSBmb3Igbm93KS4KCSAgSW1wbGVtZW50IFJGQzM1NTEgdW5wYWNraW5nIGZvciByZWd1bGFyIEc3MjYuCgkgIFNlZSAjNTY3MTQwLgoKMjAwOS0wNC0xNSAwMDoyMjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiBmaXggYnVpbGQKCjIwMDktMDQtMTQgMTg6NTI6NDggKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aSBhdCBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgaDI2M3BheTogdmFyaW91cyBmaXhlcwoJICBSZS1lbmFibGUgbW9kZSBBIHN1cHBvcnQgYW5kIGEgcHJvcGVydHkgdG8gY29udHJvbCBpdC4KCSAgRml4IG1lbW9yeSBsZWFrIG9mIEdzdFJ0cEgyNjNQYXlCb3VuZHJ5IG9iamVjdHMuCgkgIEZpeCBtYXJrZXIuCgkgIEZpeGVzICM1MDkzMTEKCjIwMDktMDQtMTQgMTg6NDQ6NTEgKzAyMDAgIEphbmluIEtvbGVuYyA8amFuaW4ua29sZW5jIGF0IG1hcmFuZC5zaT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgaDI2M3BheTogRml4IHRoZSBwYXlsb2FkZXIKCSAgRml4IHRoZSBIMjYzIHBheWxvYWRlciB0byBiZSBtb3JlIFJGQyAyMTkwIGNvbXBsaWFudC4KCSAgU2VlICM1MDkzMTEKCjIwMDktMDQtMTQgMTc6Mjc6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkb24ndCBwdXNoIEVPUyBpbiBzdHJlYW1pbmcgbW9kZQoJICBJbiBzdHJlYW1pbmcgbW9kZSwgYXZpZGVtdXggaXMgbm90IHN1cHBvc2VkIHRvIHNlbmQgYW4gRU9TIGV2ZW50IGRvd25zdHJlYW0gYnV0CgkgIGl0IGlzIHN1cHBvc2VkIHRvIHJldHVybiBVTkVYUEVDVEVEIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uIGluc3RlYWQgc28gdGhhdAoJICB1cHN0cmVhbSBjYW4gZG8gdGhlIHJpZ2h0IEVPUyBoYW5kbGluZy4KCjIwMDktMDQtMTMgMTQ6MDM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdXhpbmcvZGVtdXhpbmcgU3BlZXggYXVkaW8KCSAgTm90ZTogVGhpcyBpcyBub3QgaW4gdGhlIE1hdHJvc2thIHNwZWMgeWV0CgkgIEZpeGVzIGJ1ZyAjNTc4MzEwLgoKMjAwOS0wNC0xMCAyMTozMTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgTlVMTCB0aW1pbmcgaW5mbwoJICBEb24ndCBjcmFzaCB3aGVuIHRoZSB0aW1pbmcgaW5mbyBpcyBub3QgeWV0IGF2YWlsYWJsZS4KCjIwMDktMDQtMTAgMjE6NDI6MTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZTogbWFrZSBpdCB3b3JrIG9uIDAuOS4xMgoJICBGaXJzdCB3ZSBpZ25vcmUgcmVxdWVzdCB0byBmaWxsIHRoZSByaW5nYnVmZmVyIHdoaWNoIGFyZSBsZXNzIHRoZW4gYSBzZWdtZW50LgoJICBUaGUgc21hbGwgcmVxdWVzdCB3aGVyZSBjYXVzaW5nIHN0dXR0ZXIuCgkgIFRoZW4gd2UgZGlzYWJsZSBmbHVzaGluZyB0aGUgc3RyZWFtIHdoZW4gcnVubmluZyBhZ2FpbnN0IHBhIDAuOS4xMiBhcyB0aGlzCgkgIHRyaWdnZXJzIGFuIGFzc2VydGlvbmcgaW4gdGhlIHNvdW5kIHNlcnZlciBhbmQgdGVybWluYXRlcyBpdC4gSXQgZG9lcyBub3QgaGFwcGVuCgkgIHdpdGggMC45LjEwIGFuZCAwLjkuMTQuCgoyMDA5LTA0LTEwIDE0OjE4OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBzZXJ2ZXIgZGlzY29ubmVjdCBpbiBnZXRfdGltZQoJICBXaGVuIHRoZSBzZXJ2ZXIgaXMgZGlzY29ubmVjdGVkIG9yIHdoZW4gd2UgYXJlIHNodXQgZG93biwgbWFrZSBvdXIgY2xvY2sgcmV0dXJuCgkgIGFuIGludmFsaWQgdGltZSBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC4KCjIwMDktMDQtMTAgMTI6MDE6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYnBzIGlzIHNpZ25lZCBpbnQgdG8gYXZvaWQgb3ZlcmZsb3cKCSAgS2VlcCBicHMgYXMgZ2ludCBpbnN0ZWFkIG9mIGd1aW50IGJlY2F1c2Ugd2Ugd2lsbCBiZSBkb2luZyBzaWduZWQgbWF0aCB3aXRoIGl0CgkgIGxhdGVyIG9uIGFuZCB3ZSBkb24ndCB3YW50IHdlaXJkIHJlc3VsdHMuCgoyMDA5LTA0LTEwIDAwOjI2OjQ0ICswMjAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIGNvbnZlcnQgcXVlcnksIGZpeCBkdXJhdGlvbiBxdWVyeQoJICBGaXggdGhlIGR1cmF0aW9uIHF1ZXJ5IHNvIHRoYXQgaXQgYWxzbyB3b3JrcyB3aXRoIGZvcm1hdHMgb3RoZXIgdGhhbgoJICBUSU1FLCBzdWNoIGFzIERFRkFVTFQgdG8gZ2V0IHRoZSBudW1iZXIgb2YgZnJhbWVzLgoJICBBZGQgYSBjb252ZXJ0IGZ1bmN0aW9uLgoJICBGaXhlcyAjNTc4MDUyLgoKMjAwOS0wNC0wOSAyMzo0Mzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjaGVjayBmb3IgYSBzdHJlYW0KCSAgRG9uJ3QgdHJ5IHRvIGNoYW5nZSB0aGUgc3RyZWFtIHZvbHVtZSAoYW5kIG90aGVyIHRoaW5ncykgd2hlbiB3ZSBkb24ndCBoYXZlIGEKCSAgc3RyZWFtIHlldC4gSnVzdCBzdG9yZSB0aGUgdmFsdWVzIGZvciBsYXRlci4KCjIwMDktMDQtMDkgMTg6MDc6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNvbXBpbGF0aW9uIGZvciBuZXdlciBwdWxzZWF1ZGlvCgoyMDA5LTA0LTA5IDE3OjE4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVuY29yayBmaXhlcyBhbmQgdXNlIHByZWJ1ZiA9IDAKCSAgV2UgY2FuIHVzZSBwcmVidWYgPSAwIHRvIGluc3RydWN0IHB1bHNlIHRvIG5vdCBwYXVzZSB0aGUgc3RyZWFtIG9uIHVuZGVyZmxvd3MuCgkgIFRoaXMgd2F5IHdlIGNhbiByZW1vdmUgdGhlIHVuZGVyZmxvdyBjYWxsYmFjay4gV2UgaG93ZXZlciBoYXZlIHRvIG1hbnVhbGx5CgkgIHVuY29yayB0aGUgc3RyZWFtIG5vdyB3aGVuIHdlIGhhdmUgbm8gYXZhaWxhYmxlIHNwYWNlIGluIHRoZSBidWZmZXIgb3Igd2hlbiB3ZQoJICBhcmUgd3JpdGluZyB0b28gZmFyIGF3YXkgZnJvbSB0aGUgY3VycmVudCByZWFkX2luZGV4LgoKMjAwOS0wNC0wOSAxNDozODoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgd3JpdGUgZXJyb3JzCgoyMDA5LTA0LTA5IDE0OjE2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHdyaXRlIHNpbGVuY2Ugb24gdW5kZXJmbG93CgkgIFN0YXJ0IGZpbGxpbmcgdXAgdGhlIGJ1ZmZlciB3aXRoIGVtcHR5IHNhbXBsZXMgd2hlbiBhbiB1bmRlcmZsb3cgaGFwcGVucy4gV2UKCSAgbmVlZCB0byBkbyB0aGlzIHRvIGtlZXAgcHVsc2VhdWRpbyByZXBvcnRpbmcgdGhlIHJpZ2h0IHRpbWUgZm9yIHVzLgoKMjAwOS0wNC0wOSAxMzoxNDoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgcHVsbC1iYXNlZCBzY2hlZHVsaW5nCgkgIFVzZSB0aGUgZGVmYXVsdCBiYXNlc2luayBtZXRob2RzIGZvciBpbXBsZW1lbnRpbmcgcHVsbCBiYXNlZCBzY2hlZHVsaW5nLCBpdAoJICB3b3JrcyBmaW5lIGZvciB1cy4KCjIwMDktMDQtMDkgMTI6MTM6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGJlZ2lubmluZ3Mgb2YgcHVsbC1iYXNlZCBzY2hlZHVsaW5nCgoyMDA5LTA0LTA4IDE4OjE3OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGtlZXAgdHJhY2sgb2YgY2xvY2sgcmVzZXQKCSAgd2hlbiB3ZSBzd2l0Y2ggc3RyZWFtcywgdGhlIGNsb2NrIHdpbGwgcmVzZXQgdG8gMC4gTWFrZSBzdXJlIHRoYXQgdGhlIHByb3ZpZGVkCgkgIGNsb2NrIGRvZXNuJ3QgZ2V0IHN0dWNrIHdoZW4gdGhpcyBoYXBwZW5zIGJ5IGtlZXBpbmcgYW4gaW5pdGlhbCBvZmZzZXQuIFdlIGFsc28KCSAgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB3ZSBzdWJ0cmFjdCB0aGlzIG9mZnNldCBpbiBzYW1wbGVzIHdoZW4gd3JpdGluZyB0byB0aGUKCSAgcmluZ2J1ZmZlci4KCjIwMDktMDQtMDggMTM6NTI6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiByZXdyaXRlIHB1bHNlc2luawoJICBEZXJpdmUgZnJvbSBCYXNlQXVkaW9TaW5rIGFuZCBpbXBsZW1lbnQgb3VyIGN1c3RvbSByaW5nYnVmZmVyIHRoYXQgbWFwcyB0byB0aGUKCSAgaW50ZXJuYWwgcHVsc2VhdWRpbyByaW5nYnVmZmVyLgoKMjAwOS0wNC0wOCAxMzo1MjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHJlbW92ZSBzb21lIHN0cmF5IGRlYnVnIGxpbmVzCgoyMDA5LTA0LTA5IDExOjMwOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiB1c2Ugc2xpZ2h0bHkgbW9yZSBhZGFwdGl2ZSBmb3JtdWxhIGZvciBRb1MKCSAgU2hvdWxkIHdvcmsgYXQgbGVhc3QgYSB0YWQgYmV0dGVyIGlmIHRoZSBkZWNvZGVyIGNhbid0IGtlZXAgdXAsIGFuZAoJICBzaG91bGQgYWxzbyBzcHJlYWQgZHJvcHBlZCBmcmFtZXMgYSBiaXQgbW9yZSBldmVubHkgb3ZlciB0aW1lLgoKMjAwOS0wNC0wNyAyMjozNTozMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkb24ndCBsZWFrIHBhZC10ZW1wbGF0ZQoJICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlKCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAuCgoyMDA5LTA0LTA0IDIxOjE4OjU1ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDBlYTg5ZSB0byBiMzk0MWVhCgoyMDA5LTA0LTAxIDAxOjE1OjMxICswMjAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGFkZCBwZW5kaW5nX3NhbXBsZXMgc28gdGhhdCB3ZSBvbmx5IHVwZGF0ZSBzZWdtZW50J3MgbGFzdCBzdG9wIGFmdGVyIHJlYWxseSBzZW5kaW5nIHRoZSBzYW1wbGVzCgoyMDA5LTAzLTE1IDIxOjMxOjQ5ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgYWRkIGRlYnVnIGFuZCBhbiBhc3NlcnQKCjIwMDktMDMtMTUgMjE6MzA6MzIgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGFkZCBkZWJ1Z2dpbmcKCjIwMDktMDMtMDMgMTA6MTQ6MDIgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svYXVkaW90ZXN0c3JjLmZsYWM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIGFkZCBhIHRlc3QgdG8gY2hlY2sgdGhhdCB3ZSBnZXQgYWxsIGRlY29kZWQgYnl0ZXMgZnJvbSBhIDEwLWJ1ZmZlciBhdWRpb3Rlc3RzcmMgZmxhYywgaW4gdGhlIGNhc2Ugb2Y6ICAtIGEgZnVsbCBkZWNvZGUgIC0gYSBkZWNvZGUgb2YgYSBzZWVrIGZvciB0aGUgZnVsbCBmaWxlICAtIGEgZGVjb2RlIG9mIGEgc2VlayBmb3IgYSBzbWFsbCBwYXJ0LCBzbWFsbGVyIHRoYW4gdGhlIGZpcnN0IGJ1ZmZlcgoJICBUaGUgdGVzdCBmYWlscyBiZWNhdXNlIGZsYWNkZWMgZHJvcHMgdGhlIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciBvbiBhIHNlZWsKCjIwMDktMDMtMDMgMTA6MDY6NTIgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGNsaXBwaW5nIHNob3VsZCBhbHNvIHdvcmsgaWYgaXQncyBkb25lIG9uIHRoZSBmaXJzdCBidWZmZXIgc3RhcnRpbmcgYXQgMAoKMjAwOS0wNC0wNCAxNDo1NDowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjhiM2Q5MSB0byBkMGVhODllCgoyMDA5LTA0LTAzIDA5OjU3OjE1ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L3F0ZGVtdXgvTEVHQUw6CgkgIEZpeCBncmFtbWFyLgoKMjAwOS0wNC0wMiAyMjo0MTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxsb3cgaHR0cDovLyBvbiB0aGUgcHJveHkgc2V0dGluZwoJICBBbGxvdyBhbmQgaWdub3JlIGh0dHA6Ly8gYXQgdGhlIHN0YXJ0IG9mIHRoZSBwcm94eSBzZXR0aW5nLCBsaWtlCgkgIHNvdXBodHRwc3JjLgoJICBGaXhlcyAjNTczMTczCgoyMDA5LTA0LTAyIDIxOjA4OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBsZWFrIHRoZSB1ZHBzcmMgcGFkCgkgIEZpeCBtZW1vcnkgbGVhayBpbiBydHNwc3JjIGJlY2F1c2Ugd2UgZGlkbid0IHVucmVmIHRoZSB1ZHBzcmMgcGFkLgoJICBTZWUgIzU3NzMxOAoKMjAwOS0wNC0wMSAxNzozMToxOCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IGZpeCBsZW5ndGggZW5jb2RpbmcgaW4gcGFja2VkIGhlYWRlcnMuCgkgIEFzIGZvciB2b3JiaXMgcGF5bG9hZGVyOyB0aGlzIGJ5IGluc3BlY3Rpb24gaGFkIHRoZSBzYW1lIGJ1Zy4KCjIwMDktMDQtMDEgMTc6MjM6MzMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBpbiBwYWNrZWQgaGVhZGVycywgcHJvcGVybHkgZmxhZyBtdWx0aWJ5dGUgbGVuZ3Rocy4KCSAgSW4gdGhlIHNlcXVlbmNlIG9mIGhlYWRlciBsZW5ndGhzLCBmb3IgaGVhZGVycyA+MTI3IGJ5dGVzLCB3ZSB1c2UKCSAgbXVsdGlwbGUgYnl0ZXMgdG8gZW5jb2RlIHRoZSBsZW5ndGguIEJ5dGVzIG90aGVyIHRoYW4gdGhlIGxhc3QgbXVzdCBoYXZlCgkgIHRoZSB0b3AgKGZsYWcpIGJpdCBzZXQuCgoyMDA5LTA0LTAyIDAwOjIwOjAyICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGlkM3YybXV4OiB3cml0ZSBSVkEyIGZyYW1lcyBjb250YWluaW5nIHBlYWsvZ2FpbiB2b2x1bWUgZGF0YQoKMjAwOS0wNC0wMiAwMDowNToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogZGVtb3RlIHNvbWUgbG9nIG1lc3NhZ2UgZnJvbSBERUJVRyB0byBMT0cKCSAgQW5kIGxvZyBkZWNvZGVyIG9iamVjdC4KCjIwMDktMDQtMDEgMjE6MTU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGltcGxlbWVudCBiYXNpYyBRb1MKCSAgRG9uJ3QgZGVjb2RlIGZyYW1lcyB0aGF0IGFyZSBnb2luZyB0byBiZSB0b28gbGF0ZSBhbnl3YXkuCgoyMDA5LTA0LTAxIDEyOjI2OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgZW1pdCB1Z2x5IHdhcm5pbmdzIHdpdGggb2xkZXIgcnRwaml0dGVyYnVmZmVyIHZlcnNpb25zCgkgIFRoZSBvbi1ucHQtc3RvcCBzaWduYWxzIHdhcyBhZGRlZCBvbmx5IHJlY2VudGx5IHRvIHJ0cGppdHRlcmJ1ZmZlciBpbgoJICAtYmFkLCBzbyBjaGVjayBpZiB0aGUgc2lnbmFsIGV4aXN0cyBiZWZvcmUgZ19zaWduYWxfY29ubmVjdCgpaW5nIHRvCgkgIGl0LCB0byBhdm9pZCB3YXJuaW5ncy4KCjIwMDktMDMtMzEgMTk6MDg6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHByb3h5IHN1cHBvcnQKCjIwMDktMDMtMzEgMTc6MTY6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGRvbid0IGxlYWsgc2VyaWFsaXplZCB2YWx1ZXMgd2hlbiB3cml0aW5nIHRhZ3MKCjIwMDktMDMtMzEgMTc6MDY6NTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgYWx0ZXIgcGFzc2VkIGRhdGEgYW5kIGVzcGVjaWFseSBkb24ndCBsZWFrLgoJICBJZiB3ZSBuZWVkIGRpZmZlcmVudCBzaXplLCBNYWtlIGEgY29weSwgd29yayB3aXRoIHRoYXQgYW5kIGZyZWUgaXQuCgoyMDA5LTAzLTMxIDE2OjQyOjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiB0aGUgc3RydWN0dXJlIGlzIG5vdCBmdWxseSBpbml0aWFsaXplZCwgYnV0IHRoZSBjb3BpZWQuCgkgIFNldCB0byBmdWxseSB0byAwIHRvIGF2b2lkIGNyZWVwIG9mIHVuaW5pdGlhbGl6ZWQgdmFsdWVzLgoKMjAwOS0wMy0zMSAxNjoyNTo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogaW5pdCBlbmRpYW5lc3MgYXMgc3VjaCBhbmQgc2lnbmVkbmVzcyBhcyBib29sZWFuLgoKMjAwOS0wMy0zMSAxNjoyMjo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCB1c2UgaW5pbml0aWFsaXplZCB2YXIgaW4gZGVidWcgbG9nIHN0YXRlbWVudAoJICBBbHNvIG1ha2UgdGhlIGxvZyBzdGF0ZW1lbnQgdXNlZnVsIGJ5IHByaW50aW5nIHRoZSBodW1hbiByZWFkYWJsZSBmb3JtYXQgbmFtZS4KCjIwMDktMDMtMzEgMTI6MDE6MjEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgbGVhayBhdG9tIGRhdGEgaW4gY2FzZSBvZiBhIHdyb25nIGZvdXJjYwoKMjAwOS0wMy0zMSAxMTo1NzozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBkb24ndCBsZWFrIHJlYWQgZGF0YSBpbiBkZW11eGVyCgoyMDA5LTAzLTMxIDExOjUwOjQxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBkb24ndCB1c2UgcHJvdG9jb2wgaW4gZGVidWcgbWVzc2FnZSBhZnRlciBmcmVlaW5nCgoyMDA5LTAzLTMwIDE0OjEwOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogb3V0cHV0IHNob3VsZCBiZSBmcmFtZWQgYWxyZWFkeQoKMjAwOS0wMy0yNyAyMToxNzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWM6IHJlcXVpcmUgYSAnbmV3ZXInIGZsYWMgYW5kIHJlbW92ZSBzdXBwb3J0IGZvciB0aGUgbGVnYWN5IGZsYWMgQVBJCgoyMDA5LTAzLTI3IDE3OjQ4OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBsaW5rIHRvIHRoZSBvbl9ucHRfc3RvcCBzaWduYWwgdG8gRU9TCgkgIENvbm5lY3QgdG8gdGhlIG9uX25wdF9zdG9wIHNpZ25hbCBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHRvIHNjaGVkdWxlIHRoZSBFT1MKCSAgYWN0aW9ucy4KCjIwMDktMDMtMjYgMTQ6Mzk6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb21lIHN0cmVhbSBzeW5jaHJvbml6YXRpb24gdG8gYWlkIHNlZWtpbmcgaW4gdW5iYWxhbmNlZCBjbGlwcwoJICBTb21lIGNsaXBzICh0cmFpbGVycykgbWF5IGhhdmUgKGxlbmd0aC13aXNlKSB1bmJhbGFuY2VkIHN0cmVhbXMsCgkgIHdoaWNoIHN0YWxscyB0aGUgcGlwZWxpbmUgaWYgc2Vla2luZyBpbnRvIHRoYXQgcmVnaW9uLgoJICBBZGRpdGlvbmFsIHN0cmVhbSBzeW5jaHJvbml6YXRpb24gY2FuIGhhbmRsZSB0aGlzLCBhcyB3ZWxsIGFzCgkgIHNwYXJzZSAoc3VidGl0bGUpIHN0cmVhbXMgKGF0IHNvbWUgbGF0ZXIgdGltZSA/KQoKMjAwOS0wMy0yNiAxMDozMToxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZGl0aW9uYWwgc2FmZXR5IGFuZCBzYW5pdHkgY2hlY2tzIChwdXNoIGJhc2VkIG1vZGUpCgoyMDA5LTAzLTI2IDEwOjE4OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBzb21lIG1vcmUgaW5kZW50IGZpeGVzCgoyMDA5LTAzLTI0IDE2OjAwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBmaXggZ3N0LWluZGVudCBzY3Jld3VwCgoyMDA5LTAzLTI1IDE3OjU0OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcnRzcHNyYzogYmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgUlRTUCBleHRlbnNpb24gZm9yIFJlYWwgc3RyZWFtcyBpcyBtaXNzaW5nCgkgIFRyeSB0byBwb3N0IGEgZGVjZW50IGVycm9yIG1lc3NhZ2Ugd2hlbiBpdCBsb29rcyBsaWtlIHdlJ3JlIGZhaWxpbmcKCSAgYmVjYXVzZSB0aGUgUmVhbCBSVFNQIGV4dGVuc2lvbiBwbHVnaW4gaXMgbWlzc2luZy4gQWxzbyBhZGQgaTE4bgoJICBiaXRzIGZvciBydHNwc3JjIHNvIG91ciBlcnJvciBtZXNzYWdlcyBnZXQgdHJhbnNsYXRlZC4KCjIwMDktMDMtMjUgMTU6NDI6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgIGkxOG46IG1ha2Ugc3VyZSBnZXR0ZXh0IGdpdmVzIHVzIFVURi04IGF0IGFsbCB0aW1lcwoKMjAwOS0wMy0yNSAwMToyODozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YXBheSxydHBtcDRkZXBheTogZml4IGJ1ZmZlciBsZWFrcyBpbiBBQUMgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcgoKMjAwOS0wMy0yNSAwMToyMjoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YXBheTogd2FybiBpZiBpbnB1dCBpcyB1bmZyYW1lZAoKMjAwOS0wMy0yMiAyMToyMDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogcHV0IEdzdFNlZ21lbnQgaW5zaWRlIHRoZSBlbGVtZW50IHN0cnVjdCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgaXQgc2VwYXJhdGVseQoKMjAwOS0wMy0yNSAxMDowODo0MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IG1vdmUgZHVwbGljYXRlZCB0aW1lc3RhbXBpbmcgYW5kIGJ1ZmZlciBtZXRhZGF0YSBjb2RlIHRvIF9jcmVhdGUoKQoJICBUaGlzIHdpbGwgaW5jbHVkZSB0aGUgbGF0ZW5jeSBjaGFuZ2VzIGFsc28gaW4gdGhlIG1tYXAgY2FzZS4KCjIwMDktMDMtMjUgMTA6MDY6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiByZW1vdmUgd2luMzIgaWZkZWZzIGludHJvZHVjZWQgYnkgY29tbWl0IGNmZjNmNDY3NjBlYWM3NGM5YmJkN2EzNmFjYTQ0ZmVkZjMyNzQyNGIKCSAgVjRsMnNyYyBpcyB1bmRlciBzeXMgYW5kIGRvZXMgbm90IGV4aXN0cy9ydW4gdW5kZXIgd2luZG93cyBhbnl3YXkuCgoyMDA5LTAzLTI0IDE1OjQ0OjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIEZMVVNIX1NUT1AgZXZlbnQKCSAgQ2xlYW4gdXAgc29tZSBzdGF0ZSAobW9zdCBub3RhYmx5IHBhZCBmbG93IHJldHVybnMpIHRvIHJlc3VtZQoJICBwcm9wZXIgc3RyZWFtaW5nIGZvbGxvd2luZyBmbHVzaGluZyBzZWVrLgoKMjAwOS0wMy0yNCAxMjo0MjoxMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvbid0IHBvc3QgYW4gZXJyb3IgaWYgRU9TIGNhbid0IGJlIHB1c2hlZCBkb3duc3RyZWFtLgoJICBUaGlzIGFsaWducyBhdmlkZW11eCB3aXRoIG90aGVyIGRlbXV4ZXJzIGFuZCBmaXhlcyBhIGJ1ZyB1c2luZyBhdmlkZW11eAoJICB3aXRoIGEgcmVjZW50IGdub25saW4uCgoyMDA5LTAzLTIzIDExOjIyOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNsZWFuIHVwIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24KCSAgTWFrZSB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGEgYml0IG1vcmUgcmVhZGFibGUgYW5kIG9ubHkgcGF1c2UgYWZ0ZXIgdGhlCgkgIHBhcmVudCBoYWQgYSBjaGFuZ2UgdG8gcGF1c2UgZmlyc3QuCgoyMDA5LTAzLTA5IDIzOjQzOjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgTWFrZWZpbGUuYW06IG5vIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zCgoyMDA5LTAzLTIwIDE3OjIyOjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3VwcG9ydCBzZWVraW5nIGluIHB1c2ggYmFzZWQgbW9kZQoKMjAwOS0wMy0yMCAxNzoxMTozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsaWduIHB1c2ggYmFzZWQgYmVoYXZpb3VyIG1vcmUgd2l0aCBwdWxsIGJhc2VkCgkgIENhdGVyIGZvciBERUxUQV9VTklUIGZsYWcgb24gYnVmZmVycywga2VlcCB0cmFjayBvZiBjdXJyZW50CgkgIHBvc2l0aW9uLCByZW1vdmUgYW5kIHdhcm4gYWJvdXQgZWRpdCBsaXN0cyBpZiBhbnkgKGFzIHRob3NlCgkgIGFzIGFyZSBkZSBmYWN0byBkaXNjYXJkZWQgYW55d2F5KSwgYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoJICBhbmQgaW5kZW50IGZpeGVzLgoKMjAwOS0wMy0yMCAxNzowMzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBtZW0gbGVha3MgYW5kIHByZXZlbnQgZXhjZXNzaXZlIGJ1ZmZlcmluZyBpbiBwdXNoIGJhc2VkIG1vZGUKCjIwMDktMDMtMjAgMTM6Mjc6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IFRyYWNrIHRoZSBjb3JrZWQvdW5jb3JrZWQgc3RhdGUgb3Vyc2VsdmVzCgkgIFVzZSBhbiBpbnN0YW5jZSB2YXJpYWJsZSB0byB0cmFjayB3aGV0aGVyIHRoZSBzdHJlYW0gaXMgY29ya2VkIG9yIG5vdCwKCSAgaW5zdGVhZCBvZiB1c2luZyBQQSBBUEkgdGhhdCB3YXMgb25seSBpbnRyb2R1Y2VkIGluIDAuOS4xMQoKMjAwOS0wMy0xOSAxODozOTowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogTWFrZSBzdXJlIHRoZSBzdHJlYW0gaXMgdW5jb3JrZWQgaW4gdGhlIHdyaXRlIGZ1bmN0aW9uCgkgIElmIHRoZSBjYXBzIGNoYW5nZXMsIHRoZSBzaW5rIGlzIHJlc2V0IHdpdGhvdXQgdHJhbnNpdGlvbmluZyB0aHJvdWdoCgkgIGEgUEFVU0VELT5QTEFZSU5HIHN0YXRlIGNoYW5nZSwgcmVzdWx0aW5nIGluIGEgY29ya2VkIHN0cmVhbS4gVGhpcyBhdm9pZHMKCSAgdGhlIHByb2JsZW0gYnkgY2hlY2tpbmcgdGhhdCB0aGUgc3RyZWFtIGlzIHVuY29ya2VkIHdoZW4gd3JpdGluZyBzYW1wbGVzCgkgIHRvIGl0LgoKMjAwOS0wMy0yMCAwMTowMjoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGZpeCBkaXJlY3Rpb24gb2YgbGF0ZW5jeSBxdWVyeSBhbmQgb3RoZXIgdXBzdHJlYW0gcXVlcmllcwoJICBEb24ndCBzZW5kIHF1ZXJpZXMgYmFjayB0byB0aGUgZWxlbWVudCB0aGV5IGp1c3QgY2FtZSBmcm9tIGJ5IHNlbmRpbmcKCSAgdGhlbSB0byB0aGUgcGVlciBvZiB0aGUgd3JvbmcgcGFkLgoKMjAwOS0wMy0xOSAxMToxMDo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZQoKMjAwOS0wMy0xOCAxNjo1NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IGRvbid0IGFwcGVuZCBhbiBleHRyYSAwIGJ5dGUgdG8gdGhlIGNvZGVjIGRhdGEKCSAgVGhlIGF1ZGlvTXV4VmVyc2lvbiBzdHJ1Y3R1cmUgaXMgcGFja2VkIGluIHN1Y2ggYSB3YXkgdGhhdCB0aGUgY29kZWMKCSAgZGF0YSBkb2VzIG5vdCBzdGFydCBieXRlLWFsaWduZWQsIHdoaWNoIG1lYW5zIHRoZXJlJ3MgYW4gZXh0cmEgYml0IG9mCgkgIHBhZGRpbmcgYXQgdGhlIGVuZC4gV2UgZG9uJ3Qgd2FudCB0aGF0IGJpdCBpbiB0aGUgY29kZWMgZGF0YSwgc2luY2UKCSAgc29tZSBkZWNvZGVycyBzZWVtIGdldCBjb25mdXNlZCB3aGVuIHRoZXkncmUgZmVkIHdpdGggYW4gZXh0cmEgY29kZWMKCSAgZGF0YSBieXRlIChhbHNvIGl0J3MganVzdCBub3QgcmlnaHQgb2YgY291cnNlKS4KCjIwMDktMDMtMTkgMTM6MjU6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGZpeCBiYXNlNjQgZGVjb2RpbmcKCSAgV2UgY2FuJ3QgcGFzcyAtMSB0byBfZGVjb2RlX3N0ZXAsIHRoYXQgZnVuY3Rpb25zIHJldHVybnMgMCByaWdodCBhd2F5IGluc3RlYWQgb2YKCSAgZGVjb2RpbmcgdXAgdG8gdGhlIHN0cmluZyBlbmQuCgoyMDA5LTAzLTE5IDEzOjI0OjAyICswMTAwICBEYXZpZCBBZGFtIDx6YW5jaGV5IGF0IHVjYy5ndS51d2EuZWR1LmF1PgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IEZpeCBidWlsZCBpZiBvbiBTb2xhcmlzCgkgIFRoaXMgcGF0Y2ggY2hlY2tzIGZvciBTb2xhcmlzIGFuZCB1c2VzIGlwX21yZXEgaW5zdGVhZCBvZiBpcF9tcmVxbiBpZiBvbiB0aGlzCgkgIHBsYXRmb3JtLgoJICBGaXhlcyAjNTc1OTM3LgoKMjAwOS0wMy0xOCAxNDo1MDoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHA6IFVzZSBHTGliIGZ1bmN0aW9ucyBmb3IgZW5jb2RpbmcvZGVjb2RpbmcgYmFzZTY0CgoyMDA5LTAzLTE2IDE5OjE3OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc29tZSBkZWJ1ZyBmb3IgdGhlIHRpbWVzdGFtcHMKCSAgV2hlbiB0aW1lc3RhbXBpbmcgaW4gVENQIG1vZGUsIGxvZyB0aGUgZmlyc3QgdGltZXN0YW1wIHdlIHB1dCBvbiB0aGUgYnVmZmVycy4KCjIwMDktMDMtMTUgMjM6MjY6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogbG9nIGRldGFpbHMgaWYgd2UgaGF2ZSB0aGVtLCBuZWVkZWQgZm9yICM1NzUzOTEKCjIwMDktMDMtMTMgMTg6MzI6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGNvbnZlcnQgXyBpbiBwcm9wZXJ0aWVzIHRvIC0KCSAgLS0KCjIwMDktMDMtMTMgMTg6Mjg6NTkgKzAxMDAgIEVkZ2FyIEUuIElnbGVzaWFzIDxlZGdhci5pZ2xlc2lhc0BnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBBZGQgbmV0d29yayBpbnRlcmZhY2Ugc2VsZWN0aW9uCgkgIEFkZCBuZXR3b3JrIGludGVyZmFjZSBzZWxlY3Rpb24gd2hlbiBqb2luaW5nIG11bHRpY2FzdCBncm91cHMuCgkgIFVzZWZ1bCB3aGVuIHVzaW5nIHRoZSB1ZHBzcmMgb24gbXVsdGlob21lZCBob3N0cy4KCSAgRml4ZXMgIzU3NTIzNC4KCSAgQVBJOiBHc3RVRFBTcmM6Om11bHRpY2FzdC1pZmFjZQoKMjAwOS0wMy0xMyAxNTo0Mzo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBQcmVwZW5kIHRvIGxpc3RzIGFuZCByZXZlcnNlIHRoZW0gYXQgdGhlIGVuZC4KCSAgR3JhdHVpdG91cyBtaWNyby1vcHRpbWlzYXRpb24gLSBwcmVwZW5kIHRvIGxpc3RzIGFuZCByZXZlcnNlIHRoZW0sIHJhdGhlcgoJICB0aGFuIGFwcGVuZGluZyB0byB0aGVtIGVhY2ggdGltZS4KCjIwMDktMDMtMTMgMTU6NDA6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBXYWl0IHVudGlsIHRoZXJlIGlzIGVub3VnaCByb29tIHRvIHdyaXRlIGFuIGVudGlyZSBzZWdtZW50CgkgIFdoZW4gdHJ5aW5nIHRvIHdyaXRlIG91dCBhIHNlZ21lbnQsIHdhaXQgdW50aWwgdGhlcmUgaXMgZW5vdWdoIGZyZWUgc3BhY2UKCSAgZm9yIHRoZSBlbnRpcmUgc2VnbWVudC4gVGhpcyBoZWxwcyB0byByZWR1Y2UgcmlwcGxlIGluIHRoZSBjbG9jayByZXBvcnRpbmcsCgkgIHdoZXJlIHRoZSBhcHAgbWlnaHQgcXVlcnkgdGhlIHBsYXliYWNrIHBvc2l0aW9uIHdoaWxlIG9ubHkgaGFsZiBhIHNlZ21lbnQKCSAgaGFzIGJlZW4gd3JpdHRlbiAoYW5kIGlzIHRoZXJlZm9yZSByZXBvcnRlZCBieSBfZGVsYXkoKSwgZXZlbiB0aG91Z2gKCSAgdGhlIHJpbmcgYnVmZmVyIGhhcyBub3QgeWV0IGJlZW4gYWR2YW5jZWQpCgoyMDA5LTAzLTEyIDIwOjM4OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBzZW5kIFBBVVNFIHdoZW4gbm90IGNvbm5lY3RlZAoJICBkb24ndCBzZW5kIGEgUEFVU0UgcmVxdWVzdCB3aGVuIHdlIGFyZSBubyBsb25nZXIgY29ubmVjdGVkLgoKMjAwOS0wMy0xMiAxNjoxMDoyNSArMDEwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIERvbid0IGNhbGwgRkxBQ19fIG1ldGhvZHMgYmVmb3JlIGl0J3MgaW5pdGlhbGl6ZWQuIEZpeGVzICM1MTYwMzEKCSAgSW4gdGhlIGV2ZW50IGhhbmRsZXIsIGdzdF9mbGFjX2RlY19zaW5rX2V2ZW50KCksIHR3byBmdW5jdGlvbnMgYXJlIGNhbGxlZCBvbgoJICB0aGUgRkxBQyBzdHJlYW0gd2l0aG91dCBjaGVja2luZyBpZiBpdCBoYXMgYmVlbiBpbml0aWFsaXplZDoKCSAgRkxBQ19fc3RyZWFtX2RlY29kZXJfZmx1c2goKQoJICBGTEFDX19zdHJlYW1fZGVjb2Rlcl9wcm9jZXNzX3VudGlsX2VuZF9vZl9zdHJlYW0oKQoJICBCb3RoIHRoZXNlIEZMQUNfXyooKSBmdW5jdGlvbnMgbW9kaWZ5IHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgRkxBQyBzdHJlYW0uCgkgIExhdGVyLCB3aGVuIHRoZSBidWZmZXJzIHN0YXJ0IGZsb3dpbmcsIGdzdF9mbGFjX2RlY19jaGFpbigpIHRyaWVzIHRvIGluaXRpYWxpemUKCSAgdGhlIHN0cmVhbS4gdGhlIEZMQUNfX3N0cmVhbV9kZWNvZGVyX2luaXRfc3RyZWFtKCkgY2FsbCB3aWxsIGZhaWwgYmVjYXVzZSB0aGUKCSAgcHJldmlvdXMgY2FsbHMgdG8gRkxBQ19fKigpIGNoYW5nZWQgdGhlIHN0cmVhbSBzdGF0ZSBzbyBpdCBpcyBubyBsb25nZXIgaW4gdGhlCgkgIGluaXRpYWxpemVkIHN0YXRlLgoKMjAwOS0wMy0xMSAxNzo1OTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHRpbWVvdXQgY2hlY2sKCSAgLS0tCgoyMDA5LTAzLTExIDEyOjQ4OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogdXBkYXRlIE1BTklGRVNULCBmaXhpbmcgJ21ha2UgZGlzdCcKCSAgY29uZmlnLmguaW4gbm8gbG9uZ2VyIGV4aXN0cy4KCjIwMDktMDMtMTAgMjE6MTQ6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgIG1ha2VmaWxlOiBmaXggdHlwbyBpbiBuby1zdGF0aWMgcGx1Z2lucyBydWxlCgoyMDA5LTAzLTEwIDExOjAxOjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiB2YXJpb3VzIGNsZWFudXBzLgoJICBNYWtlIHNvbWUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBGaXggYSBsZWFrIHdoZW4gcHVsbCByYW5nZSByZXR1cm5zIGEgc2hvdCBidWZmZXIuCgkgIFB1c2ggRU9TIGFmdGVyIHBvc3RpbmcgdGhlIGVycm9yLgoKMjAwOS0wMy0xMCAxMDoxNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgZ3N0cnRwdm9yYmlzZGVwYXk6IEZpeCBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDMtMDEgMTc6Mzc6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgbTQgZGlyZWN0b3J5CgoyMDA5LTAzLTA5IDIzOjEyOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDcwMzIxNjMgdG8gZjhiM2Q5MQoKMjAwOS0wMy0wOSAxODowNzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgdm9yYmlzZGVwYXk6IGZpeCBzb21lIGxlYWtzCgkgIEFuZCBsZWFrIHRoZSBjb2RlYm9va3MuCgkgIFVzZSBnbGliIGJhc2U2NCBkZWNvZGVycy4KCSAgVXNlIHN1YmJ1ZmZlcnMgdG8gYXZvaWQgYSBtZW1jcHkgb2YgdGhlIGhlYWRlcnMuCgoyMDA5LTAzLTA5IDE3OjE0OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGRvbid0IGxvc2UgdGhlIGZpcnN0IGJ1ZmZlciBhZnRlciBhIHNlZWsKCSAgVGhlIGZsYWNkZWMgQVBJIGNhbGxzIHRoZSB3cml0ZSBjYWxsYmFjayB3aGVuIHBlcmZvcm1pbmcgYSBzZWVrLiBXZSBjYW5ub3QgeWV0CgkgIHB1c2ggb3V0IGEgYnVmZmVyIGF0IHRoYXQgdGltZSBzbyB3ZSBtdXN0IGtlZXAgaXQgYW5kIHB1c2ggaXQgb3V0IGxhdGVyLgoJICBGbHVzaCBvdXQgdGhlIHVwc3RyZWFtIHBhcnQgb2YgdGhlIHBpcGVsaW5lIHdoZW4gZG9pbmcgYSBzZWVrLgoJICBGaXhlcyAjNTc0Mjc1LgoKMjAwOS0wMy0wOSAxNToyMDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2FuaXRpemUgdGFnIG5hbWVzCgkgIFNhbml0aXplIHRoZSB0YWcgbmFtZXMgYmVmb3JlIHR1cm5pbmcgdGhlbSBpbnRvIGEgc3RydWN0dXJlIG5hbWUuIFdlIGNhbiBvbmx5CgkgIGFkZCBhbHBoYW51bWVyaWMgdmFsdWVzIGFzIHRoZSBzdHJ1Y3R1cmUgbmFtZS4KCjIwMDktMDMtMDggMTI6MDQ6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZmE3MzhkIHRvIDcwMzIxNjMKCjIwMDktMDMtMDggMTE6MTk6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZjEzZTRlIHRvIGZmYTczOGQKCjIwMDktMDMtMDcgMTE6NDU6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzYzc0NTZiIHRvIDNmMTNlNGUKCjIwMDktMDMtMDcgMTA6NDU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1N2M4M2YyIHRvIDNjNzQ1NmIKCjIwMDktMDMtMDYgMjE6NTY6MjYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogZml4IHBhZHMsIHNvIHRoYXQgdGhleSBhcmUgc3Vic2V0IG9mIHRlbXBsYXRlIGNhcHMKCSAgRG8gbm90IGFkZCB3PTAgfCBoPTAuIFdoZW4gd2UgY2FuJ3QgZ2V0IGEgZnJhbWVyYXRlIGFkZCBmcmFjdGlvbiByYW5nZS4KCjIwMDktMDMtMDUgMTQ6MDg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZml4IHJhbmdlIHBhcnNpbmcKCSAgRml4IHBhcnNpbmcgb2YgdGhlIHJhbmdlIGhlYWRlcnMuCgoyMDA5LTAyLTEwIDE3OjIwOjU3ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJICBNb3ZlIHNpcmVuIHJ0cCBwYXkvZGVwYXkgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodAoKMjAwOS0wMy0wNCAxNjoyNTozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrIGluIGNsb3NlCgkgIENsb3NlIHRoZSBjb25uZWN0aW9uIGV2ZW4gd2hlbiB3ZSBmYWlsIHRvIHNlbmQgdGhlIHRlYXJkb3duIG1lc3NhZ2UuCgkgIFVzZSB0aGUgY29ubmVjdGlvbiB1cmwgKHdoaWNoIGlzIGEgY29weSBvZiB0aGUgc3JjIHVybCkuCgoyMDA5LTAzLTA0IDE2OjE1OjA1ICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogZ3N0LXBsdWdpbnMtZ29vZC5zdXBwIG5lZWRzIHRvIGJlIGRpc3RyaWJ1dGVkLgoKMjAwOS0wMy0wNCAxMjoyOTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGRvLXJ0Y3AgcHJvcGVydHkgZGVzY3JpcHRpb24KCSAgLS0tCgoyMDA5LTAzLTAzIDEyOjIwOjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEV4cG9zZSB0aGUgU291cFNlc3Npb24gJ3RpbWVvdXQnIHByb3BlcnR5LgoKMjAwOS0wMy0wMiAxNTowNzoyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSB0aGUgbTQvIGRpcmVjdG9yeQoKMjAwOS0wMy0wMiAxNzoxODo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiBBZGQgc3VwcG9ydCBmb3IgbW9yZSBmb3JtYXRzCgkgIEhhY2sgYXJvdW5kIHNob3J0IGhlYWRlciBtcGVnNCB2aWRlbyBmaWxlcyBhbmQgcHV0IHRoZSBzaG9ydCBoZWFkZXIgYXMgdGhlCgkgIGNvbmZpZyBzdHJpbmcuCgkgIEZpeGVzICM1NzI1NTEuCgoyMDA5LTAzLTAyIDE2OjA4OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc3VwcG9ydCBmb3IgaHR0cCB0dW5uZWxpbmcKCSAgQWRkIHN1cHBvcnQgZm9yIGh0dHAgdHVubmVsaW5nIGFuZCBhIG5ldyBydHNwaDovLyB1cmkgZm9yIGl0LgoJICBTZWUgIzU3MzE3My4KCjIwMDktMDMtMDIgMDk6NDM6MzAgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdGhvbWFzdnNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QKCjIwMDktMDMtMDIgMDg6NDE6MTUgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIEFkZC9jbGFyaWZ5L2ZpeCBzb21lIGxvZ2dpbmcuCgoyMDA5LTAzLTAxIDEyOjQ3OjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgaGFyZGNvZGVkIGRlZmluaXRpb24gb2YgT0JKQwoKMjAwOS0wMy0wMSAxOTo1NToyNiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgV2FpdCBmb3IgYSBmcmFtZSB0byBiZWNvbWUgYXZhaWxhYmxlIGJlZm9yZSBjYXB0dXJpbmcgaXQKCSAgVXNlIEdzdFBvbGwgdG8gd2FpdCBmb3IgdGhlIGZkIG9mIHRoZSB2aWRlbyBkZXZpY2UgdG8gYmVjb21lIHJlYWRhYmxlIGJlZm9yZQoJICB0cnlpbmcgdG8gY2FwdHVyZSBhIGZyYW1lLiBUaGlzIHNwZWVkcyB1cCBzdG9wcGluZyB2NGwyc3JjIGEgbG90IGFzIGl0IG5vCgkgIGxvbmdlciBoYXMgdG8gd2FpdCBmb3IgdGhlIG5leHQgZnJhbWUsIGVzcGVjaWFsbHkgd2hlbiBjYXB0dXJpbmcgd2l0aCBsb3cKCSAgZnJhbWVyYXRlcyBvciB3aGVuIHRoZSB2aWRlbyBkZXZpY2UganVzdCBuZXZlciBnZW5lcmF0ZXMgYSBmcmFtZSAod2hpY2ggc2VlbXMgYQoJICBjb21tb24gaXNzdWUgZm9yIHV2Y3ZpZGVvIGRldmljZXMpCgkgIEZpeGVzIGJ1ZyAjNTYzNTc0LgoKMjAwOS0wMi0xNCAxNzo1NjowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIGFsYXdkZWMsIG11bGF3ZGVjOiBkZW1vdGUgc29tZSBkZWJ1ZyBtZXNzYWdlcyBmcm9tIEVSUk9SIHRvIFdBUk5JTkcgb3IgREVCVUcKCSAgTm9uLW9rIGZsb3cgcmV0dXJucyBtYXkgaGFwcGVuIGZvciBhIHZhcmlldHkgb2YgcGVyZmVjdGx5IGxlZ2l0aW1hdGUgYW5kIGV4cGVjdGVkIHJlYXNvbnMKCSAgKHRlbXBvcmFyaWx5IG5vdCBsaW5rZWQsIHNlZWtpbmcsIHBpcGVsaW5lIHNodXRkb3duKSwgc28gd2UgcmVhbGx5IHNob3VsZG4ndCBzcGV3IEVSUk9SCgkgIGRlYnVnIG1lc3NhZ2VzIHRvIHN0ZGVyciBpbiB0aG9zZSBjYXNlcy4gRml4ZXMgIzU3MDc4MS4gKFNlZW1zIGxpa2Ugc29tZW9uZSBhbHJlYWR5IHRvb2sKCSAgY2FyZSBvZiBzb21lIG9mIHRoZXNlLikKCjIwMDktMDItMjggMTU6MjY6MDAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogSW1wcm92ZSBsb2cgbWVzc2FnZSBmb3IgcGVhayB2YWx1ZXMgPjEuMCBieSBjbGFtcGluZyBleHBsaWNpdGx5LgoKMjAwOS0wMi0yNyAyMzoyNTozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgRml4IHRoZSBmaWVsZCBkb21pbmFuY2UKCSAgUEFMIGlzIFRGRiwgTlRTQyBpcyBCRkYuICBTb21lIGRheSBJIHdpbGwgbGVhcm4gdG8ga2VlcCB0aGlzCgkgIHN0cmFpZ2h0LgoKMjAwOS0wMi0yNyAyMDo0MDozMSArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBGaXggdHlwZSBtaXNtYXRjaGVzCgkgIEZpeGVzIGJ1ZyAjNTczMzQzLgoKMjAwOS0wMi0yNyAyMDoyODoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QKCjIwMDktMDItMjcgMjA6MjQ6NTMgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogRG9uJ3Qgc2V0IGVycm5vIHRvIEVBRk5PU1VQUE9SVCB1bmNvbmRpdGlvbmFsbHkKCSAgRml4ZXMgYnVnICM1NzMzNDIuCgoyMDA5LTAyLTI3IDExOjE3OjUwIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBpZ25vcmUgb3V0LW9mLXJhbmdlIHBlYWsgdmFsdWVzCgkgIElmIHRoZSBwZWFrIHZhbHVlIGlzID4gMSAoYW5kIHRodXMgbm9uc2Vuc2ljYWwpIGlnbm9yZSBpdC4gUHJldmVudHMKCSAgcmd2b2x1bWUgcmVkdWNpbmcgdm9sdW1lIHRvIGVmZmVjdGl2ZWx5IHNpbGVudCBvbiBmaWxlcyB3aXRoIGJvZ3VzIHBlYWsKCSAgdmFsdWVzLgoKMjAwOS0wMi0yNyAxMzoyOTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEZpeCBTRUVLIGV2ZW50IGhhbmRsaW5nIGluIHB1c2ggbW9kZSwgYW5kIFNFRUtBQkxZIHF1ZXJ5IGhhbmRsaW5nCgkgIFN0YW5kYXJkIHB1bGwgbW9kZSBsb29wIGJhc2VkIFNFRUsgaGFuZGxpbmcgZmFpbHMgaW4gcHVzaCBtb2RlLAoJICBzbyBjb252ZXJ0IHRoZSBTRUVLIGV2ZW50IGFwcHJvcHJpYXRlbHkgYW5kIGRpc3BhdGNoIHRvIHVwc3RyZWFtLgoJICBBbHNvIGNhdGVyIGZvciBORVdTRUdNRU5UIGV2ZW50IGhhbmRsaW5nLCBhbmQgcHJvcGVybHkgaW5mb3JtCgkgIGRvd25zdHJlYW0gYW5kIGFwcGxpY2F0aW9uIG9mIFNFRUtBQkxFIGNhcGFiaWxpdGllcywgZGVwZW5kaW5nCgkgIG9uIHNjaGVkdWxpbmcgbW9kZSBhbmQgdXBzdHJlYW0uCgoyMDA5LTAyLTI3IDExOjA0OjA4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSBnc3RfdXRpbF9kdW1wX21lbSgpIGNhbGxzLgoKMjAwOS0wMi0yNiAxOTowNzozNSArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IFNFRUsgZXZlbnQgaGFuZGxpbmcgaW4gcHVzaCBtb2RlCgkgIFdoZW4gaW4gcHVzaCBtb2RlIHdlIHNob3VsZCBub3QgdHJ5IHRvIGhhbmRsZSB0aGUgU0VFSyBldmVudCBhcyB0aGVyZSdzCgkgIG5vIGNvZGUgdG8gaGFuZGxlIGl0IHByb3Blcmx5LiBQcm9wYWdhdGUgdXBzdHJlYW0uCgoyMDA5LTAyLTI2IDE5OjA1OjA2ICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljayBkb3QgcmFkaXppIGF0IGF4aXMgZG90IGNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHRoZSAuaCBmaWxlIGNoYW5nZSB0b28KCSAgQWRkIHRoZSAuaCBmaWxlIGNoYW5nZSBmb3IgdGhlIG5ldyBwcm9wZXJ0eS4KCjIwMDktMDItMjYgMTk6MDM6NTIgKzAxMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrIGRvdCByYWRpemkgYXQgYXhpcyBkb3QgY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgcHJvcGVydHkgdG8gZGlzYWJsZSBSVENQCgkgIFNvbWUgb2xkIHNlcnZlcnMgZG9uJ3QgbGlrZSB1cyBkb2luZyBSVENQIGFuZCB0aHVzIHdlIG5lZWQgYSBwcm9wZXJ0eSB0byBkaXNhYmxlCgkgIGl0LiBTZWUgIzU3MzE3My4KCjIwMDktMDItMjYgMTM6MTk6MzEgKzAxMDAgIEphbiBTbW91dCA8amFuIGRvdCBzbW91dCBhdCBnbWFpbCBkb3QgY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IGZpeCBnc3RfdWRwX3NldF9sb29wX3R0bCgpIGFnYWluCgkgIEZpeCB0aGUgZ3N0X3VkcF9zZXRfbG9vcF90dGwoKSBmdW5jdGlvbiB0aGF0IHdhcyBjb21tZW50ZWQgb3V0IGluIGEKCSAgcHJldmlvdXMgY29tbWl0LiBTZWUgIzU3MzExNS4KCjIwMDktMDItMjYgMTM6MDY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IGZhaWwgb24gaW50ZXJsYWNlZCB2aWRlbwoJICBGYWlsIG9uIGludGVybGFjZWQgdmlkZW8gdW50aWwgd2Ugc3VwcG9ydCBpdC4KCjIwMDktMDItMjYgMTM6MDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogZmFpbCBvbiBpbnRlcmxhY2VkIHZpZGVvCgkgIERldGVjdCBhbmQgZmFpbCB3aGVuIHRyeWluZyB0byBwYXlsb2FkIGludGVybGFjZWQgdmlkZW8uCgoyMDA5LTAyLTI1IDIwOjQ3OjE1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgQ2hhbmdlIGhvdyB3aW4zMi9jb21tb24vY29uZmlnLmggaXMgdXBkYXRlZAoJICBHZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmgtbmV3IGRpcmVjdGx5IGZyb20gY29uZmlnLmguaW4sCgkgIHVzaW5nIHNoZWxsIHZhcmlhYmxlcyBpbiBjb25maWd1cmUgYW5kIHNvbWUgaGFyZC1jb2RlZCBpbmZvcm1hdGlvbi4KCSAgQ2hhbmdlIHRvcC1sZXZlbCBtYWtlZmlsZSBzbyB0aGF0ICdtYWtlIHdpbjMyLXVwZGF0ZScgY29waWVzIHRoZQoJICBnZW5lcmF0ZWQgZmlsZSB0byB3aW4zMi9jb21tb24vY29uZmlnLmgsIHdoaWNoIHdlIGtlZXAgaW4gc291cmNlCgkgIGNvbnRyb2wuICBJdCdzIGtlcHQgaW4gc291cmNlIGNvbnRyb2wgc28gdGhhdCB0aGUgZ2l0IHRyZWUgaXMKCSAgYnVpbGRhYmxlIGZyb20gVlMuCgkgIFRoaXMgY2hhbmdlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSByZWNlbnRseSBhcHBsaWVkIHRvIEdTdHJlYW1lcgoJICBhbmQgZ3N0LXBsdWdpbnMtZ29vZC4gIFRoZSBwcmV2aW91cyBjb25maWcuaCBmaWxlIGluIC1nb29kIHdhcyBpbgoJICBwcmV0dHkgYmFkIHNoYXBlLCBzbyB1bmxpa2UgY29yZSBhbmQgYmFzZSwgSSBkaWRuJ3QgYXR0ZW1wdCB0bwoJICBsZWF2ZSBpdCBzdHJpY3RseSB0aGUgc2FtZSwgYnV0IGZpeGVkIGl0IGFzIG5lY2Vzc2FyeS4gIE5lZWRzCgkgIHRlc3RpbmcgSSBjYW5ub3QgZG8gbXlzZWxmLgoKMjAwOS0wMi0yNSAxOTo1ODoyOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIGR2ZGVjOiBBZGQgaW50ZXJsYWNpbmcgaW5mbyB0byBjYXBzIGFuZCBidWZmZXJzCgoyMDA5LTAyLTI1IDE0OjU3OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IFVwZGF0ZSBzaGF2ZSBpbml0IHN0YXRlbWVudCBmb3IgY2hhbmdlcyBpbiBjb21tb24uIEJ1bXAgY29tbW9uLgoKMjAwOS0wMi0yNSAxNDowMToyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IGNvbXBpbGF0aW9uCgkgIEZpeCBjb21waWxhdGlvbiBvbiBzeXN0ZW1zIE1TR19FUlJRVUVVRSBhbmQgSVBfUkVDVkVSUi4KCjIwMDktMDItMTkgMjA6MTQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBlcnJvciBvdXQgaW5zdGVhZCBvZiBjcmFzaGluZyBpZiBubyBjYXBzIGhhdmUgYmVlbiBzZXQKCSAgRG9uJ3QgY3Jhc2ggaWYgd2UgcmVjZWl2ZSBhIGJ1ZmZlciB3aXRob3V0IGNhcHMuIEZpeGVzICM1NzI0MTMuCgoyMDA5LTAyLTI1IDExOjM1OjMxICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogTWFrZSBzdXJlIHRoZSBzb2NrYWRkciBsZW5ndGggdXNlZCBmb3IgcmVjdmZyb20oKSBpcyBiaWcgZW5vdWdoLgoJICBQcmV2aW91c2x5IHRoZSBzb2NrYWRkciBsZW5ndGggdXNlZCBmb3IgcmVjdmZyb20oKSB3YXMgY2FsY3VsYXRlZCBhcwoJICBzaXplb2YgKHN0cnVjdCBzb2NrYWRkcikuIEhvd2V2ZXIsIHRoaXMgaXMgdG9vIGxpdHRsZSB0byBob2xkIGFuIElQdjYKCSAgYWRkcmVzcywgc28gdGhlIGZ1bGwgc2l6ZSBvZiB0aGUgZ3N0X3NvY2thZGRyIHVuaW9uIHNob3VsZCBiZSB1c2VkCgkgIGluc3RlYWQuCgoyMDA5LTAyLTI1IDExOjMyOjI4ICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogVW5pZnkgdGhlIHVzZSBvZiB1bmlvbiBnc3Rfc29ja2FkZHIuCgoyMDA5LTAyLTI1IDExOjMyOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDljZjhjOWIgdG8gYTZjZTVjNgoKMjAwOS0wMi0yNSAxMjowNToyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2b2lkIGNyYXNoaW5nIG9uIHN1YnRpdGxlcwoJICBBdm9pZCBhIGNyYXNoIGluIGF2aSB3aXRoIHN1YnRpdGxlcyBieSBvbmx5IGRlcmVmZXJlbmNpbmcgdGhlIHZpZGVvIGRlc2NyaXB0aW9uCgkgIHdoZW4gd2UgYWN0dWFsbHkgYXJlIGRlYWxpbmcgd2l0aCB2aWRlbyBpbiB0aGUgX2ludmVydCBmdW5jdGlvbi4KCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDItMjQgMTc6NTg6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogRml4IHN0cmljdC1hbGlhc2luZyB3YXJuaW5ncyBmcm9tIGdjYyA0LjQuMAoJICBGaXggc3RyaWN0IGFsaWFzaW5nIHdhcm5pbmdzIGJ5IGRlZmluaW5nIGEgdW5pb24gb24gdGhlIGRpZmZlcmVudAoJICBzb2NrYWRkciBzdHJ1Y3RzIHRoYXQgd2UgbmVlZC4KCjIwMDktMDItMjQgMTc6MzU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogRml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gaDI2NCBwYXlsb2FkZXIKCSAgRml4IGFuIHVuZGVmaW5lZCBiZWhhdmlvdXIgd2FybmluZyBmcm9tIGdjYyA0LjQuMAoJICBQYXRjaCBCeTogVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgkgIEZpeGVzOiAjNTcwOTk1CgkgIFNpZ25lZC1PZmYtQnk6IEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKMjAwOS0wMi0yMiAxNzoyMzowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFVzZSBzaGF2ZSBmb3IgdGhlIGJ1aWxkIG91dHB1dAoKMjAwOS0wMi0yNCAxNDo1NToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9nY29uZi5jOgoJKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5oOgoJICBnY29uZjogUmVuYW1lIGdjb25mLltjaF0gdG8gZ3N0Z2NvbmYuW2NoXSB0byBwcmV2ZW50IG5hbWUgY29uZmxpY3RzCgoyMDA5LTAyLTI0IDE0OjQxOjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBBbHNvIHVzZSAiKGMpaW5mIiB0byBmaWxsIHRoZSBjb21tZW50IHRhZwoKMjAwOS0wMS0yNiAxMTowNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBlcmZvcm0gVURQIFNFVFVQIGFjY29yZGluZyB0byBNUyBSVFNQIHNwZWMKCSAgTVMgUlRTUCBzcGVjIHN0YXRlcyB0aGF0IHRoZSBVRFAgcG9ydCBwYWlyIHVzZWQgaW4gc3Vic2VxdWVudCBTRVRVUAoJICByZXF1ZXN0cyBmb3IgdmFyaW91cyBzdHJlYW1zIG11c3QgYmUgaWRlbnRpY2FsIChzaW5jZSB0aGVyZSB3aWxsIGFjdHVhbGx5CgkgIGJlIG9ubHkgMSBzdHJlYW0gb2YgbXV4ZWQgYXNmIHBhY2tldHMpLiAgRm9sbG93aW5nIHRyYWRpdGlvbmFsIHNwZWNzIGFuZAoJICB1c2luZyBkaWZmZXJlbnQgcG9ydCBwYWlycyBpbiB0aGUgU0VUVVBzIGZvciBzZXBhcmF0ZSBzdHJlYW1zIHdpbGwgcmVzdWx0CgkgIGluIGFsbCBidXQgdGhlIGZpcnN0IG9uZSBmYWlsaW5nIGFuZCBvbmx5IG9uZSBzdHJlYW0gYmVpbmcgc3RyZWFtZWQuCgkgIFNvLCBpbiBhcHByb3ByaWF0ZSBjaXJjdW1zdGFuY2VzLCByZXRyeSBVRFAgU0VUVVAgdXNpbmcgcHJldmlvdXNseSB1c2VkCgkgIHBvcnQgcGFpci4gIEZpeGVzICM1NTI2NTAuCgoyMDA5LTAyLTIzIDIwOjQ5OjM3ICswMTAwICBBdXJlbGllbiBHcmltYXVkIDxnc3RlbHp6IGF0IHlhaG9vIGRvdCBmcj4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIFJlYWQgSUNNUCBlcnJvciBtZXNzYWdlcyBpbnN0ZWFkIG9mIGxvb3BpbmcKCSAgV2hlbiB3ZSBhcmUgZGVhbGluZyB3aXRoIGNvbm5lY3RlZCBzb2NrZXRzIHNoYXJlZCBiZXR3ZWVuIGEgdWRwc3JjIGFuZCBhIHVkcHNpbmsKCSAgd2UgbWlnaHQgcmVjZWl2ZSBJQ01QIGNvbm5lY3Rpb24gcmVmdXNlZCBlcnJvciBtZXNzYWdlcyBpbiB1ZHBzcmMgdGhhdCB3aWxsCgkgIGNhdXNlIGl0IHRvIGdvIGludG8gYSBidXJzdHkgbG9vcCBiZWNhdXNlIHRoZSBwb2xsIHJldHVybnMgcmlnaHQgYXdheSB3aXRob3V0IGEKCSAgbWVzc2FnZSB0byByZWFkLgoJICBJbnN0ZWFkIG9mIGxvb3BpbmcsIHJlYWQgdGhlIGVycm9yIG1lc3NhZ2UgZnJvbSB0aGUgZXJyb3IgcXVldWUgaW4gdWRwc3JjLgoJICBGaXhlcyAjNTY3ODU3LgoKMjAwOS0wMi0yMyAxOTo1Mzo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQ29uZGl0aW9uYWxseSBjb21waWxlIGNvZGUgZm9yIFlWWVUKCSAgT25seSBjb21waWxlIHRoZSBjb2RlIGZvciB0aGUgWVZZVSBmb3JtYXQgd2hlbiB0aGUgZm9ybWF0IGlzIGFjdHVhbGx5IGRlZmluZWQuCgkgIFNwb3R0ZWQgYnkgdG1hdHRoIG9uIElSQy4KCjIwMDktMDItMTcgMTE6MDE6NDcgLTA4MDAgIExldmVudGUgRmFya2FzIDxsZmFya2FzQGxmYXJrYXMub3JnPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBNYWtlIHNvcnRfYnlfZnJhbWVfc2l6ZSBjb25kaXRpb25hbGx5IGNvbXBpbGVkCgkgIHNvcnRfYnlfZnJhbWVfc2l6ZSBpcyBkZWNsYXJlZCBzdGF0aWMgYW5kIG9ubHkgdXNlZCBpbnNpZGUKCSAgYW4gaWZkZWYsIHNvIHVzZSB0aGUgc2FtZSBpZmRlZiB0byBkZWZpbmUgdGhlIGZ1bmN0aW9uLiAgRml4ZXMgIzU3MjE4NQoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDItMjMgMTc6MDU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZCBZVllVIGZvcm1hdCB0byBjYXBzCgkgIEFkZCBZVllVIGZvcm1hdCB0byB0aGUgY2Fwcy4gV2UgZG9uJ3QgaGF2ZSBhbnl0aGluZyB0byBoYW5kbGUgdGhlc2UgY2FwcyB5ZXQsCgkgIHRob3VnaC4KCjIwMDktMDItMjMgMTU6NDg6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgU29tZSBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzLgoJICBBdm9pZCBhIHVzZWxlc3MgX3Jlc3luYyBjYWxsLgoJICBDb3JyZWN0bHkgdXNlIGEgZ2Jvb2xlYW4uCgoyMDA5LTAyLTIzIDE1OjQzOjUxICswMTAwICBXYWktTWluZyBIbyA8d2FpbWluZyBhdCBhaWx1cm9wb2RhIGRvdCBuZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgQWx3YXlzIGFkZCBQUFMgdG8gdGhlIHNwcm9wLXBhcmFtZXRlcnMtc2V0CgkgIFJld29yayB0aGUgcGFyc2luZyBjb2RlIHRoYXQgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzIGRyb3BwZWQgdGhlIFBQUyBmcm9tCgkgIHRoZSBzcHJvcC1wYXJhbWV0ZXJzLXNldC4KCSAgRml4ZXMgIzU3Mjg1NC4KCjIwMDktMDItMjMgMTI6MTQ6MjMgKzAxMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXQgYXQgbWluZCBkb3QgYmU+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIERvbid0IGRvIGNyYXp5IHRoaW5ncyB3aXRoIDAvMSBmcmFtZXJhdGVzCgkgIFdlIHVzZSAwLzEgZnJhbWVyYXRlcyB0byBtYXJrIHZhcmlhYmxlIGZyYW1lcmF0ZXMgYW5kIG1hdHJvc2thbXV4IHNob3VsZCBub3QgdHJ5CgkgIHRvIGNhbGN1bGF0ZSBhIGZyYW1lIGR1cmF0aW9uIGZvciBpdC4KCSAgRml4ZXMgIzU3MTI5NC4KCjIwMDktMDItMjMgMTE6NDU6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgbmV3ZXIgZ3N0LXAtYiBmb3IgdGhlIFJUU1AgZXh0ZW5zaW9ucy4KCSAgLS0KCjIwMDktMDItMjMgMTE6NDI6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIENhbGwgbmV3IHJlY2VpdmVfcmVxdWVzdCBtZXRob2QKCSAgQ2FsbCB0aGUgcmVjZWl2ZV9yZXF1ZXN0IGV4dGVuc2lvbiBtZXRob2RzIHNvIHRoYXQgZXh0ZW5zaW9ucyBjYW4gaGFuZGxlIHRoZQoJICBzZXJ2ZXIgcmVxdWVzdCBpZiB0aGV5IHdhbnQuCgoyMDA5LTAyLTIzIDExOjEzOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgIEFkZCBtZXRob2QgZm9yIGhhZGxpbmcgc2VydmVyIHJlcXVlc3RzCgkgIEFkZCBtZXRob2QgdG8gaGFuZGxlIHNlcnZlciByZXF1ZXN0cyBvbiB0aGUgbGlzdCBvZiBSVFNQIGV4dGVuc2lvbnMuCgoyMDA5LTAyLTEzIDE0OjM5OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBEb24ndCB1c2UgR1NUX0VSUk9SIGZvciBub24tZXJyb3IgY2FzZXMuCgkgIFR1cm4gYSBHU1RfRVJST1IgbGluZSBpbnRvIGEgR1NUX0RFQlVHIGxpbmUgc28gdGhhdCB3ZSBkb24ndCBzcGFtIHRoZSBsb2cgd2l0aAoJICBlcnJvcnMuIEZpeGVzICM1NzA3ODEuCgoyMDA5LTAyLTIyIDE5OjMwOjMyICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIGdjb25mdmlkZW8oc3JjfHNpbmspOiBEaXNjb25uZWN0IEdDb25mIG5vdGlmaWNhdGlvbnMKCSAgRml4ZXMgYnVnICM1NzEzMjEuCgoyMDA5LTAyLTIyIDE5OjI1OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVbnJlZiB0aGUgYnVmZmVyIGFuZCBub3QgdGhlIG1lbW9yeSBhZGRyZXNzIG9mIHRoZSBidWZmZXIKCjIwMDktMDItMjIgMTg6NDc6MzUgKzAxMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIGFsYXcvbXVsYXc6IEltcGxlbWVudCBfZ2V0Y2FwcyBmdW5jdGlvbiBmb3IgYWxhdy9tdWxhdyBkZWNvZGVycwoJICBGaXhlcyBidWcgIzU3MjM1OC4KCjIwMDktMDItMjIgMTg6NDY6MDMgKzAxMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkgIGFsYXcvbXVsYXc6IERvbid0IHJlcXVpcmUgYm90aCwgcmF0ZSBhbmQgY2hhbm5lbCwgdG8gYmUgc2V0IGluIF9nZXRjYXBzCgkgIEZpeGVzIGJ1ZyAjNTcyMzU4LgoKMjAwOS0wMi0yMiAxODozMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggYWxpZ25tZW50IGlzc3VlcyBieSB1c2luZyBHU1RfUkVBRF8qCgkgIFJlYWRpbmcgaW50ZWdlcnMgZnJvbSByYW5kb20gbWVtb3J5IGFkZHJlc3NlcyB3aWxsIHJlc3VsdAoJICBpbiBTSUdCVVMgb24gc29tZSBhcmNoaXRlY3R1cmVzIGlmIHRoZSBtZW1vcnkgYWRkcmVzcwoJICBpcyBub3QgY29ycmVjdGx5IGFsaWduZWQuIFRoaXMgY2FuIGhhcHBlbiBhdCB0d28KCSAgcGxhY2VzIGluIGF2aWRlbXV4IHNvIHdlIHNob3VsZCB1c2UgR1NUX1JFQURfVUlOVDMyX0xFCgkgIGFuZCBmcmllbmRzIGhlcmUuIEZpeGVzIGJ1ZyAjNTcyMjU2LgoKMjAwOS0wMi0yMiAxODowODo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2VtaXhlcjogRG9uJ3QgdXNlIGdfYXRvbWljX2ludF8oZ2V0fHNldCkgZm9yIGFjY2Vzc2luZyB0aGUgbWl4ZXIgdHJhY2sgZmxhZ3MKCSAgZ19hdG9taWNfaW50XyhnZXR8c2V0KSBvbmx5IHdvcmsgb24gaW50cyBhbmQgdGhlIGZsYWdzIGFyZQoJICBhbiBlbnVtICh3aGljaCBvbiBtb3N0IGFyY2hpdGVjdHVyZXMgaXMgc3RvcmVkIGFzIGFuIGludCkuCgkgIEFsc28gdGhlIHdheSB0aGUgZmxhZ3Mgd2VyZSBhY2Nlc3NlZCBhdG9taWNhbGx5IHdvdWxkIHN0aWxsCgkgIGxlYXZlIGEgcG9zc2libGUgcmFjZSBjb25kaXRpb24gYW5kIHdlIGRvbid0IGRvIGl0IGluIGFueQoJICBvdGhlciBtaXhlciB0cmFjayBpbXBsZW1lbnRhdGlvbiwgbGV0IGFsb25lIGF0IGFueSBvdGhlcgoJICBwbGFjZSB3aGVyZSBhbiBpbnRlZ2VyIGNvdWxkIGJlIGNoYW5nZWQgZnJvbSBkaWZmZXJlbnQKCSAgdGhyZWFkcy4gUmVtb3ZpbmcgdGhlIGdfYXRvbWljX2ludF8oZ2V0fHNldCkgd2lsbCBvbmx5CgkgIGludHJvZHVjZSBhIG5ldyByYWNlIGNvbmRpdGlvbiBvbiBhcmNoaXRlY3R1cmVzIHdoZXJlCgkgIGludGVnZXJzIGNvdWxkIGJlIGhhbGYtd3JpdHRlbiB3aGlsZSByZWFkaW5nIHRoZW0KCSAgd2hpY2ggc2hvdWxkbid0IGJlIHRoZSBjYXNlIGZvciBhbnkgbW9kZXJuIGFyY2hpdGVjdHVyZQoJICBhbmQgaWYgd2UgcmVhbGx5IGNhcmUgYWJvdXQgdGhpcyB3ZSBuZWVkIHRvIHVzZQoJICBnX2F0b21pY19pbnRfKGdldHxzZXQpIGF0IG1hbnkgb3RoZXIgcGxhY2VzIHRvby4KCSAgQXBhcnQgZnJvbSB0aGF0IGdfYXRvbWljX2ludF8oc2V0fGdldCkgd2lsbCByZXN1bHQgaW4KCSAgYWxpYXNpbmcgd2FybmluZ3MgaWYgdGhlaXIgYXJndW1lbnQgaXMgZXhwbGljaXRlbHkKCSAgY2FzdGVkIHRvIGFuIGludCAqLiBGaXhlcyBidWcgIzU3MTE1My4KCjIwMDktMDItMjIgMTU6NTI6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWQ3YzljYyB0byA5Y2Y4YzliCgoyMDA5LTAyLTIyIDEyOjQxOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgaGR2MTM5NHNyYzogRG9uJ3QgdXNlIHZvaWQgKiBwb2ludGVyIGFyaXRobWV0aWMKCjIwMDktMDItMjEgMTE6MTM6NDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4MGM2MjdkIHRvIDVkN2M5Y2MKCjIwMDktMDItMjEgMTg6NDI6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjE0LjEKCjIwMDktMDItMjAgMTg6MTY6MDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgRG9jdW1lbnQgcnRwZHRtZmRlcGF5IGEgYml0CgoyMDA5LTAyLTIwIDE3OjQxOjM3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkgIE1vdmVkIGR0bWYgZWxlbWVudHMgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQwOjU3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBGaXggdXAgZG9jdW1lbnRhdGlvbiBibG9icyBTR01MCgoyMDA5LTAyLTIwIDE3OjM3OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTggMTM6MzA6NDQgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1pc3NpbmcgZm9ybWF0IGRpcmVjdGl2ZQoKMjAwOC0xMi0wNCAyMToyMTo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1heGltdW0gZHVyYXRpb24gdG8gYSBSVFAgRFRNRiBldmVudAoKMjAwOC0xMi0wNCAyMToxMToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXByb3ZlIHRoZSBtaW5pbXVtIHF1YW50YSB0byBtYWtlIGl0IGltcG9zc2libGUgZm9yIHRoZSBkdXJhdGlvbiB0byBmYWxsIGRvd24gdG8gMAoKMjAwOC0xMi0wMSAxODozMTo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1pbmltdW0gc2l6ZSBvZiBhIHNvdW5kIHF1YW50YSBpbiB0aGUgZHRtZiBkZXBheWxvYWRlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMDEgMTc6Mzc6MTAgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvIHdpZXJkIGNhc3Rpbmcgb2YgdGhlIHZvbHVtZSB0byBtYWtlIE1TVkMgaGFwcHkKCjIwMDgtMTAtMTUgMTY6MjE6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xhcmlmeSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgImV2ZW50LXR5cGUiIGZpZWxkIHdoZW4gc3BlY2lmeWluZyBkdG1mIGV2ZW50cwoKMjAwOC0wNy0yMiAyMTozOTozOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZ19kZWJ1Z3MKCSAgMjAwODA3MjIyMTM5MzgtM2UyZGMtNDRhODJkMDE3ZmU2NmYzMTEyMzAxYzQxMGFhMGI1NDNkZTYxNTZhZC5negoKMjAwOC0wNi0xMyAyMzo1NzoyMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHJhdGUgZnJvbSB0aGUgcGVlcnMgY2FwcyBpZiBwb3NzaWJsZQoJICAyMDA4MDYxMzIzNTcyMy0zZTJkYy0xNTY5MGVlNDI3MDhjNTM5ZTFiZTEyZTIwZTA3NmE1NjEzZmFlYTk2Lmd6CgoyMDA4LTA2LTEzIDIzOjQxOjQ0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IHRoZSBzYW1wbGUgcmF0ZSBpbiBkdG1mc3JjIGludG8gYSB2YXJpYWJsZQoJICAyMDA4MDYxMzIzNDE0NC0zZTJkYy1lNjAwNzA5NDNiZWM4MjliNzAzYjg4MjFjN2FhNDM1MWEwMmRlZWJlLmd6CgoyMDA4LTA2LTEzIDIzOjMwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgdGhlIGNsb2NrLXJhdGUgZnJvbSB0aGUgY2FwcyBpbiBydHBkdG1mc3JjCgkgIDIwMDgwNjEzMjMzMDA2LTNlMmRjLWE3ZDRlOTE4NjQzZjRmOGMxYmIyY2MyNjc4NTU4YzY1NDAyNTkyMGUuZ3oKCjIwMDgtMDQtMjggMjI6MjI6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMaW5rIG1vZHVsZXMgd2l0aCBsaWJtIHdoZXJlIHJlcXVpcmVkCgkgIDIwMDgwNDI4MjIyMjM3LTNlMmRjLWIxZTkxMjBjMWU5Y2ExYTUxMGJmZDdjMjdlMmQ0NWYwZDRhMTI1MDQuZ3oKCjIwMDgtMDQtMTIgMjM6NDQ6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGJ5dGUgb3JkZXJpbmcgaXNzdWVzIHdpdGggZHRtZnNyYyBhbmQgcnRwZHRtZmRlcGF5Li4gdXNlIG9mIEdfU1RSSU5HSUZZIHRvIGF2b2lkIGVycm9yIG9uIE1TVkMKCSAgMjAwODA0MTIyMzQ0MTgtNGYwZjYtNDgyOGQxNjEzZGZjZDU2NGFmZDIzNmRmYzhmYjU3YTI5OTA5MmY4My5negoKMjAwOC0wMy0yMCAxOToxNDozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHRzIGFnYWluLCBwZXIgc21jdidzIGFkdmljZS4uCgkgIDIwMDgwMzIwMTkxNDM4LTRmMGY2LTY3MWM5ZGI1ZDk5NmE0NjAxZGYwMTdjZWFiNGFmNmQxNjQ2OWM5NjYuZ3oKCjIwMDgtMDMtMTkgMjE6MTc6MzEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBjbGVhciB0aGF0IGR0bWZzcmMgYWxzbyB0YWtlcyBuYW1lZCBldmVudHMgYXMgaW5wdXQKCSAgMjAwODAzMTkyMTE3MzEtM2UyZGMtMjZjNzI5ZjZkYzhkYjI3ZTcxY2Y2YjIyNjQ2YTgxNTMwZGJmODYyZi5negoKMjAwOC0wMy0yMCAxODo0ODo0MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZGVidWcgbWVzc2FnZSBtYWRlIGludG8gZXJyb3JzIGJlY2F1c2UgdGhhdCdzIHdoYXQgdGhleSBhcmUuLi4KCSAgMjAwODAzMjAxODQ4NDEtNGYwZjYtOGEyZDI4MzI5N2IwMjcxM2RhZGUwYWU0YWNhYTVmNmUwZjY3ZWFjZS5negoKMjAwOC0wMy0yMCAxODozOTozNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW4gdW51c2VkIHN0dWZmLi4uCgkgIDIwMDgwMzIwMTgzOTM3LTRmMGY2LWJjYjg0MWNkYzA3ZjllOTY3NzUxMmY0YjUwYjRiNjU5YTU4YzY3ODMuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cwoJICAyMDA4MDMyMDE4MzkxMi00ZjBmNi02ODkzNjVkNWE0MDY2MzJlM2QwODhmYWM3NGU0ZmI2ZjhhNGViMGVhLmd6CgoyMDA4LTAzLTIwIDAxOjEzOjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIHN1cHBvcnQgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAxMTMwMS00ZjBmNi1kMzZhNWQyNGJlMjAzMzZlMzZjNDc5NmQ3NTQ3NmM5YjVlZTFhN2UxLmd6CgoyMDA4LTAzLTE5IDE5OjMyOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGVuY29kaW5nIG5hbWUgaGFzIHRvIGJlIHVwcGVyLWNhc2UKCSAgMjAwODAzMTkxOTMyNTEtM2UyZGMtMTU4MWIzM2JlOWI0ODZlMzVlYzQ5NDgwMDk2NzdjY2Q1ZmZkYzA5OC5negoKMjAwOC0wMy0yMCAwMDo1MTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIG5lY2Vzc2FyeSBmaWxlcyBmb3IgcnRwZHRtZmRlcGF5CgkgIDIwMDgwMzIwMDA1MTQ3LTRmMGY2LTU1MGZlMjJmNzAxNTJmM2FhYjNkY2Q3YTZiMDJjYmY4MWU4OTIzMmQuZ3oKCjIwMDgtMDMtMjAgMDA6NTA6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdHlwb3MKCSAgMjAwODAzMjAwMDUwNDEtNGYwZjYtOWQyMmZhNWQxNTVlMzViNjA1ZWE4NWIxZmQ5ZTcxOTdhODgyYTFmMC5negoKMjAwOC0wMi0xNiAxMzo0MTo0MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZHRtZnNyYzogQ29ycmVjdGx5IHNldCB0aGUgZW5kaWFuZXNzIGluIHRoZSBjYXBzIHRvIHRoZSBtYWNoaW5lcyBlbmRpYW5lc3MKCSAgMjAwODAyMTYxMzQxNDAtOTNiOWEtNDBhM2E5ZDdhYzE2NzljNWUwZGZkMjRhNmI5MWU0YWJhNmNjNjQ5Ni5negoKMjAwNy0wOS0xNyAxNzo1MjozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZWFyY2gmUmVwbGFjZSBvb3BzCgkgIDIwMDcwOTE3MTc1MjMzLTNlMmRjLTU3ZjU3OWM0Yjg5MDk5M2Y0OWZhOGU5ZTY0NzBhM2ViNzlkMmI5MjIuZ3oKCjIwMDctMDktMTcgMTc6NTE6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZXZlbnRzIGRvbnQgeWV0IGJlbG9uZyBpbiB0aGUgY2FwcwoJICAyMDA3MDkxNzE3NTEzMy0zZTJkYy1mZDFkODNiNzgyNmI4OTgxMTBmYzU3MWFlN2MzNDQwZjE4ODc0MzRkLmd6CgoyMDA3LTA5LTE3IDE2OjA4OjIwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHBhdGNoIHRvIG1ha2UgaXQgd29yayB3aXRoIG1hZW1vIGRzcCBzb3VyY2VzIHRoYXQgcGF5bG9hZCBpbmNvcnJlY3RseQoJICAyMDA3MDkxNzE2MDgyMC0zZTJkYy0wNmIxYjFkMWIwOTE4YjMwZGFiZWE1YTA3MTRjYjczMmIzYjhkOGRkLmd6CgoyMDA3LTA5LTE3IDA0OjI2OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT29wcywgc2V0IHRvIG5vIHByZXJvbGwgd2hlbiBwbGF5aW5nLT5wYXVzZWQgdG9vCgkgIDIwMDcwOTE3MDQyNjQ5LTNlMmRjLTk0YWRiNmFhMDYxN2U4MTVhNmUyMzMyMzJkYWJiNGJiYzQ4ZGM4MmMuZ3oKCjIwMDctMDktMTcgMDA6MzY6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb21wbGV0ZSBwb3J0IHRvIGJhc2VzcmMKCSAgMjAwNzA5MTcwMDM2NTQtM2UyZGMtZGIwZjg0ZGFiZDlkZDFhYzkyOWEwNDYxODY1YjhhYWE4ZWY5MWE3Ny5negoKMjAwNy0wOS0xNyAwMDoyNDoxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjYXBzIG5lZ290aWF0aW9uIGZ1bmN0aW9uCgkgIDIwMDcwOTE3MDAyNDEyLTNlMmRjLWNhMjY2ODE2ZTk2Mjk3NDZlOTA4M2M1YmI4YjdmNzNiOTRhOWIyYjAuZ3oKCjIwMDctMDktMTcgMDA6MTY6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZnJlZSBub24tc3RhcnQgZXZlbnRzCgkgIDIwMDcwOTE3MDAxNjU5LTNlMmRjLWE1NzE3NzdlM2VjZmI5MDk4OWY4NzQxMmY1NTRhYTEwYTMxY2MyY2EuZ3oKCjIwMDctMDktMTcgMDA6MTU6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGludGVydmFsIGFuZCBwYWNrZXRfcmVkdW5kYW5jeSBpbnRvIHVpbnQKCSAgMjAwNzA5MTcwMDE1NTItM2UyZGMtNjAwMzJlNTQ3YjM2NjliODczMTdjOTgxZDk4NWMxNTZhYWI5MWI0MC5negoKMjAwNy0wOS0xNiAxOTo0NDowOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIHJ0cCBkdG1mIHNyYyB1c2UgYmFzZXNyYwoJICAyMDA3MDkxNjE5NDQwOC0zZTJkYy03MzQwMDAxMzBkY2UyNDM0YTAxNGFjZjg0M2Q2NDFmZjBlNjBhYTVhLmd6CgoyMDA3LTA5LTE2IDE5OjQxOjAxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZHRtZiBzcmMgY29kZSBuaWNlcgoJICAyMDA3MDkxNjE5NDEwMS0zZTJkYy1hOGJlOGM1MDljNjU0MDBkMWQzOTYyZGEwMmU2N2QxNWQyMDU0MzE2Lmd6CgoyMDA3LTA5LTE0IDA0OjIwOjQyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wbGVtZW50IHN0b3BwaW5nIGluIGEgbmljZSB0aHJlYWQgc2FmZSB3YXkKCSAgMjAwNzA5MTQwNDIwNDItM2UyZGMtMWZlMjU3ZmY0YjcyYWNhNGIwZWI1ZjI4NWExNDY1MGI4ZGYyNjhjMy5negoKMjAwNy0wOS0xNCAwNDoxODozNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZ2V0X3RpbWVzIChXaW0gc2F5cyBpdHMgb25seSBnb29kIGZvciByZWFsbHkgZmFrZSBzb3VyY2VzKQoJICAyMDA3MDkxNDA0MTgzNC0zZTJkYy1mZmY0ZDVkYTJhMTQ1ZjE5ZTdiNjEwYTEwMjdkMmM0ZDRiYzVlYWUwLmd6CgoyMDA3LTA5LTEzIDIxOjIxOjQ1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdXNpbmcgdGhlIHVubG9jayBtZXRob2Qgb2YgYmFzZXNyYwoJICAyMDA3MDkxMzIxMjE0NS00ZjBmNi0wZTQzOGE2ODFiZjE2NTFjMGNjMGQ4ZmEzMjY5YWVkM2YxNjY4YjZiLmd6CgoyMDA3LTA5LTEzIDIxOjEyOjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbW9yZSBkZWJ1ZwoJICAyMDA3MDkxMzIxMTIyNi00ZjBmNi1iYzMyYjU4MjhmYzhlMDMyM2M4YTZlZWU3NzlhMzgxNDVhYWNkNTkzLmd6CgoyMDA3LTA5LTEzIDIwOjQ2OjE0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgZGVidWdzCgkgIDIwMDcwOTEzMjA0NjE0LTRmMGY2LTY4YzJhNjlhZTdhMWVmY2E2ZTEzYzExNmRiYWQ3ZjliNjg2ZjAyNDIuZ3oKCjIwMDctMDktMTMgMTk6MjA6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHN1cmUgdG8gdW5sb2NrIHRoZSB0aHJlYWQgd2hlbiBnb2luZyB0byByZWFkeSBhbmQgdG8gZmx1c2ggdGhlIHF1ZXVlIHdoZW4gbW92aW5nIHRvIHBhdXNlZCBvciBwbGF5aW5nCgkgIDIwMDcwOTEzMTkyMDUzLTRmMGY2LTc2YzM5MjUzODBkMWEzMDk4ODI4NjE3MDUzNWE2NWRlYTY0YTU1ODMuZ3oKCjIwMDctMDktMTMgMTc6NTU6MjAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoYW5nZWQgZHRtZnNyYyBpbnRvIGEgc3ViY2xhc3Mgb2YgR3N0QmFzZVNyYwoJICAyMDA3MDkxMzE3NTUyMC00ZjBmNi0xNmNhNGJmOTM2OTAwNzJmM2U4MzZkMWM4YTViNTJjZjdhNDIxOTE2Lmd6CgoyMDA3LTA5LTA0IDIyOjU3OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGFub3RoZXIgZml4IGZvciBhIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9uCgkgIDIwMDcwOTA0MjI1NzUzLTRmMGY2LTViYThjNDI2MGMwMDJiYjI3ZWI5OGU5ZmFiYTNjMTU3OTkzNTdiNTcuZ3oKCjIwMDctMDktMDQgMjE6NTI6MjQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNvbW1lbnQgdG8gZXhwbGFpbiBwdXNoIGJhY2sKCSAgMjAwNzA5MDQyMTUyMjQtM2UyZGMtZDkyYWMxZjQwM2RjZjU3MTU0NmE3YzUzZjE4ODA5Zjg0MGVlYTUxZC5negoKMjAwNy0wOS0wNCAyMDo1NTowOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3Blcmx5IGRvIHRoZSBsb2NraW5nIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aXRoIGNsb2NrIHVuc2NoZWR1bGluZwoJICAyMDA3MDkwNDIwNTUwOS0zZTJkYy1kYTE5OTAwYjUxYWY2YWVkYjY1NDdmNGYzOTJiZWY0ZDEwNjFkZWMyLmd6CgoyMDA3LTA5LTAxIDAwOjAzOjI0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3VwcywgSSBkaWQgaXQgYWdhaW4uLi4KCSAgMjAwNzA5MDEwMDAzMjQtNGYwZjYtM2Q4YjQ2NjkxZWU1MjA1MzdiMDZjNTExYTVlNzMyZjViODEyYjg0NC5negoKMjAwNy0wOC0zMSAyMzo1NDoyOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91cHMsIHNvcnJ5Li4gRFRNRiwgbm90IFJUUF9EVE1GIGZvciB0aGlzIGZpbGUuLi4KCSAgMjAwNzA4MzEyMzU0MjgtNGYwZjYtMDBiNjA2YmZiNDg5MmU0ZjIxN2M0NDBiNjExY2M3OTRhYjBkZTU1YS5negoKMjAwNy0wOC0zMSAyMzo0NDoxMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeGVzIHRoZSBkZWFkbG9jayB3aGVuIHBhdXNpbmcgdGhlIGR0bWZzcmMgYW5kIHJ0cGR0bWZzcmMuIEhhZCB0byBwdXNoIHNvbWV0aGluZyBvbiB0aGUgYXN5bmMgcXVldWUgdG8gcmVsZWFzZSB0aGUgYmxvY2tpbmcgYXN5bmNfcXVldWVfcG9wKCkuIFRoYW5rcyB0byBPbGl2aWVyIGZvciB0aGUgc29sdXRpb24uCgkgIDIwMDcwODMxMjM0NDEzLTRmMGY2LTc5M2NmMzVmYzQzNjM2ZTcyNzUyNThjYzcwNjNmYzA2OGY1ZWZhMGEuZ3oKCjIwMDctMDgtMjggMjI6MTU6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbG9ja0lEIHdoZW4gd2FpdGluZyBmb3IgYnVmZmVyIGlzIG5vdyB1bnNjaGVkdWxlZCB3aGVuIHN0b3BwaW5nIHRoZSB0YXNrLiBWYXJpb3VzIGZpeGVzIHRvIGF2b2lkIGJ1Z3MgKHRoYW5rcyB0byAtV2FsbCAtV2Vycm9yKS4gRml4ZXMgdG8gYWxsb3cgdGhlIG1lcmdlIG9mIHRoZSBicmFuY2guCgkgIDIwMDcwODI4MjIxNTM0LTRmMGY2LWIwZDZhNGZlNDhjNGUyYTE2YjlmZjY5Y2IzMTAwODdjOTcwY2U0OGUuZ3oKCjIwMDctMDgtMjggMTc6MTU6NDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuZWQgdXAgdGhlIGNvZGUgYSBiaXQsIG5vIHVzZSBvZiBHU1RfKiBhbmQgcmV0dXJuIHZhbHVlIHZlcmlmaWNhdGlvbiBmcm9tIGdzdF8qCgkgIDIwMDcwODI4MTcxNTQ2LTRmMGY2LWJkZWI0YjFiN2Y5OWY5NDY0YWFiZTVjNDNiZDRhNGQyMDI1MjYyYjYuZ3oKCjIwMDctMDgtMjcgMTk6NTY6MTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggb3Zlcmx5IGxvbmcgbGluZXMgYW5kIHRhYnMKCSAgMjAwNzA4MjcxOTU2MTAtM2UyZGMtMzk2YTNmYTAxZTE2ZjE4NGU0MTA5YzcxZmUyZGViNmU1MTZiZGYwZC5negoKMjAwNy0wOC0yNyAxOToyNjoxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdW50YWJiaWZpZWQgZHRtZnNyYwoJICAyMDA3MDgyNzE5MjYxOC00ZjBmNi03N2Q2ODA3MDQ2NGYxYjVmOWE0NmNiNmVlYzJkOTIyMzQwMTQzYzA0Lmd6CgoyMDA3LTA4LTI3IDE3OjI0OjI0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IFJUUCB0aW1lc3RhbXBzIGJ5IHNlbmRpbmcgYSBuZXdfc2VnbWVudCBldmVudCB0byB0aGUgcGF5bG9hZGVyCgkgIDIwMDcwODI3MTcyNDI0LTRmMGY2LWQyMDkwN2UzZDQzNmQ1MGJmZTc0ZWI0ZmMzZDJkNmQ3YjZiNmRiYzUuZ3oKCjIwMDctMDgtMjcgMTc6MjM6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBCZXR0ZXIgaGFuZGxpbmcgb2YgcGFja2V0cywgd2Ugc2VuZCB0aGUgc2FtZSBkdXJhdGlvbiBmb3IgYWxsIHBhY2tldHMgdG8gYXZvaWQgaHVnZSBwYWNrZXRzIHdoZW4gbWluIGR1cmF0aW9uIGRlZmluZXMgYXJlIG1vZGlmaWVkLgoJICAyMDA3MDgyNzE3MjMzOS00ZjBmNi1jYzkzMzA0NDM3ZWEzNzZmZmY2NDU4Yzc0YzQ2YzE5ZjY5MjBkMzI5Lmd6CgoyMDA3LTA4LTI3IDE3OjIzOjIyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hhbmdpbmcgbWluaW11bSB2YWx1ZXMgdG8gd29yayBiZXR0ZXIgb24gc29tZSBnYXRld2F5cwoJICAyMDA3MDgyNzE3MjMyMi00ZjBmNi01YmYyYmZmYTU5YTgyNDQ1MzhkY2VkNzk1ZmE3ZDc2NDk0NTJjYTkxLmd6CgoyMDA3LTA4LTIyIDIwOjE2OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGhlIERUTUYgdG9uZSBnZW5lcmF0b3Igbm93IHJlc3BlY3RzIHRoZSB2b2x1bWUgYXJndW1lbnQgcGFzc2VkIGluIHRoZSBldmVudAoJICAyMDA3MDgyMjIwMTY1My00ZjBmNi04YjdmZjg3NDAwNmUxMWY1YTc0ZDBmZDkxZTVhOWE0M2NkMDgyYWRhLmd6CgoyMDA3LTA4LTIyIDE4OjAxOjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZG9uJ3Qga25vdyB3aHkgSSBkaWQgdGhhdC4uLgoJICAyMDA3MDgyMjE4MDEzMy00ZjBmNi02YTczODJmNmM3ZDM2MzBmOTFkYTM4NGUxOTA0NzYzYzdlYTZmYTFhLmd6CgoyMDA3LTA4LTIyIDE3OjU1OjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0ZWQgdGhlIGV2ZW50IHF1ZXVlIHdvcmsgZnJvbSBkdG1mc3JjIHRvIHJ0cGR0bWZzcmMKCSAgQWRkZWQgYSBxdWV1ZSBiYXNlZCBzeXN0ZW0gZm9yIHRoZSBydHBkdG1mc3JjLiBOb3cgaXQgd2FpdHMgZm9yIHN0YXJ0L3N0b3AgbWVzc2FnZXMgb24gdGhlIHF1ZXVlLCBhbmQgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGR1dHkgY3ljbGUgKDEyMG1zKSBpcyByZXNwZWN0ZWQgYmV0d2VlbiBlYWNoCgkgIHRvbmUsIGluY2x1ZGluZyBpbnRlci1kaWdpdCBzaWxlbmNlLgoJICAyMDA3MDgyMjE3NTUzMy00ZjBmNi1mMjc0MTRjNDA2ZjFmN2IwMGM5YTkwODRhOTg4Y2YzYTc5MzBmZTVjLmd6CgoyMDA3LTA4LTIyIDE3OjU0OjQ0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3VjaCwgcHJpbnRpbmcgd2l0aCBhcmd1bWVudHMgYnV0IHdpdGhvdXQgJXMuLiB0aGF0IG1hZGUgaXQgc2VnZmF1bHQgYSBmZXcgdGltZXMuLi4KCSAgMjAwNzA4MjIxNzU0NDQtNGYwZjYtNDQ1ZWE2Y2U3YTk2NjhkMDRjZjk5OWFmNzcyYTUwNGVjNzRmYjY3YS5negoKMjAwNy0wOC0yMiAxNzo1MToyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZWQgdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSBldmVudCB0byBkdG1mc3JjIHN0cnVjdHVyZSBzaW5jZSB3ZSBoYXZlIG9ubHkgb25lIGV2ZW50IGF0IGEgdGltZSwgc28gbGV0J3Mga2VlcCBpdCBzdG9yZWQgaW4gdGhlIGR0bWZzcmMgc3RydWN0CgkgIDIwMDcwODIyMTc1MTI2LTRmMGY2LTUzYmNkYTJiZDhhZThjNTZkMjllNjJlNjlhYzE5YTMwZTA4YWQzNTAuZ3oKCjIwMDctMDgtMjAgMjA6Mzg6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGEgcXVldWUgYmFzZWQgc3lzdGVtIGZvciB0aGUgZHRtZnNyYy4gTm93IGl0IHdhaXRzIGZvciBzdGFydC9zdG9wIG1lc3NhZ2VzIG9uIHRoZSBxdWV1ZSwgYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBkdXR5IGN5Y2xlICgxMjBtcykgaXMgcmVzcGVjdGVkIGJldHdlZW4gZWFjaCB0b25lLCBpbmNsdWRpbmcgaW50ZXItZGlnaXQgc2lsZW5jZS4KCSAgMjAwNzA4MjAyMDM4MjYtNGYwZjYtNzUwYTIyYjYxMmE1ZTQ5NWU3Njc2NjY5MzQ0NjVjMzRmZTMyMDc0Yi5negoKMjAwNy0wOC0yMCAxODo0ODo1MiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGR0bWZzcmMsIGEgRFRNRiBUb25lIEdlbmVyYXRvciwgYW5kIG1hZGUgaXQgcGFydCBvZiB0aGUgJ2R0bWYnIHBsdWdpbi4KCSAgMjAwNzA4MjAxODQ4NTItNGYwZjYtYTBkODVlNjc3MDgyOTBhZWJhZmE4OWFiNzlkM2NlZGQ1ODE1YjYyMC5negoKMjAwNy0wOC0yMCAxODo0ODowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCBydHBkdG1mIHRvIGR0bWYgZGlyZWN0b3J5CgkgIDIwMDcwODIwMTg0ODAwLTRmMGY2LWZhMzNlYTk3NDUxMDE2MWRlOGM5OTUxYzM5MDg3YWYzNjEzYjY1YTQuZ3oKCjIwMDktMDItMjEgMTI6NDc6MDAgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIHJlc3BlY3QgREVGQVVMVCBzZWdtZW50IGJ5IGNsaXBwaW5nIHRoZSBsYXN0IGJ1ZmZlciB0byBiZSBzZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjE0ID09PQoKMjAwOS0wMi0xOSAyMDowOTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE0CgoyMDA5LTAyLTE5IDIwOjA3OjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDItMTkgMTM6MTY6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIFVwZGF0ZSBTaW5jZTogdGFncyBpbiBhdXRvZGV0ZWN0IHNyY3MgYW5kIGF1ZGlvZWNobwoKMjAwOS0wMi0xOSAxMToxMjo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBVcGRhdGUgQ2hhbmdlTG9nIGZvciAwLjEwLjEzLjMKCjIwMDktMDItMTkgMTE6MDk6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjMgcHJlLXJlbGVhc2UKCjIwMDktMDItMTAgMTE6MjU6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIHB1bHNlbWl4ZXI6IEZpeCBjb21waWxlciB3YXJuaW5ncy4KCSAgQ2FzdCAoZW51bSAqKSB0byAoaW50ICopLCBub3QgbmVjZXNzYXJpbHkgdGVjaG5pY2FsbHkgcmlnaHQsCgkgIGJ1dCBwbHVncyAjNTcxMTUzLgoKMjAwOS0wMi0xMyAxODowMzoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBJc3N1ZSBwcm9wZXJ0eSBjaGFuZ2Ugbm90aWZpY2F0aW9uIGluIHN0cmVhbWluZyB0aHJlYWQsIHJhdGhlciB0aGFuIFBBIHRocmVhZC4KCSAgcGFfdGhyZWFkZWRfbWFpbmxvb3BfbG9jaygpIChhLm8uKSBhbmQgYnkgZXh0ZW5zaW9uIGdldF9wcm9wZXJ0eSBzaG91bGQKCSAgbm90IGJlIGRvbmUgZnJvbSBhIFBBIHRocmVhZCwgYnV0IHRoZSBsYXR0ZXIgbWF5IG9jY3VyIGFzIGEgcmVzdWx0IG9mIGEKCSAgcHJvcGVydHkgY2hhbmdlIG5vdGlmaWNhdGlvbi4gIEZpeGVzICM1NzEyMDQgKHRob3VnaCBjdXJyZW50IHNpdHVhdGlvbgoJICBub3QgaWRlYWwsIGUuZy4gcG9zdCBtZXNzYWdlIHJhdGhlciB0aGFuIHNpZ25hbCkuCgoyMDA5LTAyLTEwIDExOjI3OjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgYXNwZWN0cmF0aW9jcm9wOiBEb24ndCBmb3JnZXQgdG8gY2FsbCBwYXJlbnQgZmluYWxpemUgaW1wbGVtZW50YXRpb24uCgkgIFRoaXMgZml4ZXMgYSBtZW1vcnkgbGVhayAobGVha2luZyB0aGUgY29udGFpbmVkIGVsZW1lbnRzIG9mIHRoZSBiaW4pLgoKMjAwOS0wMi0xMCAwODo0Mzo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBGaXggYnVpbGQuIEZpeGVzICM1NzEwMzgKCjIwMDktMDItMDkgMTI6MTg6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEJ1bXAgcmV2aXNpb24gdG8gdXNlIGZvciBjb21tb24gc3VibW9kdWxlLgoKMjAwOS0wMi0wNyAxNjowMDo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2c6IFVwZGF0ZSBDaGFuZ2VMb2cgZm9yIDAuMTAuMTMuMgoKMjAwOS0wMi0wNyAxNTo1ODo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucyBmb3IgMC4xMC4xMy4yCgoyMDA5LTAyLTA3IDE1OjQ2OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjEzLjIKCjIwMDktMDItMDcgMTU6NDA6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL210LnBvOgoJICBwbzogQWRkIE1hbHRlc2UgdHJhbnNsYXRpb24KCjIwMDktMDItMDYgMTY6MTY6MDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIGhhbmRsaW5nIGZvciBzdHBzIGF0b21zCgkgIHN0cHMgYXRvbXMgY29udGFpbiAicGFydGlhbCBzeW5jIiBpbmZvcm1hdGlvbiwgd2hpY2ggbWVhbnMgdGhhdCBpdCdzCgkgIGEgc3luYyBwb2ludCB3aGVyZSBwdHMgIT0gZHRzLiAgVGhpcyBpcyBuZWVkZWQgdG8gcHJvcGVybHkgaGFuZGxlCgkgIE1QRUcyLCBILjI2NCwgRGlyYWMsIGV0Yy4sIGluIHF1aWNrdGltZS4KCjIwMDktMDItMDUgMTU6NTE6NDIgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBpZiB3ZSBhYm9ydGVkIHJlYWRpbmcsIGRvbid0IGRvIGludG8gYW4gaW5maW5pdGUgbG9vcC4KCSAgSWYgb3VyIHJlYWQgY2FsbGJhY2sgcmFuIG91dCBvZiBkYXRhLCBzbyBoYWQgdG8gYWJvcnQgcmVhZGluZywgd2UgcmV0dXJuCgkgIEdTVF9GTE9XX0VSUk9SIGluc3RlYWQgb2YgZ29pbmcgaW50byBhbiBpbmZpbml0ZSBsb29wLgoKMjAwOS0wMi0wNSAxMDoxOTozNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZW1vdmUgbm9uLWVtYmVkZGVkIG1vZGUgYW5kIGZpeCBtZW1vcnkgbWFuYWdlbWVudC4KCSAgUmVtb3ZlIG5vbi1lbWJlZGRlZCBtb2RlLiBFbWJlZCBtb2RlIGJlY29tZXMgZGVmYXVsdCBhbmQgb25seSBtb2RlLgoJICBlbWJlZCBwcm9wZXJ0eSBpcyByZXRhaW5lZCBmb3IgYmluYXJ5IGNvbXBhdGliaWxpdHkuCgkgIEFkZGVkIGF1dG9yZWxlYXNlIHBvb2xzIGFyb3VuZCBhbGwgb2JqYyBmdW5jdGlvbnMgdGhhdCBtaWdodCBiZSBjYWxsZWQKCSAgZnJvbSBhIG5vbi1tYWluIHRocmVhZC4KCjIwMDktMDItMDUgMjA6MDI6MDEgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGRlYnVnIG9uIHRoZSBvYmplY3QKCjIwMDktMDItMDQgMTY6NDA6MTMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW8gZml4ZXM6IG11bHRpY2hhbm5lbCBhbmQgY2hhbmdpbmcgY2Fwcy4KCSAgRW5zdXJlIHdlIGNyZWF0ZSB0aGUgcmluZ2J1ZmZlciBzZWdtZW50IHNpemUgYXMgYSBtdWx0aXBsZSBvZiB0aGUKCSAgYnl0ZXMgcGVyIHNhbXBsZSAoZml4ZXMgNi1jaGFubmVsIG91dHB1dCkuCgkgIFJlc2V0IHRoZSBzZWdvZmZzZXQgd2hlbiBhY3F1aXJpbmcgdGhlIHJpbmdidWZmZXIsIHNvIHdlIGRvbid0IHJldGFpbgoJICBhIGJvZ3VzIG9mZnNldCB3aGVuIGNhcHMgY2hhbmdlLgoKMjAwOS0wMi0wNCAxMTozODozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBLZWVwIHRyYWNrIG9mIGNvbm5lY3RlZCBzdGF0ZQoJICBLZWVwIHRyYWNrIG9mIHRoZSBzdGF0ZSBvZiB0aGUgY29ubmVjdGlvbiBhbmQgZG9uJ3QgdHJ5IHRvIHNlbmQgVEVBUkRPV04gd2hlbgoJICB0aGUgc2VydmVyIGhhcyBjbG9zZWQgdGhlIGNvbm5lY3Rpb24uCgoyMDA5LTAyLTA0IDA5OjIwOjI4ICswMTAwICBSb2JpbiBTdG9ja2VyIDxyb2JpbkBuaWJvci5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgUmVhZCBNYXRyb3NrYSBUaXRsZSBlbGVtZW50IGZvciB0aGUgVElUTEUgdGFnCgkgIE5vdCBhbGwgTWF0cm9za2EgZmlsZXMgaGF2ZSBhIFRhZ3MgZWxlbWVudCB3aGljaCBjb250YWlucwoJICBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGl0bGUgYW1vbmcgb3RoZXIgdGhpbmdzLiBNb3N0IHZpZGVvCgkgIE1hdHJvc2thIGZpbGVzIG9ubHkgY29udGFpbiB0aGUgVGl0bGUgZWxlbWVudCBzbyB3ZQoJICBzaG91bGQgcGFyc2UgdGhpcyB0b28uIEZpeGVzIGJ1ZyAjNTcwNDM1LgoKMjAwOS0wMi0wMyAyMjozNDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zCgoyMDA5LTAyLTAzIDE3OjEwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJICBGaXggYXVkaW9lY2hvIHVuaXQgdGVzdCBvbiAzMiBiaXQgc3lzdGVtcwoJICBDYXN0IHRoZSBuZXcgdmFsdWUgZm9yIHRoZSAiZGVsYXkiIHByb3BlcnR5IHRvIEdzdENsb2NrVGltZS4KCSAgSW50ZWdlcnMgd2l0aG91dCB0eXBlIGFyZSBwYXNzZWQgdG8gdmFyYXJnIGZ1bmN0aW9ucyB3aXRoCgkgIGFuIGludGVnZXIgdHlwZSB0aGF0IGNhbiBob2xkIGEgcG9pbnRlci4KCjIwMDktMDItMDMgMTQ6MDk6MjYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRG9uJ3QgcmVzZXQgZnJlcXVlbmN5IGJhbmRzIGZyb20gdXNlciBzZXR0aW5ncy4gRml4ZXMgIzU3MDM0My4KCSAgTW92ZSByZWFsbG9jYXRpbmcgdGhlIGhpc3RvcnkgYnVmZmVyIG91dCBvZiBfY29tcHV0ZV9mcmVxdWVuY2llcygpIGFuZCBjYWxsIHRoZQoJICByaWdodCBmdW5jdGlvbiBhcyBuZWVkZWQuIEFkZCBzb21lIGxvZ2dpbmcgYW5kIHR3ZWFrIHRoZSBmb3JtYXR0aW5nIG9mIGV4aXN0aW5nCgkgIGxvZ2dpbmcuIFNpbXBsaWZ5IHNldHRpbmcgbmVlZF9uZXdfY29lZmZpY2llbnRzIHdoZW4gY2hhbmdpbmcgcHJvcGVydGllcy4KCjIwMDktMDItMDMgMTE6NTI6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIFVzZSBndWludDY0IGluc3RlYWQgb2YgZ3VpbnQgZm9yIHN0b3JpbmcgZ3VpbnQ2NAoKMjAwOS0wMi0wMiAxODozNzozNSArMDEwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIFVzZSBjb3JyZWN0IGZsYWcgZm9yIHRoZSBHTk9NRSBwcm94eSBjb25maWd1cmF0aW9uCgkgIEZpeGVzIGJ1ZyAjNTUyMTQwLgoKMjAwOS0wMi0wMiAxMzowODoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzIGR1ZSB0byB1bnVzZWQgcmV0dXJuIHZhbHVlcyBvZiBzY2FuZi4KCjIwMDktMDEtMzEgMTE6MDg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMDktMDEtMzAgMjI6MjQ6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBBZGQgcmVsZWFzZWluZm8gd2l0aCBvbmxpbmUgdXJsLgoKMjAwOS0wMS0zMCAxODowNDoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBzb21lIGNvbXBpbGUgZmxhZ3MKCjIwMDktMDEtMzAgMTc6MzU6NDkgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRG9uJ3QgdXNlIEdsaWIgMi4xNiBmdW5jdGlvbiBnX3N0cmNtcDAuCgoyMDA5LTAxLTMwIDE3OjM0OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRG9uJ3QgZG8gdm9pZCBwb2ludGVyIGFyaXRobWV0aWMKCjIwMDktMDEtMzAgMTc6MjY6MTkgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRml4IEZvcnRlIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYy4gRG9uJ3QgaGF2ZSBhbiB1bnJlYWNoYWJsZSBzdGF0ZW1lbnQuCgoyMDA5LTAxLTMwIDE3OjI5OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEJ1bXAgY29tbW9uCgoyMDA5LTAxLTI2IDEwOjMzOjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZW1vdmUgdXNlbGVzcyBwcm9jZXNzaW5nIGZvciBub24tcmF3IGZvcm1hdHMKCjIwMDktMDEtMzAgMTU6MzQ6MzEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSAnUmVxdWlyZW1lbnQnIGFuZCAnRW5jb2RlcicgdGFncwoKMjAwOS0wMS0zMCAxNTozMzoxOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgTW9kaWZ5IHByaXZhdGUtdGFnIG5hbWUgZm9ybWF0dGVyIHNvIHRoYXQgaXQgZG9lc24ndCBnbyBtYWQgYXQgZm91cmNjIHN0YXJ0aW5nIHdpdGggJyhjKScuCgoyMDA5LTAxLTMwIDE0OjQwOjUxICswMTAwICBCcmlqZXNoIFNpbmdoIDxicmlqZXNoLmtzaW5naEBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgRml4IGNvbXBhcmlzb24gb2YgdGhlIHR1bmVyIG5vcm1zCgkgIFRoZSBWNEwyIHR1bmVyIG5vcm1zIHRoYXQgYSBkZXZpY2Ugc3VwcG9ydHMgY291bGQKCSAgYmUgYSBzdWJzZXQgb2Ygc29tZSBub3JtIChlLmcuIE5UU0MgaW5zdGVhZCBvZiBOVFNDX00pLgoJICBUaGUgY29tcGFyaXNvbiBzaG91bGQgYmUgZG9uZSBieSAmIGluc3RlYWQgb2YgPT0uCgkgIFNlZSBodHRwOi8vd3d3LmxpbnV4dHYub3JnL2Rvd25sb2Fkcy92aWRlbzRsaW51eC9BUEkvVjRMMl9BUEkvc3BlYy1zaW5nbGUvdjRsMi5odG1sI1NUQU5EQVJECgkgIEZpeGVzIGJ1ZyAjNTY5ODIwLgoKMjAwOS0wMS0zMCAwODo1MzowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgVXNlIGEgc3ltYm9saWMgbGluayBmb3IgdGhlIHByZS1jb21taXQgY2xpZW50LXNpZGUgaG9vawoKMjAwOS0wMS0yOSAxNDowODo1NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIE9ubHkgdW5yZWYgdGhlIHBlZXIgd2hlbiB0aGVyZSBpcyBvbmUuCgoyMDA5LTAxLTI5IDExOjA3OjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIFJlbW92ZSB2ZXJzaW9uIG51bWJlcnMgZnJvbSBhIGZldyBnc3QtbGF1bmNoIGV4YW1wbGVzLgoJICBUaGUgbWFqb3JpdHkgb2YgdGhlIGV4YW1wbGVzIGRvZSBub3QgdXNlIC0wLjEwIGFuZCB0aGlzIHdpbGwgYWxzbyBoZWxwIHVzIHRvIG1haW50YWluIHRoZSBkb2NzLgoKMjAwOS0wMS0yOSAxMDoxMDowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIHBsYXRmb3JtIHNwZWNpZmljIHBsdWdpbnMgKHN5cykuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBGaXggZXhhbXBsZXMuCgoyMDA5LTAxLTI5IDA5OjQ1OjI1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBBZGQgJyB0byBmcmFtZXJhdGUgYXJndW1lbnQgYW5kIHJlbW92ZSB0aGUgd29yZCAnc2ltcGxlJyBhcyBhbGwgb3VyIHBpcGVsaW5lcyBhcmUgYXBwYXJlbnRseSBzaW1wbGUuCgoyMDA5LTAxLTI5IDA5OjQyOjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgQWRkIGV4YW1wbGVzIGZvciB0aGUganBlZyBlbGVtZW50cy4KCjIwMDktMDEtMjggMjE6NDA6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgRml4IGNvbXBpbGUgZXJyb3IgaW4gdGhlIGxhc3QgY29tbWl0CgoyMDA5LTAxLTI4IDIwOjM0OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBSZXdyaXRlIHRoZSBwdWxzZSBwbHVnaW4sIGNvbmRpdGlvbmFsbHkgZW5hYmxpbmcgbmV3IGJlaGF2aW91ciB3aXRoIG5ld2VyIHB1bHNlYXVkaW8uCgkgIEZpeGVzOiAjNTY3Nzk0CgkgICogSG9vayBwdWxzZXNpbmsncyB2b2x1bWUgcHJvcGVydHkgdXAgd2l0aCB0aGUgc3RyZWFtIHZvbHVtZSAtLSBub3QgdGhlCgkgIHNpbmsgdm9sdW1lIGluIFBBLgoJICAqIFJlYWQgdGhlIGRldmljZSBkZXNjcmlwdGlvbiBkaXJlY3RseSBmcm9tIHRoZSBzaW5rIGluc3RlYWQgb2YgZ29pbmcKCSAgdmlhIHRoZSBtaXhlci4KCSAgKiBQcm9wZXJseSBpbXBsZW1lbnQgX3Jlc2V0KCkgbWV0aG9kcyBmb3IgYm90aCBzaW5rIGFuZCBzb3VyY2UgdG8gYXZvaWQKCSAgZGVhZGxvY2tzIHdoZW4gc2h1dHRpbmcgZG93biBhIHBpcGVsaW5lLgoJICAqIFJlcGxhY2UgYWxsIHNpbXBsZSBwYV90aHJlYWRlZF9tYWlubG9vcF93YWl0KCkgYnkgcHJvcGVyIGxvb3BzIHRvCgkgIGd1YXJhbnRlZSB0aGF0IHdlIHdhaXQgZm9yIHRoZSByaWdodCBldmVudCBpbiBjYXNlIG11bHRpcGxlIGV2ZW50cyBhcmUKCSAgZmlyZWQuICBXaGlsZSB0aGlzIGlzIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgaW4gbWFueSBjYXNlcyBpdAoJICBjZXJ0YWlubHkgaXMgbW9yZSBjb3JyZWN0IGFuZCBtYWtlcyBtZSBzbGVlcCBiZXR0ZXIgYXQgbmlnaHQuCgkgICogUmVwbGFjZSBDSEVDS19ERUFEX0dPVE8gbWFjcm9zIHdpdGggcHJvcGVyIGZ1bmN0aW9ucwoJICAqIEV4dGVuZCB0aGUgbnVtYmVyIG9mIHN1cHBvcnRlZCBjaGFubmVscyB0byAzMiBzaW5jZSB0aGF0IGlzIHRoZSBhY3R1YWwKCSAgbGltaXQgaW4gUEEuCgkgICogR2V0IHJpZCBvZiBfZGlzcG9zZSgpIG1ldGhvZHMgc2luY2Ugd2UgZG9uJ3QgbmVlZCB0aGVtLgoJICAqIEluY3JlYXNlIHRoZSB2b2x1bWUgcHJvcGVydHkgdXBwZXIgbGltaXQgb2YgdGhlIHNpbmsgdG8gMTAwMC4KCSAgKiBSZXNldCBmdW5jdGlvbiBwb2ludGVycyBhZnRlciB3ZSBkaXNjb25uZWN0IGEgc3RyZWFtL2NvbnRleHQuIEJldHRlcgoJICBmaXggZm9yIGJ1ZyA1NTY5ODYuCgkgICogUmVzZXQgdGhlIHN0YXRlIG9mIHRoZSBlbGVtZW50IHByb3Blcmx5IGlmIG9wZW4vcHJlcGFyZSBmYWlscwoJICAqIENvcmsgdGhlIFBBIHN0cmVhbSB3aGVuIHRoZSBwaXBlbGluZSBpcyBwYXVzZWQuIFRoaXMgYWxsb3dzIHRoZSBQQQoJICAqIGRhZW1vbiB0bwoJICBjbG9zZSBhdWRpbyBkZXZpY2Ugb24gcGF1c2UgYW5kIHRodXMgc2F2ZSBhIGJpdCBvZiBwb3dlci4KCSAgKiBTZXQgUEEgc3RyZWFtIHByb3BlcnRpZXMgYmFzZWQgb24gR1NUIHRhZ3Mgc3VjaCBhcyBHU1RfVEFHX1RJVExFLAoJICBHU1RfVEFHX0FSVElTVCwgYW5kIHNvIG9uLgoJICBTaWduZWQtb2ZmLWJ5OiBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoyMDA5LTAxLTI4IDE3OjQ2OjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvaGFsL2hhbC5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIHBsdWdpbnMgd2l0aCBkZXBzIChleHQpLgoJICBMaW5rIHRvIHByb3BlcnRpZXMuIENvcnJlY3QgdGl0bGVzIGZvciBleGFtcGxlcy4gRG9jdW1lbnQgYSBmZXcgdHJpdmlhbCBjYXNlcy4gS2VlcCBsaXN0cyBpbiBzZWN0aW9uIGZpbGUgYW5kIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbSBhbHBoYWJldGljYWxseSBvcmRlcmVkLiBGaXggd2FybmluZ3MgdGhhdCBndGstZG9jIHBvaW50cyBvdXQuCgoyMDA5LTAxLTI4IDE1OjU3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSAgTGltaXQgdGhlIGRlbGF5IGJ5IGEgbmV3IG1heC1kZWxheSBwcm9wZXJ0eQoJICBJbnRyb2R1Y2UgYSBuZXcgbWF4LWRlbGF5IHByb3BlcnR5IHRoYXQgY2FuIG9ubHkKCSAgYmUgc2V0IGJlZm9yZSBnb2luZyB0byBQTEFZSU5HIG9yIFBBVVNFRC4gVGhpcwoJICBpcyB1c2VkIHRvIGxpbWl0IHRoZSBtYXhpbXVtIGRlbGF5IGFuZCBpcyBzZXQKCSAgdG8gdGhlIGN1cnJlbnQgZGVsYXkgYnkgZGVmYXVsdC4KCSAgVXNpbmcgdGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEKCSAgaW4gb3VyIGludGVybmFsIHJpbmdidWZmZXIgZm9yIHRoZSBlY2hvLiBXaXRoIGR5bmFtaWMKCSAgcmVhbGxvY2F0aW9uIG9mIHRoZSByaW5nYnVmZmVyIGFzIHVzZWQgYmVmb3JlIHNpbGVuY2UKCSAgY291bGQndmUgYmVlbiB1c2VkIGFzIHRoZSBlY2hvIGRpcmVjdGx5IGFmdGVyIHNldHRpbmcKCSAgYSBuZXcgZGVsYXkuCgoyMDA5LTAxLTI4IDExOjU4OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZXZlcnQgcHJldmlvdXMgYm9ndXMgY29tbWl0CgoyMDA5LTAxLTI4IDEyOjI5OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGx1Z2lucyB3aXRoIG5vIGRlcHMgKGdzdCkuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBEb2N1bWVudCBhIGZldyB0cml2aWFsIGNhc2VzLiBLZWVwIGxpc3RzIGluIHNlY3Rpb24gZmlsZSBhbmQgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtIGFscGhhYmV0aWNhbGx5IG9yZGVyZWQuCgoyMDA5LTAxLTI3IDIzOjA5OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBGaXggZXhhbXBsZSBhcHBzIGJ5IGRyYXdpbmcgaW4gdGhlIG1haW4tbG9vcC4KCjIwMDktMDEtMjcgMjA6MzM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgYXNwZWN0cmF0aW8gY3JvcCB1bml0IHRlc3QgaW4gdW5pbnN0YWxsZWQgZW52aXJvbm1lbnQuCgoyMDA5LTAxLTI3IDIwOjMwOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIE1ha2UgZ2l0IGlnbm9yZSBiYWNrdXAgZmlsZXMKCjIwMDktMDEtMjYgMTY6MTQ6NDcgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBQbHVnIGEgbWVtb3J5IGxlYWsgaW4gYSBkZWJ1ZyBtZXNzYWdlLgoKMjAwOS0wMS0yMiAxNTo1OTo0MCArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIENvcnJlY3QgcmV0dXJuIHZhbHVlIGZyb20gZ3N0X3VkcF9nZXRfYWRkcigpIHdoZW4gbm8ga25vd24gZmFtaWx5IGlzIGZvdW5kLgoKMjAwOS0wMS0yNiAwOTo1MTozNiArMDEwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIFVzZSBsaWJzb3VwLWdub21lIGZvciBwcm94eSBjb25maWd1cmF0aW9uIGlmIGF2YWlsYWJsZQoJICBJZiBsaWJzb3VwLWdub21lIGlzIGZvdW5kIHVzZSB0aGlzIGFzIGl0IHdpbGwgZ2l2ZSB1cwoJICB0aGUgR05PTUUgcHJveHkgY29uZmlndXJhdGlvbi4gT3RoZXJ3aXNlIHVzZSBub3JtYWwKCSAgbGlic291cC4KCSAgVGhlIEdOT01FIHByb3h5IGNvbmZpZ3VyYXRpb24gd2lsbCBvbmx5IGJlIHVzZWQgaWYKCSAgdGhlIHByb3h5IHByb3BlcnRpZXMgYXJlIG5vdCBzZXQgb24gc291cGh0dHBzcmMKCSAgYW5kIGlmIHRoZSBodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdAoJICBzZXQuCgkgIEZpeGVzIGJ1ZyAjNTUyMTQwLgoKMjAwOS0wMS0yNSAxOToyNjo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEFkZCBhIGZldyBtb3JlIHZpZGVvIGZvdXJjYydzCgoyMDA5LTAxLTI0IDE0OjQ4OjAwICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhc3BlY3RyYXRpb2Nyb3AgRml4ZXMgYnVnICM1Mjc5NTEKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXNwZWN0cmF0aW9jcm9wIGFuZCByZWZhY3RvciB0aGlzIGVsZW1lbnQuIEFkZGVkCgkgIGZpbmFsaXplIGZ1bmN0aW9uIHRvIGNsZWFudXAgbGVha2luZyBtdXRleC4KCjIwMDktMDEtMjUgMTQ6MzQ6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIElnbm9yZSBjaGVjayBiaW5hcmllcwoKMjAwOS0wMS0yNCAxODoyODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgU2F2ZSBzb21lIGFsbG9jYXRpb25zIGlmIHRoZSBlY2hvIGRlbGF5IGlzIGluY3JlYXNlZCBvZnRlbgoJICBTYXZlIHNvbWUgYWxsb2NhdGlvbnMgaWYgdGhlIGVjaG8gZGVsYXkgaXMgaW5jcmVhc2VkIG9mdGVuCgkgIGR1cmluZyBwbGF5YmFjayBieSBhbHdheXMgYWxsb2NhdGluZyBlbm91Z2ggbWVtb3J5IHRvIGhvbGQKCSAgZGF0YSB1cCB0byB0aGUgbmV4dCBjb21wbGV0ZSBzZWNvbmQsIGkuZS4gaW4gdGhlIHdvcnN0IGNhc2UKCSAgYWxsb2NhdGUgbWVtb3J5IGZvciBvbmUgYWRkaXRpb25hbCBzZWNvbmQuCgoyMDA5LTAxLTI0IDE0OjI1OjA4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSBwbHVnaW4gdmVyc2lvbiBpbiBkb2N1bWVudGF0aW9uCgoyMDA5LTAxLTIzIDIxOjQ3OjQwICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRml4IGxpbmsgaW4gZG9jdW1lbnRhdGlvbiBvZiB2aWRlb2Nyb3AgZWxlbWVudAoKMjAwOS0wMS0yMyAyMTo0NjoxMyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBhc3BlY3RyYXRpb2Nyb3AKCjIwMDktMDEtMjQgMTM6MjE6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oIGZvciB0aGUgbmV3IGRldmVsb3BtZW50IGN5Y2xlCgoyMDA5LTAxLTI0IDExOjUzOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBBZGQgbm90ZSB0aGF0IGF1ZGlvZWNobydzIHJldmVyYiBzb3VuZHMgbWV0YWxsaWMKCSAgQWRkIGEgbm90ZSB0byB0aGUgZG9jcyB0aGF0IGF1ZGlvZWNobydzIHJldmVyYiB3aWxsCgkgIHNvdW5kIG1ldGFsbGljLiBUaGlzIGhhcHBlbnMgYmVjYXVzZSBmb3IgYSByZWFsCgkgIHJldmVyYiBmaWx0ZXIgYWRkaXRpb25hbCBmaWx0ZXJpbmcgaXMgbmVjZXNzYXJ5LgoJICBBbHNvIG5vdGUgd2hpY2ggdmFsdWVzIHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGVsYXkKCSAgcHJvcGVydHkgdG8gZ2V0IGFuIGVjaG8gZWZmZWN0LgoKMjAwOS0wMS0yMyAyMzozODoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIHBvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvLmdpdGlnbm9yZToKCSAgTW9yZSBlbnRyaWVzIGZvciB0aGUgZ2l0aWdub3JlcwoKMjAwOS0wMS0yMyAyMDozNjoyNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICBza2lwIHZpZGVvL3gtcmF3LWdyYXkgaW4gdmlkZW9jcm9wIHVuaXQgdGVzdAoJICBBIHJlY2VudCBjb21taXQgYWRkZWQgdmlkZW8veC1yYXctZ3JheSBzdXBwb3J0IHRvIHZpZGVvY3JvcC4gSG93ZXZlcgoJICB0aGlzIGxldHMgdGhlIHZpZGVvY3JvcCB1bml0IHRlc3QgZmFpbC4gQmVjYXVzZSB2aWRlb3Rlc3RzcmMgY2FuJ3QKCSAgZ2VuZXJhdGUgdGhpcyBmb3JtYXQuCgoyMDA5LTAxLTIzIDE1OjM5OjQ2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgQWRkIGFzcGVjdHJhdGlvY3JvcCBlbGVtZW50LiBGaXhlcyBidWcgIzUyNzk1MQoJICBBZGQgbmV3IGFzcGVjdHJhdGlvY3JvcCBlbGVtZW50IHRoYXQgY3JvcHMgdGhlIHZpZGVvCgkgIHRvIGEgc3BlY2lmaWVkIGFzcGVjdCByYXRpbyB1c2luZyB2aWRlb2Nyb3AuCgoyMDA5LTAxLTIzIDEwOjQ5OjI4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRml4IG5hdmlnYXRpb24gZXZlbnQgZm9yd2FyZGluZyB3aGlsZSBjcm9wcGluZy4gRml4ZXMgYnVnICM1Njc5OTIuCgkgIEZpeCB0aGUgbmF2aWdhdGlvbiBldmVudCBmb3J3YXJkaW5nIHdoaWxlIGNyb3BwaW5nIGJ5IGFkanVzdGluZwoJICB0aGUgbW91c2UgcG9zaXRpb24gYnkgdGhlIGFtb3VudCBvZiBjcm9wcGVkIHBpeGVscy4KCjIwMDktMDEtMjMgMTA6MDQ6MzkgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGxpbmtpbmcgb24gU29sYXJpcy4gRml4ZXMgYnVnICM1Njg4MDkuCgkgIENoZWNrIGZvciB0aGUgc29ja2V0IGxpYnJhcnkgd2hpY2ggaXMgbmVlZGVkCgkgIGZvciBzb2NrZXQoKSBvbiBTb2xhcmlzLgoKMjAwOS0wMS0yMiAyMjo0MTo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIHZlcnNpb24gbnVtYmVyIGFnYWluIC0+IDAuMTAuMTMuMQoKMjAwOS0wMS0yMiAyMjo0MTowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgcmVsZWFzZXMgMC4xMC4xMiBhbmQgMC4xMC4xMyB0byB0aGUgZG9hcCBmaWxlCgoyMDA5LTAxLTIyIDE4OjA4OjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc25hcHNob3QuCgoyMDA5LTAxLTIyIDE0OjI1OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbCAtPiAwLjEwLjEyLjEKCjIwMDktMDEtMjIgMDE6Mjk6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVsZWFzZSAwLjEwLjEyCgoyMDA5LTAxLTIxIDE3OjIyOjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRml4IGZvciBzZWN1cml0eSBhZHZpc29yeSBUS0FEVjIwMDktMHh4CgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93cyB3aGlsZSByZWFkaW5nIHF1aWNrdGltZSBoZWFkZXJzLgoJICBTZWN1cml0eSBpc3N1ZSBub3RpY2VkIGJ5IFRvYmlhcyBLbGVpbi4KCjIwMDktMDEtMjEgMTI6NTY6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgRml4IHR5cG8gYW5kIHNtYWxsIGZsYXcgaW4gZmxhYyBkZWNvZGVyCgoyMDA5LTAxLTIyIDEzOjQ5OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEZpeCBwcmUtY29tbWl0IGhvb2sKCjIwMDktMDEtMjIgMTA6NDA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXZlcmIuYzoKCSAgUmVuYW1lIGF1ZGlvcmV2ZXJiIHRvIGF1ZGlvZWNoby4gRml4ZXMgYnVnICM1NjgzOTUuCgkgIFRoZSBlbGVtZW50IGNhbiBhZGQgYW4gZWNobyBhbmQgYSBzaW1wbGUgcmV2ZXJiIGVmZmVjdCB0bwoJICBhbiBhdWRpbyBzdHJlYW0gYnV0IGZvciBhIHJlYWwgcmV2ZXJiIGZpbHRlciBpdCB3b3VsZCBuZWVkCgkgIHNvbWUgYWRkaXRpb25hbCBmaWx0ZXJpbmcgdG8gcHJldmVudCBhIG1ldGFsbGljLXNvdW5kaW5nCgkgIHJlc3VsdC4KCjIwMDktMDEtMjIgMTI6MjE6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIEZyZWUgbGVmdG92ZXIgdWRwIHBvcnRzIChpZiBhbnkpIHdoZW4gYSBzZXR1cCByZXF1ZXN0IGZhaWxzLgoKMjAwOS0wMS0yMiAwNjowNToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgSW5zdGFsbCBhbmQgdXNlIHByZS1jb21taXQgaW5kZW50YXRpb24gaG9vayBmcm9tIGNvbW1vbgoKMjAwOS0wMS0yMSAxMzoyNTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgV2hpdGVzcGFjZSBmaXhlcyBhbmQgc29tZSBpbXByb3ZlZCBkZWJ1ZyBsaW5lcy4KCjIwMDktMDEtMjEgMDQ6MzE6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoIDogVXNlIGdpdCBzdWJtb2R1bGUKCjIwMDktMDEtMjAgMTU6MzM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEZpeCBlcnJvciBjb2RlICh0aGUgbWVzc2FnZSBzdHJpbmcgYWxzbyBuZWVkcyBsb3ZlLCBidXQgbm90IHRvZGF5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpOgoJICBGaXggZXJyb3IgY29kZSAodGhlIG1lc3NhZ2Ugc3RyaW5nIGFsc28gbmVlZHMgbG92ZSwgYnV0IG5vdCB0b2RheSkuCgoyMDA5LTAxLTE5IDExOjQ0OjM2ICswMDAwICBMdW90YW8gRnUgPGwuZnVAcGVuZ3V0cm9uaXguZGU+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiBBZGQgOGJpdCBncmF5c2NhbGUgc3VwcG9ydCB0byB2aWRlb2Nyb3AgcGx1Z2luLiBGaXhlcyAjNTY3OTUyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpOgoJICBBZGQgOGJpdCBncmF5c2NhbGUgc3VwcG9ydCB0byB2aWRlb2Nyb3AgcGx1Z2luLiBGaXhlcyAjNTY3OTUyLgoKMjAwOS0wMS0xOSAxMToyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuYzogU2V0IHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBpbnN0YW5jZSBpbml0IGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5jOiAoZ3N0X2F1ZGlvX3JldmVyYl9pbml0KToKCSAgU2V0IHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBpbnN0YW5jZSBpbml0IGZ1bmN0aW9uLgoKMjAwOS0wMS0xOSAxMToxOTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGFuIGVjaG8vcmV2ZXJiIGZpbHRlciB0byB0aGUgYXVkaW9meCBwbHVnaW4sIHdpdGggY29uZmlndXJhYmxlIGVjaG8gZGVsYXksIGludGVuc2l0eSBhbmQgZmVlZGJhY2suIEZpeGVzIGJ1ZyAjNTY3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmM6IChnc3RfYXVkaW9fcmV2ZXJiX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcmV2ZXJiX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3JldmVyYl9pbml0KSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX3JldmVyYl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3JldmVyYl9nZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX3JldmVyYl9zZXR1cCksCgkgIChnc3RfYXVkaW9fcmV2ZXJiX3N0b3ApLCAoZ3N0X2F1ZGlvX3JldmVyYl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXZlcmIuYzogKHNldHVwX3JldmVyYiksCgkgIChjbGVhbnVwX3JldmVyYiksIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb3JldmVyYl9zdWl0ZSk6CgkgIEFkZCBhbiBlY2hvL3JldmVyYiBmaWx0ZXIgdG8gdGhlIGF1ZGlvZnggcGx1Z2luLCB3aXRoIGNvbmZpZ3VyYWJsZQoJICBlY2hvIGRlbGF5LCBpbnRlbnNpdHkgYW5kIGZlZWRiYWNrLiBGaXhlcyBidWcgIzU2Nzg3NC4KCjIwMDktMDEtMTkgMTA6MTM6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBJbXBsZW1lbnQgYSBzaW1wbGUgY29tcGVuc2F0aW9uIGFsZ29yaXRobSBmb3Igcm91bmRpbmcgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9yZXNldF9zdGF0ZSksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgSW1wbGVtZW50IGEgc2ltcGxlIGNvbXBlbnNhdGlvbiBhbGdvcml0aG0gZm9yIHJvdW5kaW5nIGVycm9ycy4KCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgYSBzcGVjdHJ1bSBtZXNzYWdlIGlzIHBvc3RlZCBvbiB0aGUgYnVzCgkgIGV2ZXJ5IGludGVydmFsIG5hbm9zZWNvbmRzLiBGaXhlcyBidWcgIzU2Nzk1NS4KCjIwMDktMDEtMTUgMjE6MTY6NDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbTogTGluayBhZ2FpbnN0IENvcmVTZXJ2aWNlcyAobmVlZGVkIGZvciBvc3ggMTAuNCkgYW5kIGZpeCB1cCB0aGUgbGlua2VyIGZsYWdzLiBGaXhlcyAjNTY3ODUzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIExpbmsgYWdhaW5zdCBDb3JlU2VydmljZXMgKG5lZWRlZCBmb3Igb3N4IDEwLjQpIGFuZCBmaXggdXAgdGhlIGxpbmtlcgoJICBmbGFncy4gRml4ZXMgIzU2Nzg1My4KCjIwMDktMDEtMTUgMTQ6NTM6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENhdGNoIGludmFsaWQgYW5kIGNvbW1vbmx5IHdyb25nIHBsYXliYWNrIHJhdGVzIGluIHRoZSBlbHN0IGF0b21zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKToKCSAgQ2F0Y2ggaW52YWxpZCBhbmQgY29tbW9ubHkgd3JvbmcgcGxheWJhY2sgcmF0ZXMgaW4gdGhlIGVsc3QgYXRvbXMuCgkgIEZpeGVzICM1Njc4MDAuCgoyMDA5LTAxLTE1IDExOjQwOjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRG9uJ3QgY2FsbCBnc3RfZmZ0X2YzMl9mcmVlKCkgd2l0aCBOVUxMIHRvIHByZXZlbnQgYSBjcmFzaC4gRml4ZXMgYnVnICM1Njc2NDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3Jlc2V0X3N0YXRlKToKCSAgRG9uJ3QgY2FsbCBnc3RfZmZ0X2YzMl9mcmVlKCkgd2l0aCBOVUxMIHRvIHByZXZlbnQgYQoJICBjcmFzaC4gRml4ZXMgYnVnICM1Njc2NDIuCgoyMDA5LTAxLTE0IDE1OjQ0OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogVXNlIGNvcnJlY3QgdHlwZXMgZm9yIGZyYW1lL2ZmdCBjb3VudGVycyBhbmQgc29tZSBtaW5vciBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgY29ycmVjdCB0eXBlcyBmb3IgZnJhbWUvZmZ0IGNvdW50ZXJzIGFuZCBzb21lIG1pbm9yCgkgIGNsZWFudXAuCgoyMDA5LTAxLTE0IDE1OjM3OjA3ICswMDAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiBGaXggcmVmY291bnQgbG9vcCwgcmVzdWx0aW5nIGluIGEgdGhyZWFkIGxlYWsuIEZpeGVzIGJ1ZyAjNTY3NzQ2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydCBhdCBwb2V0dGVyaW5nIGRvdCBuZXQ+CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogKGdzdF9wdWxzZXByb2JlX25ldyksCgkgIChnc3RfcHVsc2Vwcm9iZV9mcmVlKToKCSAgRml4IHJlZmNvdW50IGxvb3AsIHJlc3VsdGluZyBpbiBhIHRocmVhZCBsZWFrLiBGaXhlcyBidWcgIzU2Nzc0Ni4KCjIwMDktMDEtMTQgMTA6NDY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS86IFBvc3QgYSBzcGVjdHJ1bSBtZXNzYWdlIG9uIHRoZSBidXMgZm9yIGV2ZXJ5IGludGVydmFsLCBldmVuIGlmIHRoZSBpbnRlcnZhbCBpcyBzbWFsbCB0aGFuIHRoZSBsZW5ndGggby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL1JFQURNRToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3Jlc2V0X3N0YXRlKSwgKGdzdF9zcGVjdHJ1bV9maW5hbGl6ZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fc3RvcCksIChnc3Rfc3BlY3RydW1fc2V0dXApLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFBvc3QgYSBzcGVjdHJ1bSBtZXNzYWdlIG9uIHRoZSBidXMgZm9yIGV2ZXJ5IGludGVydmFsLCBldmVuCgkgIGlmIHRoZSBpbnRlcnZhbCBpcyBzbWFsbCB0aGFuIHRoZSBsZW5ndGggb2YgdGhlIEZGVC4KCSAgRml4ZXMgYnVnICM1Njc2NDIuCgkgIE1ham9yIGNsZWFudXAgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQuCgoyMDA5LTAxLTEzIDE5OjIzOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgYXVkaW9paXJmaWx0ZXIgYW5kIGF1ZGlvZmlyZmlsdGVyIGVsZW1lbnRzIHdoaWNoIGFsbG93IGdlbmVyaWMgSUlSL0ZJUiBmaWx0ZXJzIHRvIGJlIGltcGxlbWVudGVkIGJ5IHByb3ZpZGluZyB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6IChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl91cGRhdGVfa2VybmVsKSwgKGdzdF9hdWRpb19maXJfZmlsdGVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfc2V0dXApLCAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzogKGdzdF9hdWRpb19paXJfZmlsdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX3VwZGF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfaW5pdCksIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9zZXR1cCksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJICBBZGQgYXVkaW9paXJmaWx0ZXIgYW5kIGF1ZGlvZmlyZmlsdGVyIGVsZW1lbnRzIHdoaWNoIGFsbG93CgkgIGdlbmVyaWMgSUlSL0ZJUiBmaWx0ZXJzIHRvIGJlIGltcGxlbWVudGVkIGJ5IHByb3ZpZGluZyB0aGUKCSAgZmlsdGVyIGNvZWZmaWNpZW50cy4gRml4ZXMgYnVnICM1Njc1NzcuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGF1ZGlvaWlyZmlsdGVyIGFuZCBhdWRpb2ZpcmZpbHRlcgoJICBlbGVtZW50cy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOiAob25fbWVzc2FnZSksCgkgIChvbl9yYXRlX2NoYW5nZWQpLCAob25faGFuZG9mZiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2ZpcmZpbHRlcl9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzogKG9uX21lc3NhZ2UpLAoJICAob25fcmF0ZV9jaGFuZ2VkKSwgKG9uX2hhbmRvZmYpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9paXJmaWx0ZXJfc3VpdGUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOiAob25fbWVzc2FnZSksCgkgIChvbl9yYXRlX2NoYW5nZWQpLCAobWFpbik6CgkgICogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9paXJmaWx0ZXItZXhhbXBsZS5jOiAob25fbWVzc2FnZSksCgkgIChvbl9yYXRlX2NoYW5nZWQpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGFuZCBleGFtcGxlIGFwcGxpY2F0aW9ucyBmb3IgdGhlIHR3byBmaWx0ZXIKCSAgZWxlbWVudHMuCgoyMDA5LTAxLTEzIDE5OjA5OjE5ICswMDAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGZvcm1hdCBzdHJpbmcgZm9yIGd1aW50NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBGaXggZm9ybWF0IHN0cmluZyBmb3IgZ3VpbnQ2NC4KCjIwMDktMDEtMTMgMTk6MDQ6MDkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbTogb3N4YXVkaW8gcGx1Z2luIG5vdyByZXF1aXJlcyBBdWRpb1VuaXQgZnJhbWV3b3JrLCBzbyBsaW5rIGFnYWluc3QgdGhhdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBvc3hhdWRpbyBwbHVnaW4gbm93IHJlcXVpcmVzIEF1ZGlvVW5pdCBmcmFtZXdvcmssIHNvIGxpbmsgYWdhaW5zdCB0aGF0LgoJICBDbGVhbiB1cCB0YWJzIHYgc3BhY2VzIHdoaWxlIEknbSB0aGVyZS4KCjIwMDktMDEtMTMgMTc6NDk6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOiBBZGQgc29tZSBleGFtcGxlIGNvZGUgZm9yIHByaW50aW5nIHRoZSBSVFAgbWFuYWdlciBzdGF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzogKHByaW50X3NvdXJjZV9zdGF0cyksCgkgIChwcmludF9zdGF0cyksIChtYWluKToKCSAgQWRkIHNvbWUgZXhhbXBsZSBjb2RlIGZvciBwcmludGluZyB0aGUgUlRQIG1hbmFnZXIgc3RhdHMuCgoyMDA5LTAxLTEzIDA4OjI0OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFVzZSBhIGN1c3RvbSBtdXRleCBmb3IgcHJvdGVjdGluZyB0aGUgaW5zdGFuY2UgZmllbGRzIGluc3RlYWQgb2YgdGhlIEdzdE9iamVjdCBsb2NrLiBVc2luZyB0aGUgbGF0dGVyIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOiAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19jaGViX2JhbmRfaW5pdCksIChnc3RfYXVkaW9fY2hlYl9iYW5kX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19jaGViX2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzogKGdzdF9hdWRpb19jaGViX2xpbWl0X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfaW5pdCksIChnc3RfYXVkaW9fY2hlYl9saW1pdF9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fY2hlYl9saW1pdF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzogKGdzdF9hdWRpb193c2luY2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzogKGdzdF9hdWRpb193c2luY2xpbWl0X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJICBVc2UgYSBjdXN0b20gbXV0ZXggZm9yIHByb3RlY3RpbmcgdGhlIGluc3RhbmNlIGZpZWxkcyBpbnN0ZWFkIG9mCgkgIHRoZSBHc3RPYmplY3QgbG9jay4gVXNpbmcgdGhlIGxhdHRlciBjYW4gbGVhZCB0byBkZWFkbG9ja3MsIGVzcGVjaWFsbHkKCSAgd2l0aCB0aGUgRklSIGZpbHRlcnMgd2hlbiB1cGRhdGluZyB0aGUgbGF0ZW5jeS4KCjIwMDktMDEtMTEgMTk6MDM6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogSW1wbGVtZW50IGEgYmFzZSBjbGFzcyBmb3IgZ2VuZXJpYyBhdWRpbyBGSVIgZmlsdGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfcHVzaF9yZXNpZHVlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl90cmFuc2Zvcm0pLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9zdGFydCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3N0b3ApLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9xdWVyeSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3F1ZXJ5X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9ldmVudCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3NldF9rZXJuZWwpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgSW1wbGVtZW50IGEgYmFzZSBjbGFzcyBmb3IgZ2VuZXJpYyBhdWRpbyBGSVIgZmlsdGVycy4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAoZ3N0X2dzdF9hdWRpb193c2luY2JhbmRfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfZ3N0X2F1ZGlvX3dzaW5jYmFuZF93aW5kb3dfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9iYXNlX2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX2J1aWxkX2tlcm5lbCksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX3NldHVwKSwgKGdzdF9hdWRpb193c2luY2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF93aW5kb3dfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9idWlsZF9rZXJuZWwpLCAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXNlIHRoaXMgbmV3IGJhc2UgY2xhc3MgZm9yIGF1ZGlvd3NpbmNiYW5kIGFuZCBhdWRpb3dzaW5jbGltaXQuCgkgIEFsc28gY2xlYW51cCBib3RoIGVsZW1lbnRzLgoKMjAwOS0wMS0wOCAxODoxNzoxMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJbiBwdXNoIG1vZGUsIGVycm9yIG91dCBpZiB3ZSBnZXQgRU9TIGJlZm9yZSB3ZSd2ZSBjcmVhdGVkIGFueSBzcmNwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEluIHB1c2ggbW9kZSwgZXJyb3Igb3V0IGlmIHdlIGdldCBFT1MgYmVmb3JlIHdlJ3ZlIGNyZWF0ZWQgYW55IHNyY3BhZHMuCgkgIEhhbmRsZSAoaW4gcHVsbCBtb2RlKSBzb21lIGZpbGVzIHRoYXQgaGF2ZSBhIHRydW5jYXRlZCBtb292IGF0b20gd2hlcmUKCSAgdGhlIGZpbmFsIHN1Yi1hdG9tIGlzIGEgJ2ZyZWUnIGF0b20gYW5kIHRoZSBjb250ZW50cyBvZiB0aGF0IGFyZSBub3QKCSAgcHJlc2VudCBpbiB0aGUgZmlsZS4KCjIwMDktMDEtMDggMTU6NTY6NDYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L21hdHJvc2thLzogU29tZSBjbGVhbnVwcywgcmVmYWN0b3JpbmcgYW5kIG1pbm9yIGVuaGFuY2VtZW50cyBpbiBjYXBzIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgU29tZSBjbGVhbnVwcywgcmVmYWN0b3JpbmcgYW5kIG1pbm9yIGVuaGFuY2VtZW50cyBpbiBjYXBzIGhhbmRsaW5nLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2luaXQpLCAoZ3N0X21hdHJvc2thX3BhZF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfcGFkX2ZyZWUpLCAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAodGVhcmRvd25fc3JjX3BhZCk6CgkgIE9ubHkgcmVtb3ZlLCByZWxlYXNlIG9yIHJlc2V0IHdoYXQgaXMgYXBwcm9wcmlhdGUgdXBvbiBzdGF0ZSBjaGFuZ2UuCgoyMDA5LTAxLTA3IDIwOjM4OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuKjogVXNlIGEgbXV0ZXggdG8gcHJvdGVjdCB0aGUgY3VycmVudCBzdHJlYW0gcG9pbnRlciwgYW5kIGlnbm9yZSBjYWxsYmFja3MgZm9yIHN0cmVhbSBvYmplY3RzIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBVc2UgYSBtdXRleCB0byBwcm90ZWN0IHRoZSBjdXJyZW50IHN0cmVhbSBwb2ludGVyLCBhbmQgaWdub3JlCgkgIGNhbGxiYWNrcyBmb3Igc3RyZWFtIG9iamVjdHMgdGhhdCBoYXZlIGJlZW4gZGVzdHJveWVkIGFscmVhZHkuCgkgIEZpeGVzIHByb2JsZW1zIHdpdGggdW5wcmVwYXJlL3ByZXBhcmUgY3ljbGVzIGNhdXNlZCBieSB0aGUgaW5wdXQKCSAgY2FwcyBjaGFuZ2luZywgd2l0aG91dCByZWludHJvZHVjaW5nIGJ1ZyAjNTU2OTg2LgoKMjAwOS0wMS0wNyAxNjowOTo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFJlbW92ZSAoKSBmcm9tIHRyYW5zbGF0ZWFibGUgc3RyaW5nLCBzbyB0aGF0IGl0IG1ha2VzIG1vcmUgc2Vuc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgUmVtb3ZlICgpIGZyb20gdHJhbnNsYXRlYWJsZSBzdHJpbmcsIHNvIHRoYXQgaXQgbWFrZXMgbW9yZSBzZW5zZS4KCjIwMDktMDEtMDcgMDk6NDM6MTMgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogTWlub3IgZml4L2NsZWFudXAgaW4gaGVhZGVyIGZpZWxkIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2Fwcyk6CgkgIE1pbm9yIGZpeC9jbGVhbnVwIGluIGhlYWRlciBmaWVsZCBjYWxjdWxhdGlvbi4KCjIwMDktMDEtMDYgMTc6NDg6MTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBSZW1vdmUgaW50ZXJuYWwgdGFnbGlzdCBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlciBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBSZW1vdmUgaW50ZXJuYWwgdGFnbGlzdCBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlciBpbnRlcmZhY2UuCgoyMDA5LTAxLTA2IDE0OjUwOjI5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IEVuc3VyZSBoZWFkZXIgc2l6ZSBpbnZhcmlhbmNlIGR1cmluZyBzdWJzZXF1ZW50IHJld3JpdGUgYnkgdXNpbmcgdGFncyBzbmFwc2hvdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIEVuc3VyZSBoZWFkZXIgc2l6ZSBpbnZhcmlhbmNlIGR1cmluZyBzdWJzZXF1ZW50IHJld3JpdGUgYnkgdXNpbmcKCSAgdGFncyBzbmFwc2hvdC4KCjIwMDktMDEtMDUgMTc6MzE6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogRG9uJ3Qgd2FpdCBmb3IgdGhlIHB1bHNlIG1haW5sb29wIHdoZW4gZGVzdHJveWluZyB0aGUgc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2Rlc3Ryb3lfc3RyZWFtKToKCSAgRG9uJ3Qgd2FpdCBmb3IgdGhlIHB1bHNlIG1haW5sb29wIHdoZW4gZGVzdHJveWluZyB0aGUgc3RyZWFtLgoJICBGaXhlcyBhIGRlYWRsb2NrIHdoZW4gdGhlIHB1bHNlZGFlbW9uIGdvZXMgYXdheSB3aGlsZSBwdWxzZXNpbmsKCSAgaXMgUExBWUlORy4gRml4ZXMgYnVnICM1NTY5ODYuCgoyMDA5LTAxLTA1IDEyOjMwOjQwICswMDAwICBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBncmF5c2NhbGUgdjRsMiBkZXZpY2VzLiBGaXhlcyBidWcgIzU2NjYxNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTYXNjaGEgSGF1ZXIgPHMgZG90IGhhdWVyIGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyk6CgkgIEFkZCBzdXBwb3J0IGZvciBncmF5c2NhbGUgdjRsMiBkZXZpY2VzLiBGaXhlcyBidWcgIzU2NjYxNi4KCjIwMDktMDEtMDUgMTE6NDI6MDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvOiBTdHJlYW1saW5lIHRhZyBoYW5kbGluZyBhbmQgcGFzcyB1bnBhcnNlZCB0YWdzIGFzIGJpbmFyeSBibG9iIGluIHByaXZhdGUgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3RhZ19hZGRfc3RyKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF90bXBvKSwgKHF0ZGVtdXhfdGFnX2FkZF9jb3ZyKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9ibG9iKSwgKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOiAocGx1Z2luX2luaXQpOgoJICBTdHJlYW1saW5lIHRhZyBoYW5kbGluZyBhbmQgcGFzcyB1bnBhcnNlZCB0YWdzIGFzIGJpbmFyeSBibG9iCgkgIGluIHByaXZhdGUgdGFnLgoKMjAwOS0wMS0wNSAxMDoxMzoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBJSVIgZmlsdGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfY2FsY3VsYXRlX2dhaW4pLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9zZXRfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfc2V0dXApLCAocHJvY2VzcyksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX3RyYW5zZm9ybV9pcCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX3N0b3ApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkgIEltcGxlbWVudCBhIGJhc2UgY2xhc3MgZm9yIElJUiBmaWx0ZXJzLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzogKGdzdF9hdWRpb19jaGViX2JhbmRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19jaGViX2JhbmRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fY2hlYl9iYW5kX2luaXQpLAoJICAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKSwgKGdzdF9hdWRpb19jaGViX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGViX2JhbmRfc2V0dXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOiAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19jaGViX2xpbWl0X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfaW5pdCksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLCAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGViX2xpbWl0X3NldHVwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJICBVc2UgdGhlIElJUiBmaWx0ZXIgYmFzZSBjbGFzcyBmb3IgdGhlIGNoZWJ5c2hldiBmaWx0ZXJzLgoKMjAwOS0wMS0wMiAyMDozOTozNCArMDAwMCAgSnVzdGluIEthcm5lZ2FzIDxqdXN0aW5AYWZmaW5peC5jb20+CgoJICBzeXMvb3N4YXVkaW8vOiBSZXdyaXRlIG9zeGF1ZGlvIHRvIHdvcmsgbW9yZSBmbGV4aWJseSBhbmQgbW9yZSByZWxpYWJseSwgdXNpbmcgYSBkaWZmZXJlbnQgYWJzdHJhY3Rpb24gbGF5ZXIgb2YgY29yZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKdXN0aW4gS2FybmVnYXMgPGp1c3RpbkBhZmZpbml4LmNvbT4gYW5kCgkgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIFJld3JpdGUgb3N4YXVkaW8gdG8gd29yayBtb3JlIGZsZXhpYmx5IGFuZCBtb3JlIHJlbGlhYmx5LCB1c2luZyBhCgkgIGRpZmZlcmVudCBhYnN0cmFjdGlvbiBsYXllciBvZiBjb3JlYXVkaW8gdGhhdCBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IG9mCgkgIGRvaW5nIGxvdy1sZXZlbCBhdWRpbyBJL08gb24gT1NYLgoJICBGaXhlcyBieWcgIzU2NDk0OC4KCjIwMDktMDEtMDIgMTY6MzE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6IEFkZCBleGFtcGxlIFJUUCB0cmFuc2NvZGluZyBwaXBlbGluZSBmcm9tIGFueSBmaWxlIGRlY29kZWRhYmxlIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOgoJICBBZGQgZXhhbXBsZSBSVFAgdHJhbnNjb2RpbmcgcGlwZWxpbmUgZnJvbSBhbnkgZmlsZSBkZWNvZGVkYWJsZSB3aXRoCgkgIHVyaWRlY29kZWJpbi4KCjIwMDktMDEtMDIgMTU6MjA6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvOiBBZGQgdHdvIEMgZXhhbXBsZXMgb2YgdXNpbmcgZ3N0cnRwYmluIGFzIGEgc2VuZGVyIGFuZCBhIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6IChwYWRfYWRkZWRfY2IpLCAobWFpbik6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzogKG1haW4pOgoJICBBZGQgdHdvIEMgZXhhbXBsZXMgb2YgdXNpbmcgZ3N0cnRwYmluIGFzIGEgc2VuZGVyIGFuZCBhIHJlY2VpdmVyLgoKMjAwOC0xMi0zMSAxMToyMDo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDaGFuZ2VMb2c6IFJlbW92ZSBjb25mbGljdCBtYXJrZXIgZnJvbSBDaGFuZ2VMb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBSZW1vdmUgY29uZmxpY3QgbWFya2VyIGZyb20gQ2hhbmdlTG9nCgoyMDA4LTEyLTI4IDA5OjUwOjMxICswMDAwICBqXiA8akBvaWwyMS5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBjb2RlYyBtYXBwaW5nIGZvciB4dmlkLCBmbXA0IGFuZCBhYzMgdHJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqIGF0IG9pbDIxLm9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIGNvZGVjIG1hcHBpbmcgZm9yIHh2aWQsIGZtcDQgYW5kIGFjMyB0cmFja3MuCgkgIEZpeGVzICM1NjU4NTAKCjIwMDgtMTItMjMgMTI6MTA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy4qOiBJbXBsZW1lbnQgZ2V0Y2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19pbml0KSwKCSAgKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19jaGFpbiksIChnc3Rfc21va2VlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBmdW5jdGlvbi4KCSAgU2V0IGNhcHMgb24gdGhlIHBhZCBhbmQgb24gYWxsIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeGVzICM1NjU0NDEuCgoyMDA4LTEyLTE5IDA5OjM2OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogQW5kIHJlbW92ZSB0ZW1wb3JhcnkgY29tbWVudCBwb2ludGluZyB0byB0aGUgYnVnIHRpY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIEFuZCByZW1vdmUgdGVtcG9yYXJ5IGNvbW1lbnQgcG9pbnRpbmcgdG8gdGhlIGJ1ZyB0aWNrZXQuCgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgTW92ZSByZW9jY3VyaW5nIGxvZ2dpbmcgdG8gTE9HIGFuZCBsb2cgaW5zdGFuY2UgdG9vLgoKMjAwOC0xMi0xNyAxNzoyODozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IERvbid0IGxlYWsgdGhlIHBhX29wZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIERvbid0IGxlYWsgdGhlIHBhX29wZXJhdGlvbi4KCjIwMDgtMTItMTYgMTY6MTk6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBjb3JlIGN2cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgY3ZzLgoKMjAwOC0xMi0xNiAxNjowNzo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogUmVuYW1lIGFwaSBmcm9tIF9mbHVzaCB0byBfcmVzZXRfdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgUmVuYW1lIGFwaSBmcm9tIF9mbHVzaCB0byBfcmVzZXRfdGFncy4KCjIwMDgtMTItMTYgMTQ6MjI6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFVzZSBuZXcgdGFnc2V0dGVyIGFwaSB0byBmbHVzaCB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBVc2UgbmV3IHRhZ3NldHRlciBhcGkgdG8gZmx1c2ggdGFncy4KCjIwMDgtMTItMTYgMTM6MTQ6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiBJbmNyZWFzZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgoyMDA4LTEyLTE2IDEyOjUyOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfc3VpdGUpOgoJICBJbmNyZWFzZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoKMjAwOC0xMi0xNiAxMTo1NzowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4KCjIwMDgtMTItMTUgMTU6NTk6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEluc3RlYWQgb2YgZmlsdGVyaW5nIHdyb25nbHkganVzdCB1c2UgdGhlIG1lcmdlbW9kZS4gQXBwbGljYXRpb25zIGlzIHVzZSBLRUVQX0FMTCBpZiB0aGV5IHdhbnQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBJbnN0ZWFkIG9mIGZpbHRlcmluZyB3cm9uZ2x5IGp1c3QgdXNlIHRoZSBtZXJnZW1vZGUuIEFwcGxpY2F0aW9ucyBpcwoJICB1c2UgS0VFUF9BTEwgaWYgdGhleSB3YW50IHRvIHN1cHJlc3MgdGFnLWV2ZW50cy4gRml4ZXMgIzU2MzIyMSBmb3IKCSAgYXZpIGZvciByZWFsIChJIGhvcGUpLiBFdmVyeW9uZSBjaGltZSBpbiwgYmVmb3JlIEkgZml4IHRoZSBvdGhlcnMuCgoyMDA4LTEyLTE1IDEyOjQ1OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogQWRkIG5vdGUgYWJvdXQgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIEFkZCBub3RlIGFib3V0IG1lbWxlYWsuCgoyMDA4LTEyLTEzIDE2OjIzOjA5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IEEgY291cGxlIG1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgYW55bW9yZSB3aXRoIGdldHRleHQgMC4xNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIEEgY291cGxlIG1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgYW55bW9yZSB3aXRoIGdldHRleHQgMC4xNy4KCjIwMDgtMTItMTMgMTU6MzQ6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBTd2l0Y2ggdG8gdXNpbmcgR3N0U3RhdGljUGFkVGVtcGxhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3X2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2FsYXdfZGVjX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3X2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X2FsYXdfZW5jX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWxhd2RlY19pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsYXdlbmNfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy5jOiAocGx1Z2luX2luaXQpOgoJICBTd2l0Y2ggdG8gdXNpbmcgR3N0U3RhdGljUGFkVGVtcGxhdGUuCgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9nZXRfYWRkcik6CgkgIERvbid0IGZvcmdldCB0byBmcmVlIHRoZSBhZGRyaW5mbyBzdHJ1Y3R1cmUuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpOgoJICBEb24ndCBmb3JnZXQgdG8gdW5yZWYgdGhlIEdzdEFkYXB0ZXIuCgoyMDA4LTEyLTEzIDEyOjU4OjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBpbnR0eXBlcy5tNCBoYXNuJ3QgYmVlbiBhdmFpbGFibGUgc2luY2UgZ2V0dGV4dC0wLjE1LCBhbmQgc2luY2Ugd2Ugbm93CgkgIHJlcXVpcmUgZ2V0dGV4dCA+PSAwLjE3IC4uLiB3ZSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlIGxpc3Qgb2YgZmlsZXMgdG8KCSAgZGlzdC4KCjIwMDgtMTItMTAgMTU6MDM6MjMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgc21hbGxlciBzcGVjIGZpbGUgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGxlciBzcGVjIGZpbGUgdXBkYXRlcwoKMjAwOC0xMi0wOSAxNzo1NToyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNb3JlIGxvZ2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgTW9yZSBsb2dnaW5nLgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEhhbmRsZSBtb3JlIG1ldGFkYXRhIGZpZWxkcy4gQmV0dGVyIGVzdGltYXRlIG9mIG1ldGFkYXRhIHNpemUuIERvbid0CgkgIG1lcmdlIHJlY2VpdmVkIHRhZ3MsIGlmIGFwcGxpY2F0aW9uIGhhcyBzcGVjaWZpZWQgdGFncyB1c2luZwoJICBHU1RfVEFHX01FUkdFX1JFUExBQ0VfQUxMLiBGaXhlcyAjNTYzMjIxIGZvciBhdmkuCgoyMDA4LTEyLTA5IDE0OjMwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWxzbyBpZ25vcmUgcHVsc2VtaXhlciBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBbHNvIGlnbm9yZSBwdWxzZW1peGVyIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdC4KCjIwMDgtMTItMDkgMTQ6MTk6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOiBBZGQgYW4gRU9JIG1hcmtlciBhdCB0aGUgZW5kIG9mIHRoZSBqcGVnIGZyYW1lIHdoZW4gaXQncyBtaXNzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOiAoZ3N0X3J0cF9qcGVnX2RlcGF5X3Byb2Nlc3MpOgoJICBBZGQgYW4gRU9JIG1hcmtlciBhdCB0aGUgZW5kIG9mIHRoZSBqcGVnIGZyYW1lIHdoZW4gaXQncyBtaXNzaW5nLgoJICBGaXhlcyAjNTYzMDU2LgoKMjAwOC0xMi0wOSAxMDo0NzoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IFVwZGF0ZSB0aGUgdW5pdCB0ZXN0IGZvciB0aGUgbmV3IGNvbG9yIHZhbHVlcyBmb3IgQlQuNjAxIHJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChjaGVja18xeDFfYnVmZmVyKToKCSAgVXBkYXRlIHRoZSB1bml0IHRlc3QgZm9yIHRoZSBuZXcgY29sb3IgdmFsdWVzIGZvciBCVC42MDEgcmVkLgoJICBGaXhlcyBidWcgIzU2MzUxMC4KCjIwMDgtMTItMDkgMTA6Mjg6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBSZXN0b3JlIHByZXZpb3VzIGJlaGF2aW91ciBvZiBub3QgcGFzc2luZyBRb1MgYW5kIG5hdmlnYXRpb24gZXZlbnRzIHVwc3RyZWFtLCB3aGljaCBwcmVzdW1hYmx5IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBSZXN0b3JlIHByZXZpb3VzIGJlaGF2aW91ciBvZiBub3QgcGFzc2luZyBRb1MgYW5kIG5hdmlnYXRpb24KCSAgZXZlbnRzIHVwc3RyZWFtLCB3aGljaCBwcmVzdW1hYmx5IHdhc24ndCBtZWFudCB0byBiZSBjaGFuZ2VkLgoKMjAwOC0xMi0wOSAwOTozOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogQWRkIHNyY3BhZHMgb25seSB3aGVuIG5lZWRlZCBhbmQgcmVtb3ZlIHRoZW0gYWdhaW4gd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZLiBUaGlzIHByZXZlbnRzIHN0YWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9hZGRfdmlkZW9fcGFkKSwKCSAgKGdzdF9kdmRlbXV4X2FkZF9hdWRpb19wYWQpLCAoZ3N0X2R2ZGVtdXhfcmVtb3ZlX3BhZHMpLAoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfYXVkaW8pLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfdmlkZW8pLAoJICAoZ3N0X2R2ZGVtdXhfY2hhaW4pLCAoZ3N0X2R2ZGVtdXhfbG9vcCksCgkgIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgc3JjcGFkcyBvbmx5IHdoZW4gbmVlZGVkIGFuZCByZW1vdmUgdGhlbSBhZ2FpbiB3aGVuIGdvaW5nCgkgIGJhY2sgdG8gUkVBRFkuIFRoaXMgcHJldmVudHMgc3RhbGxlZCBwaXBlbGluZXMgaWYgdGhlcmUncyBubwoJICBhdWRpbyBpbnNpZGUgdGhlIERWIHN0cmVhbSwgd2hpY2ggaGFwcGVucyBmb3IgbWFueSBNWEYgZmlsZXMuCgoyMDA4LTEyLTA5IDA5OjA5OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBUaGUgcG9ydHMgaW4gbGlic291cCBhcmUgdW5zaWduZWQgaW50ZWdlcnMgYW5kIG5vdCBzaWduZWQgaW50ZWdlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChydW5fc2VydmVyKToKCSAgVGhlIHBvcnRzIGluIGxpYnNvdXAgYXJlIHVuc2lnbmVkIGludGVnZXJzIGFuZCBub3Qgc2lnbmVkCgkgIGludGVnZXJzLgoKMjAwOC0xMi0wOCAxODozMTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogRm9yd2FyZCBhbGwgZXZlbnRzIHVwc3RyZWFtIHVubGVzcyBpdCdzIHNvbWV0aGluZyB3ZSByZWFsbHkgZG9uJ3QgaGFuZGxlLiBUaGlzIGZpeGVzIGxhdGVuY3kgY29uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgRm9yd2FyZCBhbGwgZXZlbnRzIHVwc3RyZWFtIHVubGVzcyBpdCdzIHNvbWV0aGluZyB3ZSByZWFsbHkKCSAgZG9uJ3QgaGFuZGxlLiBUaGlzIGZpeGVzIGxhdGVuY3kgY29uZmlndXJhdGlvbiBvZiBwaXBlbGluZXMuCgoyMDA4LTEyLTA4IDE4OjI0OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHYvOiBSZWFsbHkgY2FsbCBkdl9pbml0KCkgZXhhY3RseSBvbmUgdGltZSwgbm90IG9uZSB0aW1lIGZvciB0aGUgZGVtdXhlciBhbmQgb25lIHRpbWUgZm9yIHRoZSBkZWNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfY2xhc3NfaW5pdCk6CgkgIFJlYWxseSBjYWxsIGR2X2luaXQoKSBleGFjdGx5IG9uZSB0aW1lLCBub3Qgb25lIHRpbWUgZm9yCgkgIHRoZSBkZW11eGVyIGFuZCBvbmUgdGltZSBmb3IgdGhlIGRlY29kZXIuCgoyMDA4LTEyLTA4IDEyOjM3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6IENvcHkgaW5jb21taW5nIHRpbWVzdGFtcCB0byBvdXRnb2luZyBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogKGdzdF9ydHBfbXA0YV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIENvcHkgaW5jb21taW5nIHRpbWVzdGFtcCB0byBvdXRnb2luZyBwYWNrZXRzLgoKMjAwOC0xMi0wOCAxMjozNjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBEb24ndCB0cnkgdG8gcHVzaCBwYWNrZXRzIGJlZm9yZSB3ZSBjb3VsZCBmaW5kIGEgdmFsaWQgY29uZmlnIHN0YXJ0Y29kZS4gRml4ZXMgIzU2MzUwOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICBEb24ndCB0cnkgdG8gcHVzaCBwYWNrZXRzIGJlZm9yZSB3ZSBjb3VsZCBmaW5kIGEgdmFsaWQgY29uZmlnCgkgIHN0YXJ0Y29kZS4gRml4ZXMgIzU2MzUwOS4KCjIwMDgtMTItMDcgMTk6MjI6NDggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOiBTZXQgdGhlIG1peGVyIGZkIGJlZm9yZSBjYWxsaW5nIGlvY3RsKCkgb24gaXQuIEZpeGVzIGJ1ZyAjNTYzNDE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX29wZW4pOgoJICBTZXQgdGhlIG1peGVyIGZkIGJlZm9yZSBjYWxsaW5nIGlvY3RsKCkgb24gaXQuIEZpeGVzIGJ1ZyAjNTYzNDE0LgoKMjAwOC0xMi0wNyAxOTowMTozNSArMDAwMCAgQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlub0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IE1ha2UgdXNhZ2Ugb2YgbGlidjRsIG9wdGlvbmFsIGJ5IGEgY29uZmlndXJlIHBhcmFtZXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGV4YW5kcmUgUm9zdG92dHNldiA8dGV0cm9taW5vIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBNYWtlIHVzYWdlIG9mIGxpYnY0bCBvcHRpb25hbCBieSBhIGNvbmZpZ3VyZSBwYXJhbWV0ZXIuCgkgIEZpeGVzIGJ1ZyAjNTYzNTA0LgoKMjAwOC0xMi0wNSAwOToyNDoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG1hdHJvc2thbXV4IGFuZCBtYXRyb3NrYWRlbXV4IGFuZCB1cGRhdGUgdGhlIGluc3BlY3Rpb24geG1sIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgbWF0cm9za2FtdXggYW5kIG1hdHJvc2thZGVtdXggYW5kCgkgIHVwZGF0ZSB0aGUgaW5zcGVjdGlvbiB4bWwgZmlsZXMuCgoyMDA4LTEyLTA0IDIwOjEwOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlCgkgIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoKMjAwOC0xMi0wNCAxOTo0NzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8gb3VyIE00IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8KCSAgb3VyIE00IG1hY3Jvcy4KCjIwMDgtMTEtMzAgMTY6MjQ6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IFByb3ZpZGUgdGhlIHBhcmFtZXRlcnMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIHRoZSBmb3JtYXQgc3RyaW5nIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcik6CgkgIFByb3ZpZGUgdGhlIHBhcmFtZXRlcnMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIHRoZSBmb3JtYXQgc3RyaW5nCgkgIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTI5IDIwOjA1OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzogRml4IGNsYXNzaWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSAgRml4IGNsYXNzaWZpY2F0aW9uLgoKMjAwOC0xMS0yOSAxMzozMTo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ3lnd2luIFBvcnRzIG1haW50YWluZXIKCSAgPHlzZWxrb3dpdHogYXQgdXNlcnMgZG90IHNvdXJjZWZvcmdlIGRvdCBuZXQ+CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgZ2V0dGV4dCAwLjE3IGJlY2F1c2Ugb2xkZXIgdmVyc2lvbnMgZG9uJ3QgbWl4IHdpdGggbGlidG9vbAoJICAyLjIuIEF0IGJ1aWxkIHRpbWUgYW4gb2xkZXIgZ2V0dGV4dCB2ZXJzaW9uIHdpbGwgc3RpbGwgd29yay4KCSAgRml4ZXMgYnVnICM1NTYwOTEuCgoyMDA4LTExLTI4IDE1OjEwOjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IE1ha2UgZ3N0X211bHRpdWRwc2lua19yZW5kZXIoKSBpZ25vcmUgZXJyb3JzIGZyb20gc2VuZHRvKCkgaW5zdGVhZCBvZiBicmVha2luZyBzdHJlYW1pbmcuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcik6CgkgIE1ha2UgZ3N0X211bHRpdWRwc2lua19yZW5kZXIoKSBpZ25vcmUgZXJyb3JzIGZyb20gc2VuZHRvKCkgaW5zdGVhZCBvZgoJICBicmVha2luZyBzdHJlYW1pbmcuIEVtaXQgYSB3YXJuaW5nIGluc3RlYWQuIEZpeGVzICM1NjI1NzIuCgoyMDA4LTExLTI3IDE2OjQzOjI0ICswMDAwICBSb24gTWNPdWF0IDxybWNvdWF0QHNtYXJ0dC5jb20+CgoJICBBZGQgc3VwcG9ydCBmb3IgYmFzaWMgYW5kIGRpZ2VzdCBhdXRoZW50aWNhdGlvbiBpbiBzb3VwaHR0cHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb24gTWNPdWF0IDxybWNvdWF0IGF0IHNtYXJ0dCBkb3QgY29tPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2F1dGhlbnRpY2F0ZV9jYiksIChnc3Rfc291cF9odHRwX3NyY19zdGFydCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoYmFzaWNfYXV0aF9jYiksCgkgIChkaWdlc3RfYXV0aF9jYiksIChydW5fdGVzdCksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSksIChydW5fc2VydmVyKToKCSAgQWRkIHN1cHBvcnQgZm9yIGJhc2ljIGFuZCBkaWdlc3QgYXV0aGVudGljYXRpb24gaW4gc291cGh0dHBzcmMuCgkgIEZpeGVzIGJ1ZyAjNTYxNzc1LgoKMjAwOC0xMS0yNyAxMjoxMzozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy86IEFkZCBzdXBwb3J0IGZvciBhLWxhdyBhbmQgbXUtbGF3IGVuY29kZWQgd2F2IGZpbGVzLiBGaXhlcyBidWcgIzU2MjQzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXBpam4gVmFuIEVlY2tob3VkdAoJICA8cGVwaWpuIGRvdCB2YW5lZWNraG91ZHQgYXQgbHVjaWFkIGRvdCBjb20+CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgICogZ3N0L3dhdmVuYy9yaWZmLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhLWxhdyBhbmQgbXUtbGF3IGVuY29kZWQgd2F2IGZpbGVzLiBGaXhlcyBidWcgIzU2MjQzNC4KCjIwMDgtMTEtMjcgMTE6MjI6NTYgKzAwMDAgIOydtOusuO2YlSA8aXdpbmdzQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUHJldmVudCBmdXJ0aGVyIHJlYWQvd3JpdGUgYWN0aW9ucyB0YWtlbiB0byB0aGUgY29ubmVjdC1mYWlsZWQgc29ja2V0IGJ5IGVycm9yaW5nIG91dCBxdWlja2x5Li4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IOydtOusuO2YlSA8aXdpbmdzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICBQcmV2ZW50IGZ1cnRoZXIgcmVhZC93cml0ZSBhY3Rpb25zIHRha2VuIHRvIHRoZSBjb25uZWN0LWZhaWxlZCBzb2NrZXQgYnkKCSAgZXJyb3Jpbmcgb3V0IHF1aWNrbHkuIFNlZSAjNTYyMjU4LgoKMjAwOC0xMS0yNiAyMToxOTo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiBTZXQgZmFrZXNpbmsgdG8gc3luYy4gT3RoZXJ3aXNlIHBlb3BsZSBtaWdodCBxdWVzdGlvbiB0aGUgbWVzc2FnZSBpbnRlcnZhbC4gTmV2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgU2V0IGZha2VzaW5rIHRvIHN5bmMuIE90aGVyd2lzZSBwZW9wbGUgbWlnaHQgcXVlc3Rpb24gdGhlIG1lc3NhZ2UKCSAgaW50ZXJ2YWwuIE5ldmVydGhlbGVzcyB0aGUgdGltZXN0YW1wIGluIHRoZSBtZXNzYWdlIGlzIHdoYXQgbWF0dGVycy4KCjIwMDgtMTEtMjUgMTg6MTM6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOiBjdnNpZ25vcmUgbmV3bHkgZ2VuZXJhdGVkIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgIGN2c2lnbm9yZSBuZXdseSBnZW5lcmF0ZWQgZmlsZS4KCjIwMDgtMTEtMjUgMTg6MDM6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IHRoZSBkZXNjcmlwdGlvbnMgYW5kIGZpeCBzb21lIGVtYWlsIGFkZHJlc3Nlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOiAoZ3N0X3J0cF9hYzNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6IChnc3RfcnRwX2R2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOiAoZ3N0X3J0cF9tcDFzX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IChnc3RfcnRwX3ZyYXdfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIEZpeCB0aGUgZGVzY3JpcHRpb25zIGFuZCBmaXggc29tZSBlbWFpbCBhZGRyZXNzZXMuCgoyMDA4LTExLTI1IDE3OjQ3OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIE1QRzEgYW5kIE1QRzIgZm91cmNjIHRvIHN1cHBvcnRlZCBxdGRlbXV4IHZpZGVvIGNvZGVjcyBhcyBJIGZvdW5kIHNvbWUgdmlkZW8gY2xpcHMgdXNpbmcgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMS0yNSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOiBBZGQgTVBHMSBhbmQgTVBHMgoJICBmb3VyY2MKCSAgdG8gc3VwcG9ydGVkIHF0ZGVtdXggdmlkZW8gY29kZWNzIGFzIEkgZm91bmQgc29tZSB2aWRlbyBjbGlwcwoJICB1c2luZwoJICB0aG9zZS4KCjIwMDgtMTEtMjUgMTY6MjY6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IFBvc3QgYW4gZXJyb3Igd2hlbiB3ZSBjYW4ndCBzZXQgdGhlIGludGVybmFsIGdob3N0cGFkIHRhcmdldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOiAoZ3N0X2F1dG9fYXVkaW9fc3JjX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6IChnc3RfYXV0b192aWRlb19zcmNfZGV0ZWN0KToKCSAgUG9zdCBhbiBlcnJvciB3aGVuIHdlIGNhbid0IHNldCB0aGUgaW50ZXJuYWwgZ2hvc3RwYWQgdGFyZ2V0LgoKMjAwOC0xMS0yNSAxNjowNjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLio6IEZpeCByZW5lZ290aWF0aW9uIHdoZW4gY2hhbmdpbmcgcHJvcGVydGllcyB1c2luZyB0aGUgbmV3IGJhc2V0cmFuc2Zvcm0gZmVhdHVyZXMuIEZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLCAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBGaXggcmVuZWdvdGlhdGlvbiB3aGVuIGNoYW5naW5nIHByb3BlcnRpZXMgdXNpbmcgdGhlIG5ldyBiYXNldHJhbnNmb3JtCgkgIGZlYXR1cmVzLiBGaXhlcyAjNTYxNTAyLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcDItdGVzdC5jOiAobWFrZV9waXBlbGluZSksIChtYWluKToKCSAgQWRkIGNyYXp5IGludGVyYWN0aXZlIHRlc3QgdW5pdCBmb3IgZHluYW1pY2FsbHkgY2hhbmdpbmcgcHJvcGVydGllcy4KCjIwMDgtMTEtMjQgMTI6MjA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChuZXdfc2Vzc2lvbl9wYWQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgVXNlIHRoZSByZWFuZ2VzIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciB1bmNvbmRpdGlvbmFsbHkuCgkgIEZpeGVzICM1NjE2MjUuCgoyMDA4LTExLTIzIDE1OjA4OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IENoYW5nZSAjaWYgMCB0byBzb21ldGhpbmcgbW9yZSBleHByZXNpdmUgYW5kIGFkZCBwb2ludGVyIHRvIHJlbGF0ZWQgYnVnIHRpY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBDaGFuZ2UgI2lmIDAgdG8gc29tZXRoaW5nIG1vcmUgZXhwcmVzaXZlIGFuZCBhZGQgcG9pbnRlciB0byByZWxhdGVkCgkgIGJ1ZyB0aWNrZXQuCgoyMDA4LTExLTIzIDExOjE3OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoKMjAwOC0xMS0yMyAxMToxNDo0MiArMDAwMCAgVGFsIFNoYWxpZiA8dHNoYWxpZkBuYXJnaWxhLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIEdfe0JJRyxMSVRUTEV9X0VORElBTiBpbnN0ZWFkIG9mIHRoZSBub24tR0xpYiB2YXJpYW50cyBhcyB0aGUgbGF0dGVyIGRvbid0IGV4aXN0IG9uIHNvbWUgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRhbCBTaGFsaWYgPHRzaGFsaWYgYXQgbmFyZ2lsYSBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIFVzZSBHX3tCSUcsTElUVExFfV9FTkRJQU4gaW5zdGVhZCBvZiB0aGUgbm9uLUdMaWIgdmFyaWFudHMgYXMKCSAgdGhlIGxhdHRlciBkb24ndCBleGlzdCBvbiBzb21lIHN5c3RlbXMgKG1pbmd3KS4gRml4ZXMgYnVnICM1NjE5OTIuCgoyMDA4LTExLTIxIDEzOjQzOjI5ICswMDAwICBaZWVzaGFuIEFsaSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCB0cmFuc2Zlck1vZGUuZG5sYS5vcmcgaGVhZGVyIHRvIEhUVFAgcmVxdWVzdHMgYXMgdGhpcyBpcyByZXF1aXJlZCBieSB0aGUgRExOQSBzcGVjcyBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFplZXNoYW4gQWxpIDx6ZWVzaGFuYWsgYXQgZ25vbWUgZG90IG9yZz4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfYnVpbGRfbWVzc2FnZSk6CgkgIEFkZCB0cmFuc2Zlck1vZGUuZG5sYS5vcmcgaGVhZGVyIHRvIEhUVFAgcmVxdWVzdHMgYXMgdGhpcyBpcwoJICByZXF1aXJlZCBieSB0aGUgRExOQSBzcGVjcyBhbmQgZG9lc24ndCBodXJ0IGluIG90aGVyIHNpdHVhdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTYxODAyLgoKMjAwOC0xMS0yMCAyMzo1OTowNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBIYW5kbGUgdmlkZW8gd2luZG93IHJlc2l6aW5nIG1vcmUgY29ycmVjdGx5LCBhdm9pZGluZyBjcmFzaGVzIHdoZW4gZW1iZWRkaW5nIHRoZSB3aW5kb3cgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEhhbmRsZSB2aWRlbyB3aW5kb3cgcmVzaXppbmcgbW9yZSBjb3JyZWN0bHksIGF2b2lkaW5nIGNyYXNoZXMgd2hlbgoJICBlbWJlZGRpbmcgdGhlIHdpbmRvdyBhbmQgcmVzaXppbmcgaXQuCgoyMDA4LTExLTIwIDIyOjU2OjU4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdWRwLzogRml4IG11bHRpdWRwc2luayBvbiBPU1ggYnkgcGFzc2luZyB0aGUgc3BlY2lmaWMgbGVuZ3RoIG9mIHRoZSBzb2NrZXQsIHJlZmFjdG9yIHRoYXQgaW50byBhIGZ1bmN0aW9uIHNoYXJlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEZpeCBtdWx0aXVkcHNpbmsgb24gT1NYIGJ5IHBhc3NpbmcgdGhlIHNwZWNpZmljIGxlbmd0aCBvZiB0aGUgc29ja2V0LAoJICByZWZhY3RvciB0aGF0IGludG8gYSBmdW5jdGlvbiBzaGFyZWQgd2l0aCB0aGUgc2FtZSB0aGluZyBpbiB1ZHBzcmMuCgoyMDA4LTExLTIwIDIwOjA3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCB0aGUgc2NhbGluZyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgICh1aW50NjRfY2VpbGluZ19zY2FsZSksIChnc3Rfd2F2cGFyc2VfY2FsY3VsYXRlX2R1cmF0aW9uKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIEZpeCB0aGUgc2NhbGluZyBjb2RlLgoJICBGaXggcGFyc2luZyBvZiB0aGUgSU5GTyBjaHVua3MsIHdlIHdlcmUgcmVhZGluZyB0aGUgd3JvbmcgbnVtYmVyIG9mCgkgIGJ5dGVzLiAgRml4ZXMgIzU2MTU4MC4KCjIwMDgtMTEtMjAgMTQ6MzA6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIG9mIGFuIHVuc2V0IGNvZGVjX2lkIGluIHRoZSByZWNlbnRseSBhZGRlZCBEaXJhYyBwYXRocwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugb2YgYW4gdW5zZXQgY29kZWNfaWQgaW4gdGhlIHJlY2VudGx5CgkgIGFkZGVkIERpcmFjIHBhdGhzCgoyMDA4LTExLTIwIDEzOjU4OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBKdXN0IGtlZXAgZGlzYWJsaW5nIGVsZW1lbnRzIHRoYXQgaGFuZyB0aGUgc3RhdGVzIHRlc3QgdW50aWwgaXQgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBKdXN0IGtlZXAgZGlzYWJsaW5nIGVsZW1lbnRzIHRoYXQgaGFuZyB0aGUgc3RhdGVzIHRlc3QgdW50aWwgaXQKCSAgd29ya3MuCgoyMDA4LTExLTIwIDEzOjQ2OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IERvbid0IGZsdXNoIGRvd25zdHJlYW0gYWZ0ZXIgZXZlcnkgYnVmZmVyIC0gdGhhdCdzIG5vdCB3aGF0IHRoaXMgbGlicG5nIGNhbGxiYWNrIGlzIGZvciBhdCBhbGwhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIERvbid0IGZsdXNoIGRvd25zdHJlYW0gYWZ0ZXIgZXZlcnkgYnVmZmVyIC0gdGhhdCdzIG5vdCB3aGF0CgkgIHRoaXMgbGlicG5nIGNhbGxiYWNrIGlzIGZvciBhdCBhbGwhCgoyMDA4LTExLTE3IDE0OjA0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBUdXJucyBvdXQgd2UgZG9uJ3QgYWx3YXlzIGdldCB0aGUgZnJhbWUgc2l6ZXMgaW4gYSBwcmVkZWZpbmVkIG9yZGVyIGZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSksIChzb3J0X2J5X2ZyYW1lX3NpemUpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgVHVybnMgb3V0IHdlIGRvbid0IGFsd2F5cyBnZXQgdGhlIGZyYW1lIHNpemVzIGluIGEgcHJlZGVmaW5lZAoJICBvcmRlciBmcm9tIGxvd2VzdCB0byBoaWdoZXN0IHJlc29sdXRpb24sIHNvIGxldCdzIGp1c3Qgc29ydCB0aGUKCSAgbGlzdCBieSBmcmFtZSBzaXplIG9uY2Ugd2UndmUgcXVlcmllZCB0aGUgcG9zc2libGUgcmVzb2x1dGlvbnMKCSAgcmF0aGVyIHRoYW4gYXNzdW1lIGFueSBwYXJ0aWN1bGFyIG9yZGVyLiBGaXhlcyBwcm9iZWQgY2FwcyBmb3IKCSAgdGhlIGNhbWVyYSBpbiBteSBIUDIxMzMgbWluaSBub3RlYm9vayBhbmQgbWFrZXMgdjRsMnNyYyBkZWZhdWx0CgkgIHRvIGEgZGVjZW50IHNpemUuCgoyMDA4LTExLTE2IDE0OjQxOjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogTWFrZSBta3ZkZW11eCBhd2FyZSBvZiBFLUFDMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBNYWtlIG1rdmRlbXV4IGF3YXJlIG9mIEUtQUMzLgoKMjAwOC0xMS0xNCAxODo0MToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgYSBqcGVnIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzogKGdzdF9ydHBfanBlZ19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qcGVnX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X2ZpbmFsaXplKSwgKE1ha2VUYWJsZXMpLCAoTWFrZVF1YW50SGVhZGVyKSwKCSAgKE1ha2VIdWZmbWFuSGVhZGVyKSwgKE1ha2VEUklIZWFkZXIpLCAoTWFrZUhlYWRlcnMpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9qcGVnX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgIEFkZCBhIGpwZWcgZGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIFNldCB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIG9uIHRoZSBwYXlsb2FkZXIgdG8gYmV0dGVyIGRlZmF1bHRzLgoKMjAwOC0xMS0xNCAxNTo0MjozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMi5jOiBHaXZlIGl0IGEgcHJpbWFyeSByYW5rIGZvciBhdXRvdmlkZW9zcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgR2l2ZSBpdCBhIHByaW1hcnkgcmFuayBmb3IgYXV0b3ZpZGVvc3JjLgoKMjAwOC0xMS0xNCAxMTo0MTo1NSArMDAwMCAgQmpvcm4gT3N0YnkgPGJqb3Jub3NAYXhpcy5jb20+CgoJICBnc3QvcnRwLzogQWRkIEpQRUcgcGF5bG9hZGVyLiBGaXhlcyAjNTYwNzU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJqb3JuIE9zdGJ5IDxiam9ybm9zIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6IChnc3RfcnRwX2pwZWdfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qcGVnX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2pwZWdfcGF5X2hlYWRlcl9zaXplKSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfcmVhZF9xdWFudF90YWJsZSksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3NjYW5fbWFya2VyKSwgKGdzdF9ydHBfanBlZ19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2pwZWdfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSAgQWRkIEpQRUcgcGF5bG9hZGVyLiBGaXhlcyAjNTYwNzU2LgoKMjAwOC0xMS0xMyAxNzo0NTo1OSArMDAwMCAgRmFicmljaW8gR29kb3kgPHNrYXJsbG90QGdtYWlsLmNvbT4KCgkgIHN5cy86IEZpeCBzb21lIHNwZWxsaW5nIG1pc3Rha2VzLiBGaXhlcyAjNTU2ODAyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZhYnJpY2lvIEdvZG95IDxza2FybGxvdCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX29wZW4pOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfbW1hcCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZpeCBzb21lIHNwZWxsaW5nIG1pc3Rha2VzLiBGaXhlcyAjNTU2ODAyLgoKMjAwOC0xMS0xMyAxNjoyNDo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCBwcmVzZXRzIGZvciBlcXVhbGl6ZXIuIEZpeGVzICM1MjIxODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvR3N0SWlyRXF1YWxpemVyMTBCYW5kcy5wcnM6CgkgICogZ3N0L2VxdWFsaXplci9Hc3RJaXJFcXVhbGl6ZXIzQmFuZHMucHJzOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgQWRkIHByZXNldHMgZm9yIGVxdWFsaXplci4gRml4ZXMgIzUyMjE4My4KCjIwMDgtMTEtMTMgMTY6MTc6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFJlbW92ZSBnb29nbGUgZXh0ZW5zaW9uIGFnYWluLCBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZSBiZWNhdXNlIHdlIG5ldmVyIHNlbmQgbXVsdGlwbGUgdHJhbnNwb3J0cyBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuaDoKCSAgUmVtb3ZlIGdvb2dsZSBleHRlbnNpb24gYWdhaW4sIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlIGJlY2F1c2Ugd2UgbmV2ZXIKCSAgc2VuZCBtdWx0aXBsZSB0cmFuc3BvcnRzIGFueW1vcmUuCgoyMDA4LTExLTEzIDE2OjExOjE2ICswMDAwICBFcmljIFpoYW5nIDxjaGFvLnpoYW5nQGFjY2Vzcy1jb21wYW55LmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBOQVQgdHJhdmVyc2FsIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBFcmljIFpoYW5nIDxjaGFvLnpoYW5nIGF0IGFjY2Vzcy1jb21wYW55IGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfbmF0X21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19zZW5kX2R1bW15X3BhY2tldHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIE5BVCB0cmF2ZXJzYWwgbWV0aG9kLgoJICBJZ25vcmUgRU9TIGZyb20gdGhlIGludGVybmFsIHNpbmtzLgoJICBJbXBsZW1lbnQgc2VuZGluZyBkdW1teSBwYWNrZXRzIGFzIGEgKHNpbXBsZSkgbWV0aG9kIHRvIG9wZW4gdXAKCSAgc29tZSBmaXJld2FsbHMuCgkgIFNlbmQgUExBWSByZXF1ZXN0IHRvIHRoZSBzZXJ2ZXIgYWZ0ZXIgd2Ugc3RhcnRlZCB0aGUgdWRwIHNvdXJjZXMuCgkgIEZpeGVzICM1NTk1NDUuCgoyMDA4LTExLTEzIDE0OjA0OjQwICswMDAwICBZb3RhbSA8c2gueW90YW1AZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IEZsdXNoIHRoZSByZW1haW5pbmcgZnJhbWVzIG9uIEVPUy4gRml4ZXMgIzU2MDY0MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3RhbSA8c2ggZG90IHlvdGFtIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2V2ZW50KToKCSAgRmx1c2ggdGhlIHJlbWFpbmluZyBmcmFtZXMgb24gRU9TLiBGaXhlcyAjNTYwNjQxLgoKMjAwOC0xMS0xMiAxNjozNzowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgcHJpbnRmIGZvcm1hdHRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cF9nNzI5X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgcHJpbnRmIGZvcm1hdHRpbmcuCgoyMDA4LTExLTEyIDExOjU1OjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFF1ZXVlIHVwIG5ldyBzZWdtZW50IGV2ZW50cyBpbnN0ZWFkIG9mIHNlbmRpbmcgdGhlbSBmcm9tIHRoZSBzZWVraW5nIHRocmVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oIChzdHJ1Y3QgX0dzdFFURGVtdXgpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6IFF1ZXVlIHVwIG5ldwoJICBzZWdtZW50IGV2ZW50cyBpbnN0ZWFkIG9mIHNlbmRpbmcgdGhlbSBmcm9tIHRoZSBzZWVraW5nIHRocmVhZC4KCSAgRml4ZXMgIzU1OTI4OC4KCSAgKGdzdF9xdGRlbXV4X3B1c2hfcGVuZGluZ19uZXdzZWdtZW50KTogTmV3IGhlbHBlciwgc2VuZHMgb3V0CgkgIHF1ZXVlZCBuZXdzZWdtZW50IGV2ZW50cy4KCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOiBWb2lsw6AsIGNhbGwgaXQgaGVyZS4gT25seSBuZWVkIHRvCgkgIGNhbGwgaXQgaGVyZSwgYXMgd2Ugb25seSBzZWVrIHdoZW4gbG9vcGluZywgYW5kIG9ubHkgcHVzaCBpbiB0aGUKCSAgbW92aWUgc3RhdGUuCgoyMDA4LTExLTExIDE5OjUyOjA1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIGNvdmVyIGFuZCBhbHRlcm5hdGl2ZSBjb3B5cmlnaHQgdGFnLCBhbmQgZW5oYW5jZSBzb21lIGV4aXN0aW5nIG9uZXMgYnkgbWFya2luZyB0aGVtIGFzIGNvbnRhaW5lciBhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3RhZ19hZGRfdG1wbyksCgkgIChxdGRlbXV4X3RhZ19hZGRfY292ciksIChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgY292ZXIgYW5kIGFsdGVybmF0aXZlIGNvcHlyaWdodCB0YWcsIGFuZCBlbmhhbmNlIHNvbWUgZXhpc3RpbmcKCSAgb25lcyBieSBtYXJraW5nIHRoZW0gYXMgY29udGFpbmVyIGF0b21zLgoKMjAwOC0xMS0xMSAxNzozMzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogKGdzdF9ydHBfZzcyOV9wYXlfc2V0X2NhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoKMjAwOC0xMS0xMSAxNzoyOTowMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS4qOiBSZXBsYWNlIEc3MjkgcGF5bG9hZGVyIHdpdGggYW4gaW1wcm92ZWQgdmVyc2lvbi4gRml4ZXMgIzUzMjQwOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogKGdzdF9ydHBfZzcyOV9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2c3MjlfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X3BheV9zZXRfY2FwcyksIChnc3RfcnRwX2c3MjlfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBSZXBsYWNlIEc3MjkgcGF5bG9hZGVyIHdpdGggYW4gaW1wcm92ZWQgdmVyc2lvbi4gRml4ZXMgIzUzMjQwOS4KCjIwMDgtMTEtMTEgMTY6MDA6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE9ubHkgc2VuZCBvbmUgdHJhbnNwb3J0IGF0IGEgdGltZSBmb3IgaW1wcm92ZWQgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgYnJva2VuIHNlcnZlcnMuIFNlZSAjNTMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIE9ubHkgc2VuZCBvbmUgdHJhbnNwb3J0IGF0IGEgdGltZSBmb3IgaW1wcm92ZWQgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUKCSAgYnJva2VuIHNlcnZlcnMuIFNlZSAjNTM3ODMyLgoKMjAwOC0xMS0xMSAxNToxNjozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogT25seSBwYXVzZS9wbGF5IGluIHRoZSBzZWVrIGhhbmRsZXIgd2hlbiB0aGUgc291cmNlIHdhcyBwbGF5aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kb19zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2Vlayk6CgkgIE9ubHkgcGF1c2UvcGxheSBpbiB0aGUgc2VlayBoYW5kbGVyIHdoZW4gdGhlIHNvdXJjZSB3YXMgcGxheWluZy4KCSAgRml4ZXMgIzUyOTM3OS4KCjIwMDgtMTEtMTEgMTI6MTg6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG11eGluZyBvZiBEaXJhYyBzdHJlYW1zIGlmIHRoZSBpbnB1dCBhbHJlYWR5IGhhcyB0aGUgZm9ybWF0IHdlIG5lZWQsIGkuZS4gaXMgdGhlIG91dC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9kaXJhY19wYWNrZXQpOgoJICBGaXggbXV4aW5nIG9mIERpcmFjIHN0cmVhbXMgaWYgdGhlIGlucHV0IGFscmVhZHkgaGFzIHRoZSBmb3JtYXQKCSAgd2UgbmVlZCwgaS5lLiBpcyB0aGUgb3V0cHV0IG9mIG1hdHJvc2thZGVtdXguCgoyMDA4LTExLTExIDEwOjA2OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBEb24ndCBzZWdmYXVsdCBvbiBzdHJpbmcgdHlwZWQgdGFncyBiZWluZyBOVUxMLiBGaXhlcyAjNTYwMTU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBEb24ndCBzZWdmYXVsdCBvbiBzdHJpbmcgdHlwZWQgdGFncyBiZWluZyBOVUxMLiBGaXhlcyAjNTYwMTU1LgoKMjAwOC0xMS0xMCAxNjo0NDo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBtYXBwaW5nIEFBQyBwcm9maWxlIHRvIE1hdHJvc2thIGNvZGVjIGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChhYWNfY29kZWNfZGF0YV90b19jb2RlY19pZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgRml4IG1hcHBpbmcgQUFDIHByb2ZpbGUgdG8gTWF0cm9za2EgY29kZWMgaWQuCgoyMDA4LTExLTEwIDE2OjM2OjA5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVmYWN0b3Igc29tZSByYXcgYXVkaW8gY2FwcyBidWlsZGluZywgYW5kIGhhbmRsZSA+MTYtYml0IGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIFJlZmFjdG9yIHNvbWUgcmF3IGF1ZGlvIGNhcHMgYnVpbGRpbmcsIGFuZCBoYW5kbGUgPjE2LWJpdCBjYXNlcy4KCSAgRml4L3JlcGxhY2UgYnVpbGRpbmcgY2FwcyBmcm9tIGEgc3RyaW5nIGRlc2NyaXB0aW9uLgoKMjAwOC0xMS0xMCAxMzo1OToyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvOiBNYWtlIGF1dGhvciBuYW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgTWFrZSBhdXRob3IgbmFtZSBjb25zaXN0ZW50IHdpdGggb3RoZXJzLgoKMjAwOC0xMS0xMCAxMjoxMzoyMSArMDAwMCAgRXJpYyBaaGFuZyA8Y2hhby56aGFuZ0BhY2Nlc3MtY29tcGFueS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFBhdXNlIHRoZSBSVFNQIHN0cmVhbSBiZWZvcmUgZG9pbmcgYSBuZXcgcGxheSByZXF1ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEVyaWMgWmhhbmcgPGNoYW8uemhhbmcgYXQgYWNjZXNzLWNvbXBhbnkgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIFBhdXNlIHRoZSBSVFNQIHN0cmVhbSBiZWZvcmUgZG9pbmcgYSBuZXcgcGxheSByZXF1ZXN0LgoJICBNYWtlIHN1cmUgdGhhdCBhZGRpbmcgdGhlIHVkcHNpbmtzIGRvZXMgbm90IGNhdXNlIHRoZSBydHNwc3JjIHRvIGJlY29tZQoJICBhIHNpbmsuIEZpeGVzICM1NTk1NDcuCgoyMDA4LTExLTA1IDE0OjQyOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBJbXBsZW1lbnQgRGlyYWMgbXV4aW5nIGludG8gTWF0cm9za2EgY29tZm9ybWluZyB0byB0aGUgc3BlYywgaS5lLiBwdXQgYWxsIERpcmFjIHBhY2thZ2VzIHVwIHRvIGEgcGljdHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9wYWRfZnJlZSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9kaXJhY19wYWNrZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgSW1wbGVtZW50IERpcmFjIG11eGluZyBpbnRvIE1hdHJvc2thIGNvbWZvcm1pbmcgdG8gdGhlIHNwZWMsIGkuZS4KCSAgcHV0IGFsbCBEaXJhYyBwYWNrYWdlcyB1cCB0byBhIHBpY3R1cmUgaW50byBhIE1hdHJvc2thIGJsb2NrLgoJICBUT0RPOiBJbXBsZW1lbnQgd3JpdGluZyBvZiB0aGUgUmVmZXJlbmNlQmxvY2sgTWF0cm9za2EgZWxlbWVudHMsCgkgIGN1cnJlbnRseSB0aGUgRGlyYWMgbXV4aW5nIGlzIG9ubHkgMTAwJSBjb3JyZWN0IGlmIE1hdHJvc2thIHZlcnNpb24gMgoJICBpcyBzZWxlY3RlZCBmb3IgbXV4aW5nLgoKMjAwOC0xMS0wNCAxMjozMjo0OCArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgT3B0aW9uYWxseSB1c2UgbGlidjRsIHRvIGFjY2VzcyB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQ1MDMzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhIDxoYWRlc3MgYXQgaGFkZXNzIGRvdCBuZXQ+LAoJICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlIGF0IGZlZG9yYXByb2plY3QgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX2Nsb3NlKSwKCSAgKGdzdF92NGwyX2dldF9ub3JtKSwgKGdzdF92NGwyX3NldF9ub3JtKSwgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLAoJICAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX2dldF9pbnB1dCksIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX25ldyksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9uZXcpLCAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfYWN0aXZhdGUpLAoJICAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwKCSAgKGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUpOgoJICBPcHRpb25hbGx5IHVzZSBsaWJ2NGwgdG8gYWNjZXNzIHY0bDIgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDUwMzMuCgoyMDA4LTExLTA0IDEyOjI4OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tZWRpYW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCjIwMDgtMTAtMzEgMTg6MTc6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL01ha2VmaWxlLmFtOiBJbmNsdWRlICQoRkxBQ19DRkxBR1MpIGluIENGTEFHUyB0byBtYWtlIHN1cmUgdG8gZmluZCB0aGUgRkxBQyBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgSW5jbHVkZSAkKEZMQUNfQ0ZMQUdTKSBpbiBDRkxBR1MgdG8gbWFrZSBzdXJlIHRvIGZpbmQgdGhlIEZMQUMgaGVhZGVycy4KCSAgVGhpcyBmaXhlcyBjb21waWxhdGlvbiBpZiBGTEFDIGlzIGluc3RhbGxlZCBpbiBhbiB1bmNvbW1vbiBsb2NhdGlvbgoJICB0aGF0IGlzIG5vdCBhbHJlYWR5IGhhbmRsZWQgYnkgb3RoZXIgQ0ZMQUdTLiBGaXhlcyBidWcgIzU1ODcxMS4KCjIwMDgtMTAtMzEgMTA6MDg6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEd1YXJkIG1vcmUgdW5jb21tb24gZm9ybWF0cyB3aXRoIGlmZGVmcyBzbyB0aGF0IHdlIGNhbiBjb21waWxlIG9uIG9sZGVyIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19mb3JtYXRfZ2V0X3JhbmspOgoJICBHdWFyZCBtb3JlIHVuY29tbW9uIGZvcm1hdHMgd2l0aCBpZmRlZnMgc28gdGhhdCB3ZSBjYW4gY29tcGlsZSBvbiBvbGRlcgoJICB2ZXJzaW9ucy4KCjIwMDgtMTAtMzEgMTA6MDA6MTggKzAwMDAgIE5pY2sgSGFkZGFkIDxuaWNrQGhhZGRhZHMubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbnZlcnQgb3RoZXIgdW5jb21wcmVzc2VkIFJHQiBmb3JtYXRzLiBGaXhlcyAjNTU4NTU0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE5pY2sgSGFkZGFkIDxuaWNrIGF0IGhhZGRhZHMgZG90IG5ldD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2lzX3VuY29tcHJlc3NlZCksCgkgIChnc3RfYXZpX2RlbXV4X2ludmVydCksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgSW52ZXJ0IG90aGVyIHVuY29tcHJlc3NlZCBSR0IgZm9ybWF0cy4gRml4ZXMgIzU1ODU1NC4KCjIwMDgtMTAtMzAgMTU6MDg6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IEFkZCBzdXBwb3J0IGZvciBmbG9hdC9kb3VibGUgYXMgaW5wdXQgYW5kIHJlbW92ZSB0aGUgKG5vd2FkYXlzKSB1c2VsZXNzIHBhcnNpbmcgb2YgdGhlIGRlcHRoIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsb2F0L2RvdWJsZSBhcyBpbnB1dCBhbmQgcmVtb3ZlIHRoZSAobm93YWRheXMpCgkgIHVzZWxlc3MgcGFyc2luZyBvZiB0aGUgZGVwdGggYXMgd2UgcmVxdWlyZSB3aWR0aD09ZGVwdGguCgoyMDA4LTEwLTMwIDEwOjMxOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IE5hcnJvdyBkb3duIHRoZSBjYXBzIG9mIHRoZSBtcGVnIGF1ZGlvIHBheS9kZXBheWxvYWRlcnMgdG8gb25seSBhY2NlcHQgbXBlZyB2ZXJzaW9uIDEuIEZpeGVzICM1NTg0MjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIE5hcnJvdyBkb3duIHRoZSBjYXBzIG9mIHRoZSBtcGVnIGF1ZGlvIHBheS9kZXBheWxvYWRlcnMgdG8gb25seSBhY2NlcHQKCSAgbXBlZyB2ZXJzaW9uIDEuIEZpeGVzICM1NTg0MjcuCgoyMDA4LTEwLTI5IDE4OjI4OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogT25seSBwdXQgYW4gaW50ZWdyYWwgYW1vdW50IG9mIHNhbXBsZXMgaW4gdGhlIFJUUCBwYWNrZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2dldGNhcHMpOgoJICBPbmx5IHB1dCBhbiBpbnRlZ3JhbCBhbW91bnQgb2Ygc2FtcGxlcyBpbiB0aGUgUlRQIHBhY2tldC4KCSAgRml4ZXMgIzU1NjY0MS4KCjIwMDgtMTAtMjggMTc6NDI6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLio6IEFkZCBtZXRob2QgdG8gZ2V0IHBvc3NpYmxlIGNoYW5uZWwgcG9zaXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6IChnc3RfcnRwX2NoYW5uZWxzX2dldF9ieV9pbmRleCk6CgkgICogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJICBBZGQgbWV0aG9kIHRvIGdldCBwb3NzaWJsZSBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMDgtMTAtMjggMTc6Mzk6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBBbHNvIGNvbW1pdCB1cGRhdGVkIG1ha2VmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIEFsc28gY29tbWl0IHVwZGF0ZWQgbWFrZWZpbGUKCjIwMDgtMTAtMjggMTQ6NTY6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IERvbid0IGFsbG93IHdpZHRoPTMyLGRlcHRoPTI0IGFzIGlucHV0LiBXQVYgcmVxdWlyZXMgdGhhdCB0aGUgd2lkdGggaXMgdGhlIG5leHQgaW50ZWdlciBtdWx0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6CgkgIERvbid0IGFsbG93IHdpZHRoPTMyLGRlcHRoPTI0IGFzIGlucHV0LiBXQVYgcmVxdWlyZXMgdGhhdCB0aGUgd2lkdGgKCSAgaXMgdGhlIG5leHQgaW50ZWdlciBtdWx0aXBseSBvZiA4IGZyb20gdGhlIGRlcHRoLgoKMjAwOC0xMC0yOCAxMDowMTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgbWFwcGluZ3MgZm9yIG11bHRpY2hhbm5lbCBzdXBwb3J0LiBEb2VzIG5vdCBjb21wbGV0ZWx5IGp1c3Qgd29yayBiZWNhdXNlIHRoZSBnZXRjYXBzIGZ1bmN0aW9uIGRvZXMgbm90IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2dldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzogKGNoZWNrX2NoYW5uZWxzKSwKCSAgKGdzdF9ydHBfY2hhbm5lbHNfZ2V0X2J5X3BvcyksIChnc3RfcnRwX2NoYW5uZWxzX2dldF9ieV9vcmRlciksCgkgIChnc3RfcnRwX2NoYW5uZWxzX2NyZWF0ZV9kZWZhdWx0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkgIEFkZCBtYXBwaW5ncyBmb3IgbXVsdGljaGFubmVsIHN1cHBvcnQuIERvZXMgbm90IGNvbXBsZXRlbHkganVzdCB3b3JrCgkgIGJlY2F1c2UgdGhlIGdldGNhcHMgZnVuY3Rpb24gZG9lcyBub3QgeWV0IHJldHVybiB0aGUgYWxsb3dlZCBjaGFubmVsCgkgIG1hcHBpbmdzLiBTZWUgIzU1NjY0MS4KCjIwMDgtMTAtMjggMDY6NTA6NTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nb29tLzogQWRkIGxpY2Vuc2UgaGVhZGVycyBpbiBhbGwgc291cmNlIGZpbGVzLiBSZW1vdmUgZmlsdGVyLmMgZnJvbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9SRUFETUU6CgkgICogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9kcmF3bWV0aG9kcy5jOgoJICAqIGdzdC9nb29tL2RyYXdtZXRob2RzLmg6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOgoJICAqIGdzdC9nb29tL2ZpbHRlcnNfbW14LnM6CgkgICogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6CgkgICogZ3N0L2dvb20vZ29vbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSAgKiBnc3QvZ29vbS9nb29tX2ZpbHRlcnMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkgICogZ3N0L2dvb20vZ29vbV9ncmFwaGljLmg6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuYzoKCSAgKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkgICogZ3N0L2dvb20vZ29vbV90eXBlZGVmcy5oOgoJICAqIGdzdC9nb29tL2dvb21fdmlzdWFsX2Z4Lmg6CgkgICogZ3N0L2dvb20vZ3JhcGhpYy5jOgoJICAqIGdzdC9nb29tL2lmcy5jOgoJICAqIGdzdC9nb29tL2lmcy5oOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6CgkgICogZ3N0L2dvb20vbGluZXMuaDoKCSAgKiBnc3QvZ29vbS9tYXRodG9vbHMuYzoKCSAgKiBnc3QvZ29vbS9tYXRodG9vbHMuaDoKCSAgKiBnc3QvZ29vbS9tbXguYzoKCSAgKiBnc3QvZ29vbS9tb3RpZl9nb29tMS5oOgoJICAqIGdzdC9nb29tL21vdGlmX2dvb20yLmg6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgKiBnc3QvZ29vbS9wcGNfZHJhd2luZ3MuaDoKCSAgKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5oOgoJICAqIGdzdC9nb29tL3NvdW5kX3Rlc3Rlci5jOgoJICAqIGdzdC9nb29tL3NvdW5kX3Rlc3Rlci5oOgoJICAqIGdzdC9nb29tL3N1cmYzZC5jOgoJICAqIGdzdC9nb29tL3N1cmYzZC5oOgoJICAqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzoKCSAgKiBnc3QvZ29vbS90ZW50YWNsZTNkLmg6CgkgICogZ3N0L2dvb20vdjNkLmM6CgkgICogZ3N0L2dvb20vdjNkLmg6CgkgICogZ3N0L2dvb20veG1teC5jOgoJICBBZGQgbGljZW5zZSBoZWFkZXJzIGluIGFsbCBzb3VyY2UgZmlsZXMuIFJlbW92ZSBmaWx0ZXIuYyBmcm9tCgkgIEVYVFJBX0RJU1QsIGFzIGl0cyBpbiBTT1VSQ0VTIGFscmVhZHkuIE1lbnRpb24gdGhlIGZpbGVzIGluIHRoZSBSRURNRQoJICB3aGljaCBhcmUgbm90IHVzZWQgcmlnaHQgbm93LiBGaXhlcyAjNTU3NzA5LgoKMjAwOC0xMC0yNyAxMToyODozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IEltcGxlbWVudCBnZXRjYXBzIGluIHJ0cEwxNnBheS4gRml4ZXMgIzU1NjQ4NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9MMTZfcGF5X2dldGNhcHMpOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBpbiBydHBMMTZwYXkuIEZpeGVzICM1NTY0ODQuCgoyMDA4LTEwLTI3IDExOjAzOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiBDaGVjayBpZiBjbG9jay1yYXRlIGFuZCBjaGFubmVscyBhcmUgdmFsaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfcHJvY2Vzcyk6CgkgIENoZWNrIGlmIGNsb2NrLXJhdGUgYW5kIGNoYW5uZWxzIGFyZSB2YWxpZC4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6IChnc3RfcnRwX2FjM19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfY2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IG91dHB1dCBjYXBzIG9uIHRoZSBidWZmZXJzLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yCgkgIHVzLgoJICBUaGUgc3ViY2xhc3Mgd2lsbCBtYWtlIHN1cmUgd2UgYXJlIG5lZ290aWF0ZWQuCgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6IChnc3RfcnRwX2R2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9kdl9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfZHZfZGVwYXlfcmVzZXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBUaGUgc3ViY2xhc3Mgd2lsbCBtYWtlIHN1cmUgd2UgYXJlIG5lZ290aWF0ZWQuCgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzogKGdzdF9ydHBfZzcyNl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfZzcyNl9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzogKGdzdF9ydHBfZzcyOV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyOV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJICBUaGUgc3ViY2xhc3Mgd2lsbCBtYWtlIHN1cmUgd2UgYXJlIG5lZ290aWF0ZWQuCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9nc21fZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6IChnc3RfcnRwX2dzbV9wYXlfc2V0Y2Fwcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzogKGdzdF9ydHBfaDI2M19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNfcGF5X2ZsdXNoKSwgKGdzdF9ydHBfaDI2M19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICBEbyBzb21lIG1vcmUgdGltZXN0YW1wcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgIERvIHNvbWUgbW9yZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIEZpeCBwb3NzaWJsZSBjYXBzIGxlYWsuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2Fwcyk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9pbGJjX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X3Npbmtfc2V0Y2Fwcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzogKGdzdF9ydHBfbXAxc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG9uIGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG9uIGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOiAoZ3N0X3J0cF9tcDRhX3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNGFfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wYV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOiAoZ3N0X3J0cF9tcGFfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBBY3R1YWxseSBzZXQgb3V0cHV0IGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOiAoZ3N0X3J0cF9tcHZfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9wY21hX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBTZXQgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9wY211X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBTZXQgb3V0cHV0IGNhcHMgb24gdGhlIHBhZCBhbmQgaGVhZGVyIGJ1ZmZlcnMuCgkgIFNldCBkdXJhdGlvbiBvbiBvdXRwdXQgYnVmZmVycyBiZWNhdXNlIHdlIGNhbi4KCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9wYXJzZV9pZGVudCk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvdXQgb3V0cHV0IGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGdzdF9ydHBfdGhlb3JhX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9mbHVzaF9wYWNrZXQpLCAoZW5jb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOiAoZ3N0X3J0cF92cmF3X2RlcGF5X3NldGNhcHMpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLCBkb24ndCBpZ25vcmUgc2V0Y2FwcyByZXR1cm4uCgkgICogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6IChnc3RfcnRwX3ZyYXdfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCjIwMDgtMTAtMjcgMTA6MzU6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRm9yd2FyZCB1bmtub3duIGV2ZW50cyB1cHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIEZvcndhcmQgdW5rbm93biBldmVudHMgdXBzdHJlYW0uCgoyMDA4LTEwLTI3IDEwOjMzOjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogQWRkIHNvbWUgcmVmY291bnQgY2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKGljeWRlbXV4X2ZvdW5kX3BhZCk6CgkgIEFkZCBzb21lIHJlZmNvdW50IGNoZWNrCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzogKHJ0cF9waXBlbGluZV9ydW4pOgoJICBEb24ndCBpZ25vcmUgdGhlIHJlc3VsdCBvZiB3cml0ZSgpLCBmaXhlcyBhICBjb21waWxlciB3YXJuaW5nIGZvciBtZS4KCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2JveC10ZXN0LmM6IChtYWluKToKCSAgTWFrZSB0aGUgb3V0cHV0IGEgbGl0dGxlIG1vcmUgcHJldHR5LgoKMjAwOC0xMC0yNyAwOToyNjoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2VzZC9lc2Rtb24uYzogQWRkIGRvYyBibG9iLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOgoJICBBZGQgZG9jIGJsb2IuCgoyMDA4LTEwLTI3IDA5OjIxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdGhlIGRvY3Mgb2YgdGhlIG5ldyBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICBBZGQgdGhlIGRvY3Mgb2YgdGhlIG5ldyBlbGVtZW50cy4KCjIwMDgtMTAtMjcgMDk6MDQ6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogRml4ICJTaW5jZSIgdGFncyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgIChnc3RfYXV0b19hdWRpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIChnc3RfYXV0b192aWRlb19zcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAiU2luY2UiIHRhZ3MgaW4gdGhlIGRvY3VtZW50YXRpb24uCgoyMDA4LTEwLTI3IDA5OjAwOjI5ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgc3VwcG9ydCBmb3Igc291cGh0dHBzcmMgdG8gYWN0IGFzIGEgbGl2ZSBzb3VyY2UuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gZ2V0IHRpbWVzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgc3VwcG9ydCBmb3Igc291cGh0dHBzcmMgdG8gYWN0IGFzIGEgbGl2ZSBzb3VyY2UuIFRoaXMgbWFrZXMgaXQKCSAgcG9zc2libGUgdG8gZ2V0IHRpbWVzdGFtcGVkIGJ1ZmZlcnMgaW4gY29tYmluYXRpb24gd2l0aCB0aGUKCSAgImRvLXRpbWVzdGFtcCIgcHJvcGVydHkuIEZpeGVzIGJ1ZyAjNTU2MDE5LgoKMjAwOC0xMC0yNyAwODo1NDozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBJbXBsZW1lbnQgc3JjIHBsdWdpbnMuIExpdHRsZSBjb2RlL3N0cmluZyBjbGVhbnVwIGluIHRoZSBzaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmg6CgkgIEltcGxlbWVudCBzcmMgcGx1Z2lucy4gTGl0dGxlIGNvZGUvc3RyaW5nIGNsZWFudXAgaW4gdGhlIHNpbmtzLgoJICBGaXhlcyAjNTIzODEzLgoKMjAwOC0xMC0yNyAwODo0NToxMSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBhIG1lbW9yeSBsZWFrIHdoZW4gcGFkcyBhcmUgcmVxdWVzdGVkIGJ1dCB0aGUgcGlwZWxpbmUgbmV2ZXIgZ29lcyBpbnRvIFBMQVlJTkcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKToKCSAgRml4IGEgbWVtb3J5IGxlYWsgd2hlbiBwYWRzIGFyZSByZXF1ZXN0ZWQgYnV0IHRoZSBwaXBlbGluZSBuZXZlcgoJICBnb2VzIGludG8gUExBWUlORy4KCSAgQ29ycmVjdGx5IHJlbW92ZSByZXF1ZXN0IHBhZHMsIG5vIG1hdHRlciBpZiB0aGV5IGhhdmUgY29sbGVjdGVkCgkgIGRhdGEgb3Igbm90LgoJICBGaXhlcyBidWcgIzU1NzcxMC4KCjIwMDgtMTAtMjcgMDg6NDA6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDogRGVmaW5lIHRoZSBjb3JyZWN0IFdJTlZFUiBzbyBnZXRhZGRpbmZvKCkgY2FuIGJlIHVzZWQgd2hlbiB1c2luZyBtaW5ndzMyLiBGaXhlcyBidWcgIzU1NzI5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgRGVmaW5lIHRoZSBjb3JyZWN0IFdJTlZFUiBzbyBnZXRhZGRpbmZvKCkgY2FuIGJlIHVzZWQgd2hlbiB1c2luZwoJICBtaW5ndzMyLiBGaXhlcyBidWcgIzU1NzI5NC4KCjIwMDgtMTAtMjcgMDg6MzY6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvOiBGaXggImFyZ3VtZW50IHR5cGUgbWlzbWF0Y2giIGNvbXBpbGVyIHdhcm5pbmdzIG9uIFdpbmRvd3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX3JlbmRlcik6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBGaXggImFyZ3VtZW50IHR5cGUgbWlzbWF0Y2giIGNvbXBpbGVyIHdhcm5pbmdzIG9uIFdpbmRvd3MuCgkgIEZpeGVzIGJ1ZyAjNTU3MjkzLgoKMjAwOC0xMC0yNyAwODozMDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9uJ3QgY2FsY3VsYXRlIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzIGZvciBldmVyeSBzaW5nbGUgYnVmZmVyIGJ1dCBvbmx5IHdoZW4gaXQncyBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6ICh1cGRhdGVfY29lZmZpY2llbnRzKToKCSAgRG9uJ3QgY2FsY3VsYXRlIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzIGZvciBldmVyeSBzaW5nbGUgYnVmZmVyCgkgIGJ1dCBvbmx5IHdoZW4gaXQncyBuZWVkZWQuIEZpeGVzIGJ1ZyAjNTU3MjYwLgoKMjAwOC0xMC0yNiAyMDowNTo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xMS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjExLjEKCjIwMDgtMTAtMjYgMjA6MDQ6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOiBGaXggdmVyc2lvbiBudW1iZXIgb2YgMC4xMC4xMSByZWxlYXNlIGluIGRvYXAgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEZpeCB2ZXJzaW9uIG51bWJlciBvZiAwLjEwLjExIHJlbGVhc2UgaW4gZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjExID09PQoKMjAwOC0xMC0yNCAyMjo0MToxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuMTEKCjIwMDgtMTAtMjQgMjI6MjA6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMTAtMjQgMTY6MzA6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC4xMC40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuMTAuNCBwcmUtcmVsZWFzZQoKMjAwOC0xMC0yMSAxMjo0Mjo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggVlBSUCBjaHVuayBzZXR1cCBpbiBhdmltdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEZpeCBWUFJQIGNodW5rIHNldHVwIGluIGF2aW11eC4KCSAgRml4ZXM6ICM1NTYwMTAKCSAgUGF0Y2ggQnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKMjAwOC0xMC0yMSAxMjozODozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBzdXBwb3J0IGR5bmFtaWNhbGx5IGNoYW5naW5nIHByb3BlcnRpZXMgaW4gdmlkZW9ib3gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHN1cHBvcnQgZHluYW1pY2FsbHkgY2hhbmdpbmcgcHJvcGVydGllcyBpbiB2aWRlb2JveAoJICBGaXhlZDogIzU1NzA4NQoJICBQYXRjaCBCeTogV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCjIwMDgtMTAtMTYgMTc6MTA6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjEwLjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjEwLjMgcHJlLXJlbGVhc2UKCjIwMDgtMTAtMTYgMTU6MzA6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERvbid0IHJ1biB0aGUgc3RhdGVzIHRlc3Qgb24gcHVsc2VzcmMgYW5kIHB1bHNlc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgcnVuIHRoZSBzdGF0ZXMgdGVzdCBvbiBwdWxzZXNyYyBhbmQgcHVsc2VzaW5rCgoyMDA4LTEwLTE2IDExOjUyOjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IDAuMTAuMTAuMiBwcmUtcmVsZWFzZSBidW1wIHRoYXQgYWN0dWFsbHkgd2VudCBvdXQgb24gMjAwOC0xMC0xMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCAwLjEwLjEwLjIgcHJlLXJlbGVhc2UgYnVtcCB0aGF0IGFjdHVhbGx5IHdlbnQKCSAgb3V0IG9uIDIwMDgtMTAtMTEKCjIwMDgtMTAtMTUgMTU6NDI6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFNraXAgZW50cmllcyBmb3Igc3RyZWFtcyB0aGF0IGRvbid0IGhhdmUgYSBvdXRwdXQgcGFkIHlldCwgdGhlcmVieSBhdm9pZGluZyBjYWxsaW5nIHBhZCBmdW5jdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIFNraXAgZW50cmllcyBmb3Igc3RyZWFtcyB0aGF0IGRvbid0IGhhdmUgYSBvdXRwdXQgcGFkIHlldCwgdGhlcmVieQoJICBhdm9pZGluZyBjYWxsaW5nIHBhZCBmdW5jdGlvbnMgd2l0aCBhIE5VTEwgcGFkLgoJICBGaXhlcyAjNTU2NDI0CgoyMDA4LTEwLTE1IDA5OjM5OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgcHJldmlvdXMgd3JvbmcgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHByZXZpb3VzIHdyb25nIGNvbW1pdAoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpOgoJICBSZW1vdmUgcHJvYmxlbWF0aWMgYW5kIHVzZWxlc3MgcmVmY291bnQgY2hlY2suCgkgIEZpeGVzICM1NTYzODEKCjIwMDgtMTAtMTUgMDk6Mjc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBwcm9ibGVtYXRpYyBhbmQgdXNlbGVzcyByZWZjb3VudCBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9ub2RlKToKCSAgUmVtb3ZlIHByb2JsZW1hdGljIGFuZCB1c2VsZXNzIHJlZmNvdW50IGNoZWNrLgoJICBGaXhlcyAjNTU2MzgxCgoyMDA4LTEwLTEwIDEyOjI4OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mbGFjLzogQ2FzdCBzb21lIHNpemVfdCBhcmd1bWVudHMgdG8gZ3VpbnQgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgb24gNjQtYml0IHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNfZGVjX3JlYWRfc3RyZWFtKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmMgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayk6CgkgIENhc3Qgc29tZSBzaXplX3QgYXJndW1lbnRzIHRvIGd1aW50IHRvIGF2b2lkIGNvbXBpbGVyCgkgIHdhcm5pbmdzIG9uIDY0LWJpdCBzeXN0ZW1zLgoKMjAwOC0xMC0wOSAxNDoyNzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmV0dXJuIFRSVUUgaW5zdGVhZCBvZiBGQUxTRSBmcm9tIHRoZSBldmVudCBoYW5kbGVyIHdoZW4gd2Ugc3dhbGxvd2VkIHRoZSBldmVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCk6CgkgIFJldHVybiBUUlVFIGluc3RlYWQgb2YgRkFMU0UgZnJvbSB0aGUgZXZlbnQgaGFuZGxlciB3aGVuIHdlIHN3YWxsb3dlZCB0aGUKCSAgZXZlbnQuCgoyMDA4LTEwLTA4IDE1OjU5OjU2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHJlbW92ZSBvbGQgQ0RJTyBwbHVnaW4gbm93IGluIHVnbHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBvbGQgQ0RJTyBwbHVnaW4gbm93IGluIHVnbHkKCjIwMDgtMTAtMDggMTQ6NDc6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFJlc2V0IGhlYWRlciBzdGF0ZS4gRml4ZXMgIzU1NTMyMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpOgoJICBSZXNldCBoZWFkZXIgc3RhdGUuIEZpeGVzICM1NTUzMjEuCgoyMDA4LTEwLTA4IDEzOjMxOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBGb3IgdGltZXN0YW1waW5nIGF1ZGlvIHBhY2tldHMgd2UgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudCB0aGUgYW1vdW50IG9mIGJsb2NrcyBpbiBvbmUgZW50cnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBGb3IgdGltZXN0YW1waW5nIGF1ZGlvIHBhY2tldHMgd2UgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudCB0aGUKCSAgYW1vdW50IG9mIGJsb2NrcyBpbiBvbmUgZW50cnkgdXNpbmcgdGhlIGJsb2NrYWxpZ24uIEZpeGVzIHNvbWUgc3luYwoJICBpc3N1ZXMgd2l0aCB6ZXJvLXBhZGRlZCBhdWRpbyBibG9ja3MgaW4gdGhlIGJlZ2lubmluZyBvZiBhdmkgZmlsZXMuCgoyMDA4LTEwLTA4IDEwOjQyOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogSW1wbGVtZW50IERFRkFVTFQgYW5kIEJVRkZFUiBwb3NpdGlvbiBxdWVyaWVzLiBTZWUgIzU1NTI2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aV9maWxlX3NyY19xdWVyeSk6CgkgIEltcGxlbWVudCBERUZBVUxUIGFuZCBCVUZGRVIgcG9zaXRpb24gcXVlcmllcy4gU2VlICM1NTUyNjAuCgoyMDA4LTEwLTA4IDA5OjI5OjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IGJ1aWxkIGZvciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSBYRGFtYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfc3RvcCk6CgkgIEZpeCBidWlsZCBmb3Igc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgWERhbWFnZS4KCjIwMDgtMTAtMDcgMDk6NTg6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvOiBBZGQgc29tZSBtb3JlIEgyNjNwIHNlcnZlciBhbmQgY2xpZW50IGV4YW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLnNoOgoJICBBZGQgc29tZSBtb3JlIEgyNjNwIHNlcnZlciBhbmQgY2xpZW50IGV4YW1wbGVzLgoKMjAwOC0xMC0wMyAxNzowMzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIGJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzo6CgkgIERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCBiYXNlLgoKMjAwOC0xMC0wMyAxNjoxMzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS86IFJldHVybiAtMSBpbnN0ZWFkIG9mIDAgaW4gZXJyb3IgY2FzZXMuIEZpeGVzICM1NTQ3NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfd3JpdGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX3JlYWQpOgoJICBSZXR1cm4gLTEgaW5zdGVhZCBvZiAwIGluIGVycm9yIGNhc2VzLiBGaXhlcyAjNTU0NzcxLgoKMjAwOC0xMC0wMyAxNTo1NDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IFN0b3AgbGVha2luZyB0aGUgY3Vyc29yIGltYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfc3RhcnQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfc3RvcCksIChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgU3RvcCBsZWFraW5nIHRoZSBjdXJzb3IgaW1hZ2UuCgkgIFVucmVmIHRoZSBsYXN0X3hpbWFnZSBhbmQgdGhlIGNhY2hlZCBjdXJzb3IgaW1hZ2Ugb24gc2h1dGRvd24uCgkgIEZpeGVzICM1NTE1NzAuCgoyMDA4LTEwLTAzIDExOjMyOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOiBHZXR0aW5nIHRoZSBDbGFzcyBmcm9tIGFuIGluc3RhbmNlIGlzIG5vdCBqdXN0IGEgbWF0dGVyIG9mIGNhc3RpbmcgaXQgdG8gdGhlIGNsYXNzIHN0cnVjdCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgR2V0dGluZyB0aGUgQ2xhc3MgZnJvbSBhbiBpbnN0YW5jZSBpcyBub3QganVzdCBhIG1hdHRlciBvZiBjYXN0aW5nIGl0IHRvCgkgIHRoZSBjbGFzcyBzdHJ1Y3QgYnV0IGl0IGludm9sdmVzIGNhbGxpbmcgR19PQkpFQ1RfR0VUX0NMQVNTIG9uIHRoZQoJICBpbnN0YW5jZS4gRml4ZXMgIzU0OTc4NC4KCjIwMDgtMTAtMDEgMjE6MjI6MjYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGxpYnMgZm9yIGxpbmtpbmcgZGlyZWN0c291bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGxpYnMgZm9yIGxpbmtpbmcgZGlyZWN0c291bmQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBGaXggYnVmZmVyIHNpemluZyB0byBwcmV2ZW50IHJhY2luZyB0aGUgcmluZ2J1ZmZlciBhdCBzdGFydHVwLgoJICBBZGQgdm9sdW1lIHByb3BlcnR5LgoKMjAwOC0wOS0yNyAwMDo0MzowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IEZpeCBwcm9ibGVtcyB3aXRoIHB1bHNlc2luayByYW5kb21seSBlcnJvcmluZyB3aXRoIGNvZGUgJ09LJyBhZnRlciBhIGZvcm1hdCBjaGFuZ2Ugb24gdGhlIHN0cmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBGaXggcHJvYmxlbXMgd2l0aCBwdWxzZXNpbmsgcmFuZG9tbHkgZXJyb3Jpbmcgd2l0aCBjb2RlICdPSycgYWZ0ZXIgYQoJICBmb3JtYXQgY2hhbmdlIG9uIHRoZSBzdHJlYW0gYnkgd2FpdGluZyB3aGVuIGRpc2Nvbm5lY3RpbmcgdGhlIHN0cmVhbS4KCjIwMDgtMDktMjYgMTQ6NDQ6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IE1hcmsgRElTQ09OVCBvbiBvdXRwdXQgYnVmZmVycyB3aGVuIHRoZSBtYXJrZXIgYml0IHNpZ25hbHMgYSBuZXcgdGFsayBzcHVydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgTWFyayBESVNDT05UIG9uIG91dHB1dCBidWZmZXJzIHdoZW4gdGhlIG1hcmtlciBiaXQgc2lnbmFscyBhIG5ldyB0YWxrCgkgIHNwdXJ0LgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFNldCB0aGUgbWFya2VyIGJpdCBmb3IgYnVmZmVycyB3aXRoIGEgRElTQ09OVCBmbGFnIHRvIHNpZ25hbCBhIHRhbGsKCSAgc3B1cnQuCgoyMDA4LTA5LTI2IDEzOjU1OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIE1QNEEtTEFUTSBwYXlsb2FkZXIgdG8gbWF0Y2ggdGhlIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6IChnc3RfcnRwX21wNGFfcGF5X2dldF90eXBlKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfbXA0YV9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDRhX3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNGFfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksIChnc3RfcnRwX21wNGFfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGFfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9tcDRhX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkgIEFkZGVkIE1QNEEtTEFUTSBwYXlsb2FkZXIgdG8gbWF0Y2ggdGhlIGRlcGF5bG9hZGVyLgoKMjAwOC0wOS0yNSAxNToxMToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogSGFuZGxlIHNlZ21lbnRzIGEgbGl0dGxlIGJldHRlci4gRml4ZXMgIzUzNzM2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2lua19ldmVudCk6CgkgIEhhbmRsZSBzZWdtZW50cyBhIGxpdHRsZSBiZXR0ZXIuIEZpeGVzICM1MzczNjEuCgoyMDA4LTA5LTI1IDEyOjA3OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBhc3N1bWUgdGhlIHNlcnZlciBzdXBwb3J0cyBQQVVTRSBieSBkZWZhdWx0LiBGaXhlcyAjNTUxMDQ4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKToKCSAgRG9uJ3QgYXNzdW1lIHRoZSBzZXJ2ZXIgc3VwcG9ydHMgUEFVU0UgYnkgZGVmYXVsdC4gRml4ZXMgIzU1MTA0OC4KCjIwMDgtMDktMjUgMTE6MzA6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBTd2l0Y2ggb24gdGhlIHNvY2tldCBmYW1pbHkgdG8gZ2V0IHRoZSBhZGRybGVuIHNpemUgcmlnaHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19zZXRfdXJpKSwgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBTd2l0Y2ggb24gdGhlIHNvY2tldCBmYW1pbHkgdG8gZ2V0IHRoZSBhZGRybGVuIHNpemUgcmlnaHQuCgoyMDA4LTA5LTI1IDEwOjM0OjM5ICswMDAwICBEYW5pZWwgRnJhbmtlIDxkZkBkZnJhbmtlLnVzPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogT1MgWCdzIGJpbmQoKSBpbXBsZW1lbnRhdGlvbiBpcyBwaWNreSBhYm91dCBpdHMgYWRkcmxlbiBwYXJhbWV0ZXIgYW5kIGZhaWxzIHdpdGggRUlOVkFMIGlmIGl0IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIEZyYW5rZSA8ZGYgYXQgZGZyYW5rZSBkb3QgdXM+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBPUyBYJ3MgYmluZCgpIGltcGxlbWVudGF0aW9uIGlzIHBpY2t5IGFib3V0IGl0cyBhZGRybGVuIHBhcmFtZXRlciBhbmQKCSAgZmFpbHMgd2l0aCBFSU5WQUwgaWYgaXQgaXMgbGFyZ2VyIHRoYW4gZXhwZWN0ZWQgZm9yIHRoZSBzb2NrZXQncyBhZGRyZXNzCgkgIGZhbWlseS4gU2V0IHRoZSBsZW5ndGggdG8gdGhlIGV4cGVjdGVkIGxlbmd0aCBpbnN0ZWFkLiBGaXhlcyAjNTUzMTkxLgoKMjAwOC0wOS0yMyAxODowODo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGNhbm5vdCBkbyBkZXNyaWJlIG9yIHdoZW4gdGhlIGRlc2NyaWJlIHJlc3VsdCBkb2VzIG5vdCBjb250YWluIGEgdmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGNhbm5vdCBkbyBkZXNyaWJlIG9yIHdoZW4gdGhlIGRlc2NyaWJlIHJlc3VsdAoJICBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgU0RQIG1lc3NhZ2UuCgoyMDA4LTA5LTIzIDE3OjMxOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRml4IHNldHRpbmcgdGhlIHFvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KToKCSAgRml4IHNldHRpbmcgdGhlIHFvcy4KCjIwMDgtMDktMTcgMTQ6NTA6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNvbWUgJ2Jyb2tlbicgZmlsZXMgb3V0IHRoZXJlIGhhdmUgYXRvbSBsZW5ndGhzIG9mIHplcm8uLi4gd2hpY2ggYmFzaWNhbGx5IHJlc3VsdHMgaW4gcXRkZW11eCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBTb21lICdicm9rZW4nIGZpbGVzIG91dCB0aGVyZSBoYXZlIGF0b20gbGVuZ3RocyBvZiB6ZXJvLi4uCgkgIHdoaWNoIGJhc2ljYWxseSByZXN1bHRzIGluIHF0ZGVtdXggY29uc3VtaW5nIHRoYXQgYXRvbSBhZ2FpbiBhbmQgYWdhaW4KCSAgdW50aWwgdGhlICplbmQgb2YgbmlnaHQqICEKCSAgRGV0ZWN0IHRoYXQgYW5kIGVtaXRzIGFuIGFkZXF1YXRlIGVsZW1lbnQgZXJyb3IgbWVzc2FnZS4KCjIwMDgtMDktMTcgMTM6NDk6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGJ1aWxkIGZsYWdzIG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCBmbGFncyBvcmRlci4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRm9ybWF0IGZpeGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBQdWxsIGluIHVuaXN0ZC5oCgoyMDA4LTA5LTE1IDIxOjEwOjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuKjogSGFuZGxlIGludGVybGVhdmVkIHN0cmVhbXMgYnkgcmVvcmRlcmluZyBBVSBpbiBhIHF1ZXVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9jbGVhcl9xdWV1ZSksIChnc3RfcnRwX21wNGdfZGVwYXlfZmx1c2hfcXVldWUpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3F1ZXVlKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgIEhhbmRsZSBpbnRlcmxlYXZlZCBzdHJlYW1zIGJ5IHJlb3JkZXJpbmcgQVUgaW4gYSBxdWV1ZS4KCjIwMDgtMDktMTUgMTY6MDQ6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiBDaGFuZ2Ugc29tZSBvZiB0aGUgcmFuZ2VzIGluIHRoZSBjYXBzLCBtb3N0bHkgZm9yIHRoZSBhbW91bnQgb2YgYml0cyB3ZSBjYW4gdXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X2JzX3BhcnNlX2luaXQpLAoJICAoZ3N0X2JzX3BhcnNlX3JlYWQpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBDaGFuZ2Ugc29tZSBvZiB0aGUgcmFuZ2VzIGluIHRoZSBjYXBzLCBtb3N0bHkgZm9yIHRoZSBhbW91bnQgb2YgYml0cyB3ZQoJICBjYW4gdXNlLgoJICBBZGRlZCBhIGxpdHRsZSBiaXRzdHJlYW0gcGFyc2UgYW5kIHVzZSBpdCB0byBwYXJzZSB0aGUgQVUgaGVhZGVyIGZpZWxkcy4KCSAgQ2hlY2sgZm9yIG1hbGZvcm1lZCBhbmQgd3JvbmdseSBzaXplZCBwYWNrZXRzIGJldHRlci4KCSAgSW1wbGVtZW50IG1vcmUgaGVhZGVyIGZpZWxkIHBhcnNpbmcuCgkgIEhhbmRsZSB0aGUgc2l6ZSBvZiBmcmFnbWVudGVkIHBhY2tldHMgY29ycmVjdGx5LgoKMjAwOC0wOS0xNCAxMTozMjoxNSArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIG1hcHBpbmcgZm9yICd0aWZmJyA9PiBpbWFnZS90aWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgbWFwcGluZyBmb3IgJ3RpZmYnID0+IGltYWdlL3RpZmYKCSAgRml4ZXMgIzU1MjIxMwoKMjAwOC0wOS0xMSAxMToyNjowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9yYXcxMzk0LzogUHJldGVuZCB0byBjYXJlIGFib3V0IHRoZSByZXN1bHQgb2Ygd3JpdGUoKSB3aGljaCB3b3JrcyBhcm91bmQgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoU0VORF9DT01NQU5EKToKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6IChTRU5EX0NPTU1BTkQpOgoJICBQcmV0ZW5kIHRvIGNhcmUgYWJvdXQgdGhlIHJlc3VsdCBvZiB3cml0ZSgpIHdoaWNoIHdvcmtzIGFyb3VuZAoJICBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMDktMDQgMDk6MjU6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IE1ha2Ugc3VyZSB0aGUgZGVzaXJlZCBkZWZhdWx0IHZhbHVlcyBhcmUgYWN0dWFsbHkgc2V0LCBub3Qgb25seSByZWdpc3RlcmVkIGFzIGRlZmF1bHRzIChhY3R1YWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2NsYXNzX2luaXQpOgoJICBNYWtlIHN1cmUgdGhlIGRlc2lyZWQgZGVmYXVsdCB2YWx1ZXMgYXJlIGFjdHVhbGx5IHNldCwgbm90IG9ubHkKCSAgcmVnaXN0ZXJlZCBhcyBkZWZhdWx0cyAoYWN0dWFsIHByb2JsZW0gaXMgdGhhdCB0aGUgc3RlcmVvLXNwZWNpZmljCgkgIHZhbHVlcyBhcmUgb25seSB1cGRhdGVkIGlmIGNoYW5uZWxzPT0yLCB3aGljaCBpcyBub3QgdGhlIGNhc2UgeWV0CgkgIHdoZW4gdGhlIG9iamVjdCBpcyBjcmVhdGVkLCBzbyB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZQoJICBtaWQtc2lkZS1zdGVyZW8gYW5kIGxvb3NlLW1pZC1zaWRlLXN0ZXJlbyBzZXR0aW5ncyBhcmUgbmV2ZXIKCSAgc2V0IGluIF91cGRhdGVfcXVhbGl0eSgpKS4gTWFrZXMgZmxhY2VuYyBjcmVhdGUgc21hbGxlciBmaWxlcyBieQoJICBkZWZhdWx0IChmb3Igc3RlcmVvIGlucHV0KSwgYW5kIGZpeGVzICM1NTA3OTEuCgoyMDA4LTA5LTAzIDEyOjM5OjM1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIHN1cHBvcnQgZm9yIHZpZGVvL21qMiBtaW1lLXR5cGUgYW5kIGl0cyBhZGRpdGlvbmFsIGF0b21zL2JveGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAocXRkZW11eF9wYXJzZV9ub2RlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHZpZGVvL21qMiBtaW1lLXR5cGUgYW5kIGl0cyBhZGRpdGlvbmFsIGF0b21zL2JveGVzLgoJICBGaXhlcyAjNTUwNjQ2LgoKMjAwOC0wOS0wMyAxMToxMDoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiBBZGQgd2FybmluZyB3aGVuIHRhZ3MgcGFyYW1ldGVyIGlzIHVucGFyc2FibGUgYW5kIGdpdmUgZXhhbXBsZSBmb3IgcXVvdGluZyBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJICBBZGQgd2FybmluZyB3aGVuIHRhZ3MgcGFyYW1ldGVyIGlzIHVucGFyc2FibGUgYW5kIGdpdmUgZXhhbXBsZSBmb3IKCSAgcXVvdGluZyBpbiB0aGUgZG9jcy4KCjIwMDgtMDktMDIgMTU6Mjc6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBtYXBwaW5nIGZvciBJTUEgTG9raSBTREwgTUpQRUcgQURQQ00gY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZCBtYXBwaW5nIGZvciBJTUEgTG9raSBTREwgTUpQRUcgQURQQ00gY29kZWMuCgkgIEFkZCBzb21lIGFsdGVybmF0aXZlIGJ5dGVzd2FwcGVkIG1hcHBpbmdzIHRoYXQgc2VlbSB0byBwb3AgdXAgc29tZXRpbWVzLgoJICBGaXhlcyAjNTUwMjg4LgoKMjAwOC0wOS0wMiAwOTo0MDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvLzogQWRkICdjYScgdG8gTElOR1VBUzsgYWRkIHNvbWUgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucyBhbmQgc29tZSBmaWxlcyB3aGljaCBzaG91bGQgYmUgaWdub3JlZCBieSB0cmFuc2xhdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCAnY2EnIHRvIExJTkdVQVM7IGFkZCBzb21lIG1vcmUgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMgYW5kIHNvbWUKCSAgZmlsZXMgd2hpY2ggc2hvdWxkIGJlIGlnbm9yZWQgYnkgdHJhbnNsYXRpb24gdG9vbHMuCgoyMDA4LTA5LTAyIDA4OjUxOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc3BlZXgvOiBVc2UgaW50ZWdlciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgZnVuY3Rpb25zIGluc3RlYWQgb2YgY29udmVydGluZyB0aGUgaW50ZWdlciBpbnB1dCB0byBmbG9hdCBpbiB0aGUgZWxlbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2VuY29kZSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIFVzZSBpbnRlZ2VyIGVuY29kaW5nIGFuZCBkZWNvZGluZyBmdW5jdGlvbnMgaW5zdGVhZCBvZiBjb252ZXJ0aW5nCgkgIHRoZSBpbnRlZ2VyIGlucHV0IHRvIGZsb2F0IGluIHRoZSBlbGVtZW50LiBUaGUgbGlic3BlZXggaW50ZWdlcgoJICBmdW5jdGlvbnMgYXJlIGRvaW5nIHRoaXMgZm9yIHVzIGFscmVhZHkgb3IsIGlmIGxpYnNwZWV4IHdhcyBjb21waWxlZAoJICBpbiBpbnRlZ2VyIG1vZGUsIHRoZXkncmUgZG9pbmcgZXZlcnl0aGluZyB1c2luZyBpbnRlZ2VyIGFyaXRobWV0aWNzLgoJICBBbHNvIHNhdmVzIHNvbWUgY29weWluZyBhcm91bmQuCgoyMDA4LTA5LTAxIDEzOjI5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAwOC0wOC0zMSAxNzowOToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBhbmQgc3RyZWFtIGRpc2NvbnRpbnVpdGllcyBjb3JyZWN0bHkuIFRoaXMgb25seSBoYXMgYW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgYW5kIHN0cmVhbSBkaXNjb250aW51aXRpZXMKCSAgY29ycmVjdGx5LiBUaGlzIG9ubHkgaGFzIGFuIGVmZmVjdCBpZiB3ZSdyZSBtdXhpbmcgaW50bwoJICBhIGNvbnRhaW5lciBmb3JtYXQgYXMgdGhlIHJhdyBXYXZQYWNrIHN0cmVhbSBtdXN0IGNvbnRhaW4KCSAgY29udGlub3VzIHNhbXBsZSBudW1iZXJzLgoKMjAwOC0wOC0zMSAxNTowMjowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IENvcnJlY3QgdGhlIHRpbWVzdGFtcCBhbmQgZ3JhbnVsZXBvcyBjYWxjdWxhdGlvbiBieSBvbmUgU3BlZXggZnJhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19lbmNvZGUpOgoJICBDb3JyZWN0IHRoZSB0aW1lc3RhbXAgYW5kIGdyYW51bGVwb3MgY2FsY3VsYXRpb24gYnkgb25lIFNwZWV4CgkgIGZyYW1lLgoKMjAwOC0wOC0zMSAxNDozOTo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICBDb3JyZWN0bHkgdGFrZSB0aGUgZ3JhbnVsZXBvcyBmcm9tIHVwc3RyZWFtIGlmIHBvc3NpYmxlIGFuZAoJICBjb3JyZWN0bHkgaGFuZGxlIHRoZSBncmFudWxlcG9zIGluIHZhcmlvdXMgY2FsY3VsYXRpb25zOiB0aGUKCSAgZ3JhbnVsZXBvcyBpcyB0aGUgc2FtcGxlIG51bWJlciBvZiB0aGUgX2xhc3RfIHNhbXBsZSBpbiBhIGZyYW1lLCBub3QKCSAgdGhlIGZpcnN0LgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19zaW5rZXZlbnQpLAoJICAoZ3N0X3NwZWV4X2VuY19lbmNvZGUpLCAoZ3N0X3NwZWV4X2VuY19jaGFpbiksCgkgIChnc3Rfc3BlZXhfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGluIHRoZSBlbmNvZGVyIGFuZCBkZXRlY3QvaGFuZGxlCgkgIHN0cmVhbSBkaXNjb250aW51aXRpZXMuIEZpeGVzIGJ1ZyAjNTQ3MDc1LgoKMjAwOC0wOC0zMSAwODozMjo0NSArMDAwMCAgQ3JhaWcgS2VvZ2ggPGNza2VvZ2hAYWRhbS5jb20uYXU+CgoJICBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6IEZpeCBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgcGFzc2luZyBhIHN0cmluZyBhcyBmb3JtYXQgc3RyaW5nIGluc3RlYWQgb2YgIiVzIiBhbmQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDcmFpZyBLZW9naCA8Y3NrZW9naCBhdCBhZGFtIGRvdCBjb20gZG90IGF1PgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzogKGdzdF9jbW1sX3BhcnNlcl9wYXJzZV9jaHVuayk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgcGFzc2luZyBhIHN0cmluZyBhcyBmb3JtYXQgc3RyaW5nCgkgIGluc3RlYWQgb2YgIiVzIiBhbmQgdGhlbiB0aGUgc3RyaW5nLiBUaGlzIGlzIG9ubHkgZXhwb3NlZCBieSAtV2Zvcm1hdD0yCgkgIGFzIHVzZWQgYnkgZGVmYXVsdCBvbiBVYnVudHUuIEZpeGVzIGJ1ZyAjNTUwMDE1LgoKMjAwOC0wOC0zMCAxNDoxNTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2Ugc3R1ZmYgY29tcGlsZSB3aXRoIEdTVF9ESVNBQkxFX0dTVF9ERUJVRy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOiAoZ3N0X2hkdjEzOTRzcmNfY3JlYXRlKToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOiAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKToKCSAgTWFrZSBzdHVmZiBjb21waWxlIHdpdGggR1NUX0RJU0FCTEVfR1NUX0RFQlVHLgoKMjAwOC0wOC0yOSAwMDoyODo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xhdy86IFJlZiBjYXBzIGJlZm9yZSBwYXNzaW5nIHRvIGdzdF9wYWRfdGVtcGxhdGVfbmV3KCksIHNpbmNlIHRoYXQgdGFrZXMgb3duZXJzaGlwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXcuYzoKCSAgKiBnc3QvbGF3L211bGF3LmM6CgkgIFJlZiBjYXBzIGJlZm9yZSBwYXNzaW5nIHRvIGdzdF9wYWRfdGVtcGxhdGVfbmV3KCksIHNpbmNlIHRoYXQgdGFrZXMKCSAgb3duZXJzaGlwLgoKMjAwOC0wOC0yOCAxMDowOToxNiArMDAwMCAgTWVyc2FkIEplbGFjaWMgPG1lcnNhZEBheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvOiBDb252ZXJ0IGF1ZGlvL3gtYWRwY20gdG8gYW5kIGZyb20gdGhlIGF1ZGlvL0c3MjYtWCBpbiB0aGUgbXV4ZXIgYW5kIGRlbXV4ZXIuIEZpeGVzICM1NDk1NTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWVyc2FkIEplbGFjaWMgPG1lcnNhZCBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9nZXRfbWltZSk6CgkgIENvbnZlcnQgYXVkaW8veC1hZHBjbSB0byBhbmQgZnJvbSB0aGUgYXVkaW8vRzcyNi1YIGluIHRoZSBtdXhlciBhbmQKCSAgZGVtdXhlci4gRml4ZXMgIzU0OTU1MS4KCjIwMDgtMDgtMjcgMTY6MTI6MzkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4YXVkaW8vOiBGaXggdGhlIGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAoZ3N0X29zeF9hdWRpb19zaW5rX3NlbGVjdF9kZXZpY2UpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAoZ3N0X29zeF9hdWRpb19zcmNfY3JlYXRlX3JpbmdidWZmZXIpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfc2VsZWN0X2RldmljZSk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzogKGdzdF9vc3hfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIEZpeCB0aGUgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOC0yNyAxNTo0MjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiBTbWFsbCBkb2NzIGZpeDogaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmUsIHdlIG5lZWQgdG8gcGFzcyBpcmFkaW8tbW9kZT10cnVlIHRvIHRoZSBzb3VyY2UsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgU21hbGwgZG9jcyBmaXg6IGluIHRoZSBleGFtcGxlIHBpcGVsaW5lLCB3ZSBuZWVkIHRvIHBhc3MKCSAgaXJhZGlvLW1vZGU9dHJ1ZSB0byB0aGUgc291cmNlLCBzbyB0aGUgc2VydmVyIGFjdHVhbGx5IHNlbmRzCgkgIGFuIElDWSBzdHJlYW0uCgoyMDA4LTA4LTI3IDAwOjA4OjIwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzogT29wcy4gUmV2ZXJ0IG1vcmUgY29tcGxldGVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgIE9vcHMuIFJldmVydCBtb3JlIGNvbXBsZXRlbHkuCgoyMDA4LTA4LTI2IDIzOjU3OjA1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzogUmV2ZXJ0IGFjY2lkZW50YWwgZWxlbWVudCByZW5hbWUgZnJvbSB0ZXN0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgUmV2ZXJ0IGFjY2lkZW50YWwgZWxlbWVudCByZW5hbWUgZnJvbSB0ZXN0aW5nLgoKMjAwOC0wOC0yNiAyMzo1Mzo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QtcGx1Z2lucy1nb29kLmRvYXA6IFB1bGwgaW4gMC4xMC4xMCBkb2FwIGVudHJ5IGZyb20gcmVsZWFzZSBicmFuY2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBQdWxsIGluIDAuMTAuMTAgZG9hcCBlbnRyeSBmcm9tIHJlbGVhc2UgYnJhbmNoCgoyMDA4LTA4LTI2IDIzOjA1OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIHZlcnNpb24gbnVtYmVyIHRvIHJlZmxlY3QgMC4xMC4xMCByZWxlYXNlIGZyb20gYnJhbmNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSB2ZXJzaW9uIG51bWJlciB0byByZWZsZWN0IDAuMTAuMTAgcmVsZWFzZSBmcm9tCgkgIGJyYW5jaC4KCjIwMDgtMDgtMjYgMjE6MTM6MDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby86IFJld3JpdGUgY2FwcyBzZXR0aW5nIGFuZCByaW5nIGJ1ZmZlciBpbml0aWFsaXNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBSZXdyaXRlIGNhcHMgc2V0dGluZyBhbmQgcmluZyBidWZmZXIgaW5pdGlhbGlzYXRpb24uCgkgIFByZXZpb3VzbHkgd2UgbmV2ZXIgdG9sZCBDb3JlQXVkaW8gd2hhdCBmb3JtYXQgd2Ugd2VyZSBnb2luZyB0byBzZW5kIGl0LAoJICBzbyBpdCBvbmx5IHdvcmtlZCBkdWUgdG8gbHVjaywgYW5kIG5vdCBhdCBhbGwgb24gc29tZSBoYXJkd2FyZS4KCSAgTm93IHdlIGV4cGxpY2l0bHkgYWR2ZXJ0aXNlIHdoYXQgZm9ybWF0cyB0aGUgaGFyZHdhcmUgc3VwcG9ydHMsIGFuZCB0aGVuCgkgIGNvbmZpZ3VyZSB0aGUgc2VsZWN0ZWQgb25lIGNvcnJlY3RseS4KCjIwMDgtMDgtMjYgMTI6Mjc6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogRml4IG1lbW9yeSBsZWFrcy4gU21hbGwgY29kZSBjbGVhbnVwcyA6IE5vIG5lZWQgZm9yIGVtcHR5IF9pbml0KCkuIE5vIG5lZWQgdG8gbWVtc2V0IGluc3RhbmNlIHN0cnVjdHVyZXMuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggbWVtb3J5IGxlYWtzLiBTbWFsbCBjb2RlIGNsZWFudXBzIDogTm8gbmVlZCBmb3IgZW1wdHkgX2luaXQoKS4gTm8KCSAgbmVlZCB0byBtZW1zZXQgaW5zdGFuY2Ugc3RydWN0dXJlcy4gU29tZSBtb3JlIEZJWE1FJ3MuCgoyMDA4LTA4LTI2IDA4OjExOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA4LTA4LTI2IDA4OjAwOjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBJZ25vcmUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tLy5jdnNpZ25vcmU6CgkgICogZ3N0L2dvb20yazEvLmN2c2lnbm9yZToKCSAgSWdub3JlIGZpbGVzLgoKMjAwOC0wOC0yNiAwNzo1MTo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEZpeCBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA4LTI2IDA1OjQyOjE1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBGaXggb2J2aW91cyBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogRml4IG9idmlvdXMgbWVtbGVhay4KCjIwMDgtMDgtMjUgMTQ6MTU6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgUmVhbFtBdWRpb3xWaWRlb10gc3VwcG9ydCB0byBNYXRyb3NrYSBjb250YWluZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICBBZGQgUmVhbFtBdWRpb3xWaWRlb10gc3VwcG9ydCB0byBNYXRyb3NrYSBjb250YWluZXJzLgoJICBJdCB3b3JrcyBmaW5lIGZvcjoKCSAgKiBkZWNvZGluZyByZWFsIGF1ZGlvL3ZpZGVvIHN0cmVhbXMgY29udGFpbmVkIGluIG1rdgoJICAqICd0cmFuc211eGluZycgcmVhbCAoLnJtKSBmaWxlcyBpbnRvIC5ta3YgZmlsZXMKCSAgSXQgd2lsbCBub3Qgd29yayB0aG91Z2ggZm9yIGVuY29kaW5nIHJlYWxbYXVkaW8vdmlkZW9dIHN0cmVhbXMgdGhhdAoJICBkb24ndCBjb250YWluIHRoZSAnbWRwcl9kYXRhJyBleHRyYSBkYXRhIG9uIHRoZSBjYXBzLgoJICBUaGUgcmVhc29uIHdoeSB0aGlzIHdpbGwgbm90IHdvcmsgaXMgYmVjYXVzZSBJIG5ldmVyIGludGVuZGVkIHRvCgkgIGR1cGxpY2F0ZSB2aXJ0dWFsbHkgYWxsIHRoZSAnbWRwcicgYmxvY2sgY3JlYXRpb24gaW50byBta3ZtdXguCgkgIEZpeGVzICM1MzYwNjcKCjIwMDgtMDgtMjUgMDk6NDg6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogVGhlIGVuY29kZXIgY2FuJ3QgcmVhbGx5IHJlbmVnb3RpYXRlIGF0IHRoZSB0aW1lIHRoZXkgcGVyZm9ybSBhIHBhZC1hbGxvYyBzbyBtYWtlIHRoZSBzcmNwYWRzIHVzZSBmaXhlZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd19lbmNfaW5pdCksIChnc3RfYWxhd19lbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfaW5pdCksCgkgIChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICBUaGUgZW5jb2RlciBjYW4ndCByZWFsbHkgcmVuZWdvdGlhdGUgYXQgdGhlIHRpbWUgdGhleSBwZXJmb3JtIGEKCSAgcGFkLWFsbG9jIHNvIG1ha2UgdGhlIHNyY3BhZHMgdXNlIGZpeGVkIGNhcHMuCgkgIENoZWNrIHRoZSBidWZmZXIgc2l6ZSBhZnRlciBhIHBhZC1hbGxvYyBiZWNhdXNlIHRoZSByZXR1cm5lZCBzaXplIG1pZ2h0CgkgIG5vdCBiZSByaWdodCB3aGVuIHRoZSBkb3duc3RyZWFtIGVsZW1lbnQgZG9lcyBub3Qga25vdyB0aGUgc2l6ZSBvZiB0aGUKCSAgbmV3IGJ1ZmZlciAoY2Fwc2ZpbHRlcikuIEZpeGVzICM1NDkwNzMuCgoyMDA4LTA4LTIzIDE1OjQzOjQ5ICswMDAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiB2NGwyc3JjIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IG5hbWVkICJub3JtIiBzbyBkb24ndCB0cnkgdG8gbm90aWZ5IGFib3V0IGNoYW5nZXMgdG8gdGhhdCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8gZG90IGFyZ2lvbGFzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9zZXRfbm9ybV9hbmRfbm90aWZ5KToKCSAgdjRsMnNyYyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSBuYW1lZCAibm9ybSIgc28gZG9uJ3QgdHJ5IHRvIG5vdGlmeQoJICBhYm91dCBjaGFuZ2VzIHRvIHRoYXQgcHJvcGVydHkuIFRoZSAibm9ybSIgcHJvcGVydHkgYW5kIHJlbGF0ZWQKCSAgY29kZSBhcmUgY29tbWVudGVkIG91dCBjdXJyZW50bHkuIEZpeGVzIGJ1ZyAjNTQ5MDkwLgoKMjAwOC0wOC0yMyAxNTozMzo0OSArMDAwMCAgTWlrZSBSdXByZWNodCA8Y21haWt1QGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogUmVwcm9iZSBkZXZpY2VzIGFnYWluIGluc3RlYWQgb2YgdGFraW5nIGEgY2FjaGVkIGxpc3QgYXMgbmV3IGRldmljZXMgY291bGQndmUgYmVlbiBwbHVnZ2VkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pa2UgUnVwcmVjaHQgPGNtYWlrdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpOgoJICBSZXByb2JlIGRldmljZXMgYWdhaW4gaW5zdGVhZCBvZiB0YWtpbmcgYSBjYWNoZWQgbGlzdCBhcyBuZXcKCSAgZGV2aWNlcyBjb3VsZCd2ZSBiZWVuIHBsdWdnZWQgaW4uIEZpeGVzIGJ1ZyAjNTQ5MDYyLgoKMjAwOC0wOC0yMiAxNjowNDowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06IERvbid0IGxpbmsgdGhlIGF1dG9kZXRlY3QgcGx1Z2luIHdpdGggR0NvbmYgYXMgaXQgZG9lc24ndCB1c2UgR0NvbmYuIEZpeGVzIGJ1ZyAjNTQ1NDYzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgbGluayB0aGUgYXV0b2RldGVjdCBwbHVnaW4gd2l0aCBHQ29uZiBhcyBpdCBkb2Vzbid0CgkgIHVzZSBHQ29uZi4gRml4ZXMgYnVnICM1NDU0NjMuCgoyMDA4LTA4LTIyIDEyOjI0OjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IENoYW5nZSBzb21lIEdTVF9FTEVNRU5UX0VSUk9ScyB0byBHU1RfRVJST1JfT0JKRUNUIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gaWdub3JlIGVycm9ycyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcmVhZF91aW50KSwKCSAgKGdzdF9lYm1sX3JlYWRfc2ludCksIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgQ2hhbmdlIHNvbWUgR1NUX0VMRU1FTlRfRVJST1JzIHRvIEdTVF9FUlJPUl9PQkpFQ1QgdG8gbWFrZSBpdAoJICBwb3NzaWJsZSB0byBpZ25vcmUgZXJyb3JzIGFuZCBub3QgcG9zdCBhbnkgRVJST1IgbWVzc2FnZXMgb24KCSAgdGhlIGJ1cy4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyk6CgkgIElnbm9yZSBhbnkgZXJyb3JzIGFuZCBub3QganVzdCBFT1Mgd2hlbiBwYXJzaW5nIHRoZSBjb250ZW50cyBvZgoJICBhIFNlZWtIZWFkLiBFcnJvcnMgaGVyZSBhcmUgdXN1YWxseSBjYXVzZWQgYnkgdHJ1bmNhdGVkIGZpbGVzCgkgIGFuZCBwbGF5YmFjayBvZiB0aGUgZmlsZSB3b3JrcyBmaW5lLiBGaXhlcyBwbGF5YmFjayBvZiB0aGUKCSAgYXVkaW9fb25seV9jaGFwdGVyX3NlZWticm9rZW4ubWthIGZpbGUgZnJvbSB0aGUgTVBsYXllciBzYW1wbGVzCgkgIGFyY2hpdmUuCgoyMDA4LTA4LTIyIDExOjI5OjI2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L211bHRpcGFydC86IENvbmZvcm0gdG8gUkZDMjA0Ni4gYXVkaW8vYmFzaWMgaXMgbXVsYXcgODAwMEh6IG1vbm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBDb25mb3JtIHRvIFJGQzIwNDYuIGF1ZGlvL2Jhc2ljIGlzIG11bGF3IDgwMDBIeiBtb25vLgoKMjAwOC0wOC0yMSAyMTo1NjoxOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jLAoJICBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpOgoJICBGaXggdHdvIG1vcmUgYnVmZmVyIHJlZiBsZWFrcy4KCjIwMDgtMDgtMjEgMTU6Mjg6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGaXggYnVmZmVyIHJlZiBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBGaXggYnVmZmVyIHJlZiBsZWFrLgoKMjAwOC0wOC0yMSAxMzoyNzoxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogUmV2ZXJ0IHRoZSBsYXN0IGNvbW1pdC4gd2F2ZW5jIHN0aWxsIHN1cHBvcnRzIHdpZHRoIT1kZXB0aCBmb3IgMzIgYml0IHdpZHRoLiBUaGFua3MgVGltLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6CgkgIFJldmVydCB0aGUgbGFzdCBjb21taXQuIHdhdmVuYyBzdGlsbCBzdXBwb3J0cyB3aWR0aCE9ZGVwdGggZm9yIDMyIGJpdAoJICB3aWR0aC4gVGhhbmtzIFRpbS4KCjIwMDgtMDgtMjEgMTM6MjI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiB0aGUgZHVyYXRpb24gb2YgYSBibG9jayBpcyB1bmtub3duIG9ubHkgdXNlIHRoZSB0aW1lc3RhbXAgZm9yIHRoZSBmaXJzdCBsYWNlIGFuZCB1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgSWYgdGhlIGR1cmF0aW9uIG9mIGEgYmxvY2sgaXMgdW5rbm93biBvbmx5IHVzZSB0aGUgdGltZXN0YW1wIGZvciB0aGUKCSAgZmlyc3QgbGFjZSBhbmQgdXNlIEdTVF9DTE9DS19USU1FX05PTkUgYXMgZHVyYXRpb24gZm9yIHRoZSBmb2xsb3dpbmcKCSAgbGFjZXMuIE90aGVyd2lzZSBldmVyeSBsYWNlIGhhcyB0aGUgc2FtZSB0aW1lc3RhbXAgd2hpY2ggbGVhZHMgdG8KCSAgdmFyaW91cyBwcm9ibGVtcy4gUmVhbGx5IGZpeGVzIGJ1ZyAjNTQ4ODMxLgoKMjAwOC0wOC0yMSAxMjo1NjowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogSWYgd2UncmUgbm90IGFsbG93aW5nIHdpZHRoIT1kZXB0aCBpbiB3YXZlbmMgd2Ugc2hvdWxkIGFsc28gZGlzYWJsZSB0aGUgY29kZSB0aGF0IHdhcyBhZGRlZCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgSWYgd2UncmUgbm90IGFsbG93aW5nIHdpZHRoIT1kZXB0aCBpbiB3YXZlbmMgd2Ugc2hvdWxkIGFsc28gZGlzYWJsZQoJICB0aGUgY29kZSB0aGF0IHdhcyBhZGRlZCB0byBzdXBwb3J0IHdpZHRoIT1kZXB0aC4KCjIwMDgtMDgtMjEgMTI6NTI6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBEb24ndCBjYWxjdWxhdGUgdGhlIGRlZmF1bHQgZHVyYXRpb24gb2YgYSBmcmFtZSBmcm9tIHRoZSBhdWRpbyBzYW1wbGluZyByYXRlLiBUaGlzIG9ubC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3QgY2FsY3VsYXRlIHRoZSBkZWZhdWx0IGR1cmF0aW9uIG9mIGEgZnJhbWUgZnJvbSB0aGUgYXVkaW8gc2FtcGxpbmcKCSAgcmF0ZS4gVGhpcyBvbmx5IHdvcmtzIGZvciByYXcgYXVkaW8gaWYgZXZlcnkgZnJhbWUgY29udGFpbnMgYSBzaW5nbGUKCSAgc2FtcGxlIGFuZCByZXN1bHRzIGluIGJyb2tlbiBidWZmZXIgZHVyYXRpb25zIGZvciBvdGhlciBmb3JtYXRzCgkgIGlmIG5vIHNwZWNpZmllZCBkZWZhdWx0IGR1cmF0aW9uIGlzIGdpdmVuIG9yIHRoZSBibG9ja3MgaGF2ZSBubwoJICBkdXJhdGlvbi4gRml4ZXMgYnVnICM1NDg4MzEuCgoyMDA4LTA4LTIxIDEyOjM0OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogQWxsb3cgemVybyBzaXplZCBibG9ja3MgaW5zdGVhZCBvZiByZXR1cm5pbmcgR1NUX0ZMT1dfT0suIFN1Y2ggYmxvY2tzIGFyZSB1c2VkIGZvciB0ZXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgIEFsbG93IHplcm8gc2l6ZWQgYmxvY2tzIGluc3RlYWQgb2YgcmV0dXJuaW5nIEdTVF9GTE9XX09LLiBTdWNoIGJsb2NrcwoJICBhcmUgdXNlZCBmb3IgdGV4dC9wbGFpbiBzdWJ0aXRsZXMgYXMgYSBnYXAtZmlsbGVyIGluIHNvbWUgZmlsZXMuCgoyMDA4LTA4LTIxIDEyOjEyOjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgUzkxMCBhbmQgUFdDIGZvcm1hdHMgd2l0aCBhIGxvdyBwcmlvcml0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyk6CgkgIEFkZCBTOTEwIGFuZCBQV0MgZm9ybWF0cyB3aXRoIGEgbG93IHByaW9yaXR5LgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2Zvcm1hdF9nZXRfcmFuayksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBBZGQgbW9yZSBkZWJ1Z2dpbmcuCgoyMDA4LTA4LTIwIDIxOjU0OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBGaXggY29tcGlsYXRpb24gYWdhaW5zdCBvbGRlciBsaWJmbGFjIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIEZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG9sZGVyIGxpYmZsYWMgdmVyc2lvbnMuCgoyMDA4LTA4LTIwIDE3OjQ2OjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBVc2UgR1NUX0JPSUxFUlBMQVRFIGV2ZXJ5d2hlcmUgYW5kIGZpeCBjb2Rpbmcgc3R5bGUgYXQgc29tZSBwbGFjZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX3NldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VtaXhlcl9nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWJzY3JpYmVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9vcGVuKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfdGltZW91dF9ldmVudCksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suYzogKGdzdF9wdWxzZW1peGVyX3RyYWNrX25ldyk6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogKGdzdF9wdWxzZXByb2JlX29wZW4pOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2luaXQpLCAoZ3N0X3B1bHNlc2lua19vcGVuKSwKCSAgKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSksIChnc3RfcHVsc2VzaW5rX3dyaXRlKSwKCSAgKGdzdF9wdWxzZXNpbmtfZGVsYXkpLCAoZ3N0X3B1bHNlc2lua19yZXNldCk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfaW5pdCk6CgkgIFVzZSBHU1RfQk9JTEVSUExBVEUgZXZlcnl3aGVyZSBhbmQgZml4IGNvZGluZyBzdHlsZSBhdCBzb21lIHBsYWNlcy4KCSAgRml4IGEgbG9ja2luZyBpc3N1ZSBpbiBwdWxzZXNpbmsncyBwcmVwYXJlIGZ1bmN0aW9uLgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzogKGdzdF9wdWxzZV9jaGFubmVsX21hcF90b19nc3QpOgoJICBDaGVjayBpZiB0aGUgY3JlYXRlZCBjaGFubmVsIGxheW91dCBpcyB2YWxpZCBmb3IgR1N0cmVhbWVyLgoKMjAwOC0wOC0yMCAxNzo0MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzogVGhpbmdzIHRoYXQgY2FuIGhhcHBlbiB3aGVuIHlvdXIgYnJhaW4gaXMgaW4gZ29vZ2xlIG1vZGUgdHJ5aW5nIHRvIGRlYWwgd2l0aCB0aGVpciBnb29nbGUgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6CgkgIFRoaW5ncyB0aGF0IGNhbiBoYXBwZW4gd2hlbiB5b3VyIGJyYWluIGlzIGluIGdvb2dsZSBtb2RlIHRyeWluZyB0bwoJICBkZWFsIHdpdGggdGhlaXIgZ29vZ2xlIHJ0c3Agc2VydmVyIGV4dGVuc2lvbnMgYW5kIHRyeWluZyB0byB0eXBlIHlvdXIKCSAgZ29vZ2xlIG1haWwgYWNjb3VudC4KCjIwMDgtMDgtMjAgMTc6MzA6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBnb29nbGUgUlRTUCBleHRlbnNpb24sIGl0IGNhbiBvbmx5IGhhbmRsZSB1ZHAgYW5kIHJlc3BvbmRzIHdpdGggdW5zdXBwb3J0ZWQgaWYgd2UgZG8gYW55dGhpbmcgZWxzZS4gRmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzogKGdzdF9ydHNwX2dvb2dsZV9iZWZvcmVfc2VuZCksCgkgIChnc3RfcnRzcF9nb29nbGVfYWZ0ZXJfc2VuZCksIChnc3RfcnRzcF9nb29nbGVfZ2V0X3RyYW5zcG9ydHMpLAoJICAoX2RvX2luaXQpLCAoZ3N0X3J0c3BfZ29vZ2xlX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRzcF9nb29nbGVfY2xhc3NfaW5pdCksIChnc3RfcnRzcF9nb29nbGVfaW5pdCksCgkgIChnc3RfcnRzcF9nb29nbGVfZmluYWxpemUpLCAoZ3N0X3J0c3BfZ29vZ2xlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRzcF9nb29nbGVfZXh0ZW5zaW9uX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuaDoKCSAgQWRkIGdvb2dsZSBSVFNQIGV4dGVuc2lvbiwgaXQgY2FuIG9ubHkgaGFuZGxlIHVkcCBhbmQgcmVzcG9uZHMgd2l0aAoJICB1bnN1cHBvcnRlZCBpZiB3ZSBkbyBhbnl0aGluZyBlbHNlLiBGaXhlcyAjNTQ2NDY1LgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChnc3RfcnRzcHNyY19jb25uZWN0aW9uX3JlY2VpdmUpLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgTWFrZSB0cmFuc3BvcnQgc2V0dXAgY29kZSBhIGJpdCBiZXR0ZXIgdXNpbmcgR1N0cmluZy4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Zy4KCSAgQ2hlY2sgZm9yIGNsb3NlZCBjb25uZWN0aW9ucyBiZWZvcmUgZG9pbmcgYW55dGhpbmcgb24gdGhlbS4KCjIwMDgtMDgtMjAgMTc6MTc6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IElmIGRvd25zdHJlYW0gcHJvdmlkZXMgbm8gY2hhbm5lbCBsYXlvdXQgYW5kID4yIGNoYW5uZWxzIHNob3VsZCBiZSB1c2VkIHVzZSB0aGUgZGVmYXVsdCBsYXlvdXQgdGhhdCBwdWxzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19jcmVhdGVfc3RyZWFtKSwgKGdzdF9wdWxzZXNyY19uZWdvdGlhdGUpLAoJICAoZ3N0X3B1bHNlc3JjX3ByZXBhcmUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzogKGdzdF9wdWxzZV9nc3RfdG9fY2hhbm5lbF9tYXApLAoJICAoZ3N0X3B1bHNlX2NoYW5uZWxfbWFwX3RvX2dzdCk6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBJZiBkb3duc3RyZWFtIHByb3ZpZGVzIG5vIGNoYW5uZWwgbGF5b3V0IGFuZCA+MiBjaGFubmVscyBzaG91bGQgYmUKCSAgdXNlZCB1c2UgdGhlIGRlZmF1bHQgbGF5b3V0IHRoYXQgcHVsc2VhdWRpbyBjaG9vc2VzIGFuZCBhbHNvCgkgIGFkZCB0aGlzIGxheW91dCB0byB0aGUgY2Fwcy4gRml4ZXMgYnVnICM1NDcyNTguCgoyMDA4LTA4LTIwIDExOjUxOjM4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC91ZHAvOiBBdm9pZCBsZWFraW5nIGludGVybmFsbHkgYWxsb2NhdGVkIGZpbGUgZGVzY3JpcHRvcnMgd2hlbiBzZXR0aW5nIGN1c3RvbSBmaWxlIGRlc2NyaXB0b3JzLiBGaXhlcyAjNTQzMTAxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfaW5pdCksCgkgIChnc3RfZHludWRwc2lua19maW5hbGl6ZSksIChnc3RfZHludWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R5bnVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9keW51ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZmluYWxpemUpLCAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgQXZvaWQgbGVha2luZyBpbnRlcm5hbGx5IGFsbG9jYXRlZCBmaWxlIGRlc2NyaXB0b3JzIHdoZW4gc2V0dGluZwoJICBjdXN0b20gZmlsZSBkZXNjcmlwdG9ycy4gRml4ZXMgIzU0MzEwMS4KCjIwMDgtMDgtMjAgMTE6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IHRyeSB0byBjb25maWd1cmUgUlRDUCBiYWNrIHRvIHRoZSBzZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIGRpZCBub3QgZ2l2ZSB1cyBhIHZhbGlkIHBvcnQgbnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIERvbid0IHRyeSB0byBjb25maWd1cmUgUlRDUCBiYWNrIHRvIHRoZSBzZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIGRpZCBub3QKCSAgZ2l2ZSB1cyBhIHZhbGlkIHBvcnQgbnVtYmVyLgoKMjAwOC0wOC0yMCAxMDo1OTo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBVc2UgbmV3IGJhc2V0cmFuc2Zvcm0gbWV0aG9kIHRvIHJlbmVnb3RpYXRlLiBGaXhlcyAjNTQ0OTU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KToKCSAgVXNlIG5ldyBiYXNldHJhbnNmb3JtIG1ldGhvZCB0byByZW5lZ290aWF0ZS4gRml4ZXMgIzU0NDk1Ni4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2JveC10ZXN0LmM6IChtYWtlX3BpcGVsaW5lKSwgKG1haW4pOgoJICBBZGQgdmlkZW9ib3ggcmVuZWdvdGlhdGlvbiBleGFtcGxlLgoKMjAwOC0wOC0xOSAyMTowMzoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBSZW1vdmUgZGVwdGggcmFuZ2VzIGFuZCByZXBsYWNlIHdpdGggc2FuZSB2YWx1ZXMuICBGaXhlcyAjNTQ4NTMwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBSZW1vdmUgZGVwdGggcmFuZ2VzIGFuZCByZXBsYWNlCgkgIHdpdGggc2FuZSB2YWx1ZXMuICBGaXhlcyAjNTQ4NTMwLgoKMjAwOC0wOC0xOCAxNTowNTozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogVGhlIGJ5dGVzX3Blcl9zYW1wbGUgYW5kIHNpbGVuY2Vfc2FtcGxlIGZpZWxkcyBvZiB0aGUgR3N0UmluZ0J1ZmZlclNwZWMgYXJlIGFscmVhZHkgZmlsbGVkIHdpdGggdGhlIGNvcnJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfcHJlcGFyZSk6CgkgIFRoZSBieXRlc19wZXJfc2FtcGxlIGFuZCBzaWxlbmNlX3NhbXBsZSBmaWVsZHMgb2YgdGhlIEdzdFJpbmdCdWZmZXJTcGVjCgkgIGFyZSBhbHJlYWR5IGZpbGxlZCB3aXRoIHRoZSBjb3JyZWN0IHZhbHVlcyBieQoJICBnc3RfcmluZ19idWZmZXJfcGFyc2VfY2FwcygpIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBzZXQgdGhlbSBhZ2FpbgoJICB3aXRoIHdyb25nIHZhbHVlcy4KCjIwMDgtMDgtMTYgMTQ6NTQ6NTYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFNvbWUgQVZJIDIuMCAoT0RNTCkgZmlsZXMgZG9uJ3QgcmVzcGVjdCB0aGUgJ3NwZWNpZmljYXRpb25zJyBjb21wbGV0ZWx5IGFuZCBpbnN0ZWFkIG9mIHVzaW5nIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdXNoKToKCSAgU29tZSBBVkkgMi4wIChPRE1MKSBmaWxlcyBkb24ndCByZXNwZWN0IHRoZSAnc3BlY2lmaWNhdGlvbnMnIGNvbXBsZXRlbHkKCSAgYW5kIGluc3RlYWQgb2YgdXNpbmcgdGhlICdpeCMjJyBub21lbmNsYXR1cmUsIHVzZSAnIyNpeCcuCgkgIFRoZXkncmUgc3RpbGwgdmFsaWQgdGhvdWdoLCB0aGlzIGZpeGVzIHRoZSBkdXJhdGlvbiBhbmQgaW5kZXhlcyBmb3IKCSAgdmlydHVhbGx5IGFsbCB0aGUgT0RNTCBmaWxlcyBJIGhhdmUuCgoyMDA4LTA4LTE1IDE3OjI2OjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IFVwZGF0ZSB0aGUgdm9yYmlzIFJUUCBwYXkvZGVwYXkgdG8gUkZDIDUyMTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgVXBkYXRlIHRoZSB2b3JiaXMgUlRQIHBheS9kZXBheSB0byBSRkMgNTIxNS4KCSAgRml4ZXMgIzU0Nzg0Mi4KCjIwMDgtMDgtMTQgMjI6MDc6MDIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2hkdjYnIGFzIGEgSERWIGZvcm1hdCBmb3IgMTA4MGkvNjAgd2l0aCAzOjIgcHVsbGRvd24sIGkuZS4sIDI0cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2hkdjYnIGFzIGEgSERWIGZvcm1hdCBmb3IgMTA4MGkvNjAKCSAgd2l0aCAzOjIgcHVsbGRvd24sIGkuZS4sIDI0cC4KCjIwMDgtMDgtMTQgMTI6NDc6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiBGaXggY29tcGlsYXRpb24gc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggY29tcGlsYXRpb24gc29tZSBtb3JlLgoKMjAwOC0wOC0xNCAxMTo0NDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSAtYmFzZSBDVlMgZm9yIHdhdnBhcnNlIGFjaWQgY2h1bmsgcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOjoKCSAgUmVxdWlyZSAtYmFzZSBDVlMgZm9yIHdhdnBhcnNlIGFjaWQgY2h1bmsgcGFyc2luZy4KCjIwMDgtMDgtMTMgMTM6NTc6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuKjogQWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHkgdG8gcHVsc2VzaW5rIHRvbyBhbmQgY3VycmVudGx5IGNvbW1lbnRlZCBvdXQgYW5kIG5vdCB3b3JraW5nIHN1cHBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19pbml0KSwgKGdzdF9wdWxzZXNpbmtfZmluYWxpemUpLAoJICAoZ3N0X3B1bHNlc2lua19zZXRfdm9sdW1lKSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3ZvbHVtZSksCgkgIChnc3RfcHVsc2VzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpLCAoZ3N0X3B1bHNlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgQWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHkgdG8gcHVsc2VzaW5rIHRvbyBhbmQgY3VycmVudGx5IGNvbW1lbnRlZAoJICBvdXQgYW5kIG5vdCB3b3JraW5nIHN1cHBvcnQgZm9yIGEgInZvbHVtZSIgcHJvcGVydHkuCgoyMDA4LTA4LTEzIDEzOjE3OjE1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgbW9yZSBjZGlvIHN0dWZmIChtb3ZlZCB0byB1Z2x5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBtb3JlIGNkaW8gc3R1ZmYgKG1vdmVkIHRvIHVnbHkpCgoyMDA4LTA4LTEzIDEyOjM3OjI2ICswMDAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwgd2hpY2ggcHJvdmlkZXMgYSBodW1hbiByZWFkYWJsZSBzdHJpbmcgZm9yIHRoZSBhdWRpbyBkZXZpY2UsIHRvIG1hay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhc3psbyBQYW5keSA8bGFzemxvazIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwgd2hpY2ggcHJvdmlkZXMgYSBodW1hbiByZWFkYWJsZSBzdHJpbmcKCSAgZm9yIHRoZSBhdWRpbyBkZXZpY2UsIHRvIG1ha2UgaXQgbW9yZSBjb25zaXN0ZW4gd2l0aCBvdGhlciBhdWRpbwoJICBzb3VyY2VzLiBGaXhlcyBidWcgIzU0NzUxOS4KCjIwMDgtMDgtMTMgMTI6MzQ6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGJ5IGluY2x1ZGluZyB0aGUgcGFyZW50IG9iamVjdCBpbiBwdWxzZW1peGVyY3RybCBhbmQgcHVsc2Vwcm9iZSBvYmplY3RzIGFuZCB1c2luZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogKGdzdF9wdWxzZW1peGVyX2N0cmxfc3Vic2NyaWJlX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfb3BlbiksIChnc3RfcHVsc2VtaXhlcl9jdHJsX25ldyksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX2ZyZWUpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF90aW1lb3V0X2V2ZW50KToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfb3BlbiksCgkgIChnc3RfcHVsc2Vwcm9iZV9lbnVtZXJhdGUpLCAoZ3N0X3B1bHNlcHJvYmVfbmV3KSwKCSAgKGdzdF9wdWxzZXByb2JlX2ZyZWUpLCAoZ3N0X3B1bHNlcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3B1bHNlcHJvYmVfcHJvYmVfcHJvcGVydHkpLCAoZ3N0X3B1bHNlcHJvYmVfZ2V0X3ZhbHVlcyk6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2luaXQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2luaXQpLCAoZ3N0X3B1bHNlc3JjX2RlbGF5KSwKCSAgKGdzdF9wdWxzZXNyY19jaGFuZ2Vfc3RhdGUpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBieSBpbmNsdWRpbmcgdGhlIHBhcmVudCBvYmplY3QgaW4gcHVsc2VtaXhlcmN0cmwKCSAgYW5kIHB1bHNlcHJvYmUgb2JqZWN0cyBhbmQgdXNpbmcgR1NUX1dBUk5JTkdfT0JKRUNUIGluc3RlYWQgb2YKCSAgR1NUX1dBUk5JTkcuCgkgIFVzZSB0aGUgcGFyZW50IEdPYmplY3Qgc3ViY2xhc3MgaW5zdGVhZCBvZiBhIHJhbmRvbSBzdHJ1Y3QgYXMgR09iamVjdAoJICBwYXJhbWV0ZXIgZm9yIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRC4gVGhpcyBmaXhlcyBhIGNyYXNoCgkgIHdoZW4gcHJvYmluZyBmb3IgYW5vdGhlciBwcm9wZXJ0eSB0aGFuICJkZXZpY2UiLgoKMjAwOC0wOC0xMyAxMjoyMToyMiArMDAwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiBGaXggcHJvcGVydHkgcHJvYmluZyBhZnRlciB0aGUgZGV2aWNlIHByb3BlcnR5IGlzIHNldCBieSBjYWxsaW5nIHNldF9zZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXN6bG8gUGFuZHkgPGxhc3psb2syIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBwcm9wZXJ0eSBwcm9iaW5nIGFmdGVyIHRoZSBkZXZpY2UgcHJvcGVydHkgaXMgc2V0IGJ5IGNhbGxpbmcKCSAgc2V0X3NlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgcHJvcGVydHkgY2hhbmdlcy4gRml4ZXMgYnVnICM1NDc1MTguCgoyMDA4LTA4LTEzIDEyOjExOjM0ICswMDAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IEZpeCBwcm9wZXJ0eSBwcm9iaW5nIGFmdGVyIHRoZSBkZXZpY2UgcHJvcGVydHkgaXMgc2V0IGJ5IGNhbGxpbmcgc2V0X3NlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhc3psbyBQYW5keSA8bGFzemxvazIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KToKCSAgRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZwoJICBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwcm9wZXJ0eSBjaGFuZ2VzLiBGaXhlcyBidWcgIzU0NzUxOC4KCjIwMDgtMDgtMTMgMTI6MDE6MDEgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlLzogSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIG9uIHB1bHNlc2luayBmb3IgZGV0ZWN0aW5nIHNpbmsgZGV2aWNlcyBhbmQgb24gcHVsc2VzcmMgZm9yIGRldGVjdGluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VzaW5rX2ltcGxlbWVudHNfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19pbml0X2ludGVyZmFjZXMpLCAoZ3N0X3B1bHNlc2lua19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfZmluYWxpemUpLCAoZ3N0X3B1bHNlc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlc2lua19nZXRfdHlwZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlc3JjX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VzcmNfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfZmluYWxpemUpLCAoZ3N0X3B1bHNlc3JjX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIEltcGxlbWVudCBHc3RQcm9wZXJ0eVByb2JlIGludGVyZmFjZSBvbiBwdWxzZXNpbmsgZm9yIGRldGVjdGluZwoJICBzaW5rIGRldmljZXMgYW5kIG9uIHB1bHNlc3JjIGZvciBkZXRlY3Rpbmcgc291cmNlIGRldmljZXMuCgkgIEZpeGVzIGJ1Z3MgIzU0NzIyNyBhbmQgIzU0NzIxNy4KCjIwMDgtMDgtMTMgMDk6MTc6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBEb24ndCB0ZXJtaW5hdGUgb24gZmFicyhpbik+MS4wLiBJbml0IGRvdWJsZXMgYXMgZG91Ymxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIERvbid0IHRlcm1pbmF0ZSBvbiBmYWJzKGluKT4xLjAuIEluaXQgZG91YmxlcyBhcyBkb3VibGVzLgoKMjAwOC0wOC0xMyAwODozMzo1NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUHJvcGVybHkgc2V0IHRoZSBtYXhpbXVtIGxhdGVuY3kgdmFsdWUsIGluIHRoZSBzYW1lIHdheSBpdCBpcyBkb25lIGluIHY0bHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfcXVlcnkpOgoJICBQcm9wZXJseSBzZXQgdGhlIG1heGltdW0gbGF0ZW5jeSB2YWx1ZSwgaW4gdGhlIHNhbWUgd2F5IGl0IGlzIGRvbmUgaW4KCSAgdjRsc3JjLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgU2ltcGxpZnkgZnJhY3Rpb24gZXF1YWxpdHkgY2hlY2ssIG5vIG5lZWQgdG8gdXNlIEdWYWx1ZXMgZm9yIHRoaXMuCgoyMDA4LTA4LTEyIDEyOjA0OjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgd2FybmluZyBtZXNzYWdlcyBzdGF0aW5nIGV4YWN0bHkgd2h5IHRoZSBsYXRlbmN5IHF1ZXJ5IGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfcXVlcnkpOgoJICBBZGQgd2FybmluZyBtZXNzYWdlcyBzdGF0aW5nIGV4YWN0bHkgd2h5IHRoZSBsYXRlbmN5IHF1ZXJ5IGZhaWxlZC4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSk6CgkgIEluIHNvbWUgY2FzZXMsIHRoZSBuZWdvdGlhdGVkIGZyYW1lcmF0ZSBtaWdodCBiZSB0aGUgZGVmYXVsdCBvbmUgd2hpY2gKCSAgaXMgYWxyZWFkeSBzZXQgaW50ZXJuYWxseS4gQnV0IHdlIHN0aWxsIG5lZWQgdG8gbWFyayBpdCBkb3duIGluIGZwc19uCgkgIGFuZCBmcHNfZCBzbyB0aGF0IHRoZSBsYXRlbmN5IHF1ZXJ5IGNhbiBoYXBwZW4gcHJvcGVybHkuCgoyMDA4LTA4LTEyIDExOjI4OjQ3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOiBXaG9vcHMsIGZvcmdvdCBvbmUgZG9jIGZpbGUgZm9yIHBlb3BsZSB3aG8gY2FuJ3QvZG9uJ3QgYnVpbGQgdGhlIHJhdzEzOTQgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgIFdob29wcywgZm9yZ290IG9uZSBkb2MgZmlsZSBmb3IgcGVvcGxlIHdobyBjYW4ndC9kb24ndCBidWlsZCB0aGUKCSAgcmF3MTM5NCBwbHVnaW4uCgoyMDA4LTA4LTEyIDA5OjIyOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFB1bGwgY2hhbmdlcyBmcm9tIDAuMTAuOS4yIHByZS1yZWxlYXNlIGJyYW5jaCBtb3ZpbmcgdGhlIGxpYmNkaW8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmg6CgkgIFB1bGwgY2hhbmdlcyBmcm9tIDAuMTAuOS4yIHByZS1yZWxlYXNlIGJyYW5jaCBtb3ZpbmcgdGhlIGxpYmNkaW8KCSAgQ0REQSBzb3VyY2UgdG8gLXVnbHkuCgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgKiBwby9pZC5wbzoKCSAgUHVsbCBpbiBuZXcgdHJhbnNsYXRpb24gZnJvbSAwLjEwLjkuMiByZWxlYXNlIGJyYW5jaC4KCjIwMDgtMDgtMTEgMTU6MDU6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBJbnRlZ3JhdGUgZG9jdW1lbnRhdGlvbiBmb3IgbmV3IGhkdjEzOTRzcmMgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIEludGVncmF0ZSBkb2N1bWVudGF0aW9uIGZvciBuZXcgaGR2MTM5NHNyYyBlbGVtZW50LgoKMjAwOC0wOC0xMSAxNDozNjoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9yYXcxMzk0LzogbXBlZzItdHMgKEhEVikgdmFyaWFudCBvZiBmaXJld2lyZSBjYXB0dXJlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6IChfZG9faW5pdCksCgkgIChnc3RfaGR2MTM5NHNyY19iYXNlX2luaXQpLCAoZ3N0X2hkdjEzOTRzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfaGR2MTM5NHNyY19pbml0KSwgKGdzdF9oZHYxMzk0c3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2hkdjEzOTRzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9oZHYxMzk0c3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaGR2MTM5NHNyY19mcm9tX3JhdzEzOTRoYW5kbGUpLAoJICAoZ3N0X2hkdjEzOTRzcmNfaWVjNjE4ODNfcmVjZWl2ZSksIChnc3RfaGR2MTM5NHNyY19idXNfcmVzZXQpLAoJICAoZ3N0X2hkdjEzOTRzcmNfY3JlYXRlKSwgKGdzdF9oZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3N0YXJ0KSwgKGdzdF9oZHYxMzk0c3JjX3N0b3ApLAoJICAoZ3N0X2hkdjEzOTRzcmNfdW5sb2NrKSwgKGdzdF9oZHYxMzk0c3JjX3VwZGF0ZV9kZXZpY2VfbmFtZSksCgkgIChnc3RfaGR2MTM5NHNyY191cmlfZ2V0X3R5cGUpLCAoZ3N0X2hkdjEzOTRzcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X2hkdjEzOTRzcmNfdXJpX2dldF91cmkpLCAoZ3N0X2hkdjEzOTRzcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X2hkdjEzOTRzcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5oOgoJICBtcGVnMi10cyAoSERWKSB2YXJpYW50IG9mIGZpcmV3aXJlIGNhcHR1cmUgZWxlbWVudC4KCSAgRml4ZXMgIzM1MDgzMAoKMjAwOC0wOC0xMSAxMDo1MzowNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBGaXggY29tcGlsYXRpb24gKGFsc28ga25vd24gYXMgdGhlIGNsYXNzaWMgJ2ZpeCBjb2RlIHRoYXQgc29tZW9uZSBjb21taXR0ZWQgd2l0aG91dCBjb21waWxpbmcgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9tZXNzYWdlX25ldyk6CgkgIEZpeCBjb21waWxhdGlvbiAoYWxzbyBrbm93biBhcyB0aGUgY2xhc3NpYyAnZml4IGNvZGUgdGhhdCBzb21lb25lCgkgIGNvbW1pdHRlZCB3aXRob3V0IGNvbXBpbGluZyBpdCBmaXJzdCcpLgoKMjAwOC0wOC0xMCAxOTo0MDoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogQWRkIGEgdGVzdCBmb3IgbGV2ZWwgaW4gc3RlcmVvIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIEFkZCBhIHRlc3QgZm9yIGxldmVsIGluIHN0ZXJlbyBtb2RlLgoKMjAwOC0wOC0xMCAxOTozNTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vOiBEZW1vIGhvdyB0byBkcmF3IGFuYWx5emVyIHJlc3VsdHMgc3luY2VkIHRvIHRoZSBjbG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBEZW1vIGhvdyB0byBkcmF3IGFuYWx5emVyIHJlc3VsdHMgc3luY2VkIHRvIHRoZSBjbG9jay4KCjIwMDgtMDgtMTAgMTU6NTI6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBMaXR0bGUgcmVuYW1pbmcgKGwgLT4gbGV2ZWwpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgTGl0dGxlIHJlbmFtaW5nIChsIC0+IGxldmVsKS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgQWxzbyBzZW5kIGZ1bGwgdGltZXN0YW1wL2R1cmF0aW9uIGRldGFpbHMgaGVyZS4KCjIwMDgtMDgtMTAgMTE6MzI6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBTZW5kIHNhbWUgdGltZXN0YW1wL2R1cmF0aW9uIGRldGFpbHMgYXMgdmlkZW9hbmFseXNpcy4gVGhpcyBnaXZlcyBhcHBsaWNhdGlvbnMgYmV0dGVyIGNoYW5jZSB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgU2VuZCBzYW1lIHRpbWVzdGFtcC9kdXJhdGlvbiBkZXRhaWxzIGFzIHZpZGVvYW5hbHlzaXMuIFRoaXMgZ2l2ZXMKCSAgYXBwbGljYXRpb25zIGJldHRlciBjaGFuY2UgdG8gc3luYyBhbmFseXNpcyByZXN1bHRzIHdpdGggcGxheWJhY2suCgoyMDA4LTA4LTA5IDE0OjAyOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFdlIG5lZWQgdG8gZHJvcCBvbmUgYWRkaXRpb25hbCBidWZmZXIgZm9yIEZMQUMgYXMgdGhlIGZMYUMgbWFya2VyIGFuZCBTVFJFQU1JTkZPIGJsb2NrIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChmbGFjX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpOgoJICBXZSBuZWVkIHRvIGRyb3Agb25lIGFkZGl0aW9uYWwgYnVmZmVyIGZvciBGTEFDIGFzIHRoZSBmTGFDCgkgIG1hcmtlciBhbmQgU1RSRUFNSU5GTyBibG9jayBhcmUgbWVyZ2VkIGludG8gb25lIGJ1ZmZlciBpbiB0aGUgY2Fwcy4KCSAgQWxzbyBkb24ndCBwcmV0ZW5kIHRvIHN1cHBvcnQgTkVXU0VHTUVOVCBldmVudHMsIG90aGVyd2lzZSB3ZQoJICB3aWxsIG1vc3QgcHJvYmFibHkgd3JpdGUgc29tZSBpbnZhbGlkIGRhdGEuCgoyMDA4LTA4LTA5IDEzOjQ4OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgRkxBQyBpbnRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGZsYWNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyBGTEFDIGludG8gTWF0cm9za2EgY29udGFpbmVycy4KCSAgRml4ZXMgYnVnICMzMTE1ODYuCgoyMDA4LTA4LTA5IDA4OjU4OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IEFjdHVhbGx5IHByb3ZpZGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19jaGVja19kaXNjb250KToKCSAgQWN0dWFsbHkgcHJvdmlkZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIGZvciB0aGUgZm9ybWF0IHN0cmluZy4KCjIwMDgtMDgtMDggMTY6MjA6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBDbG9zZSB0aGUgY3VycmVudCBzZWdtZW50IGlmIHdlJ3JlIGRvaW5nIGEgbm9uLWZsdXNoaW5nIHNlZWsgYW5kIHNlbmQgdGhlIGNsb3NlLXNlZ21lbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZWxlbWVudF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIENsb3NlIHRoZSBjdXJyZW50IHNlZ21lbnQgaWYgd2UncmUgZG9pbmcgYSBub24tZmx1c2hpbmcgc2VlayBhbmQgc2VuZAoJICB0aGUgY2xvc2Utc2VnbWVudCBhbmQgdGhlIG5ldyBzZWdtZW50IG9mIHRoZSBzZWVrIGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQuCgoyMDA4LTA4LTA4IDE1OjIwOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGNvcnJlY3RseSwgbWFyayBoZWFkZXIgcGFja2V0cyBhcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZW5jX2NoZWNrX2Rpc2NvbnQpLCAoZ3N0X2ZsYWNfZW5jX2NoYWluKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgY29ycmVjdGx5LCBtYXJrIGhlYWRlciBwYWNrZXRzIGFzCgkgIElOX0NBUFMgYW5kIHByaW50IGEgd2FybmluZyBhbmQgc3VnZ2VzdCB1c2luZyBhdWRpb3JhdGUgaWYgc3RyZWFtCgkgIGRpc2NvbnRpbnVpdGllcyBhcmUgZGV0ZWN0ZWQuIFdoZW4gRkxBQyBzdXBwb3J0cyBmbHVzaGluZyB0aGUgZW5jb2RlcgoJICBzb21laG93IHRoaXMgc2hvdWxkIGJlIGRvbmUgZm9yIGRpc2NvbnRpbnVpdGllcyBpbnN0ZWFkLgoJICBSZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdC4KCjIwMDgtMDgtMDcgMTc6MTQ6MzkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHB1bHNlYXVkaW8gdG8gcGx1Z2lucyBsaXN0IGluIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHB1bHNlYXVkaW8gdG8gcGx1Z2lucyBsaXN0IGluIHNwZWMgZmlsZQoKMjAwOC0wOC0wNyAxNjoxMzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBJZiBzZWVraW5nIGZhaWxlZCByZXR1cm4gdGhlIGFwcHJvcGlhdGUgcmV0dXJuIHZhbHVlIHRvIEZMQUMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19zZWVrX2NhbGxiYWNrKToKCSAgSWYgc2Vla2luZyBmYWlsZWQgcmV0dXJuIHRoZSBhcHByb3BpYXRlIHJldHVybiB2YWx1ZSB0byBGTEFDLgoJICBPdGhlcndpc2UgaXQgdGhpbmtzIHNlZWtpbmcgd2FzIHN1Y2Nlc3NmdWxsIGFuZCB0cmllcyB0byByZXdyaXRlCgkgIHBhcnRzIG9mIHRoZSBoZWFkZXJzIHdoaWNoIHRoZW4gZ2V0IGFwcGVuZGVkIHRvIHRoZSBvdXRwdXQuCgoyMDA4LTA4LTA3IDE2OjExOjAwICswMDAwICBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoJICAqIGV4dC9lc2QvZ3N0ZXNkLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlcgoJICB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgoyMDA4LTA4LTA3IDE0OjQwOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFkZCBGSVhNRSBmb3IgMC4xMSB0byBzaW1wbHkgb3V0cHV0IGV2ZXJ5dGhpbmcgd2l0aCB3aWR0aD0zMiBhcyBnaXZlbiBieSBGTEFDIGFuZCBsZXQgYXVkaW9jb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBBZGQgRklYTUUgZm9yIDAuMTEgdG8gc2ltcGx5IG91dHB1dCBldmVyeXRoaW5nIHdpdGggd2lkdGg9MzIgYXMgZ2l2ZW4KCSAgYnkgRkxBQyBhbmQgbGV0IGF1ZGlvY29udmVydCBoYW5kbGUgdGhlIGNvbnZlcnNpb25zIGluc3RlYWQgb2YgZG9pbmcKCSAgdGhlbSBpbiBmbGFjZGVjLgoKMjAwOC0wOC0wNyAxMDoyMjozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFdoZW4gb3V0cHV0dGluZyBhIHBhZCB0ZW1wbGF0ZSByYW5nZSBmb3IgdGhlIHNpemUsIGluY2x1ZGUgYSBmcmFtZXJhdGUgcmFuZ2UgdG9vLCB0byBhdm9pZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgV2hlbiBvdXRwdXR0aW5nIGEgcGFkIHRlbXBsYXRlIHJhbmdlIGZvciB0aGUgc2l6ZSwgaW5jbHVkZSBhIGZyYW1lcmF0ZQoJICByYW5nZSB0b28sIHRvIGF2b2lkICdub3QgYSByZWFsIHN1YnNldCBvZiB0ZW1wbGF0ZSBjYXBzJyBlcnJvcnMuCgoyMDA4LTA4LTA2IDE1OjM0OjU1ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvOiBQb3J0IGZsYWN0YWcgdG8gMC4xMCwgYWRkIGRvY3VtZW50YXRpb24gZm9yIGl0IGFuZCBjbGVhbiBpdCB1cCBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfc2V0dXBfaW50ZXJmYWNlcyksCgkgIChnc3RfZmxhY190YWdfYmFzZV9pbml0KSwgKGdzdF9mbGFjX3RhZ19jbGFzc19pbml0KSwKCSAgKGdzdF9mbGFjX3RhZ19kaXNwb3NlKSwgKGdzdF9mbGFjX3RhZ19pbml0KSwKCSAgKGdzdF9mbGFjX3RhZ19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZsYWNfdGFnX2NoYWluKSwKCSAgKGdzdF9mbGFjX3RhZ19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuaDoKCSAgUG9ydCBmbGFjdGFnIHRvIDAuMTAsIGFkZCBkb2N1bWVudGF0aW9uIGZvciBpdCBhbmQgY2xlYW4gaXQgdXAgYSBiaXQuCgkgIEZpeGVzIGJ1ZyAjNDEzODQxLgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBBZGQgZmxhY3RhZyBhbmQgZmxhY2VuYyB0byB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgbWFyawoJICB0aGUgcHJpdmF0ZSBwYXJ0cyBvZiB0aGUgZmxhY2RlYyBpbnN0YW5jZSBzdHJ1Y3R1cmUgYXMgcHJpdmF0ZS4KCSAgQWxzbyB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgaW4gZmxhY2RlYyBhbmQKCSAgZmxhY2VuYy4KCjIwMDgtMDgtMDYgMTM6MTI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIGF1ZGlvL3gtcWRtIGZvciBjYXBzLiBDb2xsZWN0IHNvbWUgaW5mbyAtIG1wbGF5ZXIgaGFzIGEgZGVjb2RlciBmb3IgaXQgYnV0IGZmbXBlZyBkb2VzIG5vdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBVc2UgYXVkaW8veC1xZG0gZm9yIGNhcHMuIENvbGxlY3Qgc29tZSBpbmZvIC0gbXBsYXllciBoYXMgYSBkZWNvZGVyCgkgIGZvciBpdCBidXQgZmZtcGVnIGRvZXMgbm90LgoKMjAwOC0wOC0wNSAxNTowNTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSB0aGUgbGlzdCBjaHVuayBhbmQgdXNlIGdzdF9yaWZmX3BhcnNlX2luZm8oKSB0byBwYXJzZSB0aGUgaW5mbyBzdWItY2h1bmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBIYW5kbGUgdGhlIGxpc3QgY2h1bmsgYW5kIHVzZSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgdG8gcGFyc2UgdGhlIGluZm8KCSAgc3ViLWNodW5rLgoKMjAwOC0wOC0wNSAxNDoyMjoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSB0aGUgYWNpZCBjaHVuayBhbmQgc2VuZCB0ZW1wbyBhcyBwYXJ0IG9mIHRhZ3MuIE90aGVyIGZpZWxkcyBhcmUgaW50ZXJlc3RpbmcgdG9vLCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBIYW5kbGUgdGhlIGFjaWQgY2h1bmsgYW5kIHNlbmQgdGVtcG8gYXMgcGFydCBvZiB0YWdzLiBPdGhlciBmaWVsZHMgYXJlCgkgIGludGVyZXN0aW5nIHRvbywgYnV0IG5lZWQgbW9yZSB0YWctZGVmaW5pdGlvbnMuIEZpeGVzICM1NDU0MzMuCgoyMDA4LTA4LTA1IDE0OjE2OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmVmYWN0b3Igd2F2cGFyc2UuIENhbGwgX3Jlc2V0KCkgZnJvbSBkaXNwb3NlKCkgYW5kIG1vdmUgb2xkIGNvZGUgZnJvbSBkaXNwb3NlIGludG8gcmVzZXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJlZmFjdG9yIHdhdnBhcnNlLiBDYWxsIF9yZXNldCgpIGZyb20gZGlzcG9zZSgpIGFuZCBtb3ZlIG9sZCBjb2RlIGZyb20KCSAgZGlzcG9zZSBpbnRvIHJlc2V0LiBUaGlzIHdheSB3ZSBkb24ndCBsZWFrIHRhZ2xpc3RzIHdoZW4gd2UgYWJvcnQKCSAgcGFyc2luZy4gRml4IHNvbWUgY29tbWVudHMuIE1vdmUgY29kZSBmb3Igc2tpcHBpbmcgYSBjaHVuayBpbnRvIGV4dHJhCgkgIGZ1bmN0aW9uLiBSZXBsYWNlIGNodW5rIHNpemVzIHdpdGggYSBjb25zdCB0byBlYXNlIHJlYWRhYmlsaXR5LgoKMjAwOC0wOC0wNSAxMzo1Nzo1NyArMDAwMCAgQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6ekB5YWhvby5mcj4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW1wcm92ZSB1ZHAgcG9ydCBzZXR1cC4gRml4ZXMgIzU0NTcxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBdXJlbGllbiBHcmltYXVkIDxnc3RlbHp6IGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpOgoJICBJbXByb3ZlIHVkcCBwb3J0IHNldHVwLiBGaXhlcyAjNTQ1NzEwLgoKMjAwOC0wOC0wNSAxMzo1NDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgTVAxUyBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6IChnc3RfcnRwX21wMXNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXAxc19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXAxc19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSAgQWRkIE1QMVMgZGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgU29tZSBtb3JlIHNhbXBsZSBydHNwIHN0cmVhbXMuCgoyMDA4LTA4LTA1IDA4OjQzOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIGFub3RoZXIgVVJMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgYW5vdGhlciBVUkwuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA4LTA4LTA0IDA5OjE2OjQwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFByb3ZpZGUgY2JTaXplIGZpZWxkIGZvciBhdWRpbyBleHRyYV9kYXRhIHNpemUsIGFuZCB0YWtlIGNhcmUgdG8gcGFkIGV4dHJhX2RhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgUHJvdmlkZSBjYlNpemUgZmllbGQgZm9yIGF1ZGlvIGV4dHJhX2RhdGEgc2l6ZSwgYW5kIHRha2UgY2FyZSB0bwoJICBwYWQgZXh0cmFfZGF0YS4KCjIwMDgtMDgtMDQgMDc6MjM6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmV0dXJuIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF97c3RhcnQsc3RvcH1fdGFzayBpbnN0ZWFkIG9mIGhhcmQtY29kZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBnc3RfcGFkX3tzdGFydCxzdG9wfV90YXNrIGluc3RlYWQgb2YgaGFyZC1jb2RlZAoJICBUUlVFLgoKMjAwOC0wOC0wNCAwNzoxNzozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQga2V5d29yZCB0YWcgc3VwcG9ydC4gRml4ZXMgIzUyMDY5NCBmb3IgcXRkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIEFkZCBrZXl3b3JkIHRhZyBzdXBwb3J0LiBGaXhlcyAjNTIwNjk0IGZvciBxdGRlbXV4LgoKMjAwOC0wOC0wNCAwNzowNTozMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgdG1wbyB0YWcgKEJQTSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRtcG8gdGFnIChCUE0pLgoKMjAwOC0wOC0wMyAxMjoyMzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBTZXQgYW4gZXN0aW1hdGUgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IHdpbGwgYmUgZW5jb2RlZCBpZiBwb3NzaWJsZSB0byBoZWxwIGRlY29kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19xdWVyeV9wZWVyX3RvdGFsX3NhbXBsZXMpLAoJICAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spOgoJICBTZXQgYW4gZXN0aW1hdGUgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IHdpbGwgYmUgZW5jb2RlZAoJICBpZiBwb3NzaWJsZSB0byBoZWxwIGRlY29kZXJzIGlmIHRoZSBzdHJlYW1pbmZvIGNhbid0IGJlIHJld3JpdHRlbgoJICBsYXRlciAobGlrZSB3aGVuIG11eGluZyBpbnRvIE9nZyBjb250YWluZXJzKS4KCSAgQWRkIGEgd2FybmluZyBpZiB3ZSBnZXQgaGVhZGVyIHBhY2tldHMgYWZ0ZXIgZGF0YSBwYWNrZXRzIGFzIHRob3NlCgkgIHdpbGwgZ2V0IGxvc3Qgd2hlbiBtdXhpbmcgaW50byBPZ2csIGkuZS4gcmV3cml0aW5nIHRoZSBoZWFkZXJzIGRvZXNuJ3QKCSAgd29yay4KCjIwMDgtMDgtMDMgMTE6Mzg6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogU3VwcG9ydCBkZWNvZGluZyBvZiBhbGwgZGVwdGhzIGJldHdlZW4gNCBhbmQgMzIgYml0cyBhbmQgcmVhZCB0aGUgZGVwdGggZnJvbSB0aGUgc3RyZWFtaW5mbyBoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgU3VwcG9ydCBkZWNvZGluZyBvZiBhbGwgZGVwdGhzIGJldHdlZW4gNCBhbmQgMzIgYml0cyBhbmQgcmVhZCB0aGUKCSAgZGVwdGggZnJvbSB0aGUgc3RyZWFtaW5mbyBoZWFkZXIgaWYgbmVlZGVkLiBBbHNvIHN1cHBvcnQgYWxsIHNhbXBsaW5nCgkgIHJhdGVzIGJldHdlZW4gMSBhbmQgNjU1MzUwIEh6LgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKGdzdF9mbGFjX2VuY19jYXBzX2FwcGVuZF9zdHJ1Y3R1cmVfd2l0aF93aWR0aHMpLAoJICAoZ3N0X2ZsYWNfZW5jX3NpbmtfZ2V0Y2FwcyksIChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFpbik6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBTdXBwb3J0IGVuY29kaW5nIGluIGFsbCBiaXQgZGVwdGhzIHN1cHBvcnRlZCBieSB0aGUgc3RyZWFtYWJsZQoJICBzdWJmb3JtYXQgKGkuZS4gOCwgMTIsIDE2LCAyMCBhbmQgMjQgYml0cykgYW5kIGFsbCBzYW1wbGluZyByYXRlcwoJICBiZXR3ZWVuIDEgSHogYW5kIDY1NTM1MCBIei4KCjIwMDgtMDgtMDMgMDk6MjM6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogU3VwcG9ydCBlbmNvZGluZyBvZiB1cCB0byA4IGNoYW5uZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfaW5pdCksCgkgIChnc3RfZmxhY19lbmNfc2lua19nZXRjYXBzKToKCSAgU3VwcG9ydCBlbmNvZGluZyBvZiB1cCB0byA4IGNoYW5uZWxzLgoKMjAwOC0wOC0wMiAyMTozOTowMSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IEZpeCBzZWVraW5nIHJhY2UgY29uZGl0aW9uIGluICM1NDAzMDAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBGaXggc2Vla2luZyByYWNlIGNvbmRpdGlvbiBpbiAjNTQwMzAwCgkgIFBhdGNoIEJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCjIwMDgtMDgtMDIgMTg6MzU6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBXaGVuIHJlY2VpdmluZyBhIFNFRUsgZXZlbnQgb24gYSBzcGVjaWZpYyBwYWQgZmlyc3Qgc2VhcmNoIGZvciBhIHNlZWsgdGFibGUgZW50cnkgZm9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBXaGVuIHJlY2VpdmluZyBhIFNFRUsgZXZlbnQgb24gYSBzcGVjaWZpYyBwYWQgZmlyc3Qgc2VhcmNoIGZvciBhIHNlZWsKCSAgdGFibGUgZW50cnkgZm9yIHRoZSBzdHJlYW0gb2YgdGhlIHBhZCBhbmQgdGhlbiBmYWxsIGJhY2sgdG8gYW4gZW50cnkKCSAgZm9yIGEgZGlmZmVyZW50IHN0cmVhbS4KCjIwMDgtMDgtMDIgMTg6MjA6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEJ1aWxkIGRlcGVuZCBvbiBjb3JlIENWUyBmb3IgdGhlIGF0dGFjaG1lbnQgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOiAoZ3N0X21hdHJvc2thX3JlZ2lzdGVyX3RhZ3MpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQnVpbGQgZGVwZW5kIG9uIGNvcmUgQ1ZTIGZvciB0aGUgYXR0YWNobWVudCB0YWcuCgoyMDA4LTA4LTAyIDE4OjE4OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEZWNvZGUgdGhlIGNvZGVjIHByaXZhdGUgZGF0YSBhbmQgZm9sbG93aW5nIENvbnRlbnRFbmNvZGluZyBpZiBuZWNlc3NhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2x6by5jOiAoZ2V0X2J5dGUpLCAoZ2V0X2xlbiksIChjb3B5KSwKCSAgKGNvcHlfYmFja3B0ciksIChsem8xeF9kZWNvZGUpLCAobWFpbik6CgkgICogZ3N0L21hdHJvc2thL2x6by5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlY29tcHJlc3NfZGF0YSksIChnc3RfbWF0cm9za2FfZGVjb2RlX2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9jb250ZW50X2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgRGVjb2RlIHRoZSBjb2RlYyBwcml2YXRlIGRhdGEgYW5kIGZvbGxvd2luZyBDb250ZW50RW5jb2RpbmcgaWYKCSAgbmVjZXNzYXJ5LgoJICBTdXBwb3J0IGJ6aXAyLCBsem8gYW5kIGhlYWRlciBzdHJpcHBlZCBjb21wcmVzc2lvbi4gRm9yIGx6byB1c2UgdGhlCgkgIGZmbXBlZyBsem8gaW1wbGVtZW50YXRpb24gYXMgbGlibHpvIGlzIEdQTCBsaWNlbnNlZC4KCSAgRml4IHpsaWIgZGVjb21wcmVzc2lvbi4KCjIwMDgtMDgtMDIgMTg6MTE6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG11eGluZyBvZiBNUDMvTVAyIHdpdGggZGlmZmVyZW50IE1QRUcgdmVyc2lvbnMgYnkgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uIG9mIGEgZnJhbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgRml4IG11eGluZyBvZiBNUDMvTVAyIHdpdGggZGlmZmVyZW50IE1QRUcgdmVyc2lvbnMgYnkgY2FsY3VsYXRpbmcgdGhlCgkgIGR1cmF0aW9uIG9mIGEgZnJhbWUgd2l0aCB0aGUgbmV3IG1wZWdhdWRpb3ZlcnNpb24gY2FwcyBmaWVsZC4KCjIwMDgtMDgtMDIgMTg6MDY6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBBbGxvdyBhbiBpbmZpbml0ZSBudW1iZXIgb2Ygc3RyZWFtIGluc2lkZSBNYXRyb3NrYSBjb250YWluZXJzIGFuZCB1c2UgYSBHUHRyQXJyYXkgZm9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N0cmVhbV9mcm9tX251bSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdHJhY2tudW1iZXJfdW5pcXVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgQWxsb3cgYW4gaW5maW5pdGUgbnVtYmVyIG9mIHN0cmVhbSBpbnNpZGUgTWF0cm9za2EgY29udGFpbmVycyBhbmQgdXNlCgkgIGEgR1B0ckFycmF5IGZvciBzdG9yaW5nIHRoZW0gaW5zdGVhZCBvZiBhbGxvd2luZyAib25seSIgMTI3IHN0cmVhbXMuCgoyMDA4LTA4LTAyIDE4OjAxOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggaW5kZW50aW9uIGV2ZXJ5d2hlcmUuIEEgYnJva2VuIGluZGVudCB2ZXJzaW9uIGhhcyBhZGRlZCBuZXdsaW5lcyBhZnRlciBldmVyeSBzaW5nbGUgZGVjbGFyYXRpb24gc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9lYm1sX3JlYWRfY2hhbmdlX3N0YXRlKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZXZlbF91cCksCgkgIChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcGVla19pZCksCgkgIChnc3RfZWJtbF9yZWFkX2dldF9sZW5ndGgpLCAoZ3N0X2VibWxfcmVhZF9za2lwKSwKCSAgKGdzdF9lYm1sX3JlYWRfYnVmZmVyKSwgKGdzdF9lYm1sX3JlYWRfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF91aW50KSwgKGdzdF9lYm1sX3JlYWRfc2ludCksIChfZXh0MmRibCksCgkgIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwgKGdzdF9lYm1sX3JlYWRfYXNjaWkpLCAoZ3N0X2VibWxfcmVhZF9kYXRlKSwKCSAgKGdzdF9lYm1sX3JlYWRfbWFzdGVyKSwgKGdzdF9lYm1sX3JlYWRfYmluYXJ5KSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3NpemUpLCAoZ3N0X2VibWxfd3JpdGVfdWludCksCgkgIChnc3RfZWJtbF93cml0ZV9zaW50KSwgKGdzdF9lYm1sX3dyaXRlX2FzY2lpKSwKCSAgKGdzdF9lYm1sX3dyaXRlX21hc3Rlcl9zdGFydCksIChnc3RfZWJtbF93cml0ZV9tYXN0ZXJfZmluaXNoKSwKCSAgKGdzdF9lYm1sX3JlcGxhY2VfdWludCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NoYXB0ZXJzKSwgKGdzdF9tYXRyb3NrYV9lYm1sbnVtX3VpbnQpLAoJICAoZ3N0X21hdHJvc2thX2VibWxudW1fc2ludCksIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9oZHJfYnVmKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2ZsYWNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2R2ZF9jbHV0X2NoYW5nZV9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX21wZWdfc2VxX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKHhpcGgzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodm9yYmlzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodGhlb3JhX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdHJhY2tfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLCAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKSwgKGdzdF9tYXRyb3NrYV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRml4IGluZGVudGlvbiBldmVyeXdoZXJlLiBBIGJyb2tlbiBpbmRlbnQgdmVyc2lvbiBoYXMgYWRkZWQgbmV3bGluZXMKCSAgYWZ0ZXIgZXZlcnkgc2luZ2xlIGRlY2xhcmF0aW9uIHNvbWUgdGltZSBhZ28uCgoyMDA4LTA4LTAyIDE3OjU5OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSWYgbm8gVHJhY2tzIGFyZSBmb3VuZCBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgaXQgYWdhaW4gdW50aWwgdGhlIGVuZCBvZiB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIElmIG5vIFRyYWNrcyBhcmUgZm91bmQgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIGl0IGFnYWluIHVudGlsIHRoZQoJICBlbmQgb2YgdGltZS4KCjIwMDgtMDgtMDIgMTc6NTc6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggZGVtdXhpbmcgb2YgcmF3IGludGVnZXIgYXVkaW8uIFRoZSBzYW1wbGVzIGFyZSB1bnNpZ25lZCBvbmx5IGZvciA4IGJpdCBhbmQgc2lnbmVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgRml4IGRlbXV4aW5nIG9mIHJhdyBpbnRlZ2VyIGF1ZGlvLiBUaGUgc2FtcGxlcyBhcmUgdW5zaWduZWQgb25seSBmb3IgOAoJICBiaXQgYW5kIHNpZ25lZCBvdGhlcndpc2UsIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KCjIwMDgtMDgtMDIgMTc6NTQ6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIG1vcmUgcmF3IFlVViBmb3JtYXRzIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEFkZCBtb3JlIHJhdyBZVVYgZm9ybWF0cyB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCjIwMDgtMDgtMDIgMTc6NTI6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgZmxvYXQgYXVkaW8gbm93IHRoYXQgdGhlIHNwZWMgZGVmaW5lcyB0aGUgZW5kaWFubmVzcyBhbmQgYWRkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgZmxvYXQgYXVkaW8gbm93IHRoYXQgdGhlIHNwZWMgZGVmaW5lcyB0aGUKCSAgZW5kaWFubmVzcyBhbmQgYWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgaW50ZWdlciBhdWRpbyB3aXRoIDI0IGFuZAoJICAzMiBiaXRzLgoJICBBbGxvdyBtdXhpbmcgb2YgbW9yZSB0aGFuIDggYXVkaW8gY2hhbm5lbHMuCgoyMDA4LTA4LTAyIDE3OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBsb2NraW5nIHRvIHRoZSBnbG9iYWwgYXJyYXkgb2YgdXNlZCB0cmFjayBVSURzIHRvIHByZXZlbnQgcmFuZG9tIGNyYXNoZXMgaWYgbW9yZSB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfdWlkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgIEFkZCBsb2NraW5nIHRvIHRoZSBnbG9iYWwgYXJyYXkgb2YgdXNlZCB0cmFjayBVSURzIHRvIHByZXZlbnQgcmFuZG9tCgkgIGNyYXNoZXMgaWYgbW9yZSB0aGFuIGEgc2luZ2xlIG1hdHJvc211eCBpbnN0YW5jZSBpcyB1c2VkLgoJICBVc2UgNjQgYml0IHZhbHVlcyBmb3IgdGhlIHRyYWNrIFVJRHMuCgkgIFVzZSB0aGUgZ2xvYmFsIEdSYW5kb20gb2YgR0xpYiBpbnN0ZWFkIG9mIGNyZWF0aW5nIG91ciBvd24gb25lCgkgIGZvciB0aGUgZmV3IHJhbmRvbSBudW1iZXJzIHdlIG5lZWQgZXZlcnkgc2luZ2xlIHRpbWUuCgoyMDA4LTA4LTAyIDE3OjE4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFsd2F5cyBwb3N0IHRoZSBhdWRpby1jb2RlYyB0YWcsIG5vdCBvbmx5IGlmIG90aGVyIHRhZ3MgYXJlIHByZXNlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfdXBkYXRlX21ldGFkYXRhKToKCSAgQWx3YXlzIHBvc3QgdGhlIGF1ZGlvLWNvZGVjIHRhZywgbm90IG9ubHkgaWYgb3RoZXIgdGFncyBhcmUgcHJlc2VudC4KCjIwMDgtMDgtMDEgMjM6MjY6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoKMjAwOC0wOC0wMSAxNTo1ODo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgbWlzc2luZyBnc3RyZWFtZXIgcGx1Z2lucyB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGdzdHJlYW1lciBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC45ID09PQoKMjAwOC0wNy0zMSAyMjoxMDoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOQoKMjAwOC0wNy0zMSAyMTo1MDo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDctMzEgMjE6MjY6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRG9uJ3QgdGhyb3cgYW4gZXJyb3Igd2hlbiBzb3VwIGNvbXBsZXRlcyBhIG1zZyB3aXRoIHN0YXR1cyAnY2FuY2VsbGVkJywgYXMgdGhhdCBpbmRpY2F0ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIERvbid0IHRocm93IGFuIGVycm9yIHdoZW4gc291cCBjb21wbGV0ZXMgYSBtc2cgd2l0aCBzdGF0dXMKCSAgJ2NhbmNlbGxlZCcsIGFzIHRoYXQgaW5kaWNhdGVzIHdlIGNhbmNlbGxlZCBhIHJlcXVlc3Qgd2hpbGUKCSAgc2h1dHRpbmcgZG93biBvciBzZWVraW5nLCBhbmQgaXQncyBub3QgYW4gZXJyb3IuCgkgIEZpeGVzOiAjNTQwMzAwIGFnYWluLgoKMjAwOC0wNy0yOCAyMDoxNzo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjQgcHJlLXJlbGVhc2UKCjIwMDgtMDctMjUgMTQ6NTA6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzZWdtZW50LXN0b3AgcmVncmVzc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIEZpeCBzZWdtZW50LXN0b3AgcmVncmVzc2lvbi4KCSAgQWRkIGRvY3VtZW50YXRpb24gcmVnYXJkaW5nIHNlZ21lbnRzIGluIHF1aWNrdGltZSBmaWxlcyBieSBXaW0gVGF5bWFucy4KCSAgRml4ZXMgIzU0NDUwOQoKMjAwOC0wNy0yNCAyMzo1NTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjMgcHJlLXJlbGVhc2UKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL3B0X0JSLnBvOgoJICBBZGQgcHRfQlIgdHJhbnNsYXRpb24KCjIwMDgtMDctMjMgMjI6MDE6MjAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9nb29tLzogRml4IGJ1aWxkIHdpdGggTVNWQzogaW5jbHVkZSBnbGliLmggdG8gZGVmaW5lIGlubGluZSBhcHByb3ByaWF0ZWx5LCB1c2UgaGVhZGVyIGd1YXJkcyB3aGVyZSBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJICBGaXggYnVpbGQgd2l0aCBNU1ZDOiBpbmNsdWRlIGdsaWIuaCB0byBkZWZpbmUgaW5saW5lIGFwcHJvcHJpYXRlbHksCgkgIHVzZSBoZWFkZXIgZ3VhcmRzIHdoZXJlIG5lZWRlZC4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRml4IGJ1aWxkIHdpdGggTVNWQzogdXNlIFdTQSogY29uc3RhbnRzL2Z1bmN0aW9ucyB3aGVyZSBhcHByb3ByaWF0ZSwgdXNlCgkgIGdfc25wcmludGYgcmF0aGVyIHRoYW4gc25wcmludGYuCgkgIEZpeGVzICM1NDQ0MzMuCgoyMDA4LTA3LTIyIDA2OjMyOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lio6IFNlbnQgdGFncyBpbiBfdHJhbnNmb3JtX2lwKCkgaW5zdGVhZCBvZiBfc3RhcnQoKS4gRml4ZXMgIzU0MzQwNCBwYXJ0aWFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lmg6CgkgIFNlbnQgdGFncyBpbiBfdHJhbnNmb3JtX2lwKCkgaW5zdGVhZCBvZiBfc3RhcnQoKS4gRml4ZXMgIzU0MzQwNAoJICBwYXJ0aWFsbHkuCgoyMDA4LTA3LTE5IDE0OjEyOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC44LjIgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjguMiBwcmUtcmVsZWFzZQoKMjAwOC0wNy0xOSAxMzo1MDo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpbmlzaCBob29raW5nIHVwIHB1bHNlYXVkaW8gcGx1Z2luIHRvIHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaW5pc2ggaG9va2luZyB1cCBwdWxzZWF1ZGlvIHBsdWdpbiB0byB0aGUgYnVpbGQuCgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIEZpeCBjb21waWxhdGlvbiBlcnJvci4KCjIwMDgtMDctMTkgMTM6MjM6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vOiBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9sdC5wbzoKCSAgQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTCgkgIGZpbGUuCgoyMDA4LTA3LTE5IDEzOjA4OjQyICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRml4IFNvdXAgSFRUUCBzb3VyY2Ugc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgRml4IFNvdXAgSFRUUCBzb3VyY2Ugc2Vla2luZy4KCSAgUGF0Y2ggQnk6IFdvdXRlciBDbG9ldGVucyAgPHdvdXRlciBhdCBtaW5kIGJlPgoJICBGaXhlczogIzU0MDMwMAoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBuZXcgY2hlY2sgcHJvZ3JhbXMuCgoyMDA4LTA3LTE5IDAxOjAxOjEzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgcmVwbGF5Z2FpbiBhbmQgaW50ZXJsZWF2ZSBwbHVnaW5zIGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBNb3ZlIHJlcGxheWdhaW4gYW5kIGludGVybGVhdmUgcGx1Z2lucyBmcm9tIC1iYWQuCgkgIEZpeGVzOiAjNTQzNDA2CgkgIEZpeGVzOiAjNTM2MjI4CgoyMDA4LTA3LTE4IDIwOjAzOjA3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmV2ZXJ0IElTTyBiYXNlIG1lZGlhIHNwZWMgYmFzZWQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJldmVydCBJU08gYmFzZSBtZWRpYSBzcGVjIGJhc2VkIHBpeGVsLWFzcGVjdC1yYXRpbyBjYWxjdWxhdGlvbi4KCSAgRml4ZXMgIzU0MzMwMC4KCjIwMDgtMDctMTcgMTY6NDI6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEZpeCBtaW5vciBidWlsZCBpc3N1ZXMgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBtaW5vciBidWlsZCBpc3N1ZXMgb24gbWFjb3N4LgoJICBGaXhlcyAjNTQzMDU0CgoyMDA4LTA3LTE3IDE0OjQwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgT25seSB1c2UgLVduby1hdHRyaWJ1dGVzICh3aGljaCBpcyB0aGVyZSB0byB3b3JrIGFyb3VuZCBhIGJ1ZyBpbiB0aGUgdGFnbGliIDEuNSBoZWFkZXJzKSBpZiB0aGUgYysrIGNvbXBpbGVyIGFjdHVhbGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzo6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbTo6CgkgIE9ubHkgdXNlIC1Xbm8tYXR0cmlidXRlcyAod2hpY2ggaXMgdGhlcmUgdG8gd29yayBhcm91bmQgYQoJICBidWcgaW4gdGhlIHRhZ2xpYiAxLjUgaGVhZGVycykgaWYgdGhlIGMrKyBjb21waWxlciBhY3R1YWxseQoJICBzdXBwb3J0cyBpdCAoIzU0MzI1NSkuCgoyMDA4LTA3LTE3IDEzOjU0OjM4ICswMDAwICBCZW5vaXQgRm91ZXQgPGJlbm9pdC5mb3VldEBwdXJwbGVsYWJzLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQXZvaWQgY29tcGlsZXIgd2FybmluZyBieSBpbml0aWFsaXNpbmcgdmFyaWFibGUgdG8gTlVMTCAoIzU0MzI1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmVub2l0IEZvdWV0IDxiZW5vaXQuZm91ZXQgcHVycGxlbGFicyBjb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfbmVnb3RpYXRlKToKCSAgQXZvaWQgY29tcGlsZXIgd2FybmluZyBieSBpbml0aWFsaXNpbmcgdmFyaWFibGUgdG8gTlVMTCAoIzU0MzI1OSkuCgoyMDA4LTA3LTE0IDE3OjE3OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IERvbid0IHBhc3MgTlVMTCB0YWdsaXN0cyB0byBnc3RfdGFnX2xpc3RfaXNfZW1wdHkoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiAoZ3N0X3RhZ19pbmplY3Rfc3RhcnQpOgoJICBEb24ndCBwYXNzIE5VTEwgdGFnbGlzdHMgdG8gZ3N0X3RhZ19saXN0X2lzX2VtcHR5KCkuCgoyMDA4LTA3LTE0IDE3OjE1OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6IChydHBfcGlwZWxpbmVfY3JlYXRlKSwKCSAgKHJ0cF9waXBlbGluZV9ydW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cy4KCjIwMDgtMDctMTQgMTY6Mjg6MjUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBBbGlnbiBkb2N1bWVudGF0aW9uIHdpdGggcmVhbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBBbGlnbiBkb2N1bWVudGF0aW9uIHdpdGggcmVhbGl0eS4KCjIwMDgtMDctMTQgMTM6MTE6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogRUFJX0FERFJGQU1JTFkgd2FzIG9ic29sZXRlZCBpbiBCU0QgYXQgc29tZSBwb2ludC4gRGVmaW5lIGl0IHRvIHRoZSBvbGQgdmFsdWUgKDEpIGlmIGl0J3Mgbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIEVBSV9BRERSRkFNSUxZIHdhcyBvYnNvbGV0ZWQgaW4gQlNEIGF0IHNvbWUgcG9pbnQuIERlZmluZSBpdCB0byB0aGUKCSAgb2xkIHZhbHVlICgxKSBpZiBpdCdzIG5vdCBkZWZpbmVkIHdoaWNoIHNob3VsZCBub3QgY2F1c2UgYW55IHByb2JsZW1zCgkgIGFzIHdlJ3JlIHVzaW5nIGl0IGludGVybmFsIG9ubHkgYW55d2F5LgoKMjAwOC0wNy0xNCAxMzowMjo0OCArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBidWlsZCBvZiBhdmlkZW11eCBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmlmZl9wYXJzZV92cHJwKToKCSAgRml4IGJ1aWxkIG9mIGF2aWRlbXV4IG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4KCjIwMDgtMDctMTAgMjA6NDc6NTYgKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQGxjYy51ZmNnLmVkdS5icj4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29ycmVjdGx5IGRpc3Rpbmd1aXNoIDhiaXQgdnMgMTZiaXQgcmF3IGF1ZGlvLiAgRml4ZXMgIzU0MjQxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zcyBhdCBsY2MgZG90IHVmY2cgZG90IGVkdSBkb3QgYnI+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQ29ycmVjdGx5IGRpc3Rpbmd1aXNoIDhiaXQgdnMgMTZiaXQgcmF3IGF1ZGlvLiAgRml4ZXMgIzU0MjQxMC4KCjIwMDgtMDctMDggMjE6MDU6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMgdXNpbmcgZGlzcGxheSB3aWR0aCBhbmQgaGVpZ2h0IHByb3ZpZGVkIGluIHRyYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2FwcyB1c2luZyBkaXNwbGF5IHdpZHRoIGFuZCBoZWlnaHQKCSAgcHJvdmlkZWQgaW4gdHJhY2suCgoyMDA4LTA3LTA4IDEzOjU5OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4gRml4ZXMgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBpbmNsdWRlIEVSUk9SX0NGTEFHUyBpbiBHU1RfQ1hYRkxBR1MgYXMgaXQgbWlnaHQgaW5jbHVkZQoJICBmbGFncyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuIEZpeGVzIGJ1ZyAjNTE2NTA5LgoKMjAwOC0wNy0wOCAxMjo1MTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGFuZCB2YXJpYWJsZSBsZW5ndGggYXJyYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfdXJpX3NldF91cmkpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19zaW5rX2dldGNhcHMpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19maXhhdGUpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBhbmQgdmFyaWFibGUgbGVuZ3RoIGFycmF5cy4KCjIwMDgtMDctMDcgMjE6Mjg6NTggKzAwMDAgIERhbmllbCBEcmFrZSA8ZHNkQGdlbnRvby5vcmc+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFRyeSBwcm9ncmVzc2l2ZSB2aWRlbyBpZiBpbnRlcmxhY2VkIGZhaWxzLiBGaXhlcyBidWcgIzU0MTk1NiBhbmQgdGhlIHVzYWdlIG9mIHY0bDJzcmMgb24gT0xQQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgRHJha2UgPGRzZCBhdCBnZW50b28gZG90IG9yZz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplKToKCSAgVHJ5IHByb2dyZXNzaXZlIHZpZGVvIGlmIGludGVybGFjZWQgZmFpbHMuIEZpeGVzIGJ1ZyAjNTQxOTU2CgkgIGFuZCB0aGUgdXNhZ2Ugb2YgdjRsMnNyYyBvbiBPTFBDLgoKMjAwOC0wNy0wNyAxNTozNDoxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lio6IFJldmVydCBsYXN0IGNoYW5nZTogT25seSB0aGUgaml0dGVyYnVmZmVyIGlzIGFibGUgdG8gY29udmVydCBSVFAgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSAgUmV2ZXJ0IGxhc3QgY2hhbmdlOiBPbmx5IHRoZSBqaXR0ZXJidWZmZXIgaXMgYWJsZSB0byBjb252ZXJ0IFJUUCB0bwoJICBHc3RyZWFtZXIgdGltZXN0YW1wcyBhbmQgbm9ybWFsIChkZSlwYXlsb2FkZXJzIHNob3VsZCBzaW1wbHkgY29weSBpdC4KCSAgUmVvcGVucyBidWcgIzU0MTc4Ny4KCjIwMDgtMDctMDcgMTA6MzA6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IEluY2x1ZGUgc3RkbGliLmggZm9yIGF0b2koKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBmb3IgYXRvaSgpLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgVXNlIGZsb2F0aW5nIHBvaW50IG1hdGggZm9yIGxhdGVuY2llcyA8IDAgc2VjIGluIGxvZyBvdXRwdXQuCgoyMDA4LTA3LTA3IDEwOjE2OjA3ICswMDAwICBUb21hc3ogR3JvYmVsbnkgPHRvbWFzekBncm9iZWxueS5vc3dpZWNlbmlhLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS4qOiBUYWtlIHRpbWVzdGFtcCBmcm9tIHRoZSBSVFAgcGFja2V0IGFzIGEgZmlyc3Qgc3RlcCB0byBmaXggcHJvYmxlbXMgd2l0aCB0cmFuc21pc3Npb24gb3Zlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbWFzeiBHcm9iZWxueSA8dG9tYXN6IGF0IGdyb2JlbG55IGRvdCBvc3dpZWNlbmlhIGRvdCBuZXQ+CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSAgVGFrZSB0aW1lc3RhbXAgZnJvbSB0aGUgUlRQIHBhY2tldCBhcyBhIGZpcnN0IHN0ZXAgdG8gZml4IHByb2JsZW1zCgkgIHdpdGggdHJhbnNtaXNzaW9uIG92ZXIgUlRQIHdoZW4gdGhlIG5ldHdvcmsgaXMgbm90IHJlbGlhYmxlLgoJICBGaXhlcyBidWcgIzU0MTc4Ny4KCjIwMDgtMDctMDUgMTk6MDE6MjggKzAwMDAgIFRlcm8gU2Fhcm5pIDx0ZXJvLnNhYXJuaUBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggcGFyc2luZyBvZiB1ZHA6Ly8gVVJJcyBjb250YWluaW5nIElQdjYgYWRkcmVzc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRlcm8gU2Fhcm5pIDx0ZXJvIGRvdCBzYWFybmkgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfdXJpKToKCSAgRml4IHBhcnNpbmcgb2YgdWRwOi8vIFVSSXMgY29udGFpbmluZyBJUHY2IGFkZHJlc3Nlcy4KCSAgRml4ZXMgYnVnICM1NDE2NTAuCgoyMDA4LTA3LTA0IDIwOjQzOjA3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBEbyBub3QgbGVhayBpbmNvbWluZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgRG8gbm90IGxlYWsgaW5jb21pbmcgYnVmZmVycy4KCjIwMDgtMDctMDMgMTk6Mjc6NTMgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZCBvZiB0aGUgUlRQIHBsdWdpbiB3aXRoIG1pbmd3MzIgYnkgbGlua2luZyB0byB3czJfMzIgZm9yIGh0b25zKCkgYW5kIGh0b25sKCkuIEZpeGVzIGJ1ZyAjNTQxNDEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBidWlsZCBvZiB0aGUgUlRQIHBsdWdpbiB3aXRoIG1pbmd3MzIgYnkgbGlua2luZyB0byB3czJfMzIKCSAgZm9yIGh0b25zKCkgYW5kIGh0b25sKCkuIEZpeGVzIGJ1ZyAjNTQxNDEyLgoKMjAwOC0wNy0wMiAwOTo1MToxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBwb3NpdGlvbiBhbmQgZHVyYXRpb24gcXVlcnkgaW4gREVGQVVMVCBmb3JtYXQgaWYgdGhlIHBhZCdzIHRyYWNrIGhhcyBhIGRlZmF1bHQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEhhbmRsZSBwb3NpdGlvbiBhbmQgZHVyYXRpb24gcXVlcnkgaW4gREVGQVVMVCBmb3JtYXQgaWYgdGhlCgkgIHBhZCdzIHRyYWNrIGhhcyBhIGRlZmF1bHQgZnJhbWUgZHVyYXRpb24gc2V0LgoJICBGaXggc2Vla2luZyBub3cgdGhhdCB0aGUgc2VnbWVudCdzIGR1cmF0aW9uIGRvZXNuJ3QgY29udGFpbiB0aGUKCSAgKHBvc3NpYmx5IHdyb25nIG9yIGluYWNjdXJhdGUpIGR1cmF0aW9uIG9mIHRoZSBNYXRyb3NrYSBmaWxlLgoKMjAwOC0wNy0wMiAwOTowNDo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBVc2UgTkFOIGNvbnN0YW50IGluc3RlYWQgb2YgMC4wLzAuMCBpZiBwb3NzaWJsZS4gTkFOIGlzIGRlZmluZWQgaW4gbWF0aC5oIGV4Y2VwdCBvbiBNU1ZDIHdoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKF9leHQyZGJsKToKCSAgVXNlIE5BTiBjb25zdGFudCBpbnN0ZWFkIG9mIDAuMC8wLjAgaWYgcG9zc2libGUuIE5BTiBpcyBkZWZpbmVkCgkgIGluIG1hdGguaCBleGNlcHQgb24gTVNWQyB3aGVyZSBpdCBpcyBkZWZpbmVkIGluIHhtYXRoLmguCgkgIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGggTVNWQy4KCjIwMDgtMDctMDIgMDg6NTc6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBEb24ndCBzZXQgdGhlIHNlZ21lbnQgZHVyYXRpb24gdG8gdGhlIGR1cmF0aW9uIGZyb20gdGhlIE1hdHJvc2thIGhlYWRlciBhcyB0aGlzIHZhbHVlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBEb24ndCBzZXQgdGhlIHNlZ21lbnQgZHVyYXRpb24gdG8gdGhlIGR1cmF0aW9uIGZyb20gdGhlIE1hdHJvc2thCgkgIGhlYWRlciBhcyB0aGlzIHZhbHVlIGNvdWxkIGJlIHdyb25nIGFuZCBpcyBqdXN0IGluZm9ybWF0aW9uYWwuCgoyMDA4LTA3LTAyIDA4OjQ3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSWYgbm8gVHJhY2tzIGVsZW1lbnQgaXMgZm91bmQgdW50aWwgdGhlIGZpcnN0IENsdXN0ZXIgaXMgZm91bmQgc2VhcmNoIGl0IGFuZCBlcnJvciBvdXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICBJZiBubyBUcmFja3MgZWxlbWVudCBpcyBmb3VuZCB1bnRpbCB0aGUgZmlyc3QgQ2x1c3RlciBpcyBmb3VuZAoJICBzZWFyY2ggaXQgYW5kIGVycm9yIG91dCBpZiBub25lIGlzIGZvdW5kIGluIHRoZSBjb21wbGV0ZSBmaWxlLgoKMjAwOC0wNy0wMiAwODoxNDozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFJlc3luYyBub24tc3VidGl0bGUgdHJhY2tzIHRvbyBpZiBhIHRvbyBsYXJnZSBnYXAgY29tcGFyZWQgdG8gb3RoZXIgdHJhY2tzIGlzIGRldGVjdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpOgoJICBSZXN5bmMgbm9uLXN1YnRpdGxlIHRyYWNrcyB0b28gaWYgYSB0b28gbGFyZ2UgZ2FwIGNvbXBhcmVkIHRvIG90aGVyCgkgIHRyYWNrcyBpcyBkZXRlY3RlZC4KCjIwMDgtMDctMDEgMTM6Mjg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIHJhdyB2aWRlbyBwYXkgYW5kIGRlcGF5bG9hZGVycywgc2VlIFJGQzQxNzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOiAoZ3N0X3J0cF92cmF3X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3ZyYXdfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3ZyYXdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3ZyYXdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX3ZyYXdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3ZyYXdfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzogKGdzdF9ydHBfdnJhd19wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF92cmF3X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfdnJhd19wYXlfaW5pdCksIChnc3RfcnRwX3ZyYXdfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfdnJhd19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX3ZyYXdfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIEFkZCByYXcgdmlkZW8gcGF5IGFuZCBkZXBheWxvYWRlcnMsIHNlZSBSRkM0MTc1LgoKMjAwOC0wNi0zMCAyMjo1MzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBidWZmZXJfYWxsb2MgZmFpbHMgLSByZXR1cm4gd2hhdGV2ZXIgaXQgcmV0dXJuZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIGJ1ZmZlcl9hbGxvYyBmYWlscyAtIHJldHVybgoJICB3aGF0ZXZlciBpdCByZXR1cm5lZC4KCjIwMDgtMDYtMjkgMTk6NTI6NTEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9hdmktaWRzLmg6IEFkZCB2cHJwIGNodW5rIHJlbGF0ZWQgc3RydWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9hdmktaWRzLmg6CgkgIEFkZCB2cHJwIGNodW5rIHJlbGF0ZWQgc3RydWN0dXJlcy4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JpZmZfcGFyc2VfdnBycCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgIFBhcnNlIG9wdGlvbmFsIHZwcnAgY2h1bmsgYW5kIGFkZCBjYWxjdWxhdGVkIHBpeGVsLWFzcGVjdC1yYXRpbwoJICB0byBjYXBzLiAgRml4ZXMgIzUzOTQ4Mi4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9wYWRfcmVzZXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgQWRkIGEgdnBycCBjaHVuayBpZiBub24tdHJpdmFsIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm92aWRlZCBpbiBjYXBzLgoKMjAwOC0wNi0yOCAxOTozMTo0NiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogQWRqdXN0IGF2aW11eCB1bml0IHRlc3QgYWNjb3JkaW5nIHRvIGluY3JlYXNlZCBzdHJlYW1oZWFkZXIgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChjaGVja19hdmltdXhfcGFkKToKCSAgQWRqdXN0IGF2aW11eCB1bml0IHRlc3QgYWNjb3JkaW5nIHRvIGluY3JlYXNlZCBzdHJlYW1oZWFkZXIgc2l6ZS4KCjIwMDgtMDYtMjcgMTg6MTE6MDEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgRGlyYWMgc3RyZWFtIHR5cGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgRGlyYWMgc3RyZWFtIHR5cGUKCjIwMDgtMDYtMjcgMTU6MjU6MDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogQWRkIDggYnl0ZXMgdG8gY3VycmVudCBzdHJlYW1oZWFkZXIgdG8gbWFrZSBmb3IgYSBjb21wbGV0ZSBvbmUgYW5kIHRvIG1ha2UgbW9yZSBwbGF5ZXJzIGhhcHB5LiAgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBBZGQgOCBieXRlcyB0byBjdXJyZW50IHN0cmVhbWhlYWRlciB0byBtYWtlIGZvciBhIGNvbXBsZXRlIG9uZQoJICBhbmQgdG8gbWFrZSBtb3JlIHBsYXllcnMgaGFwcHkuICBGaXhlcyAjNTE5NDYwLgoKMjAwOC0wNi0yNiAxNjozNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogRG9uJ3QgaW5jbHVkZSB1bnVzZWQgZ3N0djRsMnhvdmVybGF5LmguIEZpeGVzIGJ1aWxkIGluIGNhc2Ugd2hlcmUgWDExIGhlYWRlcnMgYXJlIG5vdCBpbnN0YWxsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzo6CgkgIERvbid0IGluY2x1ZGUgdW51c2VkIGdzdHY0bDJ4b3ZlcmxheS5oLiBGaXhlcyBidWlsZAoJICBpbiBjYXNlIHdoZXJlIFgxMSBoZWFkZXJzIGFyZSBub3QgaW5zdGFsbGVkLgoKMjAwOC0wNi0yNiAxMDowNzo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3Rkdi5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA4LTA2LTI2IDA5OjM3OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2LmM6IE1hcmtpbmcgcmFuayBvZiBkdmRlYyBhcyBHU1RfUkFOS19NQVJHSU5BTCBzaW5jZSBpdCdzIHRoZSBzbG93ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICBNYXJraW5nIHJhbmsgb2YgZHZkZWMgYXMgR1NUX1JBTktfTUFSR0lOQUwgc2luY2UgaXQncyB0aGUgc2xvd2VzdAoJICBEViBkZWNvZGVyIGF2YWlsYWJsZS4KCSAgRml4ZXMgIzUzMjM5MwoKMjAwOC0wNi0yNSAwODoxMjoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogQ2FsbCBnZXRzb2NrbmFtZSgpIGFmdGVyIHRoZSBjYWxsIHRvIGJpbmQoKSB0byBnZXQgdXBkYXRlZCB2YWx1ZXMgZm9yIHRoZSBwb3J0LCBldGMuIFRoaXMgZml4ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgQ2FsbCBnZXRzb2NrbmFtZSgpIGFmdGVyIHRoZSBjYWxsIHRvIGJpbmQoKSB0byBnZXQgdXBkYXRlZCB2YWx1ZXMKCSAgZm9yIHRoZSBwb3J0LCBldGMuIFRoaXMgZml4ZXMgdGhlIHVzYWdlIG9mIHVkcHNyYyBvbiBhbm9ueW1vdXMKCSAgYmluZGluZyBhbmQgaXQncyB1c2FnZSBieSBydHNwc3JjLiBGaXhlcyBidWdzICM1MzkzNzIsICM1Mzk1NDguCgkgIFRoYW5rcyB0byBBdXJlbGllbiBHcmltYXVkIGZvciBwb2ludGluZyBvdXQgdGhlIG9idmlvdXMgZml4LgoKMjAwOC0wNi0yNSAwNzo1NzoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIGlkZW50aXR5IHRoYXQgaXMgZml4ZWQgaW4gMC4xMC4yMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogKGJ1c19oYW5kbGVyKToKCSAgUmVtb3ZlIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIGlkZW50aXR5IHRoYXQgaXMgZml4ZWQgaW4gMC4xMC4yMC4KCjIwMDgtMDYtMjUgMDY6MzY6NTggKzAwMDAgIEphc29uIERvbmVuZmVsZCA8QnVnWmlsbGFAengyYzQuY29tPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRml4IEhUVFAgYXV0aCBzdXBwb3J0IHdpdGggdXNlci9wYXNzd29yZCBwYXNzZWQgdmlhIHRoZSBVUkkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFzb24gRG9uZW5mZWxkIDxCdWdaaWxsYSBhdCB6eDJjNCBkb3QgY29tPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYik6CgkgIEZpeCBIVFRQIGF1dGggc3VwcG9ydCB3aXRoIHVzZXIvcGFzc3dvcmQgcGFzc2VkIHZpYSB0aGUgVVJJLgoJICBGaXhlcyBidWcgIzU0MDA2Ny4KCjIwMDgtMDYtMjQgMTU6NDI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UuCgoyMDA4LTA2LTIzIDE2OjEzOjQwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggYnVnZ3kgZm9ybWF0IHN0cmluZ3MgaW4gbWFjcm9zLiAobWFrZXMgaXQgYnVpbGQgb24gT1MgWCBhZ2Fpbi4uLikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDYtMjMgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6IEZpeCBidWdneQoJICBmb3JtYXQgc3RyaW5ncyBpbiBtYWNyb3MuIChtYWtlcyBpdCBidWlsZCBvbiBPUyBYIGFnYWluLi4uKQoKMjAwOC0wNi0yMCAxNjoyNDoxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvOiBBZGRlZCBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBBZGRlZCBkZWJ1Zy4KCjIwMDgtMDYtMjAgMTU6MjE6NTkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIHN3aXRjaCB2NGwyc3JjIGZyb20gZXhwZXJpbWVudGFsIHRvIG5vcm1hbCBidWlsZC4gRml4ZXMgIzUzNjgzMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3dpdGNoIHY0bDJzcmMgZnJvbSBleHBlcmltZW50YWwgdG8gbm9ybWFsIGJ1aWxkLiBGaXhlcyAjNTM2ODMxCgoyMDA4LTA2LTE5IDExOjI0OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgc28gdGhhdCB3ZSBjYW4gY29tcGlsZSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IChnc3RfcnRwX2c3MjZfcGF5X3NldGNhcHMpOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIHNvIHRoYXQgd2UgY2FuIGNvbXBpbGUgYWdhaW4uCgoyMDA4LTA2LTE5IDExOjA2OjI5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiBObyBuZWVkIHRvIGNoZWNrIGZvciBhdWRpby9HNzIzIGFuZCBhdWRpby8zMktBRFBDTSBoZXJlIGFzIHRoZXkgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiAoZ3N0X3J0cF9nNzI2X3BheV9zZXRjYXBzKToKCSAgTm8gbmVlZCB0byBjaGVjayBmb3IgYXVkaW8vRzcyMyBhbmQgYXVkaW8vMzJLQURQQ00gaGVyZSBhcyB0aGV5IGFyZQoJICBubyBsb25nZXIgc3VwcG9ydGVkLgoKMjAwOC0wNi0xOSAxMDo1ODo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFVzZSBHX0dJTlQ2NF9DT05TVEFOVCwgdGhpcyBmaXhlcyB0aGUgZHVyYXRpb24gcXVlcnkgb24gZmlsZXMgd2l0aG91dCBrbm93biBsZW5ndGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgVXNlIEdfR0lOVDY0X0NPTlNUQU5ULCB0aGlzIGZpeGVzIHRoZSBkdXJhdGlvbiBxdWVyeSBvbiBmaWxlcyB3aXRob3V0CgkgIGtub3duIGxlbmd0aC4KCjIwMDgtMDYtMTkgMTA6NDg6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEZpeCBkZW11eGluZyBvZiBXYXZQYWNrIGZpbGVzLiBNdXhpbmcgaXMgc3RpbGwgYnJva2VuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgRml4IGRlbXV4aW5nIG9mIFdhdlBhY2sgZmlsZXMuIE11eGluZyBpcyBzdGlsbCBicm9rZW4uCgoyMDA4LTA2LTE5IDA5OjEyOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgYSAidmZ1bmMiIHRvIHRoZSB0cmFjayBjb250ZXh0IGZvciBwb3N0cHJvY2Vzc2luZyBmcmFtZXMgYW5kIGNvbnZlcnQgdGhlIHdhdnBhY2sgYW5kIHN1YnRpdGxlIHBvc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfdHJhY2tfZnJlZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX21wZWdfc2VxX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQWRkIGEgInZmdW5jIiB0byB0aGUgdHJhY2sgY29udGV4dCBmb3IgcG9zdHByb2Nlc3NpbmcgZnJhbWVzIGFuZAoJICBjb252ZXJ0IHRoZSB3YXZwYWNrIGFuZCBzdWJ0aXRsZSBwb3N0cHJvY2Vzc2luZyB0byB0aGlzIHZmdW5jLgoJICBDb3B5IGJ1ZmZlciBmbGFncyBpbiB0aG9zZSBmdW5jdGlvbnMgdG8gdGhlIG5ldyBidWZmZXJzIHRvby4KCSAgUGFyc2UgQ29kZWNTdGF0ZSBlbGVtZW50cyBvZiBCbG9ja3MuCgkgIEFkZCBhIHBvc3Rwcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciBNUEVHIHZpZGVvIHRoYXQgYWRkcyB0aGUgc2VxdWVuY2UKCSAgaGVhZGVyIGZyb20gdGhlIGNvZGVjIHByaXZhdGUgZGF0YSBvciBjb2RlYyBzdGF0ZSB0byB0aGUgZnJhbWVzIGlmCgkgIGl0J3Mgbm90IGFscmVhZHkgdGhlcmUuCgoyMDA4LTA2LTE5IDA4OjIyOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSWYgYSBnYXAgb2YgbW9yZSB0aGFuIDEvMiBzZWNvbmQgaXMgZm91bmQgaW4gb25lIHN0cmVhbSBzZW5kIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgIElmIGEgZ2FwIG9mIG1vcmUgdGhhbiAxLzIgc2Vjb25kIGlzIGZvdW5kIGluIG9uZSBzdHJlYW0gc2VuZCBhCgkgIE5FV1NFR01FTlQgZXZlbnQgdG8gbm90IHN0YWxsIHRoZSBwaXBlbGluZSBpZiB0aGUgZ2FwIGlzIHRvbyBsYXJnZS4KCSAgVGhpcyBhbHNvIGZpeGVzIE1hdHJvc2thIGZpbGVzIHdoZXJlIHRoZSBmaXJzdCBidWZmZXIgZG9lc24ndCBzdGFydAoJICBhdCB0aW1lc3RhbXAgMC4gRml4ZXMgYnVnICM0MjkzMjIuCgkgIFRoZSBkdXJhdGlvbiBvZiBhIGJsb2NrIGlzIHRoZSBkZWZhdWx0IGR1cmF0aW9uIG11bHRpcGxpZWQgd2l0aCB0aGUKCSAgbnVtYmVyIG9mIGxhY2VzLiBFdmVyeSBsYWNlIGlzIG9uZSBmcmFtZSBhbmQgdGhlIGRlZmF1bHQgZHVyYXRpb24KCSAgaXMgdGhlIGR1cmF0aW9uIG9mIG9uZSBmcmFtZS4gVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBmaWxlcyB0aGF0IHVzZQoJICBsYWNpbmcgZm9yIHNvbWUgdHJhY2tzLgoKMjAwOC0wNi0xOCAyMDowOToyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFVwZGF0ZSBGSVhNRS9UT0RPcyBhbmQgb25seSBpZ25vcmUgRU9TIGF0IHRoZSBjZW50cmFsLCBpbXBvcnRhbnQgcGxhY2UgaW5zdGVhZCBvZiBzZXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSk6CgkgIFVwZGF0ZSBGSVhNRS9UT0RPcyBhbmQgb25seSBpZ25vcmUgRU9TIGF0IHRoZSBjZW50cmFsLCBpbXBvcnRhbnQgcGxhY2UKCSAgaW5zdGVhZCBvZiBzZXZlcmFsIHBsYWNlcy4KCjIwMDgtMDYtMTggMTY6NTU6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogRml4IGNhcHMsIFNlZSAjNTM4ODkxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgRml4IGNhcHMsIFNlZSAjNTM4ODkxLgoKMjAwOC0wNi0xOCAxMDoyODoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEltcHJvdmUgZGVidWcgb3V0cHV0IGV2ZXJ5d2hlcmUgYW5kIGZpeCB0aGUgRU9TIGxvZ2ljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3RyZWFtX2Zyb21fbnVtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbmNvZGluZ19jbXApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VuY29kaW5nX29yZGVyX3VuaXF1ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3RyYWNrbnVtYmVyX3VuaXF1ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyksIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dCBldmVyeXdoZXJlIGFuZCBmaXggdGhlIEVPUyBsb2dpYy4KCSAgQ2hlY2sgdGhlIHZhbHVlcyBvZiB0aGUgQ29udGVudEVuY29kaW5nIGVsZW1lbnRzIG1vcmUgc3RyaWN0bHkgYW5kCgkgIGRvbid0IHVzZSB0cmFja3MgZm9yIHdoaWNoIGl0J3MgaW52YWxpZC4KCSAgQ2hlY2sgdGhhdCB0aGUgdHJhY2sgbnVtYmVyIGlzIHVuaXF1ZSBmb3IgdGhpcyBzdHJlYW0uCgkgIENoZWNrIHRoYXQgc2VlayBwb3NpdGlvbnMgYXJlIGJlbG93IEdfTUFYSU5UNjQgYXMgb3VyIHNlZWtzIGFyZQoJICBpbnQ2NC1iYXNlZCBhbmQgb3ZlcmZsb3dzIHdpbGwgZmFpbCBiYWRseS4KCSAgQWZ0ZXIgc2Vla3MgYWxzbyBkb24ndCBwdXNoIFNpbXBsZUJsb2NrcyB1bnRpbCB0aGUgZmlyc3Qgb25lCgkgIGNvbnRhaW5pbmcgYSBrZXlmcmFtZSBpcyBmb3VuZC4gQmVmb3JlIHRoaXMgd2FzIGRvbmUgb25seSBmb3Igbm9ybWFsCgkgIEJsb2Nrcy4KCSAgVXBkYXRlIHNvbWUgRklYTUUvVE9ET3MuCgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfdXRmOCksIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0LgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3ZpZGVvX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgUmVtb3ZlIGV5ZSBtb2RlIGFuZCBkb24ndCBwYXJzZSBpdCBhbnltb3JlLiBXZSBjYW4ndCB1c2UgdGhhdAoJICBpbmZvcm1hdGlvbiBpbiBHU3RyZWFtZXIgeWV0IHNvIGl0J3MgdXNlbGVzcy4KCjIwMDgtMDYtMTggMTA6MTI6NTcgKzAwMDAgIG1lcnNhZCA8bWVyc2FkQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIEc3MjYgcGF5L2RlcGF5bG9hZGVycy4gRml4ZXMgIzUzODg5MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBtZXJzYWQgPG1lcnNhZCBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6IChnc3RfcnRwX2c3MjZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyNl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyNl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyNl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyNl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfZzcyNl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogKGdzdF9ydHBfZzcyNl9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyNl9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2c3MjZfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyNl9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJICBBZGRlZCBHNzI2IHBheS9kZXBheWxvYWRlcnMuIEZpeGVzICM1Mzg4OTEuCgoyMDA4LTA2LTE3IDEwOjE0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogU29tZSBtb3JlIHVybHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIFNvbWUgbW9yZSB1cmxzLgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJICBBZGQgYSBjb21tZW50CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBGaXggdHlwbywgYWRkIGF1ZGlvcmVzYW1wbGUgdG8gdGhlIHBpcGVsaW5lLgoKMjAwOC0wNi0xNyAxMDowNTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJtbmcvOiBTb21ld2hhdCBwb3J0IG1uZ2VuYyBhbmQgbW5nZGVjIHRvIDAuMTAuIERvZXMgbm90IHdvcmsgeWV0IGFuZCBoYXMgbWFueSBiaXRzIGlmZGVmZmVkIG91dCBzdGlsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW5nL2dzdG1uZy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6IChnc3RfbW5nX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X21uZ19kZWNfY2xhc3NfaW5pdCksIChnc3RfbW5nX2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X21uZ19kZWNfaW5pdCksIChnc3RfbW5nX2RlY19zcmNfZ2V0Y2FwcyksIChnc3RfbW5nX2RlY19sb29wKSwKCSAgKGdzdF9tbmdfZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfbW5nX2RlY19zZXRfcHJvcGVydHkpLAoJICAobW5nZGVjX2Vycm9yKSwgKG1uZ2RlY19vcGVuc3RyZWFtKSwgKG1uZ2RlY19jbG9zZXN0cmVhbSksCgkgIChnc3RfbW5nX2RlY19zaW5rX2V2ZW50KSwgKG1uZ2RlY19yZWFkZGF0YSksIChtbmdkZWNfc2V0dGltZXIpLAoJICAobW5nZGVjX3Byb2Nlc3NoZWFkZXIpLCAobW5nZGVjX2dldGNhbnZhc2xpbmUpLCAobW5nZGVjX3JlZnJlc2gpLAoJICAoZ3N0X21uZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5oOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6IChnc3RfbW5nX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X21uZ19lbmNfY2xhc3NfaW5pdCksIChnc3RfbW5nX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X21uZ19lbmNfaW5pdCksIChnc3RfbW5nX2VuY19jaGFpbiksCgkgIChnc3RfbW5nX2VuY19nZXRfcHJvcGVydHkpLCAoZ3N0X21uZ19lbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5oOgoJICBTb21ld2hhdCBwb3J0IG1uZ2VuYyBhbmQgbW5nZGVjIHRvIDAuMTAuIERvZXMgbm90IHdvcmsgeWV0IGFuZCBoYXMgbWFueQoJICBiaXRzIGlmZGVmZmVkIG91dCBzdGlsbC4KCjIwMDgtMDYtMTYgMTE6MzQ6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBXaGVuIGNvbXBhcmluZyBpbmRleCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIHRpbWUgY29tcGFyZSB0aGVpciBibG9jayBudW1iZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2luZGV4X2NvbXBhcmUpOgoJICBXaGVuIGNvbXBhcmluZyBpbmRleCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIHRpbWUgY29tcGFyZSB0aGVpcgoJICBibG9jayBudW1iZXIuCgoyMDA4LTA2LTE2IDExOjMxOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSkKCSAgSW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA2LTE2IDEwOjU5OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBQYXJzZSBBdHRhY2htZW50cyBhbmQgcG9zdCB0aGVtIGFzIEdTVF9UQUdfSU1BR0UgaWYgd2UgZGV0ZWN0IGl0IGFzIGltYWdlIGFuZCBvdGhlcndpc2UgYXMgR1NUX1RBR19BVFQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOiAoZ3N0X21hdHJvc2thX3JlZ2lzdGVyX3RhZ3MpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzogKHBsdWdpbl9pbml0KToKCSAgUGFyc2UgQXR0YWNobWVudHMgYW5kIHBvc3QgdGhlbSBhcyBHU1RfVEFHX0lNQUdFIGlmIHdlIGRldGVjdAoJICBpdCBhcyBpbWFnZSBhbmQgb3RoZXJ3aXNlIGFzIEdTVF9UQUdfQVRUQUNITUVOVC4gSW5jbHVkZSBmaWxlbmFtZQoJICBhbmQgZGVzY3JpcHRpb24gb2YgdGhlIGF0dGFjaG1lbnRzIGluIHRoZSBjYXBzLiBGaXhlcyBidWcgIzUzNzYyMi4KCjIwMDgtMDYtMTYgMTA6MDk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQWRkIG1vZGUgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9zcGVleF9lbmNfY2xhc3NfaW5pdCksIChnc3Rfc3BlZXhfZW5jX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfc3BlZXhfZW5jX2dldF9sYXRlbmN5KSwgKGdzdF9zcGVleF9lbmNfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9zcGVleF9lbmNfc3JjX3F1ZXJ5KSwgKGdzdF9zcGVleF9lbmNfaW5pdCksCgkgIChnc3Rfc3BlZXhfZW5jX3NldHVwKSwgKGdzdF9zcGVleF9lbmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X2VuY19jaGFpbiksIChnc3Rfc3BlZXhfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlZXhfZW5jX3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBtb2RlIHByb3BlcnR5LgoJICBTb21lIGNsZWFudXBzLCBhZGQgbW9yZSBkZWJ1ZyBpbmZvLgoJICBBZGQgbGF0ZW5jeSBxdWVyeS4KCjIwMDgtMDYtMTYgMDk6NTQ6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogUmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgaW5zdGVhZCBvZiBHU1RfRkxPV19FUlJPUiBvbiBzaG9ydCByZWFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKToKCSAgUmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgaW5zdGVhZCBvZiBHU1RfRkxPV19FUlJPUiBvbiBzaG9ydCByZWFkcy4KCSAgSWYgd2UgZ2V0IGxlc3MgYnl0ZXMgdGhhbiByZXF1ZXN0ZWQgd2UgY2FuJ3QgZG8gYW55dGhpbmcgZXhjZXB0IGRvaW5nCgkgIG91ciBFT1MgbG9naWMuCgoyMDA4LTA2LTE1IDE5OjA5OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBVc2UgYSBHQXJyYXkgZm9yIHN0b3JpbmcgdGhlIEN1ZSAoaS5lLiBzZWVrKSBpbmZvcm1hdGlvbiwgc3RvcmUgdGhlIEN1ZVRyYWNrUG9zaXRpb25zIGZvciBldmVyeSB0cmFjaywuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2VlayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2luZGV4X2NvbXBhcmUpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBVc2UgYSBHQXJyYXkgZm9yIHN0b3JpbmcgdGhlIEN1ZSAoaS5lLiBzZWVrKSBpbmZvcm1hdGlvbiwgc3RvcmUKCSAgdGhlIEN1ZVRyYWNrUG9zaXRpb25zIGZvciBldmVyeSB0cmFjaywgc3RvcmUgdGhlIGJsb2NrIG51bWJlcgoJICBhbmQgb3B0aW1pemUgc2VhcmNoaW5nIGluIHRoZSBhcnJheSBieSBzb3J0aW5nIGl0IGFmdGVyIHRoZSBsYXN0CgkgIGVsZW1lbnQgd2FzIGFkZGVkLgoJICBGaXggYSBzbWFsbCBtZW1vcnkgbGVhayB3aGVuIHRyeWluZyB0byBwYXJzZSBhIHRhZ3MgZWxlbWVudCB0aGF0IHdhcwoJICBhbHJlYWR5IHBhcnNlZC4KCjIwMDgtMDYtMTUgMTU6Mjk6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguKjogRG9uJ3Qgd3JpdGUgYW5vdGhlciBTZWVrSGVhZCB3aGljaCBpbmRleGVzIGFsbCBDbHVzdGVycyB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLiBUaGlzIGlzbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIERvbid0IHdyaXRlIGFub3RoZXIgU2Vla0hlYWQgd2hpY2ggaW5kZXhlcyBhbGwgQ2x1c3RlcnMgdG8gdGhlIGVuZCBvZgoJICB0aGUgZmlsZS4gVGhpcyBpc24ndCB1c2VmdWwgZm9yIGFueXRoaW5nIGFuZCBqdXN0IGluY3JlYXNlcyBmaWxlc2l6ZS4KCjIwMDgtMDYtMTUgMTU6MDE6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogUHJldmVudCB1bmFsaWduZWQgbWVtb3J5IGFjY2VzcyB3aGVuIHJlYWRpbmcgZmxvYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChfZXh0MmRibCksIChnc3RfZWJtbF9yZWFkX2Zsb2F0KToKCSAgUHJldmVudCB1bmFsaWduZWQgbWVtb3J5IGFjY2VzcyB3aGVuIHJlYWRpbmcgZmxvYXRzLgoKMjAwOC0wNi0xNSAxNDowODo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogTWFrZSBzdXJlIHRoYXQgZXZlcnkgVGFncyBlbGVtZW50IGlzIG9ubHkgcGFyc2VkIG9uY2UgYW5kIGl0J3MgY29udGFpbmluZyB0YWdzIGFyZSBvbmx5IHBvc3RlZCBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIE1ha2Ugc3VyZSB0aGF0IGV2ZXJ5IFRhZ3MgZWxlbWVudCBpcyBvbmx5IHBhcnNlZCBvbmNlIGFuZCBpdCdzCgkgIGNvbnRhaW5pbmcgdGFncyBhcmUgb25seSBwb3N0ZWQgb25jZS4KCjIwMDgtMDYtMTUgMDk6NDM6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEhhbmRsZSBFQk1MIGVsZW1lbnRzIGxpa2UgVm9pZCBvciBDUkMzMiBpbiB0aGUgRWJtbFJlYWQgYmFzZSBjbGFzcyBhbHJlYWR5LiBUaGV5J3JlIG5vdCB1c2VmdWwgaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9wZWVrX2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NoYXB0ZXJzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIEhhbmRsZSBFQk1MIGVsZW1lbnRzIGxpa2UgVm9pZCBvciBDUkMzMiBpbiB0aGUgRWJtbFJlYWQgYmFzZSBjbGFzcwoJICBhbHJlYWR5LiBUaGV5J3JlIG5vdCB1c2VmdWwgaW4gdGhlIG1hdHJvc2thIHBhcnNlciBhbmQgb25seSBjYXVzZQoJICBhZGRpdGlvbmFsIGNvZGUuCgoyMDA4LTA2LTE0IDE1OjUxOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBSZXZlcnNlIHRoZSBsZXZlbCBsaXN0IGFzIHdlIHVzdWFsbHkgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUgZmlyc3QgZWxlbWVudCBvciB3YW50IHRvIGFkZCBhIG5ldyBmaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfbGV2ZWxfZnJlZSksCgkgIChnc3RfZWJtbF9maW5hbGl6ZSksIChnc3RfZWJtbF9yZWFkX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGV2ZWxfdXApLCAoZ3N0X2VibWxfcmVhZF9tYXN0ZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSk6CgkgIFJldmVyc2UgdGhlIGxldmVsIGxpc3QgYXMgd2UgdXN1YWxseSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZQoJICBmaXJzdCBlbGVtZW50IG9yIHdhbnQgdG8gYWRkIGEgbmV3IGZpcnN0IGVsZW1lbnQuIEhhdmluZyB0aGUKCSAgZmlyc3QgZWxlbWVudCBzdG9yZWQgYXQgdGhlIGVuZCBhbmQgY2FsbGluZyBnX2xpc3RfbGFzdCgpIGFuZAoJICBnX2xpc3RfYXBwZW5kKCkgaXMgbW9yZSBleHBlbnNpdmUuCgkgIEFsc28gdXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyB0aGUgR3N0RWJtbExldmVsIHN0cnVjdHMuCgoyMDA4LTA2LTEzIDIxOjEzOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiBEb24ndCB1bnJlZiBOVUxMIHRhZ2xpc3QgaW4gZmluYWxpemUuIERvbid0IHVzZSBjKysgc3R5bGUgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogKGdzdF90YWdfaW5qZWN0X2ZpbmFsaXplKSwKCSAgKGdzdF90YWdfaW5qZWN0X2NsYXNzX2luaXQpLCAoZ3N0X3RhZ19pbmplY3RfaW5pdCk6CgkgIERvbid0IHVucmVmIE5VTEwgdGFnbGlzdCBpbiBmaW5hbGl6ZS4gRG9uJ3QgdXNlIGMrKyBzdHlsZQoJICBjb21tZW50cy4KCjIwMDgtMDYtMTMgMTk6MTQ6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFVzZSBnc3RfdmFsdWVfc2VyaWFsaXplKCkgYW5kIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSgpIGZvciB0cmFuc2Zvcm1pbmcgdGFncyBmcm9tIHNvbWUgR1R5cGUgdG8gYSBzdHJpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgVXNlIGdzdF92YWx1ZV9zZXJpYWxpemUoKSBhbmQgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplKCkgZm9yIHRyYW5zZm9ybWluZwoJICB0YWdzIGZyb20gc29tZSBHVHlwZSB0byBhIHN0cmluZyBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQuIFRoZSBkZWZhdWx0CgkgIHRyYW5zZm9ybWF0aW9ucyBpbiBHTGliIGRvbid0IGluY2x1ZGUgdHJhbnNmb3JtYXRpb25zIGZyb20gc3RyaW5nIHRvCgkgIG51bWJlciB0eXBlcy4KCjIwMDgtMDYtMTMgMTk6MDc6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBPbmx5IHBhcnNlIFRyYWNrcywgU2Vla0hlYWQgYW5kIFNlZ21lbnRJbmZvIGVsZW1lbnRzIG9uY2UgYnV0IGFsbG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBPbmx5IHBhcnNlIFRyYWNrcywgU2Vla0hlYWQgYW5kIFNlZ21lbnRJbmZvIGVsZW1lbnRzIG9uY2UgYnV0IGFsbG93CgkgIFRhZ3MgbXVsdGlwbGUgdGltZXMuIFRoZSBmaXJzdCBvbmVzIGNhbiBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgYnV0IG11c3QKCSAgY29udGFpbiB0aGUgc2FtZSBjb250ZW50IGFzIHRoZSBmaXJzdCBmb3IgYmFja3VwIHB1cnBvc2VzIHNvIHdlIGlnbm9yZQoJICBhbGwgYnV0IHRoZSBmaXJzdCBvbmUuIFRhZ3MgY2FuIGFwcGVhciBtdWx0aXBsZSB0aW1lcyB3aXRoIGRpZmZlcmVudAoJICBjb250ZW50LgoJICBKdW1wIHRvIGFsbCBlbGVtZW50cyBleGNlcHQgQ2x1c3RlcnMgdGhhdCBhcmUgYXZhaWxhYmxlIGZyb20gYQoJICBTZWVrSGVhZCB0byBtYWtlIGl0IG1vcmUgbGlrZWx5IHRvIGhhdmUgYWxsIHJlcXVpcmVkIGluZm9ybWF0aW9ucwoJICBiZWZvcmUgZ2V0dGluZyB0byB0aGUgZmlyc3QgQ2x1c3RlcnMuCgkgIEFkZCBkdW1teSBmdW5jdGlvbnMgZm9yIHBhcnNpbmcgQXR0YWNobWVudHMgYW5kIENoYXB0ZXJzLgoKMjAwOC0wNi0xMyAxNDozMzo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vOiBNb3JlIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTMgMTE6NTk6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBGaXggZG9jLW1hcmt1cDogdXNlIGNvbnZpbmllbmNlIHN5bnRheAoJICBmb3IgZXhhbXBsZXMgKHByb2R1Y2VzIHZhbGlkIGRvY2Jvb2spLCBhZGQgc2V2ZXJhbCByZWZzZWMyIHdoZW4gd2UKCSAgaGF2ZSBzZXZlcmFsIHRpdGxlcy4gRml4IHNvbWUgdHlwZXMuCgoyMDA4LTA2LTEzIDExOjU0OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYXV0b21hdGljIGpvaW4vbGVhdmUgb2YgbXVsdGljYXN0IGdyb3Vwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGF1dG9tYXRpYyBqb2luL2xlYXZlIG9mIG11bHRpY2FzdCBncm91cHMuCgkgIEFkZCBHX0xJS0VMWS4KCSAgUmVtb3ZlIHNldHRpbmcgY2FwcyBvbiBidWZmZXJzIGV4cGxpY2l0bHksIGJhc2VzcmMgZG9lcyB0aGF0IGZvciB1cyBub3cuCgkgIEltcHJvdmUgZGVidWcgaW5mby4KCSAgQ29udmVydCBzb21lIG5vbi1mYXRhbCBlcnJvciBpbnRvIHdhcm5pbmdzLgoJICBVc2UgZ19udG9ocyBmb3IgYmV0dGVyIHBvcnRhYmlsaXR5LgoJICBMZWF2ZSBtdWx0aWNhc3QgZ3JvdXBzIHdoZW4gc3RvcHBpbmcuCgkgIFdoZW4gdXNpbmcgZXh0ZXJuYWwgc29ja2V0cywgdXNlIGdldHNvY2tuYW1lKCkgb24gdGhlbSB0byBmaWxsIHVwIHRoZQoJICBhZGRyIHN0cnVjdHVyZSBiZWZvcmUgY2FsbGluZyBtZXRob2RzIHRoYXQgdXNlIHRoZSBzdHJ1Y3R1cmUuCgkgIFNob3VsZCBhbGwgZml4ICM1MzY5MDMuCgkgIEFQSTogR3N0VURQU3JjOjphdXRvLW11bHRpY2FzdCBwcm9wZXJ0eQoKMjAwOC0wNi0xMyAxMTo0NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogVXNlIGdfbnRvaGwgZm9yIGJldHRlciBwb3J0YWJpbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9pc19tdWx0aWNhc3QpOgoJICBVc2UgZ19udG9obCBmb3IgYmV0dGVyIHBvcnRhYmlsaXR5LgoKMjAwOC0wNi0xMyAxMTo0NTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEZpeCBhIHR5cG8gYW5kIGRvIHNvbWUgc21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgIEZpeCBhIHR5cG8gYW5kIGRvIHNvbWUgc21hbGwgY2xlYW51cHMuCgoyMDA4LTA2LTEzIDA5OjM5OjQxICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiBNYWtlIHRoZSBkZWxpdmVyeS1tZXRob2QgbWFuZGF0b3J5IG9uIHRoZSBjYXBzIGFuZCBvbmx5IGFjY2VwdCBpbmxpbmUgZm9yIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKToKCSAgTWFrZSB0aGUgZGVsaXZlcnktbWV0aG9kIG1hbmRhdG9yeSBvbiB0aGUgY2FwcyBhbmQgb25seSBhY2NlcHQgaW5saW5lCgkgIGZvciBub3cuCgkgIFJldmVyc2Ugc3RyY21wIGNoZWNrcyBmb3IgZGVsaXZlcnktbWV0aG9kLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIGRlbGl2ZXJ5IG1ldGhvZCBvcHRpb25hbCB3aGVuIHBhcnNpbmcgY2FwcyBhbmQgbm90ZSB0aGlzIGluIHRoZQoJICBjYXBzLgoJICBSZXZlcnNlIHN0cmNtcCBjaGVja3MgZm9yIGRlbGl2ZXJ5LW1ldGhvZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBVcGRhdGUgYSBjb21tZW50IHRvIG5vdGUgdGhhdCB0aGUgZGVsaXZlcnktbWV0aG9kIGlzIG9wdGlvbmFsLAoJICBGaXhlcyAjNTM3Njc1LgoKMjAwOC0wNi0xMiAxNzozMDowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU2V0IHVkcHNyYyBmb3IgcmVjZWl2aW5nIGRhdGEgZnJvbSBtdWx0aWNhc3QgZ3JvdXBzIHRvIFBBVVNFRCBpbnN0ZWFkIG9mIGxlYXZpbmcgdGhlbSBpbiBSRUFEWS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KToKCSAgU2V0IHVkcHNyYyBmb3IgcmVjZWl2aW5nIGRhdGEgZnJvbSBtdWx0aWNhc3QgZ3JvdXBzIHRvIFBBVVNFRCBpbnN0ZWFkIG9mCgkgIGxlYXZpbmcgdGhlbSBpbiBSRUFEWS4gRml4ZXMgIzUzNzgzMi4KCjIwMDgtMDYtMTIgMTI6MTQ6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFNpbXBsaWZ5IGNvZGUuIGdzdF90YWdfbGlzdF9tZXJnZSgpIGRvZXMgdGhlIE5VTEwgY2hlY2tzLiBBZGQgYSBGSVhNRSBmb3IgYSByYW5kb20gY29uc3RhbnQgaW4gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBTaW1wbGlmeSBjb2RlLiBnc3RfdGFnX2xpc3RfbWVyZ2UoKSBkb2VzIHRoZSBOVUxMIGNoZWNrcy4gQWRkIGEgRklYTUUKCSAgZm9yIGEgcmFuZG9tIGNvbnN0YW50IGluIHRhZ211eGluZyBjb2RlLgoKMjAwOC0wNi0xMSAxNDoyODo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC4qOiBOb3cgYWN0dWFsbHkgYWRkaW5nIHRoZSBuZXcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuaDoKCSAgTm93IGFjdHVhbGx5IGFkZGluZyB0aGUgbmV3IGVsZW1lbnQuCgoyMDA4LTA2LTExIDE0OjExOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZW1vdmUgZHVtbXkgcGx1Z2luX2luaXQuIFJlbW92ZSBzb21lIHVuZGVmaW5lZCBlbnRyaWVzIGZyb20gZG9jLSBzZWN0aW9uIGZpbGUuIEFkZCB0YWdpbmplY3QgZWxlbWVudCBhbmQgcmVidWlsZCBkb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5oOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5oOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgUmVtb3ZlIGR1bW15IHBsdWdpbl9pbml0LiBSZW1vdmUgc29tZSB1bmRlZmluZWQgZW50cmllcyBmcm9tIGRvYy0KCSAgc2VjdGlvbiBmaWxlLiBBZGQgdGFnaW5qZWN0IGVsZW1lbnQgYW5kIHJlYnVpbGQgZG9jcyBmb3IgaXQuCgoyMDA4LTA2LTExIDExOjI3OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFVwZGF0ZSB0aGUgY291bnRlciBmb3IgdGhlIG51bWJlciBvZiBzdHJlYW1zIHdoZW4gcGFkcyBhcmUgYWRkZWQgb3IgcmVtb3ZlZC4gVGhpcyB3aWxsIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBVcGRhdGUgdGhlIGNvdW50ZXIgZm9yIHRoZSBudW1iZXIgb2Ygc3RyZWFtcyB3aGVuIHBhZHMgYXJlIGFkZGVkIG9yCgkgIHJlbW92ZWQuIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCBhIHNlZWsgdGFibGUgaXMgZ2VuZXJhdGVkIGZvcgoJICBmaWxlcyB3aXRoIGp1c3Qgb25lIGF1ZGlvIHN0cmVhbS4KCjIwMDgtMDYtMTEgMTE6MTg6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBzb21lIG1vcmUgdGFncywgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIG1ha2Ugc3VyZSB0aGF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpOgoJICBBZGQgc29tZSBtb3JlIHRhZ3MsIGltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBtYWtlIHN1cmUgdGhhdAoJICBHVmFsdWUgdHJhbnNmb3JtYXRpb24gaGFzIHN1Y2NlZWRlZCBiZWZvcmUgdXNpbmcgdGhlIHJlc3VsdAoJICBhcyBhIHRhZy4KCjIwMDgtMDYtMTEgMDg6NTY6MTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiBUaGUgVGhlb3JhIFJUUCBwYXlsb2FkZXIgb25seSBzdXBwb3J0cyB0aGUgImlubGluZSIgZGVsaWV2ZXJ5IG1ldGhvZCBzbyBsZXQncyBkZWNsYXJlIHRoaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBUaGUgVGhlb3JhIFJUUCBwYXlsb2FkZXIgb25seSBzdXBwb3J0cyB0aGUgImlubGluZSIgZGVsaWV2ZXJ5IG1ldGhvZAoJICBzbyBsZXQncyBkZWNsYXJlIHRoaXMgb24gdGhlIGNhcHMgb2YgdGhlIHN0YXRpYyBwYWQgdGVtcGxhdGUuCgkgIEZpeGVzIGJ1ZyAjNTM3Njc1LgoKMjAwOC0wNi0xMCAxNzoyMDo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogUmVtb3ZlIGJvZ3VzIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKSwgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOgoJICBSZW1vdmUgYm9ndXMgY2hlY2suCgoyMDA4LTA2LTEwIDE2OjI1OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBVc2Ugc3RyZWFtX3RpbWUgdG8gc3luY2hyb25pemUgdGhlIG9iamVjdCBwcm9wZXJ0aWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKToKCSAgVXNlIHN0cmVhbV90aW1lIHRvIHN5bmNocm9uaXplIHRoZSBvYmplY3QgcHJvcGVydGllcy4KCSAgVXNlIHJ1bm5pbmdfdGltZSBvZiB0aGUgbWFzdGVyIHBhZCB0byB0aW1lc3RhbXAgb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4IHRoZSBpbml0aWFsIHNlZ21lbnQgZXZlbnQgdG8gZXh0ZW5kIGFuIHVua25vd24gYW1vdW50IG9mIHRpbWUuCgkgIEZpeGVzICM1MzczNjEuCgoyMDA4LTA2LTEwIDExOjA1OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBUcnkgdG8gaWdub3JlIHVucGFyc2FibGUvdW5rbm93biBzdHJlYW1zIGFuZCBnaXZlIGEgd2FybmluZyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC4gRml4ZXMgIzUzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKToKCSAgVHJ5IHRvIGlnbm9yZSB1bnBhcnNhYmxlL3Vua25vd24gc3RyZWFtcyBhbmQgZ2l2ZSBhIHdhcm5pbmcgaW5zdGVhZCBvZgoJICBlcnJvcmluZyBvdXQuIEZpeGVzICM1MzczNzcuCgoyMDA4LTA2LTEwIDEwOjQ0OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBVc2UgR0RPVUJMRV9UT19CRSgpIGluc3RlYWQgb2YgKHByb2JhYmx5IHNsb3dlcikgY3VzdG9tIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9mbG9hdCk6CgkgIFVzZSBHRE9VQkxFX1RPX0JFKCkgaW5zdGVhZCBvZiAocHJvYmFibHkgc2xvd2VyKSBjdXN0b20gY29kZS4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2ZyZWUpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2VuY29kaW5nX2NtcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCksIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfc3VidGl0bGVfY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfbXV4X2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfdWlkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3VidGl0bGVfcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF90cmFja19oZWFkZXIpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc2V0X3Byb3BlcnR5KToKCSAgQWRkIG1hbnkgRklYTUVzL1RPRE9zIGFsbCBvdmVyIHRoZSBtYXRyb3NrYSBtdXhlciBhbmQgZGVtdXhlcgoJICBlbGVtZW50cywgZG8gc29tZSBjaGVja3MgZm9yIHZhbGlkIHZhbHVlcyBpbiB0aGUgZGVtdXhlciwgaGFuZGxlCgkgIHRyYWNrdGltZWNvZGVzY2FsZSBpbiB0aGUgZGVtdXhlciwgc2V0IGNvcnJlY3QgZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbAoJICBzZXR0aW5ncyBpbiB0aGUgZGVtdXhlciwgcmV2aWV3IGFuZCBhZGQgYWxsIG1pc3NpbmcgbWF0cm9za2EKCSAgSURzIGFuZCBzb21lIG1vcmUgcmF3IFlVViBmb3JtYXRzLCBhbmQgc29tZSB0cml2aWFsIGNsZWFudXAuCgoyMDA4LTA2LTEwIDA4OjU5OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBTb21lIHNtYWxsZXIgY2xlYW51cC4gVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MsIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpIGFuZCBmaXggY29kaW5nIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9jbGFzc19pbml0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNyY19iYXNlX2luaXQpLCAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX3ByZXBhcmUpOgoJICBTb21lIHNtYWxsZXIgY2xlYW51cC4gVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MsCgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpIGFuZCBmaXggY29kaW5nIHN0eWxlIGEgYml0CgkgIG1vcmUuCgoyMDA4LTA2LTEwIDA4OjIyOjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiB0byB0aGUgcHVsc2VhdWRpbyBwbHVnaW4gYW5kIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIHRvIHRoZSBwdWxzZWF1ZGlvIHBsdWdpbiBhbmQgcnVuIG1ha2UgdXBkYXRlCgkgIGluIGRvY3MvcGx1Z2lucy4KCjIwMDgtMDYtMTAgMDY6NTI6NDQgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOiBJbXByb3ZlbWVudHMgZm9yIHRoZSBTdW5BdWRpbyBtaXhlciBieSBoYW5kbGluZyBtdXRlIGFzIG5vIGdhaW4gZm9yIHRyYWNrcyB0aGF0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKToKCSAgSW1wcm92ZW1lbnRzIGZvciB0aGUgU3VuQXVkaW8gbWl4ZXIgYnkgaGFuZGxpbmcgbXV0ZSBhcyBubyBnYWluCgkgIGZvciB0cmFja3MgdGhhdCBoYXZlIGEgZ2FpbiBwcm9wZXJ0eSBidXQgbm8gbXV0ZSBwcm9wZXJ0eS4KCSAgRml4ZXMgYnVnICM1MzYwNjcuCgoyMDA4LTA2LTEwIDA2OjQ1OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgcHVsc2VhdWRpbyBHU3RyZWFtZXIgZWxlbWVudCBmcm9tIGdzdC1wdWxzZS4gRGV2ZWxvcG1lbnQgd2lsbCBjb250aW51ZSBoZXJlIGluc3RlYWQgb2YgcHVsc2VhdWRpbyBTVk4uIEZpeGVzIGJ1ZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcHVsc2UvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfaW1wbGVtZW50c19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9pbml0X2ludGVyZmFjZXMpLCAoZ3N0X3B1bHNlbWl4ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2NsYXNzX2luaXQpLCAoZ3N0X3B1bHNlbWl4ZXJfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9maW5hbGl6ZSksIChnc3RfcHVsc2VtaXhlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfZ2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZW1peGVyX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfY29udGV4dF9zdGF0ZV9jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NpbmtfaW5mb19jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NvdXJjZV9pbmZvX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc3Vic2NyaWJlX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc3VjY2Vzc19jYiksIChnc3RfcHVsc2VtaXhlcl9jdHJsX29wZW4pLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9jbG9zZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX25ldyksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX2ZyZWUpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9saXN0X3RyYWNrcyksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3RpbWVvdXRfZXZlbnQpLCAocmVzdGFydF90aW1lX2V2ZW50KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2V0X3ZvbHVtZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfcmVjb3JkKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2V0X211dGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suYzogKGdzdF9wdWxzZW1peGVyX3RyYWNrX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfaW5pdCksIChnc3RfcHVsc2VtaXhlcl90cmFja19uZXcpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suaDoKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfY29udGV4dF9zdGF0ZV9jYiksCgkgIChnc3RfcHVsc2Vwcm9iZV9zaW5rX2luZm9fY2IpLCAoZ3N0X3B1bHNlcHJvYmVfc291cmNlX2luZm9fY2IpLAoJICAoZ3N0X3B1bHNlcHJvYmVfaW52YWxpZGF0ZSksIChnc3RfcHVsc2Vwcm9iZV9vcGVuKSwKCSAgKGdzdF9wdWxzZXByb2JlX2VudW1lcmF0ZSksIChnc3RfcHVsc2Vwcm9iZV9jbG9zZSksCgkgIChnc3RfcHVsc2Vwcm9iZV9uZXcpLCAoZ3N0X3B1bHNlcHJvYmVfZnJlZSksCgkgIChnc3RfcHVsc2Vwcm9iZV9nZXRfcHJvcGVydGllcyksIChnc3RfcHVsc2Vwcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfcHVsc2Vwcm9iZV9wcm9iZV9wcm9wZXJ0eSksIChnc3RfcHVsc2Vwcm9iZV9nZXRfdmFsdWVzKSwKCSAgKGdzdF9wdWxzZXByb2JlX3NldF9zZXJ2ZXIpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19jbGFzc19pbml0KSwgKGdzdF9wdWxzZXNpbmtfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2Rlc3Ryb3lfc3RyZWFtKSwgKGdzdF9wdWxzZXNpbmtfZGVzdHJveV9jb250ZXh0KSwKCSAgKGdzdF9wdWxzZXNpbmtfZmluYWxpemUpLCAoZ3N0X3B1bHNlc2lua19kaXNwb3NlKSwKCSAgKGdzdF9wdWxzZXNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNpbmtfY29udGV4dF9zdGF0ZV9jYiksIChnc3RfcHVsc2VzaW5rX3N0cmVhbV9zdGF0ZV9jYiksCgkgIChnc3RfcHVsc2VzaW5rX3N0cmVhbV9yZXF1ZXN0X2NiKSwKCSAgKGdzdF9wdWxzZXNpbmtfc3RyZWFtX2xhdGVuY3lfdXBkYXRlX2NiKSwgKGdzdF9wdWxzZXNpbmtfb3BlbiksCgkgIChnc3RfcHVsc2VzaW5rX2Nsb3NlKSwgKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSksCgkgIChnc3RfcHVsc2VzaW5rX3VucHJlcGFyZSksIChnc3RfcHVsc2VzaW5rX3dyaXRlKSwKCSAgKGdzdF9wdWxzZXNpbmtfZGVsYXkpLCAoZ3N0X3B1bHNlc2lua19zdWNjZXNzX2NiKSwKCSAgKGdzdF9wdWxzZXNpbmtfcmVzZXQpLCAoZ3N0X3B1bHNlc2lua19jaGFuZ2VfdGl0bGUpLAoJICAoZ3N0X3B1bHNlc2lua19ldmVudCksIChnc3RfcHVsc2VzaW5rX2dldF90eXBlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VzcmNfaW1wbGVtZW50c19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfaW5pdF9pbnRlcmZhY2VzKSwgKGdzdF9wdWxzZXNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3B1bHNlc3JjX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2Rlc3Ryb3lfc3RyZWFtKSwgKGdzdF9wdWxzZXNyY19kZXN0cm95X2NvbnRleHQpLAoJICAoZ3N0X3B1bHNlc3JjX2ZpbmFsaXplKSwgKGdzdF9wdWxzZXNyY19kaXNwb3NlKSwKCSAgKGdzdF9wdWxzZXNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VzcmNfY29udGV4dF9zdGF0ZV9jYiksIChnc3RfcHVsc2VzcmNfc3RyZWFtX3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZXNyY19zdHJlYW1fcmVxdWVzdF9jYiksIChnc3RfcHVsc2VzcmNfb3BlbiksCgkgIChnc3RfcHVsc2VzcmNfY2xvc2UpLCAoZ3N0X3B1bHNlc3JjX3ByZXBhcmUpLAoJICAoZ3N0X3B1bHNlc3JjX3VucHJlcGFyZSksIChnc3RfcHVsc2VzcmNfcmVhZCksCgkgIChnc3RfcHVsc2VzcmNfZGVsYXkpLCAoZ3N0X3B1bHNlc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcHVsc2VzcmNfZ2V0X3R5cGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzogKGdzdF9wdWxzZV9maWxsX3NhbXBsZV9zcGVjKSwKCSAgKGdzdF9wdWxzZV9jbGllbnRfbmFtZSksIChnc3RfcHVsc2VfZ3N0X3RvX2NoYW5uZWxfbWFwKToKCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIEFkZCBwdWxzZWF1ZGlvIEdTdHJlYW1lciBlbGVtZW50IGZyb20gZ3N0LXB1bHNlLiBEZXZlbG9wbWVudCB3aWxsCgkgIGNvbnRpbnVlIGhlcmUgaW5zdGVhZCBvZiBwdWxzZWF1ZGlvIFNWTi4gRml4ZXMgYnVnICM0MDA2NzkuCgkgIE9ubHkgY2hhbmdlcyBvdmVyIGdzdC1wdWxzZSBTVk4gYXJlIGFkZGVkIGNvcHlyaWdodCB0byB0aGUgdG9wIG9mCgkgIGZpbGVzIGFuZCBjb2Rpbmcgc3R5bGUgY2hhbmdlcy4KCjIwMDgtMDYtMDkgMjA6MDI6MDUgKzAwMDAgIEJlbmphbWluIEthbXBtYW5uIDxiZW5qYW1pbkBmbHVlbmRvLmNvbT4KCgkgIGV4dC9jZGlvLzogQWxzbyBleHRyYWN0IGFsYnVtIHRpdGxlIGFuZCBhbGJ1bSBnZW5yZSBmcm9tIENELVRFWFQgaWYgYXZhaWxhYmxlICgjNTM3MDIxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCZW5qYW1pbiBLYW1wbWFubiAgPGJlbmphbWluIGF0IGZsdWVuZG8gZG90IGNvbT4KCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6IChnc3RfY2Rpb19nZXRfY2R0ZXh0KSwKCSAgKGdzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyk6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKToKCSAgQWxzbyBleHRyYWN0IGFsYnVtIHRpdGxlIGFuZCBhbGJ1bSBnZW5yZSBmcm9tIENELVRFWFQgaWYKCSAgYXZhaWxhYmxlICgjNTM3MDIxKS4KCjIwMDgtMDYtMDkgMDg6NTI6MDQgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW1wcm92ZSBuZWdvdGlhdGlvbiBhIGJpdCBtb3JlIGJ5IHBpY2tpbmcgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHJlc29sdXRpb24gdGhhdCBpcyBsYXJnZXIgdGhhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfbmVnb3RpYXRlKToKCSAgSW1wcm92ZSBuZWdvdGlhdGlvbiBhIGJpdCBtb3JlIGJ5IHBpY2tpbmcgdGhlIHNtYWxsZXN0IHBvc3NpYmxlCgkgIHJlc29sdXRpb24gdGhhdCBpcyBsYXJnZXIgdGhhbiB0aGUgcmVzb2x1dGlvbiBzcGVjaWZpZWQgaW4gdGhlCgkgIGZpcnN0IGNhcHMgZW50cnkgb2YgdGhlIHBlZXIgY2Fwcy4gRml4ZXMgYnVnICM1MzY5OTQuCgoyMDA4LTA2LTA5IDA4OjQyOjQ5ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBzeXMvdjRsMi86IEZpeCBjb21waWxhdGlvbiB3aXRoIG5ld2VyIEdJVCBrZXJuZWxzIHRoYXQgZGVwcmVjYXRlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhIDxoYWRlc3MgYXQgaGFkZXNzIGRvdCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBuZXdlciBHSVQga2VybmVscyB0aGF0IGRlcHJlY2F0ZWQKCSAgVjRMMl9DSURfSENFTlRFUiBhbmQgVjRMMl9DSURfVkNFTlRFUi4gRml4ZXMgYnVnICM1MzYzMTcuCgoyMDA4LTA2LTA3IDE4OjQ4OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVxdWlyZSBsaWJjZGlvID49IDAuNzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKToKCSAgUmVxdWlyZSBsaWJjZGlvID49IDAuNzYuCgoyMDA4LTA2LTA1IDExOjA3OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgIFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlCgkgIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkgYW5kIGRpdmlkZS9tdWx0aXBseSBpdCBieSB0aGUgbnVtYmVyCgkgIG9mIGNoYW5uZWxzIHRvIGdldCB0aGUgY29ycmVjdCByZXN1bHQuCgoyMDA4LTA2LTA1IDA5OjQ1OjAwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDYXRjaCBVTkVYUEVDVEVEIHdoZW4gZG93bnN0cmVhbSBoYXMgcmVhY2hlZCBlbmQgb2Ygc2VnbWVudCBpbiByZXZlcnNlIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgQ2F0Y2ggVU5FWFBFQ1RFRCB3aGVuIGRvd25zdHJlYW0gaGFzIHJlYWNoZWQgZW5kIG9mCgkgIHNlZ21lbnQgaW4gcmV2ZXJzZSBtb2RlLgoKMjAwOC0wNi0wNCAxODowODozNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHR5cG8gaW4gY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMDgtMDYtMDQgMTg6MDM6MjQgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB0aGUgZnJhbWUgb3JkZXIgd2UgbmVlZCB0byBwdXNoIHRpbGwgdGhlIG5leHQga2V5ZnJhbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBCZWNhdXNlIHdlIGRvbid0IGtub3cgdGhlIGZyYW1lIG9yZGVyIHdlIG5lZWQgdG8gcHVzaCB0aWxsCgkgIHRoZSBuZXh0IGtleWZyYW1lCgoyMDA4LTA2LTA0IDE3OjM5OjMxICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFByb3ZpZGUgYSBjdXN0b20gbmVnb3RpYXRpb24gZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRvIHBpY2sgdGhlIGhpZ2hlc3QgcG9zc2libGUgZnJhbWVyYXRlIGFuZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfZml4YXRlKSwgKGdzdF92NGwyc3JjX25lZ290aWF0ZSk6CgkgIFByb3ZpZGUgYSBjdXN0b20gbmVnb3RpYXRpb24gZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRvIHBpY2sgdGhlIGhpZ2hlc3QKCSAgcG9zc2libGUgZnJhbWVyYXRlIGFuZCByZXNvbHV0aW9uLiBGaXhlcyBidWcgIzUzNjY0Ni4KCjIwMDgtMDYtMDQgMTY6NDk6MjYgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFNldCBFT1Mgd2hlbiBnb2luZyBvdXQgb2YgdGhlIHNlZ21lbnQgaW4gcmV2ZXJzZSBwbGF5YmFjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFNldCBFT1Mgd2hlbiBnb2luZyBvdXQgb2YgdGhlIHNlZ21lbnQgaW4gcmV2ZXJzZSBwbGF5YmFjawoKMjAwOC0wNi0wNCAxNToxOTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06IEFkZCAtV25vLWF0dHJpYnV0ZXMgdG8gQ1hYRkxBR1MgdG8gc3VwcHJlc3Mgd2FybmluZyBjYXVzZWQgYnkgdGFnbGliIGhlYWRlcnMgKHdpdGggZ2NjIDQuMy4xKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbTo6CgkgIEFkZCAtV25vLWF0dHJpYnV0ZXMgdG8gQ1hYRkxBR1MgdG8gc3VwcHJlc3Mgd2FybmluZyBjYXVzZWQgYnkKCSAgdGFnbGliIGhlYWRlcnMgKHdpdGggZ2NjIDQuMy4xKS4KCjIwMDgtMDYtMDQgMTE6NTk6MTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgdGhlIG5ldyBnc3RfcnRzcF9jb25uZWN0aW9uX2dldF9pcCgpIHRvIGFjY2VzcyB0aGUgSVAgYWRkcmVzcyBvZiBhIEdzdFJUU1BDb25uZWN0aW9uIHNpbmNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICBVc2UgdGhlIG5ldyBnc3RfcnRzcF9jb25uZWN0aW9uX2dldF9pcCgpIHRvIGFjY2VzcyB0aGUgSVAgYWRkcmVzcwoJICBvZiBhIEdzdFJUU1BDb25uZWN0aW9uIHNpbmNlIGl0IGlzIGEgcHJpdmF0ZSBtZW1iZXIuCgoyMDA4LTA2LTA0IDEwOjQyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyB1dGlsaXR5IGZ1bmN0aW9ucyBpbiBsaWJnc3R0YWcgdG8gcHJvY2VzcyBjb3ZlcmFydCAoIzUxMjMzMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIFVzZSBuZXcgdXRpbGl0eSBmdW5jdGlvbnMgaW4gbGliZ3N0dGFnIHRvIHByb2Nlc3MgY292ZXJhcnQgKCM1MTIzMzMpLgoKMjAwOC0wNi0wNCAwODo1NDowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBXZSBhY3R1YWxseSBzdXBwb3J0IGxlZnQvc2lkZSwgcmlnaHQvc2lkZSBhbmQgbWlkL3NpZGUgZmlsZXMuIFRoZSBjb252ZXJzaW9uIHRvIG5vcm1hbCwgaW50ZXJsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIFdlIGFjdHVhbGx5IHN1cHBvcnQgbGVmdC9zaWRlLCByaWdodC9zaWRlIGFuZCBtaWQvc2lkZSBmaWxlcy4gVGhlCgkgIGNvbnZlcnNpb24gdG8gbm9ybWFsLCBpbnRlcmxlYXZlZCBzdGVyZW8gaXMgZG9uZSBieSBsaWJmbGFjLgoKMjAwOC0wNi0wNCAwNzozNjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogVW5yZWYgdGhlIHdyaXRlIGNhY2hlIGluIGZpbmFsaXplIGlmIGl0IHdhcyBzZXQgYW5kIGFkZCBhZGQgIkZJWE1FIiB0byBhIGNvbW1lbnQgdGhhdCBuZWVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9maW5hbGl6ZSksCgkgIChnc3RfZWJtbF93cml0ZV9zZXRfY2FjaGUpOgoJICBVbnJlZiB0aGUgd3JpdGUgY2FjaGUgaW4gZmluYWxpemUgaWYgaXQgd2FzIHNldCBhbmQgYWRkIGFkZCAiRklYTUUiCgkgIHRvIGEgY29tbWVudCB0aGF0IG5lZWRzIGl0LgoKMjAwOC0wNi0wNCAwNjo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS4qOiBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUgcmVxdWVzdGVkIHNpbmsgcGFkcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUKCSAgcmVxdWVzdGVkIHNpbmsgcGFkcyB0byBndWFyYW50dWVlIGEgdW5pcXVlIG5hbWUuIEFkZCBhICJjaGFubmVsIgoJICBwcm9wZXJ0eSB0byBHc3RJbnRlcmxlYXZlUGFkIHRvIG1ha2UgaXQgcG9zc2libGUgZm9yIGFwcGxpY2F0aW9ucwoJICB0byByZXRyaWV2ZSB0aGUgY2hhbm5lbCBudW1iZXIgaW4gdGhlIG91dHB1dCBmb3IgZXZlcnkgcGFkLgoJICBVc2UgZ190eXBlX3JlZ2lzdGVyX3N0YXRpY19zaW1wbGUoKSBpbnN0ZWFkIG9mCgkgIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWMoKSB0byBzYXZlIHNvbWUgcmVsb2NhdGlvbnMuCgoyMDA4LTA2LTAzIDE0OjM1OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVuIGdvaW5nIGZyb20gUEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgIFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZIGFzIHdlIG90aGVyd2lzZSBkZWFkbG9jay4KCSAgRml4ZXMgYnVnICM1MzYyNTguCgoyMDA4LTA2LTAzIDA5OjAzOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAoZ3N0X2ludGVybGVhdmVfY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICBVc2UgbmV3IGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucygpIGZ1bmN0aW9uIGFuZCByZWdpc3RlcgoJICB0aGUgR3N0SW50ZXJsZWF2ZVBhZCB0eXBlIGZyb20gYSB0aHJlYWRzYWZlIGNvbnRleHQuCgoyMDA4LTA2LTAyIDE2OjEwOjAwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjay4gRml4ZXMgIzUzNTMwMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9wcmV2KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2suIEZpeGVzICM1MzUzMDAuCgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwOC0wNi0wMiAxMjo0MjoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS4qOiBBbGxvdyBzZXR0aW5nIGNoYW5uZWwgcG9zaXRpb25zIHZpYSBhIHByb3BlcnR5IGFuZCBhbGxvdyB1c2luZyB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb24gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9sYXRlbmN5KSwgKGdzdF9pbnRlcmxlYXZlX2NvbGxlY3RlZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBBbGxvdyBzZXR0aW5nIGNoYW5uZWwgcG9zaXRpb25zIHZpYSBhIHByb3BlcnR5IGFuZCBhbGxvdyB1c2luZyB0aGUKCSAgY2hhbm5lbCBwb3NpdGlvbnMgb24gdGhlIGlucHV0IGFzIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvZiB0aGUgb3V0cHV0LgoJICBGaXggc29tZSBicm9rZW4gbG9naWMgYW5kIG1lbW9yeSBsZWFrcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChzcmNfaGFuZG9mZl9mbG9hdDMyKSwKCSAgKHNpbmtfaGFuZG9mZl9mbG9hdDMyKSwgKEdTVF9TVEFSVF9URVNUKSwgKGludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgY2hlY2tpbmcgY29ycmVjdCBoYW5kbGluZyBvZiBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMDgtMDYtMDIgMTI6MjI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogV2hlbiB1c2luZyBnc3RfZWxlbWVudF9pdGVyYXRlX3BhZHMoKSBvbmUgaGFzIHRvIHVucmVmIGV2ZXJ5IHBhZCBhZnRlciB1c2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnlfbGF0ZW5jeSk6CgkgIFdoZW4gdXNpbmcgZ3N0X2VsZW1lbnRfaXRlcmF0ZV9wYWRzKCkgb25lIGhhcyB0byB1bnJlZiBldmVyeSBwYWQKCSAgYWZ0ZXIgdXNhZ2UuCgoyMDA4LTA1LTMxIDE2OjUzOjIzICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBnc3QvcXRkZW11eC86IEltcHJvdmUgbWV0YS1kYXRhIGhhbmRsaW5nLCBhZGQgJ2NvbW1lbnQnLCAnZGVzY3JpcHRpb24nIGFuZCAnY29weXJpZ2h0JyB0YWcgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3RhZ19hZGRfc3RyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgSW1wcm92ZSBtZXRhLWRhdGEgaGFuZGxpbmcsIGFkZCAnY29tbWVudCcsICdkZXNjcmlwdGlvbicgYW5kCgkgICdjb3B5cmlnaHQnIHRhZyBoYW5kbGluZy4KCSAgRml4ZXMgIzUzNTkzNQoKMjAwOC0wNS0zMSAxNTozMDo0MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSB3ZSBkb24ndCBjbGlwIHRoZSBzZWdtZW50J3Mgc3RvcCB1c2luZyB0aGUgbWFpbiBzZWdtZW50IGR1cmF0aW9uIGFzIHRoYXQgY291bGQgY3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDUtMzEgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZmluZF9rZXlmcmFtZSksCgkgIChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLCAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3NlZWtfdG9fcHJldmlvdXNfa2V5ZnJhbWUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksIChnc3RfcXRkZW11eF9sb29wKTogTWFrZSBzdXJlIHdlCgkgIHdlIGRvbid0IGNsaXAgdGhlIHNlZ21lbnQncyBzdG9wIHVzaW5nIHRoZSBtYWluIHNlZ21lbnQgZHVyYXRpb24KCSAgYXMKCSAgdGhhdCBjb3VsZCBjcm9wIHF1aXRlIHNvbWUgdmlkZW8gZnJhbWVzLiBNYWtlIHJldmVyc2UgcGxheWJhY2sKCSAgc3VwcG9ydAoJICBtb3JlIHJvYnVzdCBhbmQgc3VwcG9ydCBlZGl0IGxpc3RzLiBTdXBwb3J0IHNlZWtpbmcgdG8gdGhlIGxhc3QKCSAgZnJhbWUsCgkgIGFuZCBmaXggcmV2ZXJzZSBsb29waW5nIHBsYXliYWNrLiBBZGQgc29tZSBkZWJ1Z2dpbmcuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOiBVcGRhdGVkLgoKMjAwOC0wNS0zMSAwODozNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9uJ3QgY2xpcCBmbG9hdC9kb3VibGUgc2FtcGxlcywgY29ycmVjdGx5IHVuc2V0IHBhc3N0aHJvdWdoIG1vZGUgYW5kIHVzZSBiZXR0ZXIgcm91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBEb24ndCBjbGlwIGZsb2F0L2RvdWJsZSBzYW1wbGVzLCBjb3JyZWN0bHkgdW5zZXQgcGFzc3Rocm91Z2ggbW9kZQoJICBhbmQgdXNlIGJldHRlciByb3VuZGluZyBmb3IgaW50ZWdlciBzYW1wbGVzLgoKMjAwOC0wNS0zMCAxMTowMzo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuKjogVXBkYXRlIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzIG9ubHkgd2hlbiBuZWVkZWQgaW4gdGhlIHRyYW5zZm9ybV9pcCBmdW5jdGlvbiBhbmQgY29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChzZXRfcGFzc3Rocm91Z2gpLCAodXBkYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgVXBkYXRlIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzIG9ubHkgd2hlbiBuZWVkZWQgaW4gdGhlIHRyYW5zZm9ybV9pcAoJICBmdW5jdGlvbiBhbmQgY29ycmVjdGx5IHNldCB0aGUgZWxlbWVudCBpbnRvIHBhc3N0aHJvdWdoIG1vZGUgaWYgdGhlCgkgIGdhaW4gb2YgYWxsIGJhbmRzIGlzIDAuCgoyMDA4LTA1LTI5IDExOjMwOjE2ICswMDAwICBTZWJhc3RpYW4gS2VsbGVyIDxzZWJhc3RpYW4ta2VsbGVyQGdteC5kZT4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiBUcnkgdG8gc2tpcCBwaXhlbHMgb3IgYXJlYXMgdGhhdCBhcmUgdG9vIGRhcmsgb3IgdG9vIGJyaWdodCBmb3IgdXMgdG8gZG8gbWVhbmluZ2Z1bGwgY29sb3IgZGV0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFNlYmFzdGlhbiBLZWxsZXIgPHNlYmFzdGlhbi1rZWxsZXIgYXQgZ214IGRvdCBkZT4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jbGFzc19pbml0KSwgKGdzdF9hbHBoYV9pbml0KSwKCSAgKGdzdF9hbHBoYV9zZXRfcHJvcGVydHkpLCAoZ3N0X2FscGhhX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYWxwaGFfY2hyb21hX2tleV9heXV2KSwgKGdzdF9hbHBoYV9jaHJvbWFrZXlfcm93X2k0MjApOgoJICBUcnkgdG8gc2tpcCBwaXhlbHMgb3IgYXJlYXMgdGhhdCBhcmUgdG9vIGRhcmsgb3IgdG9vIGJyaWdodCBmb3IgdXMgdG8gZG8KCSAgbWVhbmluZ2Z1bGwgY29sb3IgZGV0ZWN0aW9uLgoJICBBZGRlZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIHNlbnNpdGl2aXR5IHRvIGxpZ2h0IGFuZCBkYXJrbmVzcy4KCSAgQWRkZWQgc29tZSBzbWFsbCBjbGVhbnVwcy4gRml4ZXMgIzUxMjM0NS4KCjIwMDgtMDUtMjggMjA6MDE6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgSWdub3JlIHNvbWUgbW9yZSBnZW5lcmF0ZWQgdGhpbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBzb21lIG1vcmUgZ2VuZXJhdGVkIHRoaW5ncwoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgT1NTIGVsZW1lbnRzIGluIHRoZSBzdGF0ZSBjaGFuZ2VzIHRlc3QgdG9vLgoKMjAwOC0wNS0yOCAxNjoyMjozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBTTVBURSBlZmZlY3QgZWxlbWVudHMgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgU01QVEUgZWZmZWN0IGVsZW1lbnRzIHRvIGRvY3MuCgoyMDA4LTA1LTI4IDE0OjMxOjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb2N1bWVudCB3aGF0cyBmaXJzdCBzaG93biBvbiB0aGUgZmRvIHBsdWdpbiBkb2NzIHBhZ2UgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBEb2N1bWVudCB3aGF0cyBmaXJzdCBzaG93biBvbiB0aGUgZmRvIHBsdWdpbiBkb2NzIHBhZ2UgOikKCjIwMDgtMDUtMjggMTQ6MDc6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlbmFtZSBhdWRpb3ZvaWNlIHRvIGF1ZGlva2FyYW9rZSBhbmQgYWRkIGl0IHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW92b2ljZS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvdm9pY2UuaDoKCSAgUmVuYW1lIGF1ZGlvdm9pY2UgdG8gYXVkaW9rYXJhb2tlIGFuZCBhZGQgaXQgdG8gdGhlIGRvY3MuCgoyMDA4LTA1LTI4IDEzOjI4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb2N1bWVudCBhYXNpbmsgYW5kIGNhY2FzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgIERvY3VtZW50IGFhc2luayBhbmQgY2FjYXNpbmsuCgoyMDA4LTA1LTI4IDA4OjM2OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLio6IGR1cmF0aW9uIGFuZCBsYXRlbmN5IHF1ZXJpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnlfbGF0ZW5jeSksIChnc3RfdmlkZW9taXhlcl9xdWVyeSksCgkgIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIEltcGxlbWVudCBwb3NpdGlvbiAoaW4gdGltZSksIGR1cmF0aW9uIGFuZCBsYXRlbmN5IHF1ZXJpZXMuCgoyMDA4LTA1LTI4IDA4OjE0OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgoyMDA4LTA1LTI3IDE3OjU1OjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci4qOiBJbXBsZW1lbnQgcHJvcGVyIHNlZWsvbmV3c2VnbWVudCBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLCAoZm9yd2FyZF9ldmVudF9mdW5jKSwKCSAgKGZvcndhcmRfZXZlbnQpLCAoZ3N0X3ZpZGVvbWl4ZXJfc3JjX2V2ZW50KSwKCSAgKGdzdF92aWRlb21peGVyX3NpbmtfZXZlbnQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgSW1wbGVtZW50IHByb3BlciBzZWVrL25ld3NlZ21lbnQgaGFuZGxpbmcuCgkgIEJhc2VkIG9uIGFkZGVyJ3MgaW1wbGVtZW50YXRpb24uCgkgIEZpeGVzICM1MzUxMjEKCjIwMDgtMDUtMjYgMTY6MjU6MTUgKzAwMDAgIGpeIDxqQG9pbDIxLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIGNhcHMgZm9yIERWQ1BSTzUwIGFuZCBEVkNQUk8gSEQgUEFML05UU0MuIFNlZSAjNTI2NDgxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqIGF0IG9pbDIxIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIGNhcHMgZm9yIERWQ1BSTzUwIGFuZCBEVkNQUk8gSEQgUEFML05UU0MuIFNlZSAjNTI2NDgxLgoKMjAwOC0wNS0yNiAxNTo1MTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIHNpbXBsZSB2b2ljZSByZW1vdmFsIGVsZW1lbnQuIFlheSBrYXJhb2tlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW92b2ljZS5jOiAoZ3N0X2F1ZGlvX3ZvaWNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fdm9pY2VfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fdm9pY2VfaW5pdCksCgkgICh1cGRhdGVfZmlsdGVyKSwgKGdzdF9hdWRpb192b2ljZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3ZvaWNlX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fdm9pY2Vfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX3ZvaWNlX3RyYW5zZm9ybV9pbnQpLCAoZ3N0X2F1ZGlvX3ZvaWNlX3RyYW5zZm9ybV9mbG9hdCksCgkgIChnc3RfYXVkaW9fdm9pY2VfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmg6CgkgIEFkZCBzaW1wbGUgdm9pY2UgcmVtb3ZhbCBlbGVtZW50LiBZYXkga2FyYW9rZS4KCjIwMDgtMDUtMjYgMTU6Mzk6MjYgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXggcG90ZW50aWFsIGNhcHMgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGRvdCBjb20gZG90IGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIEZpeCBwb3RlbnRpYWwgY2FwcyBsZWFrLgoJICBJZiB3ZSBjYW4ndCBnZXQgdGhlIGZyYW1lcmF0ZSB3aXRoIGFuIGlvY3RsLCB0cnkgdG8gZ2V0IGl0IHdpdGggdGhlCgkgIGN1cnJlbnQgbm9ybS4gRml4ZXMgIzUyMDA5Mi4KCjIwMDgtMDUtMjYgMTU6MTQ6NTUgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBJZiB3ZSBmYWlsIHRvIGdldCB0aGUgZnJhbWUgaW50ZXJ2YWxzLCBzaW1wbHkgZG9uJ3QgdG91Y2ggdGhlIGZyYW1lcmF0ZXMgb24gdGhlIHRlbXBsYXRlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBkb3QgY29tIGRvdCBoaz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBJZiB3ZSBmYWlsIHRvIGdldCB0aGUgZnJhbWUgaW50ZXJ2YWxzLCBzaW1wbHkgZG9uJ3QgdG91Y2ggdGhlIGZyYW1lcmF0ZXMKCSAgb24gdGhlIHRlbXBsYXRlIGNhcHMgaW5zdGVhZCBvZiBkaXNjYXJkaW5nIHRoZSBmb3JtYXQuIFNlZSAjNTIwMDkyLgoKMjAwOC0wNS0yNiAxNDo1Mjo1MSArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBOVjEyLCBOVjIxIGFuZCBiYXllciBzdXBwb3J0LiBTZWUgIzUyMDA5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGRvdCBjb20gZG90IGhrPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKSwKCSAgKGdzdF92NGwyX2dldF9jYXBzX2luZm8pOgoJICBBZGQgTlYxMiwgTlYyMSBhbmQgYmF5ZXIgc3VwcG9ydC4gU2VlICM1MjAwOTIuCgoyMDA4LTA1LTI2IDEzOjUxOjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVbmJyZWFrIHNlZ21lbnQgYWN0aXZhdGlvbiBhZ2Fpbi4gRml4ZXMgIzUzMTY3Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBVbmJyZWFrIHNlZ21lbnQgYWN0aXZhdGlvbiBhZ2Fpbi4gRml4ZXMgIzUzMTY3Mi4KCjIwMDgtMDUtMjYgMTA6Mjg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgQWRkIGFub3RoZXIgZXhhbXBsZSBsYXVuY2ggbGluZS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9pbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9pbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfaW50ZXJsZWF2ZV9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSksCgkgIChmb3J3YXJkX2V2ZW50X2Z1bmMpLCAoZm9yd2FyZF9ldmVudCksIChnc3RfaW50ZXJsZWF2ZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIE1ham9yIHJld3JpdGUgb2YgaW50ZXJsZWF2ZSB1c2luZyBHc3RDb2xsZWN0cGFkcy4gVGhpcyBuZXcgdmVyc2lvbgoJICBhbHNvIHN1cHBvcnRzIGFsbW9zdCBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIGhhcyBiZXR0ZXIgY2FwcwoJICBuZWdvdGlhdGlvbi4gRml4ZXMgYnVnICM1MDY1OTQuCgkgIEFsc28gdXBkYXRlIGRvY3MgYW5kIGFkZCBzb21lIG1vcmUgZXhhbXBsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9jaGFpbl9mdW5jKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLCAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgZXh0ZW5zaXZlIHVuaXQgdGVzdHMgZm9yIGludGVybGVhdmUuCgoyMDA4LTA1LTI2IDA5OjU3OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiAoc3dpdGNoX3RpbWVyKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChzZW5kX3RhZ19ldmVudCk6CgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoKMjAwOC0wNS0yNSAxNjowOTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvOiBTZXQgdGhlIGNoYW5uZWwgbGF5b3V0IHdoZW4gZGVjb2RpbmcgRkxBQyBmaWxlcyB3aXRoIG1vcmUgdGhhbiAyIGNoYW5uZWxzIGFzIGRlZmluZWQgYnkgdGhlIEZMQUMgc3BlYy4gRml4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIFNldCB0aGUgY2hhbm5lbCBsYXlvdXQgd2hlbiBkZWNvZGluZyBGTEFDIGZpbGVzIHdpdGggbW9yZSB0aGFuIDIKCSAgY2hhbm5lbHMgYXMgZGVmaW5lZCBieSB0aGUgRkxBQyBzcGVjLiBGaXhlcyBidWcgIzUzNDU3MC4KCSAgQWxzbyBkb24ndCB0cnkgdG8gZGVjb2RlIGxlZnQvc2lkZSwgcmlnaHQvc2lkZSBhbmQgbWlkL3NpZGUgZmlsZXMKCSAgYXMgd2UgZG9uJ3Qgc3VwcG9ydCB0aGlzIGF0IGFsbC4KCjIwMDgtMDUtMjQgMTI6NTU6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFdlIG5lZWQgLWJhc2UgQ1ZTIChydHNwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBuZWVkIC1iYXNlIENWUyAocnRzcCkuCgoyMDA4LTA1LTIyIDE5OjQ3OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQKCSAgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgQWRkIGEgcGFyYXByYXBoIGFib3V0IHVzaW5nIGEgcXVldWUgYW5kIGF1ZGlvY29udmVydCBhZnRlciB0aGUgc291cmNlCgkgIHBhZHMgdG8gdGhlIGRvY3MuCgoyMDA4LTA1LTIyIDE4OjU1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZCBhbmQgdGhlIGRlZmF1bHQgZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19nZXRjYXBzKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZAoJICBhbmQgdGhlIGRlZmF1bHQgZ2V0Y2FwcygpIGZ1bmN0aW9uIHJldHVybnMgdGhlIGNvcnJlY3QgcmVzdWx0cyBmb3IKCSAgb3VyIHNyYyBwYWRzLgoJICBDb21wbGV0ZSBkb2N1bWVudGF0aW9uIGFuZCBhZGQgbXlzZWxmIHRvIHRoZSBhdXRob3JzIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wNS0yMiAxNDo0OTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC91ZHAvTWFrZWZpbGUuYW06IEFkZCAtRF9HTlVfU09VUkNFIHRvIENGTEFHUyBzbyB3ZSBnZXQgdGhpbmdzIGxpa2UgRUFJX0FERFJGQU1JTFkgd2hlbiBpbmNsdWRpbmcgbmV0ZGIuaCB3aGVuIGJ1aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICBBZGQgLURfR05VX1NPVVJDRSB0byBDRkxBR1Mgc28gd2UgZ2V0IHRoaW5ncyBsaWtlIEVBSV9BRERSRkFNSUxZCgkgIHdoZW4gaW5jbHVkaW5nIG5ldGRiLmggd2hlbiBidWlsZGluZyBhZ2FpbnN0IGdsaWJjID49IDIuOC4KCjIwMDgtMDUtMjIgMTE6MTk6MDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzogRml4IGRlYnVnIHN0YXRlbWVudCBhcmd1bWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA1LTIyICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6IChnc3Rfc21wdGVfYWxwaGFfc2V0Y2Fwcyk6IEZpeAoJICBkZWJ1ZyBzdGF0ZW1lbnQgYXJndW1lbnRzLgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3NldHVwX3Fvc19kc2NwKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2pvaW5fZ3JvdXApLAoJICAoZ3N0X3VkcF9sZWF2ZV9ncm91cCk6IEZpeCBJUCBhbmQgSVBWNiBvcHRpb25zIHRvIG1ha2UgaXQgd29yawoJICBvbiBtb3JlIHBsYXRmb3Jtcy4KCjIwMDgtMDUtMjEgMTc6NTE6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfcGFkKCksIGl0J3MgYSBiYWQsIGJhZCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoaWN5ZGVtdXhfZm91bmRfcGFkKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX3NpbmtfcGFkKSwgKHRlYXJkb3duX3NpbmtfcGFkKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKSwKCSAgKHNldHVwX3dhdnBhY2twYXJzZSksIChjbGVhbnVwX3dhdnBhY2twYXJzZSk6CgkgIERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfcGFkKCksIGl0J3MgYSBiYWQsIGJhZCBtZXRob2QuCgoyMDA4LTA1LTIxIDE3OjM5OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLCAoZ3N0X3J0c3BzcmNfc2tpcF9sd3MpLAoJICAoZ3N0X3J0c3BzcmNfdW5za2lwX2x3cyksIChnc3RfcnRzcHNyY19za2lwX2NvbW1hcyksCgkgIChnc3RfcnRzcHNyY19za2lwX2l0ZW0pLCAoZ3N0X3J0c3BfZGVjb2RlX3F1b3RlZF9zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfZGlnZXN0X2NoYWxsZW5nZSksIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkcik6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHRlc3Rfd2l0aF9jYXBzKSwKCSAgKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2Fwcyk6CgkgIERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfcGFkKCksIGl0J3MgYSBiYWQgbWV0aG9kLgoKMjAwOC0wNS0yMSAxNzozNTo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvOiBKb2luaW5nIGEgbXVsdGljYXN0IGdyb3VwIGFuZCBzZXR0aW5nIHRoZSBsb29wL3R0bCBwcm9wZXJ0aWVzIGFyZSB0b3RhbGx5IHVucmVsYXRlZCB0YXNrcyBhcmUgbXVzdCBiZSBzZXBhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfc2V0X2xvb3BfdHRsKSwKCSAgKGdzdF91ZHBfam9pbl9ncm91cCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgSm9pbmluZyBhIG11bHRpY2FzdCBncm91cCBhbmQgc2V0dGluZyB0aGUgbG9vcC90dGwgcHJvcGVydGllcyBhcmUKCSAgdG90YWxseSB1bnJlbGF0ZWQgdGFza3MgYXJlIG11c3QgYmUgc2VwYXJhdGVkLgoKMjAwOC0wNS0yMSAxNDowOTo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQWxzbyBzdXBwb3J0IGFsYXcvbXVsYXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEFsc28gc3VwcG9ydCBhbGF3L211bGF3LgoKMjAwOC0wNS0yMSAxMzo0Nzo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IEFkZCBhIGZpeG1lIGZvciB0aGUgYXV0by1tdWx0aWNhc3QgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXR1cF9xb3NfZHNjcCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIGEgZml4bWUgZm9yIHRoZSBhdXRvLW11bHRpY2FzdCBwcm9wZXJ0eS4KCSAgRml4IHNvbWUgY29uZnVzaW5nIGRlYnVnIG1lc3NhZ2VzLgoJICBEaXNhYmxlIHNldHRpbmcgYSBxb3MgdmFsdWUgYnkgZGVmYXVsdC4KCjIwMDgtMDUtMjEgMTE6Mzg6MTcgKzAwMDAgIEd1c3RhZiBSw6RudGlsw6QgPGcucmFudGlsYUBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBJZ25vcmUgRVBFUk0gZXJyb3JzIGZyb20gc2VuZHRvLiBGaXhlcyAjNTMzNjE5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEd1c3RhZiBSw6RudGlsw6QgPGcgZG90IHJhbnRpbGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpOgoJICBJZ25vcmUgRVBFUk0gZXJyb3JzIGZyb20gc2VuZHRvLiBGaXhlcyAjNTMzNjE5LgoKMjAwOC0wNS0yMSAxMDo1MTo1MiArMDAwMCAgSGVucmlrIEVyaWtzc29uIDxoZW5yaWtlbkBheGlzLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IEFkZCBxb3MtZHNjcCBwcm9wZXJ0eSB0byBtYW5hZ2UgdGhlIFF1YWxpdHkgb2Ygc2VydmljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIZW5yaWsgRXJpa3Nzb24gPGhlbnJpa2VuIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldHVwX3Fvc19kc2NwKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgcW9zLWRzY3AgcHJvcGVydHkgdG8gbWFuYWdlIHRoZSBRdWFsaXR5IG9mIHNlcnZpY2UuCgoyMDA4LTA1LTIxIDEwOjA5OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiBJbXByb3ZlIGRlYnVnZ2luZyBvZiB0aGUgaWRlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3Byb2Nlc3MpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBvZiB0aGUgaWRlbnQuCgoyMDA4LTA1LTIxIDA5OjU2OjAyICswMDAwICBCcnVubyBTYW50b3MgPGJydW5vZkB1YS5wdD4KCgkgIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuKjogUHJvdmlkZSBhIGJ1bmNoIG9mIGhlbHBlciBtZXRob2RzIHRvIGRlYWwgd2l0aCBJUHY0IGFuZCBJUHY2IHRyYW5zcGFyZW50bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJ1bm8gU2FudG9zIDxicnVub2YgYXQgdWEgZG90IHB0PgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfZ2V0X2FkZHIpLAoJICAoZ3N0X3VkcF9qb2luX2dyb3VwKSwgKGdzdF91ZHBfbGVhdmVfZ3JvdXApLAoJICAoZ3N0X3VkcF9pc19tdWx0aWNhc3QpOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgUHJvdmlkZSBhIGJ1bmNoIG9mIGhlbHBlciBtZXRob2RzIHRvIGRlYWwgd2l0aCBJUHY0IGFuZCBJUHY2CgkgIHRyYW5zcGFyZW50bHkuCgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLCAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLCAoam9pbl9tdWx0aWNhc3QpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBtdWx0aWNhc3QgVFRMIGFuZCBsb29wYmFjayBwcm9wZXJ0aWVzLgoJICBVc2UgdGhlIGhlbHBlciBtZXRob2RzIHRvIGltcGxlbWVudCBpcDQgYW5kIGlwNi4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgVXNlIHRoZSBoZWxwZXIgbWV0aG9kcyB0byBpbXBsZW1lbnQgaXA0IGFuZCBpcDYuCgkgIEZpeGVzICM1MTU5NjIuCgoyMDA4LTA1LTIxIDA5OjM4OjQ4ICswMDAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemlAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lio6IERvbid0IGJsaW5kbHkgY29weSB0aGUgbWltZS10eXBlIGFzIHRoZSBjYXBzIG5hbWUgYmVjYXVzZSB0aGV5IG5vdCBhbHdheXMgbWFwIGRpcmVjdGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQYXRyaWNrIFJhZGl6aSA8cGF0cmljayBkb3QgcmFkaXppIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9nZXRfZ3N0bmFtZSksCgkgIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBEb24ndCBibGluZGx5IGNvcHkgdGhlIG1pbWUtdHlwZSBhcyB0aGUgY2FwcyBuYW1lIGJlY2F1c2UgdGhleSBub3QKCSAgYWx3YXlzIG1hcCBkaXJlY3RseS4gSW5zdGVhZCB1c2UgYSBoYXNodGFibGUgd2l0aCBjb21tb24gbWFwcGluZ3MuCgkgIEZpeGVzICM1MzMyODcuCgoyMDA4LTA1LTIwIDE3OjI3OjM1ICswMDAwICBNaWNoYWVsIE1lZWtzIDxtbWVla3NAeGltaWFuLm9yZz4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBXaGVuIHdlIHBvc3QgYW4gZXJyb3IsIHdlIG11c3QgcmV0dXJuIC0xIHRvIGxldCB0aGUgcGFyZW50IGtub3cgdGhhdCB3ZSBjYW5ub3Qgd3JpdGUgdGhlIHNlZ21lbnQgZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3dyaXRlKToKCSAgV2hlbiB3ZSBwb3N0IGFuIGVycm9yLCB3ZSBtdXN0IHJldHVybiAtMSB0byBsZXQgdGhlIHBhcmVudCBrbm93IHRoYXQgd2UKCSAgY2Fubm90IHdyaXRlIHRoZSBzZWdtZW50IGVsc2UgaXQgd2lsbCBsb29wIGFuZCBjb250aW51ZSB0byBjYWxsIHVzIGFnYWluCgkgIGZvcmV2ZXIuIFBhdGNoIGJ5IE1pY2hhZWwgTWVla3MuCgoyMDA4LTA1LTIwIDE0OjI0OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEFkZCBtaXNzaW5nIGluY3VkZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgQWRkIG1pc3NpbmcgaW5jdWRlcy4KCjIwMDgtMDUtMjAgMTM6NTc6NDQgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IENvcnJlY3QgYSB0eXBvIChzaW5sZSAtPiBzaW5nbGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9oMjY0X3NjYW5fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBDb3JyZWN0IGEgdHlwbyAoc2lubGUgLT4gc2luZ2xlKS4KCjIwMDgtMDUtMjAgMTE6MzM6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS4qOiBBZGQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIG91dHB1dHRpbmcgcXVpY2t0aW1lLWxpa2UgQVZDIG91dHB1dCBpbiBhZGRpdGlvbiB0byB0aGUgZXhpc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9pbml0KSwgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgQWRkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBvdXRwdXR0aW5nIHF1aWNrdGltZS1saWtlIEFWQyBvdXRwdXQgaW4KCSAgYWRkaXRpb24gdG8gdGhlIGV4aXN0aW5nIGJ5dGVzdHJlYW0gb3V0cHV0LgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X2gyNjRfc2Nhbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9wYXlfcGF5bG9hZF9uYWwpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKSwgKGdzdF9ydHBfaDI2NF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgTWFrZSB0aGUgcGFyc2luZyBtb2RlIGNvbmZpZ3VyYWJsZSwgZm9yIHNvbWUgaW5wdXRzIHdlIGRvbid0IG5lZWQgdG8KCSAgc2NhbiBldmVyeSBieXRlIGZvciBzdGFydCBjb2Rlcy4KCSAgT25seSBzZXQgdGhlIG1hcmtlciBiaXQgb24gQUNDRVNTIHVuaXRzLgoKMjAwOC0wNS0yMCAxMDo0NzoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogVXNlIGEgYmlnZ2VyIHR5cGUgaW4gaW50ZWdlciBtb2RlIGZvciB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdHMgdG8gcHJldmVudCBvdmVyZmxvd3MuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIFVzZSBhIGJpZ2dlciB0eXBlIGluIGludGVnZXIgbW9kZSBmb3IgdGhlIGludGVybWVkaWF0ZSByZXN1bHRzIHRvCgkgIHByZXZlbnQgb3ZlcmZsb3dzLiBUaGlzIGZpeGVzIHRoZSBjcmlwcGxlZCBzb3VuZCB3aGVuIHVzaW5nIHRoZQoJICBlcXVhbGl6ZXIgaW4gaW50ZWdlciBtb2RlLiBGaXhlcyBidWcgIzUxMDg2NS4KCjIwMDgtMDUtMjAgMTA6NDI6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci4qOiBJbnN0ZWFkIG9mIGEgcmFuZG9tIG51bWJlciBmb3IgdGhlIHJlcXVlc3QgcGFkIGlkJ3MsIHVzZSBhIGNvdW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIEluc3RlYWQgb2YgYSByYW5kb20gbnVtYmVyIGZvciB0aGUgcmVxdWVzdCBwYWQgaWQncywKCSAgdXNlIGEgY291bnRlci4KCSAgUmVnaXN0ZXIgdGhlIHZpZGVvbWl4ZXJwYWQgY2xhc3MgZnJvbSB0aGUgZWxlbWVudCdzIGNsYXNzX2luaXQKCSAgd2hlcmUgaXQncyBzYWZlciwgYW5kIGFsbG93cyB0aGUgZG9jcyBnZW5lcmF0b3IgdG8gc2NhbiBpdC4KCjIwMDgtMDUtMjAgMDk6Mjk6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvOiBBZGQgbmV3IHBsdWdpbiB0aGF0IGFkZHMgdGhlIFNNUFRFIHRyYW5zaXRpb24gaW4gdGhlIGFscGhhIGNoYW5uZWwgb2YKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX3BsdWdpbl9pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICAoZ3N0X3NtcHRlX2FscGhhX3RyYW5zaXRpb25fdHlwZV9nZXRfdHlwZSksCgkgIChnc3Rfc21wdGVfYWxwaGFfZ2V0X3R5cGUpLCAoZ3N0X3NtcHRlX2FscGhhX2Jhc2VfaW5pdCksCgkgIChnc3Rfc21wdGVfYWxwaGFfY2xhc3NfaW5pdCksIChnc3Rfc21wdGVfYWxwaGFfdXBkYXRlX21hc2spLAoJICAoZ3N0X3NtcHRlX2FscGhhX3NldGNhcHMpLCAoZ3N0X3NtcHRlX2FscGhhX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2luaXQpLCAoZ3N0X3NtcHRlX2FscGhhX2ZpbmFsaXplKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9kb19heXV2KSwgKGdzdF9zbXB0ZV9hbHBoYV9kb19pNDIwKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV90cmFuc2Zvcm0pLCAoZ3N0X3NtcHRlX2FscGhhX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc21wdGVfYWxwaGFfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zbXB0ZV9hbHBoYV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgKiBnc3Qvc21wdGUvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBuZXcgcGx1Z2luIHRoYXQgYWRkcyB0aGUgU01QVEUgdHJhbnNpdGlvbiBpbiB0aGUgYWxwaGEgY2hhbm5lbCBvZgoJICBJNDIwIGFuZCBBWVVWIGZyYW1lcyBzbyB0aGF0IHRoZXkgY2FuIGJlIGJsZW5kZWQgd2l0aCB2aWRlb21peGVyIGxhdGVyCgkgIG9uLiBVc2VzIGFsbCBuaWNldGllcyBzdWNoIGFzIHVzaW5nIGJhc2UgdHJhbnNmb3JtIGZvciBlZmZpY2llbnQgYWxsb2MKCSAgYW5kIG5lZ290aWF0aW9uLiBJdCBjdXJyZW50bHkgcmVxdWlyZXMgR3N0Q29udHJvbGxlciB0byBjb250cm9sIHRoZQoJICBwb3NpdGlvbiBpbiB0aGUgdHJhbnNpdGlvbiBlZmZlY3QuCgoyMDA4LTA1LTE5IDIxOjA1OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBUcnkgdXNpbmcgdGhheXRhbnMgbmV3IG1lY2hhbmlzbSB0byBnZXQgZXh0cmEgY2xhc3NlcyBpbnRvIHBsdWdpbiBkb2NzLiBBcGFyZW50bHkgd29ya3MgZm9yIHRoZSBFcS4gRm9yIFZpZGVvTWl4ZXIgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgVHJ5IHVzaW5nIHRoYXl0YW5zIG5ldyBtZWNoYW5pc20gdG8gZ2V0IGV4dHJhIGNsYXNzZXMgaW50byBwbHVnaW4KCSAgZG9jcy4gQXBhcmVudGx5IHdvcmtzIGZvciB0aGUgRXEuIEZvciBWaWRlb01peGVyIHRoZSBHT2JqZWN0IHN0dWZmIGlzCgkgIG1pc3Npbmcgc3RpbGwuCgoyMDA4LTA1LTE5IDEyOjMyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUgdGhhdCB0aGUgb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFNldCBrZWVwLXBvc2l0aW9ucyBwcm9wZXJ0eSB0byBUUlVFIGZvciB0aGUgOCBjaGFubmVsIHRlc3QgdG8gZW5zdXJlCgkgIHRoYXQgdGhlIG9yaWdpbmFsIGNoYW5uZWwgcG9zaXRpb24gaXMgc2V0IG9uIHRoZSBvdXRwdXQuCgoyMDA4LTA1LTE5IDA3OjQ2OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24gdGhlIG1vbm8gb3V0cHV0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2V0X3BhZHNfY2FwcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGV0aGVyIGNoYW5uZWwgcG9zaXRpb25zIHNob3VsZCBiZSBrZXB0IG9uCgkgIHRoZSBtb25vIG91dHB1dCBidWZmZXJzIG9yIHNob3VsZCBiZSBkcm9wcGVkLgoKMjAwOC0wNS0xOCAxOToyNzo1OSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBTZXQgcHJvcGVyIHJhdGUgaW4gYXZpIHN0cmVhbSBoZWFkZXIgZm9yIFBDTSBhdWRpbywgYW5kIGFsc28gZG8gc29tZSBtb3JlIHNhbml0eSBjaGVja3Mgb24gY2FwcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpOgoJICBTZXQgcHJvcGVyIHJhdGUgaW4gYXZpIHN0cmVhbSBoZWFkZXIgZm9yIFBDTSBhdWRpbywgYW5kIGFsc28gZG8gc29tZQoJICBtb3JlIHNhbml0eSBjaGVja3Mgb24gY2FwcyBpbiB0aGlzIGNhc2UuICBGaXhlcyAjNTExNDg5LgoKMjAwOC0wNS0xNyAxOTozOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UgZG93bnN0cmVhbSB3aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UKCSAgZG93bnN0cmVhbSB3aWxsIG5ldmVyIGdldCB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudC4KCjIwMDgtMDUtMTcgMTQ6MDU6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKSByZXR1cm5zIHNvbWV0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0Y2Fwcyk6CgkgIEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpCgkgIHJldHVybnMgc29tZXRoaW5nLCBldmVuIGlmIHRoZXkncmUgbm90IHNldCBpbiB0aGUgY2Fwcy4gVGhpcyBtYWtlcwoJICBzdXJlIHRoYXQgdGhlIG91dHB1dCBjaGFubmVscyBjYW4gYmUgaW50ZXJsZWF2ZWQgYWdhaW4gY29ycmVjdGx5CgkgIGluIHRoZSBtb25vL3N0ZXJlbyBjYXNlcyB0b28uCgkgIERvbid0IGFzayBmb3IgdGhlIHBlZXJjYXBzIG9mIHRoZSBjdXJyZW50IHBhZCBpbiBnZXRjYXBzKCkgYXMgdGhpcwoJICBtaWdodCBjYWxsIGdldGNhcHMoKSBhZ2FpbiBhbmQgZGVhZGxvY2suCgoyMDA4LTA1LTE3IDEwOjM4OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IERvbid0IGluY2x1ZGUgdGhlIGdzdHY0bDJ4b3ZlcmxheS5oIGhlYWRlciBhcyB0aGUgWE92ZXJsYXkgc3VwcG9ydCBpc24ndCBpbXBsZW1lbnRlZCBhdCBhbGwgeWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBEb24ndCBpbmNsdWRlIHRoZSBnc3R2NGwyeG92ZXJsYXkuaCBoZWFkZXIgYXMgdGhlIFhPdmVybGF5IHN1cHBvcnQKCSAgaXNuJ3QgaW1wbGVtZW50ZWQgYXQgYWxsIHlldCBhbmQgdGhpcyByZXF1aXJlcyBYIGhlYWRlcnMgdG8gYmUKCSAgaW5zdGFsbGVkLiBGaXhlcyBidWcgIzUzMzI2NC4KCjIwMDgtMDUtMTYgMjE6NTY6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24gaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24KCSAgaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBEb24ndCBhbGxvdyBjaGFuZ2VzIG9mIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBhbmQgc2V0IHRoZSBwb3NpdGlvbiBvZgoJICB0aGUgY29ycmVzcG9uZGluZyBjaGFubmVsIG9uIHRoZSBzcmMgcGFkIGNhcHMuCgkgIEdlbmVyYWwgY2xlYW51cCBhbmQgc21hbGxlciBidWdmaXhlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSk6CgkgIENoZWNrIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciBjYXBzLgoKMjAwOC0wNS0xNiAxNzo1MDoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTA1LTE0IDE4OjI4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogU21hbGwgY29tbWVudCBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgU21hbGwgY29tbWVudCBhZGRlZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2RlY29kZV9uYWwpLCAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfcGF5bG9hZF9uYWwpLCAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRGVidWcgc3RyaW5nIGNsZWFudXBzIChyZW1vdmUgdHJhaWxpbmcgXG4pCgkgIFJlZmFjdG9yIGFuZCBjbGVhbiB1cCB0aGUgcGF5bG9hZGVyIGEgYml0IGFuZCBtYWtlIHN1cmUgdGhhdCB3ZSBvbmx5CgkgIHB1dCBvbmUgTkFMIHVuaXQgaW4gYW4gUlRQIHBhY2tldCBldmVuIGlmIHRoZSBpbnB1dCBidWZmZXIgY29udGFpbnMKCSAgbXVsdGlwbGUgTkFMIHVuaXRzLgoJICBBZGQgc3Vwb3J0IGZvciBBVkMgZm9ybWF0IGlucHV0LgoKMjAwOC0wNS0xNCAxNzo1ODo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogTWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5IHByb2ZpbGUtbGV2ZWwtaWQgYW5kIHNwcm9wLXBhcmFtZXRlci1zZXRzIHVzaW5nIHByb3BlcnRpZXMgaW4gY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjY0X3BheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkgcHJvZmlsZS1sZXZlbC1pZCBhbmQgc3Byb3AtcGFyYW1ldGVyLXNldHMKCSAgdXNpbmcgcHJvcGVydGllcyBpbiBjYXNlIHRoZXkgYXJlIG5vdCBhdmFpbGFibGUgaW4tc3RyZWFtLgoKMjAwOC0wNS0xNCAxNDoxOTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcyB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLCBzaW5jZSBpdCBjYXVzZXMKCSAgd2VpcmQgaW52YWxpZCBmcmVlIGVycm9ycyBpbiB2YWxncmluZC9saWJjIGFmdGVyIF9leGl0IGZvciBzb21lCgkgIHJlYXNvbi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKHBhZHNfY3JlYXRlZCksCgkgIChzZXRfY2hhbm5lbF9wb3NpdGlvbnMpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMl84Y2gpLAoJICAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKSwKCSAgKG1ha2VfZmFrZV9zcmNfOGNoYW5zX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBkZWludGVybGVhdmUgdW5pdCB0ZXN0IGJpdHMgSSBoYWQgbG9jYWxseS4KCjIwMDgtMDUtMTQgMTI6NTI6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFJlbW92ZSBsYWRzcGEgZnJvIHBsdWdpbi1kb2NzLCBpdHMgaW4gZ3N0LXBsdWdpbnMtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgIFJlbW92ZSBsYWRzcGEgZnJvIHBsdWdpbi1kb2NzLCBpdHMgaW4gZ3N0LXBsdWdpbnMtYmFkLgoKMjAwOC0wNS0xNCAwNzozMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBTcGxpdCBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlcyBmb3IgYmV0dGVyIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICBTcGxpdCBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlcyBmb3IgYmV0dGVyIGRvY3VtZW50YXRpb24KCSAgZ2VuZXJhdGlvbi4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICBEb24ndCB1c2UgYWxsb2NhLCBhbGxvdyBjYXBzIGNoYW5nZXMgYXMgbG9uZyBhcyB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIGRvZXMgbm90IGNoYW5nZSwgZG9uJ3QgdXNlIGdfd2FybmluZywgcmV0dXJuIE5PVF9ORUdPVElBVEVEIGFzIGVhcmx5CgkgIGFzIHBvc3NpYmxlIGFuZCBzb21lIG90aGVyIGNsZWFudXAuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICBEbyBzb21lIHJhbmRvbSBjbGVhbnVwLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZGVpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLCAoZGVpbnRlcmxlYXZlX3BhZF9hZGRlZCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhlIGRlaW50ZXJsZWF2ZSBlbGVtZW50LgoKMjAwOC0wNS0xMyAyMDoyNToyMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBTZW5kIGFuIGluaXRpYWwgQllURSBzZWdtZW50IHRvIGluZm9ybSBkb3duc3RyZWFtIG9mIGxhdGVyIHNlZWtpbmcsIGFuZCB0byBmb3JlZ28gc3luYyBhdHRlbXB0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpOgoJICBTZW5kIGFuIGluaXRpYWwgQllURSBzZWdtZW50IHRvIGluZm9ybSBkb3duc3RyZWFtIG9mIGxhdGVyIHNlZWtpbmcsCgkgIGFuZCB0byBmb3JlZ28gc3luYyBhdHRlbXB0cy4KCjIwMDgtMDUtMTMgMDg6NTk6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiBGaXggd3JvbmcgY2FwcyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6IChnc3RfcnRwX2c3MjlfZGVwYXlfc2V0Y2Fwcyk6CgkgIEZpeCB3cm9uZyBjYXBzIHN0cmluZy4KCjIwMDgtMDUtMTMgMDg6MzU6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogQWRkZWQgRzcyOSBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzUzMjQwOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzogKGdzdF9ydHBfZzcyOV9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9nNzI5X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI5X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9nNzI5X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cGc3MjlwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBnNzI5cGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cGc3MjlwYXlfaW5pdCksCgkgIChnc3RfcnRwZzcyOXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyOV9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBBZGRlZCBHNzI5IHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTMyNDA5LgoKMjAwOC0wNS0xMyAwODoyMToyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBGaXggdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBkdXJhdGlvbiBvZiB0aGUgY29uY2VhbG1lbnQgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfc2lua19ldmVudCk6CgkgIEZpeCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIGR1cmF0aW9uIG9mIHRoZSBjb25jZWFsbWVudCBwYWNrZXRzLgoKMjAwOC0wNS0xMiAxODoyNzoyNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBBZGQgRFYgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOiAoZ3N0X3J0cF9kdl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9kdl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZHZfZGVwYXlfaW5pdCksCgkgIChwYXJzZV9lbmNvZGUpLCAoZ3N0X3J0cF9kdl9kZXBheV9zZXRjYXBzKSwKCSAgKGNhbGN1bGF0ZV9kaWZibG9ja19sb2NhdGlvbiksIChnc3RfcnRwX2R2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9kdl9kZXBheV9yZXNldCksIChnc3RfcnRwX2R2X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2R2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6IChnc3RfZHZfcGF5X21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9kdl9wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfZHZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9kdl9wYXlfaW5pdCksIChnc3RfZHZfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHZfcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2R2X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9kdl9wYXlfbmVnb3RpYXRlKSwgKGluY2x1ZGVfZGlmKSwKCSAgKGdzdF9ydHBfZHZfcGF5X2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cF9kdl9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSAgQWRkIERWIHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTMyNDIzLgoKMjAwOC0wNS0xMiAxNjozNTozOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogQ29udmVydCBzdWJ0aXRsZSBwYWxldHRlIGluZm8gaW4gVm9iU3ViIHByaXZhdGUgZGF0YSBmcm9tIFZvYlN1YidzIChidWdneSkgUkdCIHRvIFlVVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9kdmRfY2x1dF9jaGFuZ2VfZXZlbnQpOgoJICBDb252ZXJ0IHN1YnRpdGxlIHBhbGV0dGUgaW5mbyBpbiBWb2JTdWIgcHJpdmF0ZSBkYXRhIGZyb20gVm9iU3ViJ3MKCSAgKGJ1Z2d5KSBSR0IgdG8gWVVWLgoKMjAwOC0wNS0xMiAxNToyNjowMSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBEbyBub3QgbGVhdmUgZm91cmNjIHN0cmVhbSBoZWFkZXIgZmllbGQgZW1wdHkgdXBvbiByZXNldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3BhZF9yZXNldCk6CgkgIERvIG5vdCBsZWF2ZSBmb3VyY2Mgc3RyZWFtIGhlYWRlciBmaWVsZCBlbXB0eSB1cG9uIHJlc2V0LgoJICBGaXhlcyAjNTE5MzAxLgoKMjAwOC0wNS0xMSAxNDo0MzoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgZ29vbTJrMSBpbnRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIEFkZCBnb29tMmsxIGludG8gdGhlIGRvY3MuCgoyMDA4LTA1LTA4IDE2OjU4OjAyICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBTdXBwb3J0IERpZ2VzdCBhdXRoZW50aWNhdGlvbi4gRml4ZXMgIzUzMjA2NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NraXBfbHdzKSwgKGdzdF9ydHNwc3JjX3Vuc2tpcF9sd3MpLAoJICAoZ3N0X3J0c3BzcmNfc2tpcF9jb21tYXMpLCAoZ3N0X3J0c3BzcmNfc2tpcF9pdGVtKSwKCSAgKGdzdF9ydHNwX2RlY29kZV9xdW90ZWRfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX2RpZ2VzdF9jaGFsbGVuZ2UpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCk6CgkgIFN1cHBvcnQgRGlnZXN0IGF1dGhlbnRpY2F0aW9uLiBGaXhlcyAjNTMyMDY1LgoKMjAwOC0wNS0wOCAxMDoyMDo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEFsc28gc3VwcG9ydCAzMmJpdCAoZS5nLiB3aGUgaGF2aW5nIGl0IGFmdGVyICdtYWQnKS4gQWRkIG1vcmUgbm90ZXMgYWJvdXQgd2hhdHMgbmVlZGVkIGZvciBsaWJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBBbHNvIHN1cHBvcnQgMzJiaXQgKGUuZy4gd2hlIGhhdmluZyBpdCBhZnRlciAnbWFkJykuIEFkZCBtb3JlIG5vdGVzCgkgIGFib3V0IHdoYXRzIG5lZWRlZCBmb3IgbGlib2lsIGFjY2VsZXJhdGlvbi4gU2ltcGxpZnkgZG9jcyBhIGJpdC4KCjIwMDgtMDUtMDggMDg6MTU6MzQgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVXBkYXRlIHRoZSB0cmFjayBkdXJhdGlvbiBpZiB0aGUgb2xkIG9uZSB3YXMgaW52YWxpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgVXBkYXRlIHRoZSB0cmFjayBkdXJhdGlvbiBpZiB0aGUgb2xkIG9uZSB3YXMgaW52YWxpZC4KCSAgRml4ZXMgYnVnICM1MzIxMTcuCgoyMDA4LTA1LTA3IDE2OjM2OjA0ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMgKGdzdF9ydHBfaDI2NF9wYXlfcGFyc2Vfc3BzX3Bwcyk6IFVzZSBHU1RfU1RSX05VTEwgd2hlbiB0cnlpbmcgdG8gcHJpbnQgc3BzIGFuZCBwcHMgc3RyaW5ncyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpOgoJICBVc2UgR1NUX1NUUl9OVUxMIHdoZW4gdHJ5aW5nIHRvIHByaW50IHNwcyBhbmQgcHBzIHN0cmluZ3MgdGhhdCBjb3VsZAoJICBiZSBOVUxMLCBhcyB0aGlzIG1pZ2h0IGNyYXNoIG9uIHNvbWUgcGxhdGZvcm1zLgoKMjAwOC0wNS0wNyAxNTozMzo1MiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KTogRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KToKCSAgRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IElEIGhhcyBhbHJlYWR5IGJlZW4KCSAgc2V0IGFmdGVyIGNyZWF0aW5nIHRoZSBjbGlwcGVyLgoKMjAwOC0wNS0wNyAxNToyODowNiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOiBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnN1Y2Nlc3NmdWwKCSAgSURpcmVjdERyYXdTdXJmYWNlN19Mb2NrKCkgY2FsbC4KCSAgSWYgc3VyZmFjZSBpcyBsb3N0LCByZXR1cm4gR1NUX0ZMT1dfT0suCgoyMDA4LTA1LTA3IDE1OjE5OjQ3ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgV25kUHJvYywgZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgSW1wcm92ZWQgV2luZG93cyBtZXNzYWdlIGxvb3AgYW5kIGZpeGVkIHdpbmRvdyBkZXN0cnVjdGlvbiBpc3N1ZS4KCSAgV2hlbiB0aGUgd2luZG93IHdoaWNoIERpcmVjdERyYXcgaXMgcmVuZGVyaW5nIHRvIGlzIGRlc3Ryb3llZCwgdGhlCgkgIHJlbmRlci9zaG93X2ZyYW1lIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTU6MDk6MTAgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6IEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6CgkgIEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyZWVuIHN1cmZhY2UgaXMgbm93CgkgIHJlbGVhc2VkIHdoZW4gc2V0X2NhcHMgaXMgY2FsbGVkLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTQ6NTY6MjIgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBNYWtlIGl0IHNvIHRoYXQgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MgdXNlcyB0aGUgcmlnaHQKCSAgd2lkdGgvaGVpZ2h0LgoJICBFc3BlY2lhbGx5IHdoZW4gbG9va2luZyB0aHJvdWdoIHRoZSBwb29sIG9mIGJ1ZmZlcnMsIG1ha2Ugc3VyZSB0aGF0CgkgIHRoZSB3aWR0aC9oZWlnaHQgb2YgY2FwcyBpcyB1c2VkIGluc3RlYWQgb2YgdGhlIGFscmVhZHkgbmVnb3RpYXRlZAoJICBkaW1lbnNpb25zLgoJICBGb3IgZXhhbXBsZSBpZiBhIGJ1ZmZlciB3aXRoIGRpZmZlcmVudCBjYXBzIGlzIHJlcXVlc3RlZCwgaS5lLgoJICBoaWdoZXIgcmVzb2x1dGlvbiwgdGhlIGNhbGxlciB3b3VsZCBnZXQgYSBidWZmZXIgd2l0aCB0aGUgb2xkCgkgIGRpbWVuc2lvbnMgYW5kIHRodXMgY29ycnVwdCB0aGUgaGVhcC4KCjIwMDgtMDUtMDcgMTQ6NDM6MzkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoJICBUaGUgcmlnaHQgZml4IHRoaXMgdGltZS4KCjIwMDgtMDUtMDcgMTQ6Mzk6NDUgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgUmV2ZXJ0aW5nIHByZXZpb3VzIGNvbW1pdCwgaXQgaGFkIGl0IGFsbCBtaXhlZCB1cCwgd2FzIGZvciBhIGRpZmZlcmVudAoJICBwYXRjaCAobWFqb3IgYXV0b21hdGlvbiBzY3Jldy11cCkuIFNvcnJ5IQoKMjAwOC0wNS0wNyAxMzo0ODoyOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTE6MjI6NTEgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQgc3R5bGUgY29uc2lzdGVudCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgIEFkZGVkIG1pc3Npbmcgc3RkbGliLmggaW5jbHVkZSBmb3Igc3RydG9sKCksIGFuZCBtYWRlIGluY2x1ZGUgb3JkZXJpbmcgYW5kCgkgIHN0eWxlIGNvbnNpc3RlbnQgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBkZXBheWxvYWRlci4KCjIwMDgtMDUtMDcgMDk6NTI6MzQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQgc3R5bGUgY29uc2lzdGVudCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgIEFkZGVkIG1pc3Npbmcgc3RkbGliLmggaW5jbHVkZSBmb3Igc3RydG9sKCksIGFuZCBtYWRlIGluY2x1ZGUgb3JkZXJpbmcgYW5kCgkgIHN0eWxlIGNvbnNpc3RlbnQgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBkZXBheWxvYWRlci4KCjIwMDgtMDUtMDcgMDg6MDM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCBjb3JlL2Jhc2UgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIGNvcmUvYmFzZSB2ZXJzaW9ucy4KCjIwMDgtMDUtMDYgMDk6MzM6NDYgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIFBQQzY0LiBGaXhlcyBidWcgIzQ5OTMxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIFBQQzY0LiBGaXhlcyBidWcgIzQ5OTMxOC4KCjIwMDgtMDUtMDUgMTE6MTk6MTMgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgbGVhayBmaWxlIGRlc2NyaXB0b3JzIG9uIGVycm9yLiBGaXhlcyAjNTMxNTMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgRG9uJ3QgbGVhayBmaWxlIGRlc2NyaXB0b3JzIG9uIGVycm9yLiBGaXhlcyAjNTMxNTMyLgoKMjAwOC0wNS0wMyAwOToxODoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2djb25mLzogV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYSBmYWtlc2luay9mYWtlc3JjIGNvbXBsYWluIGluc3RlYWQgb2YgdW5yZWZmaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCksIChnc3Rfc3dpdGNoX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYSBmYWtlc2luay9mYWtlc3JjIGNvbXBsYWluIGluc3RlYWQgb2YgdW5yZWZmaW5nCgkgIE5VTEwgcG9pbnRlcnMgYW5kIGNyYXNoaW5nIGxhdGVyLiBTZWUgYnVnICM1MzA1MzUuCgoyMDA4LTA1LTAyIDEyOjQ0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyBhbmQgZ3VhcmQgYWdhaW5zdCBzbWFsbCBwYXlsb2Fkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gYW5kIGd1YXJkIGFnYWluc3Qgc21hbGwgcGF5bG9hZHMuCgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9wcm9jZXNzKToKCSAgU2V0IGR1cmF0aW9uIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYmVjYXVzZSB3ZSBjYW4uCgoyMDA4LTA1LTAyIDEyOjM5OjAzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWV4IGNoYW5uZWxzIGFuZCByYXRlLiBGaXhlcyAjNDY1MTQ2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X3NwZWV4X2VuY19pbml0KSwgKGdzdF9zcGVleF9lbmNfY2hhaW4pOgoJICBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBzcGVleCBjaGFubmVscyBhbmQgcmF0ZS4gRml4ZXMgIzQ2NTE0Ni4KCjIwMDgtMDUtMDIgMTI6MzQ6MjIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWVjIGNoYW5uZWxzIGFuZCByYXRlLiBTZWUgIzQ2NTE0Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfcGF5X2dldGNhcHMpOgoJICBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBzcGVlYyBjaGFubmVscyBhbmQgcmF0ZS4gU2VlICM0NjUxNDYuCgoyMDA4LTA1LTAyIDEyOjI0OjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIElMQkMgbW9kZS4gU2VlICM0NjUxNDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBpbGJjcGF5X3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwaWxiY3BheV9zaW5rX2dldGNhcHMpOgoJICBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBJTEJDIG1vZGUuIFNlZSAjNDY1MTQ2LgoKMjAwOC0wNS0wMiAxMTozMjozMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogSW5jbHVkZSBzdGRsaWIgdG8gZml4IHRoZSBidWlsZC4gVXNlIGdfZnJlZSBpbnN0ZWFkIG9mIGZyZWUsIGxpYnNvdXAgdXNlcyBnbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBJbmNsdWRlIHN0ZGxpYiB0byBmaXggdGhlIGJ1aWxkLiBVc2UgZ19mcmVlIGluc3RlYWQgb2YgZnJlZSwgbGlic291cAoJICB1c2VzIGdsaWIuCgoyMDA4LTA1LTAyIDA5OjA5OjU4ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIG1vcmUgbXBlZzIgdmFyaWFudHMuIEZpeGVzICM1MzA4ODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGpAYm9vdGxhYi5vcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIG1vcmUgbXBlZzIgdmFyaWFudHMuIEZpeGVzICM1MzA4ODYuCgoyMDA4LTA1LTAxIDEwOjUyOjExICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRG9uJ3QgZXJyb3Igb3V0IGlmIHdlIGdldCBhbiBJQ01QIGRlc3RpbmF0aW9uLXVucmVhY2hhYmxlIG1lc3NhZ2Ugd2hlbiB0cnlpbmcgdG8gcmVhZCBwYWNrZXRzIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpIGF0IGNvbGxhYm9yYSBjbyB1az4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBEb24ndCBlcnJvciBvdXQgaWYgd2UgZ2V0IGFuIElDTVAgZGVzdGluYXRpb24tdW5yZWFjaGFibGUKCSAgbWVzc2FnZSB3aGVuIHRyeWluZyB0byByZWFkIHBhY2tldHMgb24gd2luMzIgKCM1Mjk0NTQpLgoKMjAwOC0wNC0zMCAxMjoxODo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgZXJyb3IgY29kZSBmb3IgZW5jcnlwdGVkIHN0cmVhbXMgKHdoaWNoIHJlcXVpcmVzIGNvcmUgQ1ZTKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFVzZSBuZXcgZXJyb3IgY29kZSBmb3IgZW5jcnlwdGVkIHN0cmVhbXMgKHdoaWNoIHJlcXVpcmVzIGNvcmUgQ1ZTKS4KCjIwMDgtMDQtMzAgMTI6MTA6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzd2FwcGVkIHBhZCB0ZW1wbGF0ZSBuYW1lcywgc3BvdHRlZCBieSBUaGlhZ28gU291c2EgU2FudG9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF92aWRlb3NyY190ZW1wbGF0ZSksCgkgIChnc3RfcXRkZW11eF9hdWRpb3NyY190ZW1wbGF0ZSk6CgkgIEZpeCBzd2FwcGVkIHBhZCB0ZW1wbGF0ZSBuYW1lcywgc3BvdHRlZCBieSBUaGlhZ28gU291c2EgU2FudG9zLgoKMjAwOC0wNC0zMCAwOTo0ODoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBQcm9kdWNlIGNvbmNlYWxtZW50IGRhdGEgd2hlbiB0aW1lIHByb2dyZXNzZXMgaW4gYSBzZWdtZW50IHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfc2lua19ldmVudCksCgkgIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIFByb2R1Y2UgY29uY2VhbG1lbnQgZGF0YSB3aGVuIHRpbWUgcHJvZ3Jlc3NlcyBpbiBhIHNlZ21lbnQgdXBkYXRlLgoKMjAwOC0wNC0yOSAxNDoxMTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBUcnkgdG8gcHJlc2VydmUgaW5wdXQgdGltZXN0YW1wcyB3aGVuIHdlIGNhbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSksCgkgIChzcGVleF9kZWNfY2hhaW4pOgoJICBUcnkgdG8gcHJlc2VydmUgaW5wdXQgdGltZXN0YW1wcyB3aGVuIHdlIGNhbi4KCSAgRG8gYmVnaW5uaW5ncyBvZiBlcnJvciBjb25jZWFsbWVudC4KCjIwMDgtMDQtMjggMjI6Mzg6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiBNU1ZDIGRvZXNuJ3QgcHJvdmlkZSByaW50KCksIGRlZmluZSBhbiBhZGVxdWF0ZSByZXBsYWNlbWVudCBsb2NhbGx5IGFzIGVsc2V3aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgIE1TVkMgZG9lc24ndCBwcm92aWRlIHJpbnQoKSwgZGVmaW5lIGFuIGFkZXF1YXRlIHJlcGxhY2VtZW50IGxvY2FsbHkgYXMKCSAgZWxzZXdoZXJlLgoKMjAwOC0wNC0yOCAxMToxNjozMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBGaXggcHJpbnRmIGZvcm1hdCB0byBwYWNpZnkgTWFjIE9TWCdzIGdjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMjggIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogKGdzdF9ybmRfYnVmZmVyX3NpemVfbG9vcCk6IEZpeCBwcmludGYKCSAgZm9ybWF0IHRvIHBhY2lmeSBNYWMgT1NYJ3MgZ2NjLgoKMjAwOC0wNC0yNSAxOTozNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEJyaW5nIHJuZGJ1ZmZlcnNpemUgZWxlbWVudCBpbnRvIGEgc3RhdGUgdGhhdCBkb2Vzbid0IHJlcXVpcmUgdXMgdG8gbW92ZSBpdCB0byAtYmFkIGltbWVkaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiAoREVGQVVMVF9TRUVEKSwgKERFRkFVTFRfTUlOKSwKCSAgKERFRkFVTFRfTUFYKSwgKHNyY190ZW1wbGF0ZSksIChzaW5rX3RlbXBsYXRlKSwKCSAgKGdzdF9ybmRfYnVmZmVyX3NpemVfYmFzZV9pbml0KSwgKGdzdF9ybmRfYnVmZmVyX3NpemVfY2xhc3NfaW5pdCksCgkgIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2luaXQpLCAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9hY3RpdmF0ZSksCgkgIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2xvb3ApLCAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9wbHVnaW5faW5pdCk6CgkgIEJyaW5nIHJuZGJ1ZmZlcnNpemUgZWxlbWVudCBpbnRvIGEgc3RhdGUgdGhhdCBkb2Vzbid0IHJlcXVpcmUgdXMKCSAgdG8gbW92ZSBpdCB0byAtYmFkIGltbWVkaWF0ZWx5LiBGb3Igb25lLCBmaXggdXAgZGVmYXVsdCBtaW4vbWF4CgkgIHZhbHVlcyBzbyB0aGF0IHRoZSBlbGVtZW50IGFjdHVhbGwgd29ya3MgdXNpbmcgdGhlIGRlZmF1bHQgdmFsdWVzLgoJICBBbHNvLCBkb24ndCBpZ25vcmUgZmxvdyByZXR1cm4gdmFsdWVzIGFuZCBkbyBzb21lIGtpbmQgb2YgbWluaW1hbAoJICBlb3MgbG9naWMuIEFsbG93IG1pbj1tYXggdG8gcHVsbCBmaXhlZC1zaXplZCBidWZmZXJzLiBCdW5jaCBvZgoJICBvdGhlciBncmF0dWl0aW91cyBjbGVhbi11cHMuCgoyMDA4LTA0LTI1IDE5OjI0OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3MgZm9yIGdka3BpeGJ1ZnNpbms7IHVwZGF0ZSBkb2NzIHRvIENWUyB2ZXJzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgQWRkIGRvY3MgZm9yIGdka3BpeGJ1ZnNpbms7IHVwZGF0ZSBkb2NzIHRvIENWUyB2ZXJzaW9uLgoKMjAwOC0wNC0yNSAxODo0NTozMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDogUmVtb3ZlIHRlc3Qgc3luYy1vZmZzZXQgYnkgZGVmYXVsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBSZW1vdmUgdGVzdCBzeW5jLW9mZnNldCBieSBkZWZhdWx0LgoKMjAwOC0wNC0yNSAxMzozMTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFVzZSBHTGliIHZlcnNpb25zIG9mIGh0b25sLCBodG9ucywgbnRvaGwgYW5kIG50b2hzIGluIG9yZGVyIHRvIGF2b2lkIHByb2JsZW1zIG9uIHdpbjMyICgjNTI5NzA3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfY2hhaW4pOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBVc2UgR0xpYiB2ZXJzaW9ucyBvZiBodG9ubCwgaHRvbnMsIG50b2hsIGFuZCBudG9ocyBpbiBvcmRlcgoJICB0byBhdm9pZCBwcm9ibGVtcyBvbiB3aW4zMiAoIzUyOTcwNykuCgoyMDA4LTA0LTI1IDEyOjUyOjQ0ICswMDAwICBKZXPDunMgQ29ycml1cyA8amVzdXNAc29mdGNhdGFsYS5vcmc+CgoJICBnc3QvZ29vbS86IEZpeCBidWlsZCB3aXRoIG1pbmd3MzI6IHVzZSByYW5kKCkgaW5zdGVhZCBvZiByYW5kb20oKSBhbmQgcmVwbGFjZSBiemVybygpIHdpdGggbWVtc2V0KCkuIEZpeGVzICM1Mjk2OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVzw7pzIENvcnJpdXMgPGplc3VzIGF0IHNvZnRjYXRhbGEgb3JnPgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21WZWN0b3IpOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoaW5pdF9idWZmZXJzKToKCSAgRml4IGJ1aWxkIHdpdGggbWluZ3czMjogdXNlIHJhbmQoKSBpbnN0ZWFkIG9mIHJhbmRvbSgpIGFuZAoJICByZXBsYWNlIGJ6ZXJvKCkgd2l0aCBtZW1zZXQoKS4gRml4ZXMgIzUyOTY5Mi4KCjIwMDgtMDQtMjUgMDc6NTY6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCB0eXBvIGluIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NvbWJpbmVfZmxvd3MpOgoJICBGaXggdHlwbyBpbiBjb21tZW50cy4KCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgQWRkIHNvbWUgbW9yZSBkb2NzIGFuZCBmaXggZXhhbXBsZXMuCgoyMDA4LTA0LTI0IDIyOjA0OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzogSW5jbHVkZSBzdGRsaWIuaCBhbmQgdW5pc3RkLmggZm9yIG1rZHRlbXAuIFNvbWUgcGxhdGZvcm1zIGhhdmUgaXQgZGVjbGFyZWQgaW4gdGhlIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIEluY2x1ZGUgc3RkbGliLmggYW5kIHVuaXN0ZC5oIGZvciBta2R0ZW1wLiBTb21lIHBsYXRmb3JtcyBoYXZlIGl0CgkgIGRlY2xhcmVkIGluIHRoZSBmb3JtZXIsIHNvbWUgaGF2ZSBpdCBkZWNsYXJlZCBpbiB0aGUgbGF0dGVyLgoKMjAwOC0wNC0yNCAyMjowMTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgU3RvcCB1c2luZyBkZXByZWNhdGVkIEdMaWIgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZGVidWcvdGVzdHMuYzogKG1kNV9nZXRfdmFsdWUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpOgoJICBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiBmdW5jdGlvbnMuCgoyMDA4LTA0LTI0IDIxOjE3OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC44LjEKCSAgPT09IHJlbGVhc2UgMC4xMC44ID09PQoKPT09IHJlbGVhc2UgMC4xMC44ID09PQoKMjAwOC0wNC0yMyAyMzo0MDo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJICBSZWxlYXNlIDAuMTAuOCBhIGxpdHRsZSBoYXJkZXIgKGVkaXRlZCB0aGUgcmVsZWFzZSBub3RlcykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC44IGEgbGl0dGxlIGhhcmRlciAoZWRpdGVkIHRoZSByZWxlYXNlIG5vdGVzKQoKMjAwOC0wNC0yMyAyMzoyNjoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC44CgoyMDA4LTA0LTIzIDIzOjE4OjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNC0yMiAwMDoyOTowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjQgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMjIgMDA6MTg6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vOiBGcmVlIGEgYnVuY2ggb2Ygc3R1ZmYsIGFuZCBpbml0aWFsaXNlIHRoaW5ncyB0byBmaXggbGVha3MgYW5kIHZhbGdyaW5kIHdhcm5pbmdzIGluIHRoZSB0ZXN0c3VpdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOiAoZ29vbV9wbHVnaW5fcGFyYW1ldGVyc19mcmVlKToKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOiAoY29udm9sdmVfaW5pdCksIChjb252b2x2ZV9mcmVlKToKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tRmlsdGVyVmlzdWFsRlhXcmFwcGVyX2ZyZWUpOgoJICAqIGdzdC9nb29tL2ZseWluZ19zdGFyc19meC5jOiAoZnNfZnJlZSk6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGdvb21faW5pdCksIChnb29tX2Nsb3NlKToKCSAgKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fZmluYWxpemUpOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6IChnb29tX2xpbmVzX2ZyZWUpOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChwbHVnaW5faW5mb19pbml0KSwgKHBsdWdpbl9pbmZvX2ZyZWUpOgoJICAqIGdzdC9nb29tL3N1cmYzZC5jOiAoZ3JpZDNkX2ZyZWUpOgoJICAqIGdzdC9nb29tL3N1cmYzZC5oOgoJICAqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzogKHRlbnRhY2xlX2ZyZWUpOgoJICBGcmVlIGEgYnVuY2ggb2Ygc3R1ZmYsIGFuZCBpbml0aWFsaXNlIHRoaW5ncyB0byBmaXggbGVha3MKCSAgYW5kIHZhbGdyaW5kIHdhcm5pbmdzIGluIHRoZSB0ZXN0c3VpdGUuCgkgIEZpeGVzOiAjNTI5MjY4CgoyMDA4LTA0LTIxIDIxOjU0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IERvbid0IGxlYWsgYSB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCjIwMDgtMDQtMjEgMDg6MjE6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZiBjYXBzIGFzIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSByZXF1ZXN0X3B0X21hcCBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLCAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpOgoJICBSZWYgY2FwcyBhcyB0aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgcmVxdWVzdF9wdF9tYXAgc2lnbmFsLgoJICBSZW1vdmUgc29tZSBjYXBzIHdlaXJkbmVzcyB3aGVuIGNvbmZpZ3VyaW5nIGEgc3RyZWFtLiBTZWUgIzUyODI0NS4KCjIwMDgtMDQtMTggMTg6NDc6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzogQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCjIwMDgtMDQtMTcgMjM6MDA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy4zIHByZS1yZWxlYXNlCgoyMDA4LTA0LTE3IDIyOjMyOjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHNvbWUgbW9yZSBlbGVtZW50cyBpbiB0aGUgc3RhdGUgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgc29tZSBtb3JlIGVsZW1lbnRzIGluIHRoZSBzdGF0ZSB0ZXN0LgoJICBBZGQgYSBkZWZpbmUgc28gdGhlIHNvdXAgdGVzdCBjYW4gZmluZCB0aGUgdGVzdCBmaWxlcwoJICBpdCBuZWVkcyBhdCBydW50aW1lLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChydW5fc2VydmVyKToKCSAgQWRkIGEgZGVmaW5lIHNvIHRoZSBzb3VwIHRlc3QgY2FuIGZpbmQgdGhlIHRlc3QgZmlsZXMKCSAgaXQgbmVlZHMgYXQgcnVudGltZS4KCjIwMDgtMDQtMTcgMTg6MDg6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vY29udm9sdmVfZnguYzogRG9uJ3QgZXZlciBkcmF3IHRoZSBHT09NIGxvZ28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6IChjb252b2x2ZV9hcHBseSk6CgkgIERvbid0IGV2ZXIgZHJhdyB0aGUgR09PTSBsb2dvLgoJICBGaXhlczogIzUyODYxNQoKMjAwOC0wNC0xNyAxMDoyNDozMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC86IGdzdF9hdG9taWNfaW50X3NldCA9PT4gZ19hdG9taWNfaW50X3NldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGdzdF9hdG9taWNfaW50X3NldCA9PT4gZ19hdG9taWNfaW50X3NldAoKMjAwOC0wNC0xNiAxMDozMToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFN0cmlwIG91dCB0aGUgY29uZmlnL3NjcmlwdCBwYXJzaW5nIHN0dWZmLCB3ZSBkb24ndCBuZWVkIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9kZWZhdWx0X3NjcmlwdHMuaDoKCSAgKiBnc3QvZ29vbS9nb29tLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChjaG9vc2VfYV9nb29tX2xpbmUpOgoJICAqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSAgKiBnc3QvZ29vbS9nb29tc2wuYzoKCSAgKiBnc3QvZ29vbS9nb29tc2wuaDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGFzaC5jOgoJICAqIGdzdC9nb29tL2dvb21zbF9oYXNoLmg6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hlYXAuYzoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGVhcC5oOgoJICAqIGdzdC9nb29tL2dvb21zbF9wcml2YXRlLmg6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgU3RyaXAgb3V0IHRoZSBjb25maWcvc2NyaXB0IHBhcnNpbmcgc3R1ZmYsIHdlIGRvbid0IG5lZWQgaXQuCgkgIEZpeGVzICM1Mjc5OTkuCgoyMDA4LTA0LTE1IDE2OjU4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogRGlzYWJsZSBhbHRpdmVjIG9wdGltaXNhdGlvbnMgZm9yIDMyLWJpdCBQUEMgYXMgd2VsbCB0byBtYWtlIHRoaW5ncyBidWlsZCBwcm9wZXJseSBvbiBhbGwgUFBDLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChzZXRPcHRpbWl6ZWRNZXRob2RzKToKCSAgRGlzYWJsZSBhbHRpdmVjIG9wdGltaXNhdGlvbnMgZm9yIDMyLWJpdCBQUEMgYXMgd2VsbCB0byBtYWtlCgkgIHRoaW5ncyBidWlsZCBwcm9wZXJseSBvbiBhbGwgUFBDIHN5c3RlbXMuIEZpeGVzICM1MjgxNDMKCjIwMDgtMDQtMTQgMjA6MDE6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46IFVwZGF0ZSBmb3Igc291cGh0dHBzcmMgcGx1Z2luIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgZm9yIHNvdXBodHRwc3JjIHBsdWdpbiB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QuCgoyMDA4LTA0LTE0IDEzOjM4OjMyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBvcGVuLWVuZGVkIHNlZWtzIGluIG1hdHJvc2thZGVtdXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBGaXggb3Blbi1lbmRlZCBzZWVrcyBpbiBtYXRyb3NrYWRlbXV4CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgc2t5bmV0IGJlPgoJICBGaXhlczogIzUyNjU1NwoKMjAwOC0wNC0xMyAyMzoxMzozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgdG8gdGhlIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgc291cCB0ZXN0IGNlcnRpZmljYXRlcyB0byB0aGUgZGlzdC4KCjIwMDgtMDQtMTMgMTc6NDM6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBSZW1vdmUgTEFEU1BBIHJlZmVyZW5jZSBJIG1pc3NlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBSZW1vdmUgTEFEU1BBIHJlZmVyZW5jZSBJIG1pc3NlZC4KCjIwMDgtMDQtMTMgMTM6MDY6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEdpdmUgc291cGh0dHBzcmMgR1NUX1JBTktfUFJJTUFSWSB0byBtYWtlIGl0IHRoZSBkZWZhdWx0IEhUVFAgc291cmNlIG92ZXIgZ25vbWUtdmZzIGFuZCBldi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAocGx1Z2luX2luaXQpOgoJICBHaXZlIHNvdXBodHRwc3JjIEdTVF9SQU5LX1BSSU1BUlkgdG8gbWFrZSBpdCB0aGUgZGVmYXVsdCBIVFRQIHNvdXJjZQoJICBvdmVyIGdub21lLXZmcyBhbmQgZXZlcnl0aGluZyBlbHNlLiBGaXhlcyBidWcgIzUyNzg0OC4KCjIwMDgtMDQtMTIgMjM6NDc6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIExBRFNQQSBwbHVnaW4uIEZpeGVzOiAjNTE1OTc4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBMQURTUEEgcGx1Z2luLiBGaXhlczogIzUxNTk3OAoKMjAwOC0wNC0xMiAyMzozMDo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHNvdXAgcGx1Z2luIGZyb20gLWJhZCAoRml4ZXM6ICM1MjMxMjQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE1vdmUgc291cCBwbHVnaW4gZnJvbSAtYmFkIChGaXhlczogIzUyMzEyNCkKCjIwMDgtMDQtMTEgMTE6MDg6MzUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggdGhlIENoYW5nZWxvZyAtIGFjdHVhbGx5IHNwZWV4IDw9IDEuMS4xMiBhcmUgdnVsbmVyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0aGUgQ2hhbmdlbG9nIC0gYWN0dWFsbHkgc3BlZXggPD0gMS4xLjEyIGFyZSB2dWxuZXJhYmxlLgoKMjAwOC0wNC0xMSAxMDozMjoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogRml4IGJvdW5kcyBjaGVja2luZyBvZiBtb2RlIGluIFNwZWV4IGhlYWRlciwgd2hpY2ggbWF5IHByb2R1Y2UgbmVnYXRpdmUgbnVtYmVycyBpbiBzcGVleCA8IDEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfaGVhZGVyKToKCSAgRml4IGJvdW5kcyBjaGVja2luZyBvZiBtb2RlIGluIFNwZWV4IGhlYWRlciwgd2hpY2ggbWF5CgkgIHByb2R1Y2UgbmVnYXRpdmUgbnVtYmVycyBpbiBzcGVleCA8IDEuMS4xMgoKMjAwOC0wNC0xMCAwNzoxMTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcyBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcwoJICBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwcyBpbnN0ZWFkIG9mIGp1c3QgY3Jhc2hpbmcuCgkgIFRoZSByZWFsIGZpeCB3b3VsZCBiZSB0byBpbXBsZW1lbnQgYW4gc2hvdXRjYXN0IHNlcnZlciBmb3IgdGhlIHVuaXQgdGVzdAoJICBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSB3b3JraW5nIGludGVybmV0IGNvbm5lY3Rpb24uCgkgIEZpeGVzIGJ1ZyAjNTIxNzQ5LgoKMjAwOC0wNC0wOSAxNjoxMTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogUmVtb3ZlIGEgYnVuY2ggb2YgZm9udC90ZXh0IHJlbGF0ZWQgY29kZSB0aGF0IHdlIGRvbid0IG5lZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2dmb250bGliLmM6CgkgICogZ3N0L2dvb20vZ2ZvbnRsaWIuaDoKCSAgKiBnc3QvZ29vbS9nZm9udHJsZS5jOgoJICAqIGdzdC9nb29tL2dmb250cmxlLmg6CgkgICogZ3N0L2dvb20vZ29vbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV91cGRhdGUpOgoJICAqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgUmVtb3ZlIGEgYnVuY2ggb2YgZm9udC90ZXh0IHJlbGF0ZWQgY29kZSB0aGF0IHdlIGRvbid0IG5lZWQuCgoyMDA4LTA0LTA5IDE0OjAyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBDaGFuZ2UgbGljZW5zZSBvZiB0aGVzZSBmaWxlcyB0byBMR1BMLCBhcyBwZXJtaXR0ZWQgYnkgdGhlIGF1dGhvciwgR3VpbGxhdW1lIEJvcmlvcy4gU2VlICM1MTUwNzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3BwY19kcmF3aW5ncy5zOgoJICAqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLnM6CgkgIENoYW5nZSBsaWNlbnNlIG9mIHRoZXNlIGZpbGVzIHRvIExHUEwsIGFzIHBlcm1pdHRlZCBieSB0aGUKCSAgYXV0aG9yLCBHdWlsbGF1bWUgQm9yaW9zLiBTZWUgIzUxNTA3My4KCjIwMDgtMDQtMDkgMTM6MzE6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nb29tLzogQXMgaGludGVkIGluIEJ1ZyAjNTE4MjEzLCByZXZlcnQgb25lIGNoYW5nZSBhbmQgZml4IHdhcm5pbmdzIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL21vdGlmX2dvb20xLmg6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTIuaDoKCSAgQXMgaGludGVkIGluIEJ1ZyAjNTE4MjEzLCByZXZlcnQgb25lIGNoYW5nZSBhbmQgZml4IHdhcm5pbmdzIHByb3Blcmx5LgoJICBUaGlzIGZpeGVzIGJvdGggIzUxODIxMyBhbmQgIzUyMDA3MyBmb3IgbWUuCgoyMDA4LTA0LTA5IDEyOjAyOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEZpeCB0aGUgRm9ydGUgYnVpbGQgYnkgbWFraW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHNpZ25hdHVyZXMgbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zZWVrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgRml4IHRoZSBGb3J0ZSBidWlsZCBieSBtYWtpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb24gc2lnbmF0dXJlcwoJICBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNC0wOCAxOTo0OTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvOiBNb3JlIGxvZ2dpbmcgd2hlbiBwcm9iaW5nIChzZWUgIzUxODQ3NCksIHNvbWUgY29tbWVudHMgaW4gX3Jlc2V0KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6IChnc3Rfb3NzX2hlbHBlcl9yYXRlX2NoZWNrX3JhdGUpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX3Jlc2V0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcmVzZXQpOgoJICBNb3JlIGxvZ2dpbmcgd2hlbiBwcm9iaW5nIChzZWUgIzUxODQ3NCksIHNvbWUgY29tbWVudHMgaW4gX3Jlc2V0KCkuCgoyMDA4LTA0LTA3IDE3OjE4OjQ4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiBGaXggYnVpbGQgYmVjYXVzZSBvZiBhIGJhZCBhcmd1bWVudCBudW1iZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA0LTA3ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKTogRml4IGJ1aWxkCgkgIGJlY2F1c2Ugb2YgYSBiYWQgYXJndW1lbnQgbnVtYmVyLgoKMjAwOC0wNC0wNiAxODoyODowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogSW50ZXJhY3RpdmUgdGVzdCBhcHAgZm9yIGdka3BpeGJ1ZnNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIEludGVyYWN0aXZlIHRlc3QgYXBwIGZvciBnZGtwaXhidWZzaW5rLgoKMjAwOC0wNC0wNiAwOTowMTo0MiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpOgoJICBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgR1NUX1NPVVBfSFRUUF9TUkNfU0VTU0lPTl9JT19TVEFUVVNfUlVOTklORy4gRml4ZXMgYnVnICM1MjYzMzcuCgoyMDA4LTA0LTA2IDA4OjU3OjU5ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgRml4ZXMgYnVnICM1MjYyNDcuCgoyMDA4LTA0LTA1IDEyOjAwOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2hhbC9oYWwuYzogRG9uJ3QgbXVuZ2UgZGV2aWNlIHN0cmluZyB0byAnZGVmYXVsdDp4JyBmb3IgY2FwdHVyZSBkZXZpY2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfYWxzYV9lbGVtZW50KToKCSAgRG9uJ3QgbXVuZ2UgZGV2aWNlIHN0cmluZyB0byAnZGVmYXVsdDp4JyBmb3IgY2FwdHVyZSBkZXZpY2VzLgoJICBGaXhlcyAjNTI1ODMzLgoKMjAwOC0wNC0wNCAxOTowMDoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEFsd2F5cyB1c2UgR1NsaWNlIGFzIHdlIGFjdHVhbGx5IGRlcGVuZCBvbiBHTGliIDIuMTIgYWxyZWFkeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9lbnRyeV9mcmVlKToKCSAgQWx3YXlzIHVzZSBHU2xpY2UgYXMgd2UgYWN0dWFsbHkgZGVwZW5kIG9uIEdMaWIgMi4xMiBhbHJlYWR5LgoKMjAwOC0wNC0wNCAxMToyNjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBjb3JlL2Jhc2UgMC4xMC4xOCBmb3IgQVJHQiBjYXBzIHBhcnNpbmcgZml4ZXMgaW4gbGliZ3N0dmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlL2Jhc2UgMC4xMC4xOCBmb3IgQVJHQiBjYXBzIHBhcnNpbmcgZml4ZXMgaW4gbGliZ3N0dmlkZW8uCgkgIEFsc28gYnVtcCB0aGUgR0xpYiByZXF1aXJlbWVudCB0byB0aGUgY3VycmVudCBkZS1mYWN0byByZXF1aXJlbWVudAoJICAoaWUuIDIuMTIpLgoKMjAwOC0wNC0wNCAxMDozMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS4qOiBQYXJzZSBjb2RlY19kYXRhIGZvciBmdXR1cmUgQVZDIGNvbXBhdGliaWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZW5jb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgUGFyc2UgY29kZWNfZGF0YSBmb3IgZnV0dXJlIEFWQyBjb21wYXRpYmlsaXR5LgoJICBGYWlsIHdoZW4gd2UgZW5jb3VudGVyIEFWQyBkYXRhIGZvciBub3cuCgoyMDA4LTA0LTA0IDA5OjUwOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFJlbmFtZSBwcm9wZXJ0eSBlbnVtcyBhbmQgZGVmYXVsdCBkZWZpbmVzIGZvciB0aGUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgcHJvcGVydHkgbmFtZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyk6CgkgIFJlbmFtZSBwcm9wZXJ0eSBlbnVtcyBhbmQgZGVmYXVsdCBkZWZpbmVzIGZvciB0aGUgcHJvcGVydGllcyB0byBtYXRjaAoJICB0aGUgcHJvcGVydHkgbmFtZXMgYW5kIHJlcGhyYXNlIHByb3BlcnR5IGRlc2NyaXB0aW9ucyB0byBtYWtlIHRoZW0gYQoJICBiaXQgY2xlYXJlciAoaG9wZWZ1bGx5KS4gU2VlICM1MTgxODguCgoyMDA4LTA0LTAzIDIyOjU5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0IGZvciBnZGtwaXhidWZzaW5rIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RrcGl4YnVmc2luay5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBnZGtwaXhidWZzaW5rIGVsZW1lbnQuCgoyMDA4LTA0LTAzIDIyOjUwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvOiBBZGQgZ2RrcGl4YnVmc2luayBlbGVtZW50IGZvciBlYXN5IHNuYXBzaG90dGluZyAoIzUyNTk0NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19zdGFydCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3N0b3ApLAoJICAoZ3N0X2dka19waXhidWZfc2lua19zZXRfY2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3BpeGJ1Zl9kZXN0cm95X25vdGlmeSksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldF9waXhidWZfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19oYW5kbGVfYnVmZmVyKSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfcHJlcm9sbCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3JlbmRlciksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJICBBZGQgZ2RrcGl4YnVmc2luayBlbGVtZW50IGZvciBlYXN5IHNuYXBzaG90dGluZyAoIzUyNTk0NikuCgoyMDA4LTA0LTAzIDIwOjI1OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiBCdW1wIHRpbWVvdXQgZnJvbSAzIHRvIDYwIHNlY29uZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6ICh3YXZwYWNrX3N1aXRlKToKCSAgQnVtcCB0aW1lb3V0IGZyb20gMyB0byA2MCBzZWNvbmRzLgoKMjAwOC0wNC0wMyAyMDoyMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdmlnbm9yZTogUmVtb3ZlIHVzZWxlc3MgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdmlnbm9yZToKCSAgUmVtb3ZlIHVzZWxlc3MgZmlsZS4KCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgQWRkIG5ldyB0ZXN0IHRvIC5jdnNpZ25vcmUuCgoyMDA4LTA0LTAzIDIwOjA1OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgdGhhdCBlbmNvZGVzIGFuZCBkZWNvZGVzIHNvbWUgZGF0YSwgY2hlY2tzIHRoYXQgaXQgaXMgc3RpbGwgdGhlIHNhbWUgYW5kIHRoYXQgYWxsIHRpbWVzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogKGJ1c19oYW5kbGVyKSwKCSAgKGlkZW50aXR5X2hhbmRvZmYpLCAoZmFrZXNpbmtfaGFuZG9mZiksIChHU1RfU1RBUlRfVEVTVCksCgkgICh3YXZwYWNrX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IHRoYXQgZW5jb2RlcyBhbmQgZGVjb2RlcyBzb21lIGRhdGEsIGNoZWNrcyB0aGF0IGl0CgkgIGlzIHN0aWxsIHRoZSBzYW1lIGFuZCB0aGF0IGFsbCB0aW1lc3RhbXBzL29mZnNldHMgYXJlIHBlcmZlY3QuCgoyMDA4LTA0LTAzIDE4OjI4OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFVzZSBHU2xpY2UgZm9yIGFsbG9jYXRpbmcgaW5kZXggZW50cmllcyBhbmQgdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2VudHJ5X25ldyksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9lbnRyeV9mcmVlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpOgoJICBVc2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIGluZGV4IGVudHJpZXMgYW5kIHVzZQoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCjIwMDgtMDQtMDIgMjI6Mzc6MjkgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEZpeCB1cCBjb3B5cmlnaHRzICgjNTI1ODYwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIEZpeCB1cCBjb3B5cmlnaHRzICgjNTI1ODYwKS4KCjIwMDgtMDQtMDIgMTY6MTA6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIG5ldyBnb29tIHBsdWdpbiB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBuZXcgZ29vbSBwbHVnaW4gdG8gc3BlYyBmaWxlCgoyMDA4LTA0LTAyIDE1OjQyOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vZ29vbXNsLmM6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBmcmVhZCgpIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nb29tc2wuYzogKGdzbF9yZWFkX2ZpbGUpOgoJICBDaGVjayByZXR1cm4gdmFsdWUgb2YgZnJlYWQoKSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMDQtMDEgMTE6MDA6NDMgKzAwMDAgIG1lcnNhZCA8bWVyc2FkQGF4aXMuY29tPgoKCSAgZ3N0L2xhdy86IE1ha2UgbmVnb3RpYXRpb24gYSBiaXQgbW9kZXJuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IG1lcnNhZCA8bWVyc2FkIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd19kZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9hbGF3X2RlY19jaGFpbiksIChnc3RfYWxhd19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdfZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tdWxhd2RlY19jaGFpbiksIChnc3RfbXVsYXdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICBNYWtlIG5lZ290aWF0aW9uIGEgYml0IG1vZGVybi4KCSAgVXNlIHBhZF9hbGxvYy4gRml4ZXMgIzUyNTM1OS4KCjIwMDgtMDMtMzEgMjI6MDY6MTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2dvb20veG1teC5jOiBGaXggY29uc3RyYWludHMgb24gYXNtIGNvZGUgc28gdGhhdCBpdCBjb21waWxlcyBjb25zaXN0ZW50bHkuICBGaXhlcyAjNTIyMjc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS94bW14LmM6IEZpeCBjb25zdHJhaW50cyBvbiBhc20gY29kZSBzbyB0aGF0IGl0CgkgIGNvbXBpbGVzIGNvbnNpc3RlbnRseS4gIEZpeGVzICM1MjIyNzguCgoyMDA4LTAzLTI3IDA5OjM2OjU4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBGaXggdXAgdGhlIG1peGVyIHRyYWNrcyB0byB1c2UgYSB2b2x1bWUgcmFuZ2Ugb2YgMC0yNTUsIHdoaWNoIGlzIHdoYXQgdGhlIHN1biBhdWRpbyBBUEkgdXNlcy4gVGhpcyBzaW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOiAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgRml4IHVwIHRoZSBtaXhlciB0cmFja3MgdG8gdXNlIGEgdm9sdW1lIHJhbmdlIG9mIDAtMjU1LCB3aGljaCBpcyB3aGF0CgkgIHRoZSBzdW4gYXVkaW8gQVBJIHVzZXMuIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhbmQgYXZvaWRzIHJvdW5kaW5nCgkgIGVycm9ycy4gRml4ZXMgIzUyNDU5My4KCjIwMDgtMDMtMjYgMTU6MTA6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIEFkZCBkZXZpY2UtZmQgcHJvcGVydHkgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBhcHBzIHRvIGNhbGwgaW9jdGwncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkZXZpY2UtZmQgcHJvcGVydHkgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBhcHBzIHRvIGNhbGwgaW9jdGwncy4KCjIwMDgtMDMtMjUgMTY6NDQ6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVuYnJlYWsgc3RyZWFtaW5nIG1vZGUgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKG5leHRfZW50cnlfc2l6ZSk6CgkgIFVuYnJlYWsgc3RyZWFtaW5nIG1vZGUgYWdhaW4uCgoyMDA4LTAzLTI1IDEyOjM5OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBSZW1vdmUgc3VwZXJmbHVvdXMgREVCVUcgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKToKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzIERFQlVHIG1hY3JvLgoKMjAwOC0wMy0yNSAxMjozMzowOSArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IENoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBzdXBwb3J0cyBzZXR0aW5nIHRoZSBmcmFtZXJhdGUgYmVmb3JlIHRyeWluZyB0byBzZXQgaXQgYW5kIHRoZW4gcG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGNvbSBoaz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChmcmFjdGlvbnNfYXJlX2VxdWFsKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKToKCSAgQ2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIHN1cHBvcnRzIHNldHRpbmcgdGhlIGZyYW1lcmF0ZSBiZWZvcmUKCSAgdHJ5aW5nIHRvIHNldCBpdCBhbmQgdGhlbiBwb3N0aW5nIGEgd2FybmluZyBvciBlcnJvciBpZiBpdCBkb2Vzbid0CgkgIHdvcmsgKCM1MTY2NDksICM1MjAwOTIpLiBBbHNvIGNvbXBhcmUgZnJhY3Rpb25zIG1vcmUgY29ycmVjdGx5LgoKMjAwOC0wMy0yNCAxMjozMjo1OSArMDAwMCAgUmVuZSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgTWFrZSByZ2FuYWx5c2lzIGFuZCByZ2xpbWl0ZXIgZWxlbWVudHMgR0FQLWZsYWcgYXdhcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYyAoZ3N0X3JnX2FuYWx5c2lzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmMgKGdzdF9yZ19saW1pdGVyX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfdHJhbnNmb3JtX2lwKToKCSAgTWFrZSByZ2FuYWx5c2lzIGFuZCByZ2xpbWl0ZXIgZWxlbWVudHMgR0FQLWZsYWcgYXdhcmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9nYXBfYnVmZmVycyksCgkgIChyZ2FuYWx5c2lzX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYyAodGVzdF9nYXApLCAocmdsaW1pdGVyX3N1aXRlKToKCSAgQWRkIHRlc3RzIHRvIHZlcmlmeSBnYXAtYXdhcmVuZXNzLgoKMjAwOC0wMy0yMyAxMzozMToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tL01ha2VmaWxlLmFtOiBSZW1vdmUgcHBjIGFzc2VtYmxlciBvcHRpbWlzYXRpb25zIGZyb20gdGhlIGJ1aWxkIHVudGlsIHRoZXkgYWN0dWFsbHkgYnVpbGQgKHRoZXkgYWxzbyBzZWVtIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHBwYyBhc3NlbWJsZXIgb3B0aW1pc2F0aW9ucyBmcm9tIHRoZSBidWlsZCB1bnRpbCB0aGV5CgkgIGFjdHVhbGx5IGJ1aWxkICh0aGV5IGFsc28gc2VlbSB0byBoYXZlIEdQTCBoZWFkZXJzKS4KCjIwMDgtMDMtMjMgMTI6NDg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBtNC9NYWtlZmlsZS5hbTogQmV0dGVyIG5vdCBkaXN0IGZpbGVzIHRoYXQgZG9uJ3QgZXhpc3QgYW55IGxvbmdlciAobHJpbnQqbTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgQmV0dGVyIG5vdCBkaXN0IGZpbGVzIHRoYXQgZG9uJ3QgZXhpc3QgYW55IGxvbmdlciAobHJpbnQqbTQpLgoKMjAwOC0wMy0yMiAxOToyNjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRG9uJ3QgYXV0b3BsdWcgc291cGh0dHBzcmMgZm9yIGRhdi9kYXZzLiBUaGlzIGlzIGJldHRlciBoYW5kbGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgRG9uJ3QgYXV0b3BsdWcgc291cGh0dHBzcmMgZm9yIGRhdi9kYXZzLiBUaGlzIGlzIGJldHRlciBoYW5kbGVkIGJ5CgkgIEdJTyBhbmQgR25vbWVWRlMgYXMgdGhleSBwcm92aWRlIGF1dGhlbnRpY2F0aW9uLgoJICBEb24ndCBsZWFrIHRoZSBpY3kgY2FwcyBpZiB3ZSBhbHJlYWR5IHNldCB0aGVtIGFuZCBnZXQgYSBuZXcKCSAgaWN5LW1ldGFpbnQgaGVhZGVyLgoJICBUcnkgaGFyZGVyIHRvIHNldCB0aGUgaWN5IGNhcHMgb24gdGhlIG91dHB1dCBidWZmZXIgdG8gaGF2ZSBjb3JyZWN0CgkgIGNhcHMgZm9yIHRoZSBmaXJzdCBidWZmZXIgYWxyZWFkeS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoZ290X2J1ZmZlciksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgIENoZWNrIHRoYXQgd2UgZ2V0IGEgYnVmZmVyIHdpdGggYXBwbGljYXRpb24veC1pY3kgY2FwcyBpZiBpcmFkaW8tbW9kZQoJICBpcyBlbmFibGVkIGFuZCB3ZSBoYXZlIGFuIGljZWNhc3QgVVJMLgoKMjAwOC0wMy0yMiAxODoxODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvcik6CgkgIEFjdHVhbGx5IHNldCB0aGUgaWN5IGNhcHMgb24gb3VyIHNyYyBwYWQgaWYgd2UgaGF2ZSBpY2VjYXN0IGRhdGEuCgkgIEZpeGVzIGJ1ZyAjNTIzODU0LgoKMjAwOC0wMy0yMSAxMzozNjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIGxyaW50L2xyaW50ZiBjaGVja3MuIFdlIGRvbid0IHVzZSBpdCBhbnl3aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIG00L2xyaW50Lm00OgoJICAqIG00L2xyaW50Zi5tNDoKCSAgUmVtb3ZlIGxyaW50L2xyaW50ZiBjaGVja3MuIFdlIGRvbid0IHVzZSBpdCBhbnl3aGVyZS4KCjIwMDgtMDMtMTkgMTk6NTY6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9mcmVlemUvOiBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mcmVlemUvRkFROgoJICAqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgQWRkIGV4YW1wbGUgdG8gc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iIGFuZCByZW1vdmUgdGhlIDMgbGluZQoJICBGQVEuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBBZGQgYSBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IuCgoyMDA4LTAzLTE4IDE1OjAzOjA2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0gKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDMtMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tCgkgIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X2Rlc3Ryb3kpCgkgIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X25ldyk6IEFjdHVhbGx5IHNldCBhIGxvY2sgb24gdGhlCgkgIHRhc2ssIHdob29wZGVlLgoJICAoY29jb2FfZXZlbnRfbG9vcCk6IFBhY2lmeSB0aGUgdGF5bWFucyBieSB1cHBpbmcgdGhlIHVzbGVlcGFnZSB0bwoJICAyIG1zLgoKMjAwOC0wMy0xOCAxMTo1MDowOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X2Rlc3Ryb3kpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAzLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubSAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19kZXN0cm95KQoJICAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19uZXcsIGNvY29hX2V2ZW50X2xvb3ApOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaCAoc3RydWN0IF9Hc3RPU1hWaWRlb1NpbmspOiBJZiB3ZQoJICBuZWVkIHRvIHJ1biBhbiBldmVudCBsb29wLCBkbyBzbyBpbiBhIHRhc2sgaW5zdGVhZCBvZiBhc3N1bWluZwoJICB0aGF0IHRoZXJlIHdpbGwgYmUgYSBHTWFpbkxvb3AuIEZpeGVzICM1MjMxMzQuCgoyMDA4LTAzLTE3IDE5OjUwOjU4ICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogTWFrZSBzdXJlIHRoZSBwcm9iZWQgZnJhbWUgc2l6ZXMgYXJlIHJldmVyc2VkIGluIHRoZSByZXN1bHRpbmcgY2FwcyBhbHNvIHdoZW4gdXNpbmcgVjRMMl9GUi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gY29tIGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBNYWtlIHN1cmUgdGhlIHByb2JlZCBmcmFtZSBzaXplcyBhcmUgcmV2ZXJzZWQgaW4gdGhlIHJlc3VsdGluZwoJICBjYXBzIGFsc28gd2hlbiB1c2luZyBWNEwyX0ZSTVNJWkVfU1RFUFdJU0UgKHNvIHRoZXkgZW5kIHVwCgkgIGhpZ2hlc3QgcmVzb2x1dGlvbiBmaXJzdCk7IGFsc28gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCSAgKFBhcnRseSBmaXhlcyAjNTIwMDkyKQoKMjAwOC0wMy0xNyAxNTo1NjowMSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQ2FsbCBXU0FTdGFydHVwKCkgYW5kIFdTQUNsZWFudXAgYmVmb3JlIHVzaW5nIHRoZSBXaW5zb2NrIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKToKCSAgQ2FsbCBXU0FTdGFydHVwKCkgYW5kIFdTQUNsZWFudXAgYmVmb3JlIHVzaW5nIHRoZSBXaW5zb2NrIEFQSS4KCSAgU2VlICM1MjA4MDguCgoyMDA4LTAzLTE2IDE1OjAxOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEVybSwgdGhlIGJ1ZmZlci1zaXplIGlzIGp1c3QgZ3VpbnQsIG5vIG5lZWQgZm9yIHRoZSBzcGVjaWFsIGZvcm1hdCBzcGVjaWZpZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRXJtLCB0aGUgYnVmZmVyLXNpemUgaXMganVzdCBndWludCwgbm8gbmVlZCBmb3IgdGhlIHNwZWNpYWwgZm9ybWF0CgkgIHNwZWNpZmllci4KCjIwMDgtMDMtMTYgMTQ6MzQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IFNtYWxsIGZpeGVzIHRvIGJ1aWxkIG1vcmUgb24gUFBDOiBpZmRlZiBvdXQgY29kZSB0aGF0IHVzZXMgdW5rbm93biBkZWZpbmU7IGFkZCBuZXdsaW5lIGF0IGVuZCBvZiBoZWFkZXIgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5oOgoJICBTbWFsbCBmaXhlcyB0byBidWlsZCBtb3JlIG9uIFBQQzogaWZkZWYgb3V0IGNvZGUgdGhhdCB1c2VzIHVua25vd24KCSAgZGVmaW5lOyBhZGQgbmV3bGluZSBhdCBlbmQgb2YgaGVhZGVyIGZpbGUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCSAgQXNzZW1ibGVyIGNvZGUgc3RpbGwgZG9lc24ndCBidWlsZCB0aG91Z2guCgoyMDA4LTAzLTE2IDE0OjA0OjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCB1cCBteSBsYXN0IGNvbW1pdC4gVXNlIEdfR1VJTlQzMl9GT1JNQVQgZm9yIHRoZSBndWludDMyIGRlYnVnIGxvZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXggdXAgbXkgbGFzdCBjb21taXQuIFVzZSBHX0dVSU5UMzJfRk9STUFUIGZvciB0aGUgZ3VpbnQzMiBkZWJ1ZyBsb2cuCgkgIEFsc28gZG93bmdyYWRlIGEgR1NUX1dBUk5JTkcgdG8gR1NUX0RFQlVHIGFuZCBhZGQgYSBjb21tZW50LgoKMjAwOC0wMy0xNSAyMjoxMDozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDaHVua3NpemUgaXMgdWludDMyLiBGaXggZm9ybWF0IHNwZWNpZmllci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBDaHVua3NpemUgaXMgdWludDMyLiBGaXggZm9ybWF0IHNwZWNpZmllci4KCjIwMDgtMDMtMTQgMTU6NTM6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0c3AvQ09QWUlORy5NSVQ6CgkgIGZpeCBsaWNlbnNlIGZpbGUsIHJlbW92ZSBleHRyYSBsaW5lIGNvcGllZCBvdmVyIGJ5IG1pc3Rha2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBsaWNlbnNlIGZpbGUsIHJlbW92ZSBleHRyYSBsaW5lIGNvcGllZCBvdmVyIGJ5IG1pc3Rha2UKCjIwMDgtMDMtMTMgMTQ6MzA6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkCgkgIG9mIGhhcmRjb2RpbmcgdmFsdWVzLgoKMjAwOC0wMy0xMyAwOTo0NTowOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2J1aWxkX21lc3NhZ2UpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCjIwMDgtMDMtMTEgMjM6MTI6MDQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBzeXMvb3NzL2dzdG9zc3NyYy4qOiBDYWNoZSBwcm9iZWQgY2Fwcywgc28gX2dldF9jYXBzKCkgZHVyaW5nIHJlY29yZGluZyBkb2Vzbid0IGNhdXNlIGlvY3RsIGNhbGxzIHdoaWNoIG1heSBkaXNydXB0IHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgc2t5bmV0IGJlPgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19pbml0KSwgKGdzdF9vc3Nfc3JjX2dldGNhcHMpLAoJICAoZ3N0X29zc19zcmNfY2xvc2UpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkgIENhY2hlIHByb2JlZCBjYXBzLCBzbyBfZ2V0X2NhcHMoKSBkdXJpbmcgcmVjb3JkaW5nIGRvZXNuJ3QgY2F1c2UKCSAgaW9jdGwgY2FsbHMgd2hpY2ggbWF5IGRpc3J1cHQgdGhlIHJlY29yZGluZyAoZml4ZXMgIzUyMTg3NSkuCgoyMDA4LTAzLTExIDE2OjIzOjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlbmQgYSBESVNDT05UIGFmdGVyIGEgc2VlayBieSBzZXR0aW5nIHRoZSBzYW1wbGUgaW5kZXggdG8gYW4gdW5kZWZpbmVkIHZhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlbmQgYSBESVNDT05UIGFmdGVyIGEgc2VlayBieSBzZXR0aW5nIHRoZSBzYW1wbGUKCSAgaW5kZXggdG8gYW4gdW5kZWZpbmVkIHZhbHVlIGFmdGVyIGEgc2Vlay4KCjIwMDgtMDMtMTEgMTU6MTg6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmg6IEZpeCB1cCBJU19GT08gbWFjcm9zLCB3aGljaCBtYWtlcyBndGstZG9jIG11Y2ggaGFwcGllci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOiAoR1NUX0lTX0FWSV9TVUJUSVRMRSksCgkgIChHU1RfSVNfQVZJX1NVQlRJVExFX0NMQVNTKToKCSAgRml4IHVwIElTX0ZPTyBtYWNyb3MsIHdoaWNoIG1ha2VzIGd0ay1kb2MgbXVjaCBoYXBwaWVyLgoKMjAwOC0wMy0wOCAxOToyOToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiBNb3ZlIHRoZSAtbGdzdGZvbyB3aGVyZSBpdCBiZWxvbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSB0aGUgLWxnc3Rmb28gd2hlcmUgaXQgYmVsb25ncy4KCjIwMDgtMDMtMDggMTk6MTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoKMjAwOC0wMy0wOCAwNDo0MDozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6IEFkZCBJRCBmb3IgRUJNTCBDUkMzMiBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6CgkgIEFkZCBJRCBmb3IgRUJNTCBDUkMzMiBlbGVtZW50cy4KCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfZmluYWxpemUpLAoJICAoZ3N0X2VibWxfcmVhZF9jbGFzc19pbml0KSwgKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX2dldF9sZW5ndGgpLCAoX2V4dDJkYmwpLCAoZ3N0X2VibWxfcmVhZF9mbG9hdCksCgkgIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgIFN1cHBvcnQgcmVhZGluZyA4MGJpdCBmbG9hdHMsIGFkZCBmaW5hbGl6ZSBtZXRob2QgdG8gY2xlYW4gdXAKCSAgaW4gYW55IGNhc2UsIHN1cHBvcnQgcmVhZGluZyBsZW5ndGgvaWQgZWxlbWVudHMgd2l0aCBhbnkgbGVuZ3RoCgkgIGFzIGxvbmcgYXMgaXQncyBzbWFsbGVyIHRoYW4gb3VyIHN1cHBvcnRlZCBtYXhpbXVtLCBkb24ndCBsZWFrCgkgIGJ1ZmZlcnMgaWYgcmVhZGluZyBhcyBtdWNoIGRhdGEgYXMgd2Ugd2FudGVkIGZhaWxlZCBhbmQgc29tZQoJICBzbWFsbGVyIGNsZWFudXAuCgoyMDA4LTAzLTA4IDA0OjIxOjM0ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IENoZWNrIHRoYXQgYSBidWZmZXIgaXMgbGFyZ2UgZW5vdWdoIGJlZm9yZSByZWFkaW5nIGZyb20gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICBDaGVjayB0aGF0IGEgYnVmZmVyIGlzIGxhcmdlIGVub3VnaCBiZWZvcmUgcmVhZGluZyBmcm9tIGl0LgoJICBGaXhlcyBidWcgIzUyMTEwMi4KCjIwMDgtMDMtMDcgMTU6NTQ6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggY29tcGlsYXRpb24gYWZ0ZXIgcmVtb3ZpbmcgdGhlIEdzdFBvbGxNb2RlIGZyb20gdGhlIGNvbnN0cnVjdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIEZpeCBjb21waWxhdGlvbiBhZnRlciByZW1vdmluZyB0aGUgR3N0UG9sbE1vZGUgZnJvbSB0aGUKCSAgY29uc3RydWN0b3IuCgoyMDA4LTAzLTA3IDEzOjA4OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDaGVjayBmb3Igc2luaCgpLCBjb3NoKCkgYW5kIGFzaW5oKCkgYW5kIGRlZmluZSBvdXIgb3duIGltcGxlbWVudGF0aW9ucyBpZiB0aGV5J3JlIG5vdCBhdmFpbGFibGUuIEZpeGVzIGJ1ZyAjNTIwODgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvbWF0aF9jb21wYXQuaDoKCSAgQ2hlY2sgZm9yIHNpbmgoKSwgY29zaCgpIGFuZCBhc2luaCgpIGFuZCBkZWZpbmUgb3VyIG93bgoJICBpbXBsZW1lbnRhdGlvbnMgaWYgdGhleSdyZSBub3QgYXZhaWxhYmxlLiBGaXhlcyBidWcgIzUyMDg4MC4KCjIwMDgtMDMtMDcgMTI6NDA6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogVW5yZWYgdGhlIGJ1ZmZlcnMgb25seSBvbmNlIHdoZW4gaGFuZGxpbmcgbm90LW5lZ290aWF0ZWQgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19jaGFpbik6CgkgIFVucmVmIHRoZSBidWZmZXJzIG9ubHkgb25jZSB3aGVuIGhhbmRsaW5nIG5vdC1uZWdvdGlhdGVkIGVycm9ycy4KCSAgRml4ZXMgYnVnICM1MjA3NjQuCgoyMDA4LTAzLTA3IDEwOjAxOjQwICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogUHJvcGVybHkgYmFsYW5jZSBXU0FfQ2xlYW51cCB3aXRoIFdTQV9TdGFydHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2ZpbmFsaXplKSwgKGdzdF91ZHBzcmNfc3RhcnQpLAoJICAoZ3N0X3VkcHNyY19zdG9wKToKCSAgUHJvcGVybHkgYmFsYW5jZSBXU0FfQ2xlYW51cCB3aXRoIFdTQV9TdGFydHVwLgoJICBBbHNvIG1ha2UgdGhlIHBvbGwgY29udHJvbGxhYmxlIG9uIHdpbmRvd3MuIEZpeGVzICM1MjA4ODguCgoyMDA4LTAzLTA2IDE5OjQ3OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogSGFuZGxlIHJldHVybiB2YWx1ZXMgZnJvbSBwdWxsX3JhbmdlIGluIGEgbW9yZSBncmFudWxhciB3YXkgdG8gcHJvcGVybHkgc2h1dCBkb3duIG9uIHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF9wdWxsX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3BlZWtfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9za2lwKSwgKGdzdF9lYm1sX3JlYWRfYnVmZmVyKSwKCSAgKGdzdF9lYm1sX3JlYWRfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF91aW50KSwgKGdzdF9lYm1sX3JlYWRfc2ludCksCgkgIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwgKGdzdF9lYm1sX3JlYWRfYXNjaWkpLCAoZ3N0X2VibWxfcmVhZF91dGY4KSwKCSAgKGdzdF9lYm1sX3JlYWRfZGF0ZSksIChnc3RfZWJtbF9yZWFkX21hc3RlciksCgkgIChnc3RfZWJtbF9yZWFkX2JpbmFyeSksIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2hkcl9idWYpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZmxhY19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfeGlwaF9jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgSGFuZGxlIHJldHVybiB2YWx1ZXMgZnJvbSBwdWxsX3JhbmdlIGluIGEgbW9yZSBncmFudWxhciB3YXkgdG8gcHJvcGVybHkKCSAgc2h1dCBkb3duIG9uIHNlZWtzLgoJICBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBwdXNoLgoJICBJbXBsZW1lbnQgcHJvcGVyIGVycm9yIGhhbmRsaW5nLgoJICBQcmVwYXJlIGZvciBoYW5kbGluZyBzZWVraW5nIGNvcnJlY3RseS4KCjIwMDgtMDMtMDMgMjI6MDE6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBVc2UgR0lOVDY0IGZvcm1hdHRpbmcgY29uc3RhbnRzIGZyb20gR0xJQi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBVc2UgR0lOVDY0IGZvcm1hdHRpbmcgY29uc3RhbnRzIGZyb20gR0xJQi4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgQWRkIHNvbWUgZ3VhcmRzIHRvIGF2b2lkIGEgcG9zc2libGUgZGl2aXNpb24gYnkgMCBhbmQgY3Jhc2hpbmcKCSAgd2l0aCBOVUxMIGV2ZW50cyBvbiBzb21lIHN5c3RlbXMuCgkgIFVzZSBnc3RfZ2RvdWJsZV90b19ndWludDY0IHNvbWV3aGVyZSBpbnN0ZWFkIG9mIGFuIGltcGxpY2l0CgkgIGNvbnZlcnNpb24uCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBDaGVjayBmb3IgaW52YWxpZCB0aW1lc3RhbXBzIGluIGEgYnVuY2ggb2YgcGxhY2VzIHRvIGF2b2lkCgkgIHdyaXRpbmcgYm9ndXMgZHVyYXRpb25zIGludG8gdGhlIG91dHB1dCBmaWxlLgoJICBGaXggc29tZSBkb3VibGU8LT5naW50NjQgY29udmVyc2lvbnMgdGhhdCB3ZXJlbid0IHVzaW5nCgkgIGdzdF9ndWludDY0X3RvX2dkb3VibGUKCjIwMDgtMDMtMDMgMTM6MDM6NDMgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBNb3ZlIHRoZSBjaGVja3MgZm9yIGJpc29uLCBmbGV4IGFuZCBhcyB0byB0aGUgcHJvZ3JhbSBzZWN0aW9uIGFuZCB0aGUgY2hlY2sgZm9yIGdjYyBpbmxpbmUgYXNtIHRvIHRoZSBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTW92ZSB0aGUgY2hlY2tzIGZvciBiaXNvbiwgZmxleCBhbmQgYXMgdG8gdGhlIHByb2dyYW0gc2VjdGlvbiBhbmQgdGhlCgkgIGNoZWNrIGZvciBnY2MgaW5saW5lIGFzbSB0byB0aGUgY29tcGlsZXIgY2hhcmFjdGVyaXN0aWNzIHNlY3Rpb24uCgoyMDA4LTAzLTAzIDEyOjEwOjU1ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaCBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2gKCSAgcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQ5ODIyMikKCjIwMDgtMDItMjkgMTI6MzU6MjQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgY2FsbCBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkgdW5sZXNzIHdlIGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpOgoJICBEb24ndCBjYWxsIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKSB1bmxlc3Mgd2UgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcC4KCjIwMDgtMDItMjkgMDY6MTg6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IERpcmFjIG1hcHBpbmcuICBJIGhhZCBwcmV2aW91c2x5IGFkZGVkIGEgVmZXLXR5cGUgbWFwcGluZywgYnV0IGl0IGxvb2tzIGxpa2UgRGlyYWMgd2lsbCBnZXQgYSBuYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEZpeCBEaXJhYyBtYXBwaW5nLiAgSSBoYWQgcHJldmlvdXNseSBhZGRlZCBhIFZmVy10eXBlCgkgIG1hcHBpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIERpcmFjIHdpbGwgZ2V0IGEgbmF0aXZlIE1hdHJvc2thCgkgIG1hcHBpbmcsIGFuZCB0aGlzIGlzIHRoZSBtb3N0IGxpa2VseSBtZXRob2QuCgoyMDA4LTAyLTI4IDIzOjU2OjMwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFkZCBEaXJhYyBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiBBZGQgRGlyYWMgZW5jb2RpbmcKCjIwMDgtMDItMjggMTE6NTE6MjQgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogUG9ydCB0byBHc3RQb2xsLiBTZWUgIzUwNTQxNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19pbml0KSwgKGdzdF91ZHBzcmNfY3JlYXRlKSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY191bmxvY2spLAoJICAoZ3N0X3VkcHNyY191bmxvY2tfc3RvcCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIFBvcnQgdG8gR3N0UG9sbC4gU2VlICM1MDU0MTcuCgoyMDA4LTAyLTI4IDA4OjM3OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbGF3L211bGF3LWRlY29kZS5jOiBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgd2hlbiB0aGUgY2FwcyBhcmUgbm90IHNldCB5ZXQgb24gdGhlIHNyY3BhZC4gV2UgbmVlZCByYXRlIGFuZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19jaGFpbik6CgkgIFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCB3aGVuIHRoZSBjYXBzIGFyZSBub3Qgc2V0CgkgIHlldCBvbiB0aGUgc3JjcGFkLiBXZSBuZWVkIHJhdGUgYW5kIGNoYW5uZWxzIGJlZm9yZSB3ZQoJICBjYW4gZG8gYW55IHByb2Nlc3NpbmcuIEZpeGVzIGJ1ZyAjNTE5MDg4LgoKMjAwOC0wMi0yNiAxMDowOTozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IERldGVjdCBhbmQgaW5kaWNhdGUgaWYgR0NDIGlubGluZSBhc3NlbWJseSBzeW50YXggaXMgYXZhaWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERldGVjdCBhbmQgaW5kaWNhdGUgaWYgR0NDIGlubGluZSBhc3NlbWJseSBzeW50YXggaXMKCSAgYXZhaWxhYmxlLgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSAgKiBnc3QvZ29vbS9nb29tc2wuYzoKCSAgKiBnc3QvZ29vbS9pZnMuYzoKCSAgKiBnc3QvZ29vbS9tbXguYzoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3htbXguYzoKCSAgRml4IHZhcmlvdXMgR0NDLWlzbXMsIGFuZCBvbmx5IGJ1aWxkIHRoZSBpbmxpbmUgYXNzZW1ibHkKCSAgd2l0aCBjb21waWxlcnMgdGhhdCBzdXBwb3J0IEdDQyBpbmxpbmUgYXNzZW1ibHkuCgkgIEZpeCBhIGNvdXBsZSBvZiBvdGhlciB3YXJuaW5ncyBzaG93biB3aXRoIEZvcnRlLgoKMjAwOC0wMi0yNiAwNTozNjoxNyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbiB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHJ1bl90ZXN0KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluCgkgIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoKMjAwOC0wMi0yNSAxMjowMzo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20veG1teC5jOiBVc2UgJ2VtbXMnIGluc3RlYWQgb2YgJ2ZlbW1zJyB0byBub3QgY3Jhc2ggb24gY3B1cyB0aGF0IGRvIG5vdCBpbXBsZW1lbnQgdGhpcyAzZG5vdyBzcGVjaWZpYyBpbnN0cnVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3htbXguYzoKCSAgVXNlICdlbW1zJyBpbnN0ZWFkIG9mICdmZW1tcycgdG8gbm90IGNyYXNoIG9uIGNwdXMgdGhhdCBkbyBub3QKCSAgaW1wbGVtZW50IHRoaXMgM2Rub3cgc3BlY2lmaWMgaW5zdHJ1Y3Rpb24uCgoyMDA4LTAyLTI1IDEwOjMyOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiBVc2UgZXh0ZW5kZWQgTU1YIGZvciBkcmF3X2xpbmUoKSB0b28gaWYgYXZhaWxhYmxlLCBub3Qgb25seSBub3JtYWwgTU1YLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAoc2V0T3B0aW1pemVkTWV0aG9kcyk6CgkgIFVzZSBleHRlbmRlZCBNTVggZm9yIGRyYXdfbGluZSgpIHRvbyBpZiBhdmFpbGFibGUsIG5vdCBvbmx5CgkgIG5vcm1hbCBNTVguCgoyMDA4LTAyLTI1IDA2OjUwOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvanBlZy9nc3RqcGVnLmM6IFJlbW92ZSAoY29tbWVudGVkIG91dCkgc21va2UgdHlwZWZpbmRlci4gVGhpcyBpcyBpbiBiYXNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZy5jOiAocGx1Z2luX2luaXQpOgoJICBSZW1vdmUgKGNvbW1lbnRlZCBvdXQpIHNtb2tlIHR5cGVmaW5kZXIuIFRoaXMgaXMgaW4gYmFzZSBub3cuCgoyMDA4LTAyLTIzIDE1OjAyOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tMmsxLzogUmVuYW1lIHRoZSBpbnN0YWxsZWQgbGlicmFyeSwgYW5kIGRvbid0IHJlZ2lzdGVyIHRoZSBzYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgUmVuYW1lIHRoZSBpbnN0YWxsZWQgbGlicmFyeSwgYW5kIGRvbid0IHJlZ2lzdGVyIHRoZSBzYW1lCgkgIEdUeXBlIG5hbWUgYXMgdGhlIG5ldyBnb29tLgoKMjAwOC0wMi0yMyAxMjoyMzozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCB1c2UgdGhlbSB3aGVuIGJ1aWxkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgdXNlIHRoZW0gd2hlbiBidWlsZGluZwoJICBDKysgY29kZSAoIzUxNjUwOSkuCgoyMDA4LTAyLTIzIDEyOjEwOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBDYWxsIG9pbF9pbml0KCksIG90aGVyd2lzZSBvaWxfZ2V0X2NwdV9mbGFncygpIHdvbid0IHJldHVybiBhbnl0aGluZyB1c2VmdWwuIEV4cG9ydCBnb29tIGRlYnVnIGNhdGVnb3J5IHNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdvb21fZGVidWcpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChnb29tX2RlYnVnKSwgKEdTVF9DQVRfREVGQVVMVCksCgkgIChzZXRPcHRpbWl6ZWRNZXRob2RzKToKCSAgQ2FsbCBvaWxfaW5pdCgpLCBvdGhlcndpc2Ugb2lsX2dldF9jcHVfZmxhZ3MoKSB3b24ndCByZXR1cm4KCSAgYW55dGhpbmcgdXNlZnVsLiBFeHBvcnQgZ29vbSBkZWJ1ZyBjYXRlZ29yeSBzbyB3ZSBjYW4gZ2V0CgkgIHJpZCBvZiB0aGUgVkVSQk9TRSBkZWZpbmUgYW5kIHRoZSBwcmludGZzLgoKMjAwOC0wMi0yMyAxMTo1MzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogQ29tcGlsZSBmaXhlcyBmb3IgeDg2LTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGVhcC5jOiAoYWxpZ25faXQpOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChzZXRPcHRpbWl6ZWRNZXRob2RzKToKCSAgQ29tcGlsZSBmaXhlcyBmb3IgeDg2LTY0LgoKMjAwOC0wMi0yMyAwMzoxMDo1NSArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZ3N0L2dvb20vTWFrZWZpbGUuYW06IERvbid0IGNvbXBpbGUgbGV4IG9yIHlhY2Mgb3V0cHV0cyB3aXRoIHdhcm5pbmdzLCBidXQgYWRkIG90aGVyIENGTEFHUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbTogRG9uJ3QgY29tcGlsZSBsZXggb3IgeWFjYyBvdXRwdXRzCgkgIHdpdGggd2FybmluZ3MsIGJ1dCBhZGQgb3RoZXIgQ0ZMQUdTCgkgICogZ3N0L2dvb20vZ29vbXNsLmMgKGdzbF9pbnN0cl9zZXRfbmFtZXNwYWNlKSwKCSAgKGdzbF9pbnN0cl9hZGRfcGFyYW0pLCAoaWZsb3dfZXhlY3V0ZSksIChnc2xfZW50ZXJuYW1lc3BhY2UpLAoJICAoY2FsY3VsYXRlX2xhYmVscyksIChnc2xfcmVhZF9maWxlKToKCSAgKiBnc3QvZ29vbS9nb29tc2xfbGV4Lmw6CgkgICogZ3N0L2dvb20vZ29vbXNsX3lhY2MueToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiBSZW1vdmUgYSBmZXcgbGl2ZSBwcmludGYsIGFuZAoJICBmcHJpbnRmLCByZXBsYWNlIGV4aXQoKSBjYWxscyB3aXRoIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCSAgaWYgaXQgbm90IG9wdGltYWwgZm9yIGEgbGlicmFyeQoKMjAwOC0wMi0yMyAwMjozODowMyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZ3N0L2dvb20vTWFrZWZpbGUuYW06IFJlbW92ZSB0aGUgd2FybmluZ3MgYmVpbmcgZGlzYWJsZWQsIGZpeCBsaW5rYWdlIG9uIHg4Niwgc3BvdHRlZCBieSBTZWJhc3RpYW4gRHLDtmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOiBSZW1vdmUgdGhlIHdhcm5pbmdzIGJlaW5nIGRpc2FibGVkLAoJICBmaXggbGlua2FnZSBvbiB4ODYsIHNwb3R0ZWQgYnkgU2ViYXN0aWFuIERyw7ZnZQoJICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmMgKGNvbnZvbHZlX2luaXQpLAoJICAoY3JlYXRlX291dHB1dF93aXRoX2JyaWdodG5lc3MpLCAoY29udm9sdmVfYXBwbHkpOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYyAoem9vbUZpbHRlclZpc3VhbEZYV3JhcHBlcl9jcmVhdGUpOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOgoJICAqIGdzdC9nb29tL2lmcy5jIChpZnNfdXBkYXRlKSwgKGlmc192aXN1YWxmeF9jcmVhdGUpOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5jICh0ZW50YWNsZV9meF9jcmVhdGUpOgoJICBGaXggd2FybmluZ3MsIGFuZCBkaXNhYmxlIHRoZSBtb3RpZnMgaW4gdGhlIGNvbnZvbHZlX2Z4CgkgIHBsdWdpbiAodGhleSB3ZXJlIGNhdXNpbmcgd2FybmluZ3MsIGFuZCB0aGV5IHdlcmUganVzdAoJICAiR29vbSIgaW4gZnVubnkgbGV0dGVycmluZykKCjIwMDgtMDItMjMgMDE6NTE6MzcgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIGNoZWNrcyBmb3IgRmxleC9ZYWNjL0Jpc29uIGFuZCBvdGhlciBmdXJyeSBhbmltYWxzLCBmb3IgdGhlIG5ldyBnb29tIDJrNCBiYXNlZCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDItMjMgIEJhc3RpZW4gTm9jZXJhICA8aGFkZXNzQGhhZGVzcy5uZXQ+CgkgICogY29uZmlndXJlLmFjOiBBZGQgY2hlY2tzIGZvciBGbGV4L1lhY2MvQmlzb24gYW5kIG90aGVyCgkgIGZ1cnJ5IGFuaW1hbHMsIGZvciB0aGUgbmV3IGdvb20gMms0IGJhc2VkIHBsdWdpbgoJICAqIGdzdC9nb29tLyo6IFVwZGF0ZSB0byB1c2UgZ29vbSAyazQsIHVzZXMgbGlib2lsIHRvIGRldGVjdAoJICBDUFUgb3B0aW1pc2F0aW9ucyAobm90IHdvcmtpbmcgeWV0KSwgbW92ZSB0aGUgb2xkIHBsdWdpbiB0by4uLgoJICAqIGdzdC9nb29tMmsxLyo6IC4uLiBoZXJlLCBpbiBjYXNlIHNvbWVib2R5IGlzIHNpY2sgZW5vdWdoCgkgIEZpeGVzICM1MTUwNzMKCjIwMDgtMDItMjIgMDk6NTY6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFBvc3QgdGhlIHNlcnZlciByZXNwb25zZSBjb2RlIGluIGFuIGVycm9yIG1lc3NhZ2UgaW5zdGVhZCBvZiBhIGdlbmVyaWMgJ2Vycm9yJyBtZXNzYWdlLiBGaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIFBvc3QgdGhlIHNlcnZlciByZXNwb25zZSBjb2RlIGluIGFuIGVycm9yIG1lc3NhZ2UgaW5zdGVhZCBvZiBhIGdlbmVyaWMKCSAgJ2Vycm9yJyBtZXNzYWdlLiBGaXhlcyAjNTE3MjM3LgoKMjAwOC0wMi0yMiAwNzoyMDowMyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2ZyZWUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIFByZWZpeCBwcm94eSBVUklzIHdpdGggImh0dHA6Ly8iIGlmIHRoZXkgZG9uJ3Qgc3RhcnQgd2l0aCBpdAoJICBhbHJlYWR5IGFuZCBjYXRjaCBlcnJvcnMgZWFybGllciwgZml4ZXMgaGFuZ2luZyBpbiBzb21lIHNpdHVhdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTE0OTQ4LgoKMjAwOC0wMi0yMiAwNjoyMjozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IElnbm9yZSBnY29uZmF1ZGlvc3JjIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCB0b28uIEl0IHdpbGwgZmFsbGJhY2sgdG8gYWxzYXNyYyBpZiB0aGUgZ2NvbmYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgZ2NvbmZhdWRpb3NyYyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QgdG9vLiBJdCB3aWxsIGZhbGxiYWNrCgkgIHRvIGFsc2FzcmMgaWYgdGhlIGdjb25mIHNldHRpbmdzIGNhbid0IGJlIHJlYWQgYW5kIG5vdCBldmVyeWJvZHkgaGFzCgkgIGFsc2EuCgoyMDA4LTAyLTIyIDA2OjA2OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogQWx3YXlzIHJlcG9ydCB0aGUgZHVyYXRpb24gaWYgd2Uga25vdyBpdCBpbiBwdXNoIG1vZGUgYW5kIGRvbid0IHJldHVybiAwIGp1c3QgdG8gbWFrZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBbHdheXMgcmVwb3J0IHRoZSBkdXJhdGlvbiBpZiB3ZSBrbm93IGl0IGluIHB1c2ggbW9kZSBhbmQgZG9uJ3QKCSAgcmV0dXJuIDAganVzdCB0byBtYWtlIHRvdGVtIGJlbGlldmUgd2UgY2FuJ3Qgc2VlayBpbiBwdXNoIG1vZGUuCgkgIE5ld2VyIHRvdGVtIHZlcnNpb24gdXNlIHRoZSBTRUVLSU5HIHF1ZXJ5IHdoaWNoIHByb3Blcmx5IHJlcG9ydHMKCSAgaWYgd2UgY2FuIHNlZWsgb3Igbm90LgoKMjAwOC0wMi0yMiAwNTozOTowMSArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzogQzg5IGZpeCwgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOiAobWFpbik6CgkgIEM4OSBmaXgsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZgoJICB0aGUgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTMzLgoKMjAwOC0wMi0yMSAyMzo0NzozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgo9PT0gcmVsZWFzZSAwLjEwLjcgPT09CgoyMDA4LTAyLTIxIDAwOjA5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNyAtIFJlZCBEb29yIEJsYWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNyAtIFJlZCBEb29yIEJsYWNrCgoyMDA4LTAyLTIwIDIyOjUxOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wMi0xOSAxMDo0NzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2FscGhhL01ha2VmaWxlLmFtOiBMaW5rIGFscGhhIHBsdWdpbiB3aXRoIGxpYmdzdGJhc2UuIEZpeGVzIGJ1ZyAjNTE3Mzg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgIExpbmsgYWxwaGEgcGx1Z2luIHdpdGggbGliZ3N0YmFzZS4gRml4ZXMgYnVnICM1MTczODYuCgoyMDA4LTAyLTE4IDExOjEzOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbml0IHZhbHVlcyB0byAtMSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IDAgdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pOgoJICBJbml0IHZhbHVlcyB0byAtMSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IDAgdmFsdWUuCgkgIEZpeGVzICM1MTY1MjQuCgoyMDA4LTAyLTE0IDE0OjUwOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6IEFkZCBtaXNzaW5nIGluY2x1ZGUgdG8gZml4IGNvbXBpbGF0aW9uIHdoZW4gbGlieG1sIHVzYWdlIGlzIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIEFkZCBtaXNzaW5nIGluY2x1ZGUgdG8gZml4IGNvbXBpbGF0aW9uIHdoZW4gbGlieG1sIHVzYWdlIGlzIGRpc2FibGVkLgoJICBGaXhlczogIzUxNjM3MQoKMjAwOC0wMi0xMiAyMzozODoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIGZpeGVzOiAjNTE0ODg5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogIFdpbSBUYXltYW5zICA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoJICBmaXhlczogIzUxNDg4OQoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBGaXggdmFyaW91cyBsZWFrcyBzaG93biB1cCBpbiB2YWxncmluZAoJICAtIGZyZWUgc3Byb3BzIGFuZCBidWZmZXIgaW4gZXJyb3IgY2FzZXMgaW4gSDI2NCBwYXlsb2FkZXIKCSAgLSBmaXggbGVhayBpbiBtcDRnIGRlcGF5bG9hZGVyIHdoZW4gY29uc3RydWN0aW9uIHRoZSBjYXBzCgkgIC0gZG9uJ3QgbGVhayBjb25maWcgc3RyaW5nIGluIHRoZSBtcDRnIHBheWxvYWRlcgoJICAtIGRvbid0IGxlYWsgYnVmZmVycyBhbmQgaGVhZGVycyBpbiB0aGVvcmEgYW5kIHZvcmJpcyBwYXlsb2FkZXJzCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgRml4IHRoZSBSVFAgZGF0YSB0ZXN0CgkgIC0gQWN0dWFsbHkgc2VuZCB2YWxpZCBhbXIgZGF0YSB0byB0aGUgcGF5bG9hZGVyIGluc3RlYWQgb2YgMjAKCSAgemVyby1ieXRlcwoJICAtIFRoZSBtcDRnIHBheWxvYWRlciBleHBlY3RzIGNvZGVjX2RhdGEgb24gdGhlIGNhcHMKCjIwMDgtMDItMTIgMjE6MzY6NDAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgbGliZ3N0cG5nLmRzcCB0byBNQU5JRkVTVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBsaWJnc3RwbmcuZHNwIHRvIE1BTklGRVNULgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgQWRkIG5ldyBzb3VyY2UgZmlsZXMgdG8gVlMgcHJvamVjdCBmaWxlLgoKMjAwOC0wMi0xMiAxMzozNDo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBJbml0aWFsaXNlIHZhcmlhYmxlcyB3aGVuIG9wZW5pbmcgdGhlIFggZGlzcGxheSByYXRoZXIgdGhhbiBpbiBfc3RhcnQoKSwgYXMgdGhlIGRpc3BsYXkgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgSW5pdGlhbGlzZSB2YXJpYWJsZXMgd2hlbiBvcGVuaW5nIHRoZSBYIGRpc3BsYXkgcmF0aGVyCgkgIHRoYW4gaW4gX3N0YXJ0KCksIGFzIHRoZSBkaXNwbGF5IGNhbiBiZSBvcGVuZWQgYmVmb3JlIHRoYXQuCgkgIEZpeGVzOiAjNTE1OTg1CgoyMDA4LTAyLTEyIDEyOjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RkcmF3c3VyZmFjZV9jbGFzc19pbml0KSwgKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19maW5hbGl6ZSk6CgkgIFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgoyMDA4LTAyLTEyIDExOjM4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IENoYWluIHVwIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfY2xhc3NfaW5pdCk6CgkgIENoYWluIHVwIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTg0LgoKMjAwOC0wMi0xMiAxMToxNDozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6IENoYWluIHVwIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiBmb3Igb3VyIGN1c3RvbSBidWZmZXIgc3ViLWNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgQ2hhaW4gdXAgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uIGZvciBvdXIgY3VzdG9tCgkgIGJ1ZmZlciBzdWItY2xhc3MuCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICBGaXhlczogIzUxNTcwNgoKMjAwOC0wMi0xMiAxMToxMjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlYnVnL2VmZW5jZS5jOiBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBtZXRob2QuIEZpeGVzIGJ1ZyAjNTE1OTc5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZmVuY2VkX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9jbGFzc19pbml0KToKCSAgUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgbWV0aG9kLiBGaXhlcyBidWcgIzUxNTk3OS4KCjIwMDgtMDItMTIgMTE6MDk6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRnJlZSBhbGxvY2F0ZWQgRGFtYWdlIG1lbW9yeSBiZWZvcmUgY2xvc2luZyBvdXIgY29ubmVjdGlvbiB0byB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgRnJlZSBhbGxvY2F0ZWQgRGFtYWdlIG1lbW9yeSBiZWZvcmUgY2xvc2luZyBvdXIgY29ubmVjdGlvbiB0byB0aGUKCSAgWCBzZXJ2ZXIuIEZpeGVzOiAjNTE1NzA2CgoyMDA4LTAyLTEyIDA1OjIxOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgoyMDA4LTAyLTEyIDA1OjE0OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgYSBmZXcgbGlianBlZyBzdXBwcmVzc2lvbnMgYW5kIGluaXRpYWxpemUgYSB2YXJpYWJsZSB0byBtYWtlIHNtb2tlZW5jIHZhbGdyaW5kIGNsZWFuLiBGaXhlcyBidWcgIzUxNTcwMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtZ29vZC5zdXBwOgoJICBBZGQgYSBmZXcgbGlianBlZyBzdXBwcmVzc2lvbnMgYW5kIGluaXRpYWxpemUgYSB2YXJpYWJsZSB0bwoJICBtYWtlIHNtb2tlZW5jIHZhbGdyaW5kIGNsZWFuLiBGaXhlcyBidWcgIzUxNTcwMS4KCjIwMDgtMDItMTEgMjE6MjQ6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBSZXZlcnQgcGF0Y2ggd2hpY2ggc2VuZHMgdGltZXN0YW1wcyBvbmx5IG9uIGtleWZyYW1lcywgYXMgaXQgYnJlYWtzIHBsYXliYWNrIHdpdGggY3VycmVudCBnc3QtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUmV2ZXJ0IHBhdGNoIHdoaWNoIHNlbmRzIHRpbWVzdGFtcHMgb25seSBvbiBrZXlmcmFtZXMsIGFzIGl0CgkgIGJyZWFrcyBwbGF5YmFjayB3aXRoIGN1cnJlbnQgZ3N0LWZmbXBlZy4KCSAgRml4ZXM6ICM1MTU1NjIKCjIwMDgtMDItMTEgMTQ6MDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENsb3NlIHNvbWUgbWVtb3J5IGxlYWtzIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4gRml4ZXMgYnVnICM1MTU2OTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQ2xvc2Ugc29tZSBtZW1vcnkgbGVha3Mgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LiBGaXhlcyBidWcgIzUxNTY5Ny4KCjIwMDgtMDItMTEgMTM6NDg6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9nY29uZi9nY29uZi5jOiBVc2UgYW5kIHVuc2V0IHRoZSBHRXJyb3Igd2hlbiBwaXBlbGluZSBjcmVhdGlvbiBmYWlscyBpbnN0ZWFkIG9mIHNpbXBseSBsZWFraW5nIGl0LiBGaXhlcyBidWcgIzUxNS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgIFVzZSBhbmQgdW5zZXQgdGhlIEdFcnJvciB3aGVuIHBpcGVsaW5lIGNyZWF0aW9uIGZhaWxzIGluc3RlYWQgb2YKCSAgc2ltcGx5IGxlYWtpbmcgaXQuIEZpeGVzIGJ1ZyAjNTE1NzA0LgoKMjAwOC0wMi0xMCAxMDo0NjoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBGaXggbG9uZyBkZXNjcmlwdGlvbiBvZiBhdWRpb2Z4IGVsZW1lbnRzLiBGaXhlcyBidWcgIzUxNTQ1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgRml4IGxvbmcgZGVzY3JpcHRpb24gb2YgYXVkaW9meCBlbGVtZW50cy4gRml4ZXMgYnVnICM1MTU0NTcuCgoyMDA4LTAyLTA5IDAxOjQ1OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBhIHNpbXBsZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciB0aGUgc3BlY3RydW0gZWxlbWVudCwgaW5jbHVkZSBpdCBpbiB0aGUgZG9jcywgYW5kIGZpeCBzb21lIGRvY3VtZW50YXRpb24gYW1iaWd1aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIEFkZCBhIHNpbXBsZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciB0aGUgc3BlY3RydW0gZWxlbWVudCwgaW5jbHVkZSBpdAoJICBpbiB0aGUgZG9jcywgYW5kIGZpeCBzb21lIGRvY3VtZW50YXRpb24gYW1iaWd1aXRpZXMuCgkgIEZpeGVzOiAjMzQ4MDg1CgoyMDA4LTAyLTA5IDAwOjE1OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBpbmNsdWRlcyBvcmRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgRml4IGluY2x1ZGVzIG9yZGVyCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEV4Y2x1ZGUgdjRsMnNyYyBmcm9tIHRoZSBzdGF0ZXMgdGVzdCAtIGl0IHRha2VzIHRvbyBsb25nIHRvIHN0YXJ0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkgIE1ha2UgdGhlIHRlc3QgcnVuIHByb3Blcmx5IHdpdGggQ0tfRk9SSz1ubwoKMjAwOC0wMi0wOCAxNTozMjozNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgMyBuZXcgcGx1Z2lucyB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCAzIG5ldyBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAwOC0wMi0wOCAxNToyNzo1MSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGVzIGZvciBkaXN0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCjIwMDgtMDItMDggMTU6MjA6MzEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZsYWcga2V5ZnJhbWUgYW5kIGRlbHRhIHVuaXRzIGNvcnJlY3RseSB3aGVuIGRlYWxpZ24gd2l0aCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAyLTA4ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOiBGbGFnCgkgIGtleWZyYW1lIGFuZCBkZWx0YSB1bml0cyBjb3JyZWN0bHkgd2hlbiBkZWFsaWduIHdpdGggYQoJICBCbG9ja0dyb3VwLgoJICBGaXhlczogIzUxNDM5NwoKMjAwOC0wMi0wOCAxMDoxOTozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBTcGVsbCB0aGUgbmV3IHRlc3RzIGNvcnJlY3RseSBpbiAuY3ZzaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIFNwZWxsIHRoZSBuZXcgdGVzdHMgY29ycmVjdGx5IGluIC5jdnNpZ25vcmUKCjIwMDgtMDItMDggMTA6MDk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBOZWVkIHRvIHVzZSBnc2l6ZSBoZXJlIGZvciB0aGUgc2l6ZSwgZml4ZXMgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBOZWVkIHRvIHVzZSBnc2l6ZSBoZXJlIGZvciB0aGUgc2l6ZSwgZml4ZXMgY29tcGlsZXIgd2FybmluZy4KCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgZmlsZXMgdG8gZml4IHRoZSBidWlsZC4KCjIwMDgtMDItMDggMDQ6MjU6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBtdWx0aWZpbGUgcGx1Z2luIGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgTW92ZSBtdWx0aWZpbGUgcGx1Z2luIGZyb20gLWJhZC4KCSAgRml4ZXM6ICM0OTAyODMKCjIwMDgtMDItMDggMDM6NDQ6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS86IFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIFNob3VsZCBiZSBsZXNzIGVycm9yIHByb25lLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBDcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHVzaW5nIHN0YW5kYXJkIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mCgkgIGNyZWF0aW5nIGEgZGlyZWN0b3J5IGluIHRoZSBjdXJyZW50IGRpci4KCjIwMDgtMDItMDggMDM6Mjg6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBzcGVjdHJ1bSBwbHVnaW4gZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIHNwZWN0cnVtIHBsdWdpbiBmcm9tIC1iYWQuCgkgIE1vdmUgZXhhbXBsZXMgaW50byB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS4KCjIwMDgtMDItMDggMDI6NTY6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBNZW50aW9uIGJ1ZyA0MTU2MjcgZml4ZWQgd2l0aCBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lbnRpb24gYnVnIDQxNTYyNyBmaXhlZCB3aXRoIHByZXZpb3VzIGNvbW1pdAoKMjAwOC0wMi0wOCAwMjo0OToyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHRoZSBlcXVhbGl6ZXIgcGx1Z2luIGFjcm9zcyBmcm9tIC1iYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4gYWNyb3NzIGZyb20gLWJhZAoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCBlcXVhbGl6ZXIsIGF1ZGlvc2luY3diYW5kIGFuZCBhdWRpb3NpbmN3bGltaXQKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA4LTAyLTA4IDAyOjQ4OjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy4qOiBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9PUFRJT05fQ0ZMQUdTLCB0byBnZXQgLVdlcnJvciAtV2FsbCBpbnRvIHRoZSB0ZXN0cyBhcyBmb3IKCSAgb3RoZXIgbW9kdWxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBmcm9tIC1XYWxsIC1XZXJyb3IKCjIwMDgtMDItMDggMDE6MDc6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBPbmx5IGJ1aWxkIHdpdGggRElTQUJMRV9ERVBSRUNBVEVEIGR1cmluZyB0aGUgQ1ZTIGN5Y2xlLiBQcmUtcmVsZWFzZXMgYXJlIHRyZWF0ZWQgbGlrZSByZWxlYXNlcyBhbmQgYnVpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgT25seSBidWlsZCB3aXRoIERJU0FCTEVfREVQUkVDQVRFRCBkdXJpbmcgdGhlIENWUyBjeWNsZS4gUHJlLXJlbGVhc2VzCgkgIGFyZSB0cmVhdGVkIGxpa2UgcmVsZWFzZXMgYW5kIGJ1aWxkIHdpdGhvdXQgaXQuCgoyMDA4LTAyLTA3IDIxOjU3OjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdGhlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgZnJvbSBnc3QtcGx1Z2lucy1iYWQgaW50byB0aGUgYXVkaW9meCBwbHVnaW4sIGFuZCByZW5hbWUgdG8gYXVkaW93c2luY2xpbWl0IGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkgIE1vdmUgdGhlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgZnJvbSBnc3QtcGx1Z2lucy1iYWQgaW50bwoJICB0aGUgYXVkaW9meCBwbHVnaW4sIGFuZCByZW5hbWUgdG8gYXVkaW93c2luY2xpbWl0IGFuZCBhdWRpb3dzaW5jYmFuZAoJICByZXNwZWN0aXZlbHkuCgkgIEZpeGVzOiAjNDY3NjY2CgoyMDA4LTAyLTA3IDIxOjE3OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIGlmIHdlIGdldCBhIGJ1ZmZlciB3aXRob3V0IGNhcHMsIGFuZCBhZGQgYSBzb21ld2hhdCB1c2VmdWwgZGVidWcgbWVzc2FnZS4gUGx1cyB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9jaGFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgUmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIGlmIHdlIGdldCBhIGJ1ZmZlciB3aXRob3V0CgkgIGNhcHMsIGFuZCBhZGQgYSBzb21ld2hhdCB1c2VmdWwgZGVidWcgbWVzc2FnZS4gUGx1cyB0ZXN0LgoKMjAwOC0wMi0wNyAxOToxMzo1NiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgSEFWRV9VTklTVERfSCBpcyBkZWZpbmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIEhBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERlZmluZSBzb2NrbGVuX3QgYXMgaXQgc2VlbXMgaXQncyBub3QgZGVmaW5lZCBpbiBkZWZhdWx0CgkgIFZpc3VhbCBTdHVkaW8gaGVhZGVycy4KCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGUgZGVwZW5kZW5jaWVzIGFuZCBhZGQgbmV3IHNvdXJjZSBmaWxlcwoKMjAwOC0wMi0wNyAxNjozODo1NSArMDAwMCAgQmphcm5lIFJvc2VuZ3JlbiA8Ymphcm5lQGF4aXMuY29tPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogRG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gd2UgZG9uJ3QgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmphcm5lIFJvc2VuZ3JlbiA8Ymphcm5lIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9wdXNoKToKCSAgRG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gd2UgZG9uJ3QgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIEZpeGVzIGJ1ZyAjNTE0OTY1LgoKMjAwOC0wMi0wNyAxMzo0ODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6IEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBBZGQgYSBmaXhtZSBjb21tZW50LgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggc2FtZSBsZWFrIGFzIGluIGlucHV0LXNlbGVjdG9yLgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIEltcHJvdmUgdGhlIHRlc3QuCgoyMDA4LTAyLTA3IDEzOjQxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wcm92ZSB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEltcHJvdmUgdGhlIGRvY3MuCgoyMDA4LTAyLTA3IDEwOjE3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byAoZ29vZCkgcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQgY29uZnVzaW9uIGFuZCBtYWtlIGltcGxpY2l0IGNvcmUgcmVxdWlyZW1lbnQgZXhwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gKGdvb2QpIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkCgkgIGNvbmZ1c2lvbiBhbmQgbWFrZSBpbXBsaWNpdCBjb3JlIHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAwOC0wMi0wNyAxMDowNDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgoyMDA4LTAyLTA2IDIzOjQ0OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSBhdWRpb2NoZWJ5c2hldmZyZXFiYW5kIC0+IGF1ZGlvY2hlYmJhbmQgYW5kIGF1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0IC0+IGF1ZGlvY2hlYmxpbWl0IGFuZCBkbyB0aGUgcmVxdWlzaXRlIENWUy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgUmVuYW1lIGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQgLT4gYXVkaW9jaGViYmFuZCBhbmQKCSAgYXVkaW9jaGVieXNoZXZmcmVxbGltaXQgLT4gYXVkaW9jaGVibGltaXQgYW5kIGRvIHRoZSByZXF1aXNpdGUgQ1ZTCgkgIHN1cmdlcnkuCgkgIENsb3NlczogIzQ5MTgxMQoKMjAwOC0wMi0wNiAxMTowNzo0NyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0wMi0wNSAxNzo1OToyNCArMDAwMCAgb3JqYW4gPG9yamFuZkBheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEZpeCBjYXBzIG1lbW9yeSBsZWFrLiBGaXhlcyAjNTE0NTczLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IG9yamFuIDxvcmphbmYgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBGaXggY2FwcyBtZW1vcnkgbGVhay4gRml4ZXMgIzUxNDU3My4KCjIwMDgtMDItMDQgMTI6MDc6MTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IElmIHRoZXJlJ3Mgbm8gZW50cmllcyBpbiB0aGUgc3ViaW5kZXgsIGRvbid0IHRyeSB0byBkbyBhbnl0aGluZyBzdHVwaWQsIGp1c3QgcmV0dXJuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KToKCSAgSWYgdGhlcmUncyBubyBlbnRyaWVzIGluIHRoZSBzdWJpbmRleCwgZG9uJ3QgdHJ5IHRvIGRvIGFueXRoaW5nIHN0dXBpZCwKCSAganVzdCByZXR1cm4uCgoyMDA4LTAyLTAyIDE5OjQ3OjUwICswMDAwICBKb2huIE1pbGxpa2luIDxqbWlsbGlraW5AZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBGaXggZXh0cmFjdGlvbiBvZiBwaWN0dXJlIGJsb2NrcyB3aXRoIG5ld2VyIGxpYmZsYWMgdmVyc2lvbnMgYWdhaW46CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9obiBNaWxsaWtpbiA8am1pbGxpa2luIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NjYW5fZm9yX2xhc3RfYmxvY2spLAoJICAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlciksIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spOgoJICBGaXggZXh0cmFjdGlvbiBvZiBwaWN0dXJlIGJsb2NrcyB3aXRoIG5ld2VyIGxpYmZsYWMgdmVyc2lvbnMgYWdhaW46CgkgIEZMQUNfX01FVEFEQVRBX1RZUEVfUElDVFVSRSBpcyBhbiBlbnVtLCBub3QgYSBkZWZpbmUgKCM1MTM2MjgpLgoKMjAwOC0wMi0wMiAxODowNjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgcnRwLXBheWxvYWRpbmcgdGVzdCB0byBWQUxHUklORF9UT19GSVguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgcnRwLXBheWxvYWRpbmcgdGVzdCB0byBWQUxHUklORF9UT19GSVguCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX1RFU1RfRU5EIHNvIGdzdC1pbmRlbnQgZ2V0cyB0aGUKCSAgZm9ybWF0dGluZyByaWdodDsgbWFrZSB0ZXN0IGxlc3MgdmVyYm9zZSBpbiBnZW5lcmFsLCBidXQKCSAgbW9yZSB2ZXJib3NlIGluIHRoZSBlcnJvciBjYXNlICh3aGljaCBzaG91bGQgcHJvYmFibHkKCSAgbWFrZSB0aGUgdGVzdCBmYWlsIGFueXdheSkuCgoyMDA4LTAyLTAxIDE4OjI5OjIxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGF2aXN1YnRpdGxlIGFuZCBjaGFuZ2UgY2xhc3MgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGF2aXN1YnRpdGxlIGFuZCBjaGFuZ2UgY2xhc3MgdG8KCSAgQ29kZWMvUGFyc2VyL1N1YnRpdGxlCgoyMDA4LTAxLTMxIDE2OjEyOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogVHJlYXQgRU5PVFRZIChkcml2ZXIgZG9lcyBub3QgaW1wbGVtZW50IGlvY3RsKSB0aGUgc2FtZSBhcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgVHJlYXQgRU5PVFRZIChkcml2ZXIgZG9lcyBub3QgaW1wbGVtZW50IGlvY3RsKSB0aGUgc2FtZSBhcwoJICBFSU5WQUwgc2luY2UgaXQgaW1wbGllcyB0aGVyZSBhcmUgbm8gYXZhaWxhYmxlIHN0YW5kYXJkcy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X25lYXJlc3Rfc2l6ZSk6CgkgIFJlcGxhY2UgZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzIHdpdGggMiBjYWxscyB0byBuZXcgZnVuY3Rpb24KCSAgZ3N0X3Y0bDJzcmNfZ2V0X25lYXJlc3Rfc2l6ZSwgYW5kIGdldCBpdCB0byB1c2UgVklESU9DX1NfRk1UIHRvCgkgIHByb2JlIGlmIHRoZSBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBWSURJT0NfVFJZX0ZNVCBmb3Igd2hhdGV2ZXIKCSAgcmVhc29uLCBhbmQgaWYgd2UgYXJlbid0IHlldCBhY3RpdmVseSBjYXB0dXJpbmcuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBSZW1vdmUgcmVwbGFjZWQgZnVuY3Rpb24gZGVjbGFyYXRpb24uCgoyMDA4LTAxLTMxIDE2OjAzOjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4xNiBmb3IgdGhlIGdzdF92aWRlb19mb3JtYXRfKgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMTYgZm9yIHRoZSBnc3RfdmlkZW9fZm9ybWF0XyoKCSAgQVBJLgoKMjAwOC0wMS0zMSAwOTo1MDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgoyMDA4LTAxLTMxIDA4OjU3OjE2ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCjIwMDgtMDEtMzEgMDA6MDM6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBGaXggdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggdHlwby4KCjIwMDgtMDEtMzEgMDA6MDA6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2FscGhhLzogUmUtd3JpdGUgdGhlICdhbHBoYScgcGx1Z2luIHRvIGJlIEJhc2VUcmFuc2Zvcm0gYmFzZWQsIHNpbXBsaWZ5aW5nIHNvbWUgc3R1ZmYsIGFuZCBtYWtpbmcgYnVmZmVyLWFsbG9jIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgUmUtd3JpdGUgdGhlICdhbHBoYScgcGx1Z2luIHRvIGJlIEJhc2VUcmFuc2Zvcm0gYmFzZWQsIHNpbXBsaWZ5aW5nCgkgIHNvbWUgc3R1ZmYsIGFuZCBtYWtpbmcgYnVmZmVyLWFsbG9jIGFuZCByZXNpemluZyB3b3JrIGF1dG9tYXRpY2FsbHkuCgkgIE5vIGxvbmdlciBjcmFzaGVzIG9uIG9kZCBmcmFtZSB3aWR0aHMgYW5kIGhlaWdodHMsIGFsdGhvdWdoIHRoZXJlCgkgIHNlZW1zIHRvIGJlIGEgZGlzYWdyZWVtZW50IHdpdGggZmZtcGVnY29sb3JzcGFjZSBhYm91dCB3aGF0IHNpemUKCSAgYW4gQVlVViBmcmFtZSB3aXRoIG9kZCBoZWlnaHQgc2hvdWxkIGJlLgoKMjAwOC0wMS0zMCAxNTo0MDozNiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgUmVnZW5lcmF0ZSBldmVyeXRoaW5nIGZvciB0aGUgZG9jdW1lbnRhdGlvbiBjaGFuZ2VzIHdlIGhhZC4KCjIwMDgtMDEtMzAgMTM6Mjk6MTUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2luaXQpOgoJICBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5CgkgIGVudmlyb25tZW50IHZhcmlhYmxlLgoKMjAwOC0wMS0zMCAxMzowODo0NSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogdGVzdHMvY2hlY2svdGVzdC1jZXJ0LnBlbToKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWtleS5wZW06CgkgIEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoKMjAwOC0wMS0zMCAxMzowNjowMSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nb3RfaGVhZGVyc19jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9ib2R5X2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19yZXNwb25zZV9jYiksIChnc3Rfc291cGh0dHBfc3JjX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJveHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VwMi40IGFuZCByZXF1aXJlIGl0LiBBbHNvIGltcGxlbWVudCByZWRpcmVjdGlvbgoJICBhbmQgbWFudWFsIHByb3h5IHNwZWNpZmljYXRpb24uIEZpeGVzIGJ1ZyAjNTEwNzA4LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3Igc291cGh0dHBzcmMuCgoyMDA4LTAxLTI5IDE4OjQzOjMyICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLio6IFByZWFsbG9jYXRlIHRoZSBvdXRwdXQgYnVmZmVyIHNvIHRoYXQgZ19tZW1kdXAoKSBhbmQgZ3N0X2J1ZmZlcl9tZXJnZSgpIGFyZW4ndCBuZWVkZWQgYW55bW9yZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAodXNlcl93cml0ZV9kYXRhKSwgKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIFByZWFsbG9jYXRlIHRoZSBvdXRwdXQgYnVmZmVyIHNvIHRoYXQgZ19tZW1kdXAoKSBhbmQKCSAgZ3N0X2J1ZmZlcl9tZXJnZSgpIGFyZW4ndCBuZWVkZWQgYW55bW9yZS4gVGhpcyBncmVhdGx5IGltcHJvdmVzCgkgIHBlcmZvcm1hbmNlcyBhbmQgZml4ZXMgIzUxMjU0NC4KCjIwMDgtMDEtMjkgMTg6MjQ6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEdTdHJlYW1lciB0aW1lc3RhbXBzIGFyZSBQVFMgdmFsdWVzIHdoaWxlIEFWSSBvbmx5IGtub3dzIGFib3V0IERUUyB0aW1lc3RhbXBzLiBNYWtlIHN1cmUgd2Ugb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIEdTdHJlYW1lciB0aW1lc3RhbXBzIGFyZSBQVFMgdmFsdWVzIHdoaWxlIEFWSSBvbmx5IGtub3dzIGFib3V0IERUUwoJICB0aW1lc3RhbXBzLiBNYWtlIHN1cmUgd2Ugb25seSBjb3B5IHRoZSBEVFMgYXMgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgd2hlbgoJICB3ZSBhcmUgZGVhbGluZyB3aXRoIGEga2V5IGZyYW1lLgoKMjAwOC0wMS0yOSAxNTo0NTo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgYWRkIHRlc3RzdWl0ZSBmb3IgdGhlIHJ0cC1wYXlsb2FkZXIgdGhhdCB0cmllcyBzaW11bGF0aW5nIGRhdGFmbG93LiBOZWVkcyBtb3JlIHRlc3QgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBBZGQgYWRkIHRlc3RzdWl0ZSBmb3IgdGhlIHJ0cC1wYXlsb2FkZXIgdGhhdCB0cmllcyBzaW11bGF0aW5nCgkgIGRhdGFmbG93LiBOZWVkcyBtb3JlIHRlc3QgZGF0YS4KCjIwMDgtMDEtMjkgMTU6Mjc6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzogUmVtb3ZlIHR3byB1bnVzZWQgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkgIFJlbW92ZSB0d28gdW51c2VkIHZhcmlhYmxlcy4KCjIwMDgtMDEtMjggMTI6MTc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBnX2FzY2lpX3N0cnRvbGwoKSBpbnN0ZWFkIG9mIGF0b2xsLCB3aGljaCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBDOTkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBVc2UgZ19hc2NpaV9zdHJ0b2xsKCkgaW5zdGVhZCBvZiBhdG9sbCwgd2hpY2ggaXMgb25seQoJICBhdmFpbGFibGUgaW4gQzk5LgoKMjAwOC0wMS0yNiAxNjoxOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZSBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlCgkgIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCjIwMDgtMDEtMjUgMTA6NTM6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIE1QRUcyIHZpZGVvIHBheWxvYWRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJICBBZGQgTVBFRzIgdmlkZW8gcGF5bG9hZGVyCgoyMDA4LTAxLTIzIDE3OjA1OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogVXNlICNpbmNsdWRlIDxtYXRoLmg+IGluc3RlYWQgb2YgI2luY2x1ZGUgIm1hdGguaCIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBVc2UgI2luY2x1ZGUgPG1hdGguaD4gaW5zdGVhZCBvZiAjaW5jbHVkZSAibWF0aC5oIi4KCjIwMDgtMDEtMjEgMTk6NDE6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEZpeCB1cCBzb21lIENGTEFHUyBzZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRml4IHVwIHNvbWUgQ0ZMQUdTIHNldHMuCgkgIERvbid0IGluY2x1ZGUgZ2NvbmZ2aWRlb3NyYyBpbiB0aGUgc3RhdGVzIHRlc3QuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGQgc29tZSBlcnJvciBzdHJpbmdzIHRvIGZhaWxfdW5sZXNzIGFyZ3VtZW50cyB0byBmaXggc29tZSB3ZWlyZAoJICBjb21waWxlciBlcnJvcnMgb24gU29sYXJpcy4KCjIwMDgtMDEtMjEgMTk6MzU6NTggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGV0ZWN0IHZpZGVvNGxpbnV4IGhlYWRlcnMgb24gU29sYXJpcyB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGV0ZWN0IHZpZGVvNGxpbnV4IGhlYWRlcnMgb24gU29sYXJpcyB0b28uCgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9uZXcpOgoJICBNYWtlIHY0bDIgYnVpbGQgb24gU29sYXJpcy4KCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzUxMDUwNQoKMjAwOC0wMS0yMSAxMTo0NjoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6IFVwZGF0ZSBsaXN0IGZyb20gKHN0aWxsIGxvY2FsKSBzY2FubmluZyBzY3JpcHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBVcGRhdGUgbGlzdCBmcm9tIChzdGlsbCBsb2NhbCkgc2Nhbm5pbmcgc2NyaXB0LgoKMjAwOC0wMS0yMSAwOTo1NzowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQgZXZlbiBtb3JlLgoKMjAwOC0wMS0yMSAwNzo1NDowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVXBkYXRlIHhtbCBpbmNsdWRlcy4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgUmVnZW5lcmF0ZSBmaWxlcy4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIHRlc3QgYmluYXJ5IHRvIGlnbm9yZXMuCgoyMDA4LTAxLTIwIDA1OjA3OjUyICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZiB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mCgkgIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHdoaWNoIGlzIHdyb25nIGFmdGVyIGEgc2Vlay4KCjIwMDgtMDEtMTkgMTQ6NTk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgQWRkIGJ1ZyBudW1iZXIgdG8gdGhlIGxhdGVzdCBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGJ1ZyBudW1iZXIgdG8gdGhlIGxhdGVzdCBlbnRyeQoKMjAwOC0wMS0xOSAxNDo1Mzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFNldCB2YXJpYWJsZSB0byBOVUxMIGFmdGVyIGZyZWVpbmcgaXQgdG8gcHJldmVudCBkb3VibGUgZnJlZXMgb3IgbWFrZSBmYWlsdXJlcyBieSBhbm90aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OgoJICBWaWN0b3IgU1RJTk5FUiA8dmljdG9yIGRvdCBzdGlubmVyIGF0IGhheXBvY2FsYyBkb3QgY29tPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgU2V0IHZhcmlhYmxlIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBpdCB0byBwcmV2ZW50IGRvdWJsZSBmcmVlcwoJICBvciBtYWtlIGZhaWx1cmVzIGJ5IGFub3RoZXIgdXNlIG9mIGl0IGFmdGVyd2FyZHMgbW9yZSBvYnZpb3VzCgkgIGFuZCBmaXggdXNlIG9mIGl0IGFmdGVyIHRoZSBmcmVlaW5nLgoKMjAwOC0wMS0xOSAxNDozNDo1MCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdAoJICB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpb24gcXVlcnkuCgoyMDA4LTAxLTE4IDEzOjQwOjM4ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogdXNlIEdTVF9XQVJOSU5HIGZvciBsb2dnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVzZSBHU1RfV0FSTklORyBmb3IgbG9nZ2luZwoKMjAwOC0wMS0xOCAxMDowNTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoKMjAwOC0wMS0xOCAxMDowNDoyNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IERvbid0IHRyeSB0byBsZWF2ZSBhIG11bHRpY2FzdCBncm91cCB3aXRoIGFuIGludmFsaWQgc29ja2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIERvbid0IHRyeSB0byBsZWF2ZSBhIG11bHRpY2FzdCBncm91cCB3aXRoIGFuIGludmFsaWQgc29ja2V0CgoyMDA4LTAxLTE4IDA4OjQ5OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOiAoc2V0dXBfZXF1YWxpemVyKSwKCSAgKGNsZWFudXBfZXF1YWxpemVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKGVxdWFsaXplcl9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgoyMDA4LTAxLTE4IDA3OjAzOjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wIGxlYWtpbmcJdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKToKCSAgVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcAoJICBsZWFraW5nCXRoZW0uCgoyMDA4LTAxLTE4IDA1OjMyOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgoyMDA4LTAxLTE4IDA1OjI0OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKHNvdXBfYWRkX3JhbmdlX2hlYWRlciksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2NodW5rKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgoyMDA4LTAxLTE3IDIxOjIzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiB3aGVyZSB0aGUgcGljdHVyZSBtZXRhZGF0YSBkZWZpbmVzIGFuZCBzdHJ1Y3RzIGRvbid0IGV4aXN0IHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBGaXggY29tcGlsYXRpb24gYWdhaW5zdCBmbGFjIDEuMS4yIChhcyBvbiBkZWJpYW4gc3RhYmxlKSwgd2hlcmUKCSAgdGhlIHBpY3R1cmUgbWV0YWRhdGEgZGVmaW5lcyBhbmQgc3RydWN0cyBkb24ndCBleGlzdCB5ZXQuCgkgIEZpeGVzICM1MDkzMDEuCgoyMDA4LTAxLTE3IDExOjEzOjE2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIHByb3BlcnR5IHRvIGF1dG9tYXRpY2FsbHkgam9pbiBhIG11bHRpY2FzdCBncm91cCBvciBub3QuIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuIHNoYXJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLCAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpLCAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBhdXRvbWF0aWNhbGx5IGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAgb3Igbm90LiBUaGlzIGNhbiBiZQoJICB1c2VmdWwgd2hlbiBzaGFyaW5nIGEgc29ja2V0IGJldHdlZW4gbXVsdGlwbGUgZWxlbWVudHMuCgkgIEZpeGVzICM1MDk1MzEuCgoyMDA4LTAxLTE2IDIxOjUzOjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbTogQWRkIGNvbnRyb2xsZXIgZmxhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICBBZGQgY29udHJvbGxlciBmbGFncy4KCjIwMDgtMDEtMTYgMjA6MTc6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogQWxzbyBjb21taXQgdGhlIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIEFsc28gY29tbWl0IHRoZSBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKS4KCjIwMDgtMDEtMTYgMDg6MTE6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogUmVtb3ZlIGR1cGxpY2F0ZSBlbnRyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgZHVwbGljYXRlIGVudHJ5LgoKMjAwOC0wMS0xNSAxNjo1MjoxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIDMgbW9yZSBwbHVnaW5zIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICBBZGQgMyBtb3JlIHBsdWdpbnMgdG8gZG9jcy4KCjIwMDgtMDEtMTUgMTY6MDQ6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJldmVydCBwcmV2aW91cyBjaGFuZ2UgY2F1c2VkIGJ5IGEgZmlsZSB0aGF0IGdvdCBzdHVjayBvbiBhbiBvbGQgcmV2aXNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSBjYXVzZWQgYnkgYSBmaWxlIHRoYXQgZ290IHN0dWNrIG9uIGFuIG9sZAoJICByZXZpc2lvbi4KCjIwMDgtMDEtMTUgMTU6NDA6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlLWFkZCBtdWx0aXBhcnRkZW11eCB0byB0aGUgZG9jcy4gTGFzdCByb3VuZCBvZiBzZWN0aW9uIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIFJlLWFkZCBtdWx0aXBhcnRkZW11eCB0byB0aGUgZG9jcy4gTGFzdCByb3VuZCBvZiBzZWN0aW9uIGNsZWFudXAuCgoyMDA4LTAxLTE1IDE1OjIyOjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYW5hZ2VkIHRvIHJlc29sdmUgbW9zdCB1bnVzZWQgZGVjbGFyYXRpb25zLiBGaWxlZCBhIGJ1ZyBmb3Igb25lIGxlZnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBNYW5hZ2VkIHRvIHJlc29sdmUgbW9zdCB1bnVzZWQgZGVjbGFyYXRpb25zLiBGaWxlZCBhIGJ1ZyBmb3Igb25lIGxlZnQuCgoyMDA4LTAxLTE1IDA4OjAzOjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogQ2xlYW51cCBzZWN0aW9uIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBDbGVhbnVwIHNlY3Rpb24gZmlsZS4KCjIwMDgtMDEtMTUgMDc6NDI6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBwbHVnaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBVcGRhdGUgcGx1Z2luIGRvY3MuCgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVycGFkLmg6CgkgIFNwbGl0IG91dCBoZWFkZXIgdG8gZml4IHdhcm5pbmdzIGZyb20gdGhlIGRvYy1idWlsZC4KCjIwMDgtMDEtMTQgMTI6MzU6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBcyBmb3VuZCBieTogVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuIG5va2lhIGNvbT4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFzIGZvdW5kIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW4gbm9raWEgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBVc2UgYXRvbGwgdG8gcGFyc2UgdGhlIHJ0cHRpbWUgd2l0aCBlbm91Z2ggcHJlY2lzaW9uLiBGaXhlcyAjNTA5MzI5LgoKMjAwOC0wMS0xNCAxMjoxMTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEluaXRpYWxpc2UgdmFyaWFibGVzIHRvIHdvcmsgYXJvdW5kIChmYWxzZSkgJ2ZvbyBtaWdodCBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbicgd2FybmluZ3MgYnkgZ2NjLS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IChnc3RfYXZpX3N1YnRpdGxlX2V4dHJhY3RfZmlsZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIEluaXRpYWxpc2UgdmFyaWFibGVzIHRvIHdvcmsgYXJvdW5kIChmYWxzZSkgJ2ZvbyBtaWdodCBiZSB1c2VkCgkgIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbicgd2FybmluZ3MgYnkgZ2NjLTMuMy4zICgjNTA5Mjk4KS4KCjIwMDgtMDEtMTIgMDI6MzI6MzUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSWdub3JlIG1vcmUgZmlsZXMgZm9yIHRoZSBidWlsZGJvdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlIGZpbGVzIGZvciB0aGUgYnVpbGRib3QuCgoyMDA4LTAxLTExIDIxOjA4OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEdlbmVyYXRlIHRoZSBpbWFnZS10eXBlIHZhbHVlcyBjb3JyZWN0bHkuIExlYXZlIHRoZW0gb3V0IG9mIHRoZSBjYXBzIHdoZW4gb3V0cHV0dGluZyBhICJwcmV2aWV3IGltYWdlIiB0YWcsIHNpbmNlIGl0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBHZW5lcmF0ZSB0aGUgaW1hZ2UtdHlwZSB2YWx1ZXMgY29ycmVjdGx5LiBMZWF2ZSB0aGVtIG91dCBvZiB0aGUgY2FwcwoJICB3aGVuIG91dHB1dHRpbmcgYSAicHJldmlldyBpbWFnZSIgdGFnLCBzaW5jZSBpdCBvbmx5IG1ha2VzIHNlbnNlCgkgIHRvIGhhdmUgb25lIG9mIHRob3NlIC0gdGhlIHR5cGUgaXMgaXJyZWxldmFudC4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfb3Blbik6CgkgIElmIHdlIGNhbiwgbWFyayB0aGUgbWl4ZXIgbXVsdGlwbGUgb3BlbiB3aGVuIHdlIHVzZSBpdCwgaW4gY2FzZQoJICAoZm9yIHNvbWUgcmVhc29uKSB0aGUgcHJvY2VzcyB3YW50cyB0byBvcGVuIGl0IGFnYWluIGVsc2V3aGVyZS4KCjIwMDgtMDEtMTEgMTk6MTY6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChjcmVhdGVfdGVzdF9idWZmZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6ICh0ZXN0X2J1ZmZlcl9uZXcpOgoJICBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoKMjAwOC0wMS0xMSAxODo1NjowNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZpZ25vcmU6CgkgIGlnbm9yZSBzb21lIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBzb21lIG1vcmUKCjIwMDgtMDEtMTEgMTg6NTQ6MzEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgc29tZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgc29tZSBtb3JlCgoyMDA4LTAxLTExIDE3OjIxOjMwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IEZpeCB0aGUgY2xvY2sgcmF0ZSB0byA5MDAwMCBhcyByZXF1aXJlZCBieSB0aGUgUkZDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIEZpeCB0aGUgY2xvY2sgcmF0ZSB0byA5MDAwMCBhcyByZXF1aXJlZCBieSB0aGUgUkZDLgoJICBGaXhlcyAjNTA4NjQ0LgoKMjAwOC0wMS0xMSAxNzoxMjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IERvbid0IHVzZSBkZXByZWNhdGVkIEdTVF9QTFVHSU5fREVGSU5FX1NUQVRJQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKEdTVF9TVEFSVF9URVNUKSwgKGljeWRlbXV4X3N1aXRlKToKCSAgRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1NUX1BMVUdJTl9ERUZJTkVfU1RBVElDLgoKMjAwOC0wMS0xMCAxMjoyNTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgYXV0b2dlbi5zaDogQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncyBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MKCSAgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZSByZXF1aXJlIEdOVSBtYWtlIGluIGFsbW9zdAoJICBldmVyeSBNYWtlZmlsZSBhbnl3YXkuCgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQU1fUFJPR19DQ19DX08gYXMgYSBjb21waWxlciB0aGF0IGFjY2VwdHMgYm90aCAtYyBhbmQgLW8KCSAgYXQgdGhlIHNhbWUgdGltZSBpcyByZXF1aXJlZCBmb3IgcGVyIHRhcmdldCBmbGFncy4KCjIwMDgtMDEtMDkgMTU6Mjg6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBlcnJvciBmcm9tIG15IGxhc3QgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KToKCSAgRml4IGVycm9yIGZyb20gbXkgbGFzdCBjb21taXQuCgoyMDA4LTAxLTA5IDE1OjIwOjE5ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IE1ha2Ugc3VyZSB0aGUgSVNPIDYzOS1YIGxhbmd1YWdlIGNvZGUgaW4gSUQzdjIgQ09NTSBmcmFtZXMgc28gd2UgZG9uJ3QgZW5kIHVwIHdpdGggbm9uLVVULi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuIG5va2lhIGNvbT4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2NvbW1lbnRfZnJhbWUpOgoJICBNYWtlIHN1cmUgdGhlIElTTyA2MzktWCBsYW5ndWFnZSBjb2RlIGluIElEM3YyIENPTU0gZnJhbWVzCgkgIGlzIGFjdHVhbGx5IHZhbGlkIFVURi04IChvciByYXRoZXI6IEFTQ0lJKSwgc28gd2UgZG9uJ3QgZW5kCgkgIHVwIHdpdGggbm9uLVVURjggc3RyaW5ncyBpbiB0YWdzIGlmIHRoZXJlJ3MgZ2FyYmFnZSBpbiB0aGUKCSAgbGFuZ3VhZ2UgZmllbGQuIEFsc28gbWFrZSBzdXJlIHRoZSBsYW5ndWFnZSBjb2RlIGlzIGFsd2F5cwoJICBsb3dlciBjYXNlLiBGaXhlczogIzUwODI5MS4KCjIwMDgtMDEtMDkgMTM6NTU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogRml4IENoYW5nZUxvZyB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIEZpeCBDaGFuZ2VMb2cgdHlwby4KCjIwMDgtMDEtMDkgMTM6NTA6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxnaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEd1YXJkIGNoZWNrLXRvcnR1cmUgdGFyZ2V0IGxpa2UgaW4gdGhlIG90aGVyIHBhY2thZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZ2luZyBjb3ZlcmFnZSByZXBvcnRzLiBHdWFyZAoJICBjaGVjay10b3J0dXJlIHRhcmdldCBsaWtlIGluIHRoZSBvdGhlciBwYWNrYWdlcy4KCjIwMDgtMDEtMDkgMTI6MzM6NTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksIChfZG9faW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF92aWRlb21peGVyX2NoaWxkX3Byb3h5X2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVsZWFzZV9wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpOgoJICBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UuCgkgIFNlbmQgbmV3c2VnbWVudCBhdCB0aGUgcmlnaHQgbW9tZW50CgkgIEZpeGVzICM0ODg4NzkKCjIwMDgtMDEtMDkgMTI6MDE6MTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYWxwaGEvOiBNYWtlIHRoZSB2YXJpb3VzIHByb3BlcnRpZXMgb2YgJ2FscGhhJyBjb250cm9sbGFibGUuIFRoaXMgYWxsb3dzIGRvaW5nIG5pY2V0aWVzIGxpa2UgZmFkZS1pbi9mYWRlLW91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NsYXNzX2luaXQpLCAoZ3N0X2FscGhhX2luaXQpLAoJICAoZ3N0X2FscGhhX3NpbmtfZXZlbnQpLCAoZ3N0X2FscGhhX2NoYWluKSwKCSAgKGdzdF9hbHBoYV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICBNYWtlIHRoZSB2YXJpb3VzIHByb3BlcnRpZXMgb2YgJ2FscGhhJyBjb250cm9sbGFibGUuIFRoaXMgYWxsb3dzIGRvaW5nCgkgIG5pY2V0aWVzIGxpa2UgZmFkZS1pbi9mYWRlLW91dC4KCjIwMDgtMDEtMDkgMTE6MTE6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHAvOiBSZW1vdmUgY29weS9wYXN0ZSB1bnVzZWQgY29kZSAocHJvcGVydHkgc2V0dGVycyBhbmQgZ2V0dGVyKSBmb3VuZCBieSB0aGUgY292ZXJhZ2Ugc3VpdGUgKHlheSwgc2F2ZXMgfjIwayBvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIFJlbW92ZSBjb3B5L3Bhc3RlIHVudXNlZCBjb2RlIChwcm9wZXJ0eSBzZXR0ZXJzIGFuZCBnZXR0ZXIpIGZvdW5kIGJ5CgkgIHRoZSBjb3ZlcmFnZSBzdWl0ZSAoeWF5LCBzYXZlcyB+MjBrIG9uIGRpc2spLgoKMjAwOC0wMS0wOCAyMDowMzozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWxzbyBmaXggdXAgcGFkIHRlbXBsYXRlcyB0byBpbmRpY2F0ZSB0aGF0IGltYWdlL2pwZWcgZG9lc24ndCBhYnNvbHV0ZWx5IHJlcXVpcmUgdGhlIGZyYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChDT01NT05fVklERU9fQ0FQU19OT19GUkFNRVJBVEUpLAoJICAodmlkZW9zaW5rX3RlbXBsKToKCSAgQWxzbyBmaXggdXAgcGFkIHRlbXBsYXRlcyB0byBpbmRpY2F0ZSB0aGF0IGltYWdlL2pwZWcgZG9lc24ndAoJICBhYnNvbHV0ZWx5IHJlcXVpcmUgdGhlIGZyYW1lcmF0ZSBwcm9wZXJ0eSB0byBiZSBzZXQgKCM1MDQwODEpLgoKMjAwOC0wMS0wOCAxOTo1NzoyMyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguKjogS2VlcCB0cmFjayBvZiBmaXJzdCBhbmQgbGFzdCB0aW1lc3RhbXBzIGZvciBlYWNoIGluY29taW5nIHN0cmVhbSwgc28gd2UgY2FuIGNhbGN1bGF0ZSB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyAgPHdvdXRlciBhdCBtaW5kIGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBLZWVwIHRyYWNrIG9mIGZpcnN0IGFuZCBsYXN0IHRpbWVzdGFtcHMgZm9yIGVhY2ggaW5jb21pbmcgc3RyZWFtLAoJICBzbyB3ZSBjYW4gY2FsY3VsYXRlIHRoZSB0b3RhbCBkdXJhdGlvbiBmb3IgbGl2ZSBzb3VyY2VzIGFuZCBvdGhlcgoJICBpbnB1dCB3aGVyZSB3ZSBjYW4ndCBxdWVyeSB0aGUgZHVyYXRpb24gZnJvbSB0aGUgc3RhcnQgb3Igd2hlcmUKCSAgdGhlcmUncyBubyBjb25zdGFudCBmcmFtZXJhdGUgZnJvbSB3aGljaCB3ZSBjYW4gZGVkdWNlIHRoZQoJICBkdXJhdGlvbjsgYWxzbyB1c2UgY2FsY3VsYXRlZC9vYnNlcnZlZCBkdXJhdGlvbiBpZiBpdCBpcyBiaWdnZXIKCSAgdGhhbiB0aGUgcHJldmlvdXNseSBxdWVyaWVkIGR1cmF0aW9uLiBGdXJ0aGVybW9yZSwgdXNlCgkgIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIGFuZCB0YWtlIGludG8gYWNjb3VudCB0aGF0IGl0IG1heQoJICByZXR1cm4gVFJVRSBidXQgc3RpbGwgYSBkdXJhdGlvbiBvZiBDTE9DS19USU1FX05PTkUsIHdoaWNoIGVhc2lseQoJICBzY3Jld3MgdXAgY29tcGFyaXNvbnMgd2hlbiB1c2luZyB1bnNpZ25lZCBpbnRlZ2Vycy4gRml4ZXMgIzUwNDA4MS4KCjIwMDgtMDEtMDggMTQ6NTg6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIE1ha2UgZWxlbWVudHMgR1NUX0JVRkZFUl9GTEFHX0dBUCBhd2FyZSBhbmQgY2FsbCBnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X2dhcF9hd2FyZSBmb3IgdGhpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfY2xpcHBpbmdfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2luaXQpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KToKCSAgTWFrZSBlbGVtZW50cyBHU1RfQlVGRkVSX0ZMQUdfR0FQIGF3YXJlIGFuZCBjYWxsCgkgIGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfZ2FwX2F3YXJlIGZvciB0aGlzLgoJICBCdW1wIGNvcmUgcmVxdWlyZW1lbnQgdG8gQ1ZTLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF90cmFuc2Zvcm1faXApOgoJICBBbHNvIHN5bmMgR09iamVjdCBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGlmIG9wZXJhdGluZwoJICBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwOC0wMS0wNyAxNjo0MTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgoyMDA4LTAxLTA1IDIxOjIwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMS0wNSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfd2luZG93X2lkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19kcmF3X2JvcmRlcnMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKTogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIKCSAgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoYW5jZSB0bwoJICB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBwcmVwYXJlLXh3aW5kb3ctaWQgYnVzIG1lc3NhZ2UuIERyYXcKCSAgYmxhY2sgYm9yZGVycyB3aGVuIGtlZXBpbmcgYXNwZWN0IHJhdGlvLiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUKCSAgb3VyCgkgIHJlbmRlcmluZyB3aW5kb3cgZGlzYXBwZWFycyAoY2xvc2VkIG9yIGVycm9ycykgbGlrZSBvdGhlciBzaW5rcwoJICBkby4gVmFyaW91cyA4MCBjb2x1bW5zIGZpeGVzLCBpbXByb3ZlIHN0YXRlIGNoYW5nZSBvcmRlci4gVGhhdAoJICBlbGVtZW50IGNvdWxkIG5lZWQgc29tZSBtb3JlIGxvdmUuCgoyMDA4LTAxLTA0IDE4OjMwOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGFnbGliLzogUmVtb3ZlIHVzZWxlc3MgdHlwZWRlZnMgd2l0aG91dCBuZXcgdHlwZSBuYW1lLiBGaXhlcyBhIHdhcm5pbmcgd2l0aCBnY2MgNC4zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICBSZW1vdmUgdXNlbGVzcyB0eXBlZGVmcyB3aXRob3V0IG5ldyB0eXBlIG5hbWUuIEZpeGVzIGEgd2FybmluZyB3aXRoCgkgIGdjYyA0LjMuCgoyMDA4LTAxLTAzIDEyOjI2OjAzICswMDAwICBKb2huIE1pbGxpa2luIDxqbWlsbGlraW5AZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBFbWl0IG1ldGFkYXRhIG1lc3NhZ2VzIHdoZW4gYSBQSUNUVVJFIGJsb2NrIGlzIGVuY291bnRlcmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksCgkgIChnc3RfZmxhY19ub3JtYWxpemVfcGljdHVyZV9taW1lX3R5cGUpLAoJICAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlciksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spOgoJICBFbWl0IG1ldGFkYXRhIG1lc3NhZ2VzIHdoZW4gYSBQSUNUVVJFIGJsb2NrIGlzIGVuY291bnRlcmVkLgoJICBGaXhlcyAjNTA2NzE1LgoKMjAwOC0wMS0wMiAxMzo1NDoxMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpLmM6IGluY3JlYXNlIHJhbmsgYmVjYXVzZSBubyBrbm93biBpc3N1ZXMgYW55bW9yZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmkuYzoKCSAgaW5jcmVhc2UgcmFuayBiZWNhdXNlIG5vIGtub3duIGlzc3VlcyBhbnltb3JlIC4uLgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgc2VuZCBzdWJ0aXRsZSBuYW1lIHRvIHRoZSBzcmNwYWQKCjIwMDctMTItMzEgMTM6Mjc6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEltcGxlbWVudCByZWRpcmVjdCBmb3IgdGhlIERFU0NSSUJFIHJlcGx5LiBGaXhlcyAjNTA2MDI1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wbGVtZW50IHJlZGlyZWN0IGZvciB0aGUgREVTQ1JJQkUgcmVwbHkuIEZpeGVzICM1MDYwMjUuCgoyMDA3LTEyLTI5IDE2OjQ4OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkCgkgIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IGFuZCBkb24ndAoJICBhYm9ydCgpIGluIGFueSBjYXNlIGJ1dCBwcm9wZXJseSByZXBvcnQgdGhlIGVycm9yLgoKMjAwNy0xMi0yOCAxMTo0NDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zb3VwLzogVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoc291cF9nb3RfaGVhZGVycyk6CgkgIFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbgoJICBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCjIwMDctMTItMjYgMTY6MDM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggKGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCk6CgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZAoJICBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCAoaXQncwoJICBub3QgcmVhbGx5IG5pY2UgdG8gYWJvcnQgaW4gYW55IGNhc2UpLiBGaXhlcyAjNTA1NzQ1LgoKMjAwNy0xMi0yMCAxNzowNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogZ3N0L3N3aXRjaC8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDctMTItMTggMjM6MTc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOiBTbWFsbCB1bml0IHRlc3QgZml4IChoYXMgbm8gcHJhY3RpY2FsIGltcGFjdCBhdCB0aGUgbW9tZW50LCBzaW5jZSB3ZSdyZSBvbmx5IGZlZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzogKGNoZWNrX2NvcnJlY3RfYnVmZmVyKToKCSAgU21hbGwgdW5pdCB0ZXN0IGZpeCAoaGFzIG5vIHByYWN0aWNhbCBpbXBhY3QgYXQgdGhlIG1vbWVudCwKCSAgc2luY2Ugd2UncmUgb25seSBmZWVkaW5nIHV0ZjggYW5kIGhlbmNlIGp1c3QgY3JlYXRlIGEgc3ViLQoJICBidWZmZXIgZm9yIHRoZSBvdXRwdXQpLgoKMjAwNy0xMi0xOCAyMToxMzowNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBzZWVraW5nIHN1cHBvcnQgZm9yIGF2aSBzdWJ0aXRsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSAgQWRkIHNlZWtpbmcgc3VwcG9ydCBmb3IgYXZpIHN1YnRpdGxlCgoyMDA3LTEyLTE4IDE3OjQwOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBSZW1vdmUgc29tZSB1bnVzZWQgdmFycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3Jlc2V0X2RlY29kZXJzKSwKCSAgKGdzdF9mbGFjX2RlY191cGRhdGVfbWV0YWRhdGEpLCAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgdmFycy4KCSAgRG8gbW9yZSBjbGVhbnVwIG9mIGxlZnRvdmVyIGV2ZW50cyBhbmQgdGFncy4KCSAgT3V0cHV0IHRhZ3MgYWZ0ZXIgdGhlIHNlZ21lbnQgZXZlbnQuIEZpeGVzICM1MDQwMTguCgoyMDA3LTEyLTE4IDE0OjMxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiBEZXRlY3Qgb3RoZXIgVVRGIGJ5dGUgb3JkZXIgbWFya2VycyBhbmQgY29udmVydCB0byBVVEYtOCBhcyBhcHByb3ByaWF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiAoSVNfQk9NX1VURjgpLCAoSVNfQk9NX1VURjE2X0JFKSwKCSAgKElTX0JPTV9VVEYxNl9MRSksIChJU19CT01fVVRGMzJfQkUpLCAoSVNfQk9NX1VURjMyX0xFKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfZXh0cmFjdF9maWxlKSwgKGdzdF9hdmlfc3VidGl0bGVfcGFyc2VfZ2FiMl9jaHVuayk6CgkgIERldGVjdCBvdGhlciBVVEYgYnl0ZSBvcmRlciBtYXJrZXJzIGFuZCBjb252ZXJ0IHRvIFVURi04IGFzCgkgIGFwcHJvcHJpYXRlLgoKMjAwNy0xMi0xOCAxMzozMDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuKjogUmVmYWN0b3IgYSBiaXQ7IGZpeCBuYW1lIGV4dHJhY3Rpb247IGRvbid0IGFzc3VtZSBhbGwgdGhlIGRhdGEgaW4gdGhlIGNodW5rIGlzIGFjdHVhbGx5IHN1Yi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IChzcmNfdGVtcGxhdGUpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9leHRyYWN0X3V0ZjhfZmlsZSksCgkgIChnc3RfYXZpX3N1YnRpdGxlX3BhcnNlX2dhYjJfY2h1bmspLCAoZ3N0X2F2aV9zdWJ0aXRsZV9jaGFpbiksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2Jhc2VfaW5pdCksIChnc3RfYXZpX3N1YnRpdGxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9pbml0KSwgKGdzdF9hdmlfc3VidGl0bGVfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmg6CgkgIFJlZmFjdG9yIGEgYml0OyBmaXggbmFtZSBleHRyYWN0aW9uOyBkb24ndCBhc3N1bWUgYWxsIHRoZSBkYXRhCgkgIGluIHRoZSBjaHVuayBpcyBhY3R1YWxseSBzdWJ0aXRsZSBkYXRhLCB0aGVyZSBtYXkgYmUgcGFkZGluZyBhdAoJICB0aGUgZW5kOyBmaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2U7IHN0b3JlIGV4dHJhY3RlZCBzdWJ0aXRsZQoJICBmaWxlIHNvIGl0J3MgdGhlcmUgdG8gc2VuZCBhZ2FpbiBhZnRlciBhIHNlZWsgKGZvciBmdXR1cmUgdXNlKS4KCjIwMDctMTItMTggMDk6MTM6MTIgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgYXZpIHN1YnRpdGxlIGVsZW1lbnQgZm9yIGJ1ZyAjNDQyMDM0LiBOZWVkIHNlZWtpbmcgc3VwcG9ydCBhbmQgbW9yZSBzdXBwb3J0IGZvciBjaGFyYWN0ZXIgY29udmVyc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL2dzdGF2aS5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEFkZCBhdmkgc3VidGl0bGUgZWxlbWVudCBmb3IgYnVnICM0NDIwMzQuIE5lZWQgc2Vla2luZyBzdXBwb3J0CgkgIGFuZCBtb3JlIHN1cHBvcnQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uLgoKMjAwNy0xMi0xOCAwOTowNzoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdCBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QKCSAgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgKiB3aW4zMi92czYvbGliZ3N0cG5nLmRzcDoKCSAgRml4IGxpbmUgZW5kaW5ncyBhbmQgZG8gY3ZzIGFkbWluIC1rYi4KCjIwMDctMTItMTcgMjE6MTI6MjggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuKjogV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kIGFuIEVPUyBpbnN0ZWFkIG9mIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kCgkgIGFuIEVPUyBpbnN0ZWFkIG9mIGNhdXNpbmcgYW4gZXJyb3IuCgoyMDA3LTEyLTE2IDIzOjQzOjQ2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBBY3R1YWxseSBkcm9wIHRoZSBidWZmZXJzIHdoaWNoIGFyZSBvdXRzaWRlIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBzZWdtZW50IGluc3RlYWQgb2YganVzdCBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEFjdHVhbGx5IGRyb3AgdGhlIGJ1ZmZlcnMgd2hpY2ggYXJlIG91dHNpZGUgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkCgkgIHNlZ21lbnQgaW5zdGVhZCBvZiBqdXN0IGVtaXR0aW5nIGEgV0FSTklORy4KCjIwMDctMTItMTQgMTg6NDk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IFNlbmQgc2VnbWVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4gRml4ZXMgIzUwMjE4Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBTZW5kIHNlZ21lbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuIEZpeGVzICM1MDIxODcuCgkgIEZpeCBzZWdtZW50IHNlZWtpbmcgYW5kIGEgYnVuY2ggb2Ygb3RoZXIgc2Vla2luZyBjYXNlcy4KCjIwMDctMTItMTQgMTA6MTc6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUGFyc2UgV09BRiBmcmFtZXMgYW5kIHB1dCB0aGUgcmVzdWx0IGludG8gR1NUX1RBR19DT05UQUNULCB3aGljaCBpcyB3aGVyZSBpdCB3b3VsZCBlbmQgdXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV91cmxfbGlua19mcmFtZSk6CgkgIFBhcnNlIFdPQUYgZnJhbWVzIGFuZCBwdXQgdGhlIHJlc3VsdCBpbnRvIEdTVF9UQUdfQ09OVEFDVCwKCSAgd2hpY2ggaXMgd2hlcmUgaXQgd291bGQgZW5kIHVwIGlmIHRoZSBzYW1lIGluZm9ybWF0aW9uIHdhcwoJICBwdXQgaW4gYSB2b3JiaXMgY29tbWVudCAoZG9uJ3QgdGhpbmsgaXQncyB3b3J0aCBhZGRpbmcgYQoJICBuZXcgVVJJIHRhZyBmb3IgdGhpcykuIEZpeGVzICM0ODgxMTIuCgoyMDA3LTEyLTExIDIyOjI5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBXZSBuZWVkIGNvcmUvYmFzZSAwLjEwLjE1IG9yIGxhdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIG5lZWQgY29yZS9iYXNlIDAuMTAuMTUgb3IgbGF0ZXIuCgoyMDA3LTEyLTExIDE2OjQ3OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4IHJlZ3Jlc3Npb24gaW4gc3RyZWFtIG51bWJlcmluZy4gRml4ZXMgIzUwMjY1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgc2t5bmV0IGJlPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9zdGFydF9maWxlKToKCSAgRml4IHJlZ3Jlc3Npb24gaW4gc3RyZWFtIG51bWJlcmluZy4gRml4ZXMgIzUwMjY1NS4KCjIwMDctMTItMTEgMTY6Mzk6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLCAodW5pY29kaWZ5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksIChzb3VwX2ZpbmlzaGVkKSwKCSAgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLCAoc291cF9wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgUmVvcmdhbmlzZSBhIGJ1bmNoIG9mIHRoaW5ncyBhbmQgY2xlYW51cHMuCgkgIFVzZXMgR19HVUlOVDY0X0ZPUk1BVCBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nICVsbHUuCgkgIFNlZSAjNTAyMzM1LgoKMjAwNy0xMi0xMSAxNjozMTo0OSArMDAwMCAgV2FpLU1pbmcgSG8gPHdlYnJlZ2JveEB5YWhvby5jby51az4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS4qOiBVc2UgaGlnaGVyIHBlcmZvcm1hbmNlIHN0YXJ0LWNvZGUgc2VhcmNoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdhaS1NaW5nIEhvIDx3ZWJyZWdib3ggYXQgeWFob28gZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksCgkgIChuZXh0X3N0YXJ0X2NvZGUpLCAoaXNfbmFsX2VxdWFsKSwgKGdzdF9ydHBfaDI2NF9wYXlfZGVjb2RlX25hbCksCgkgIChlbmNvZGVfYmFzZTY0KSwgKGdzdF9ydHBfaDI2NF9wYXlfcGFyc2Vfc3BzX3BwcyksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBVc2UgaGlnaGVyIHBlcmZvcm1hbmNlIHN0YXJ0LWNvZGUgc2VhcmNoaW5nLgoJICBQYXJzZSBOQUxzIGFuZCBzdG9yZSBTUFMsIFBQUyBhbmQgcHJvZmlsZSBpbiB0aGUgY2FwcyBzbyB0aGF0IHRoZXkgY2FuCgkgIGJlIHVzZWQgaW4gdGhlIFNEUC4gRml4ZXMgIzUwMjgxNC4KCjIwMDctMTItMTEgMTE6NTA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi86IEluaXQgc29tZSBzdHJ1Y3RzIHRvIHplcm8gYmVmb3JlIHdlIHBhc3MgdGhlbSB0byBpb2N0bCwgd2hpY2ggYXZvaWRzIHZhbGdyaW5kIHdhcm5pbmdzLiAgQWxzbyBmaXggYSBzbWFsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCk6CgkgIEluaXQgc29tZSBzdHJ1Y3RzIHRvIHplcm8gYmVmb3JlIHdlIHBhc3MgdGhlbSB0byBpb2N0bCwgd2hpY2gKCSAgYXZvaWRzIHZhbGdyaW5kIHdhcm5pbmdzLiAgQWxzbyBmaXggYSBzbWFsbCBtZW1vcnkgbGVhay4KCjIwMDctMTItMTEgMTE6MDU6NTcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IENvcHkgdGltZXN0YW1wIGZyb20gaW5wdXQgdG8gb3V0cHV0LiBOb3QgdmVyeSBwZXJmZWN0IHlldCBidXQgYmV0dGVyIHRoYW4gbm90aGluZy4gRmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgQ29weSB0aW1lc3RhbXAgZnJvbSBpbnB1dCB0byBvdXRwdXQuIE5vdCB2ZXJ5IHBlcmZlY3QgeWV0IGJ1dCBiZXR0ZXIKCSAgdGhhbiBub3RoaW5nLiBGaXhlcyAjNTAzMDIzLgoKMjAwNy0xMi0wOSAxNjo0OTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBBbHNvIHByaW50IGEgdXNlZnVsIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgb2xkIFdhdnBhY2sgQVBJIGlmIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBBbHNvIHByaW50IGEgdXNlZnVsIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgb2xkIFdhdnBhY2sgQVBJCgkgIGlmIHBvc3NpYmxlLgoKMjAwNy0xMi0wOSAxNjozNDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogTW9yZSBidWlsZCBmaXhlcyBmb3Igb2xkIGxpYndhdnBhY2sgdmVyc2lvbnM6IGluY2x1ZGUgY29uZmlnLmggc28gdGhhdCBXQVZQQUNLX09MRF9BUEkgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIE1vcmUgYnVpbGQgZml4ZXMgZm9yIG9sZCBsaWJ3YXZwYWNrIHZlcnNpb25zOiBpbmNsdWRlIGNvbmZpZy5oIHNvCgkgIHRoYXQgV0FWUEFDS19PTERfQVBJIGlzIGFjdHVhbGx5IGRlZmluZWQgYXMgZGV0ZWN0ZWQ7IG9ubHkgdXNlCgkgIFdhdnBhY2tHZXRFcnJvck1lc3NhZ2UgaWYgaXQgaXMgYXZhaWxhYmxlLiBUaGlzIGZpeGVzIHRoZSBidWlsZAoJICBvbiBkZWJpYW4gc3RhYmxlIGZvciBtZS4KCjIwMDctMTItMDkgMTY6MjE6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogV29ya2Fyb3VuZCB0aGUgbm9uLWV4aXN0YW5jZSBvZiBXYXZwYWNrR2V0Q2hhbm5lbE1hc2sgaW4gV2F2cGFjayB2ZXJzaW9ucyBiZWxvdyA0LjQwLjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgIFdvcmthcm91bmQgdGhlIG5vbi1leGlzdGFuY2Ugb2YgV2F2cGFja0dldENoYW5uZWxNYXNrIGluIFdhdnBhY2sKCSAgdmVyc2lvbnMgYmVsb3cgNC40MC4wLgoKMjAwNy0xMi0wOSAwNToxMzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBbmQgbm93IGRvIGl0IHJpZ2h0IGZvciByZWFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQW5kIG5vdyBkbyBpdCByaWdodCBmb3IgcmVhbC4uLgoKMjAwNy0xMi0wOSAwNTowOTo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDb3JyZWN0bHkgcmVzZXQgJExJQlMgdG8gbm90IGNvbnRhaW4gLWxtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvcnJlY3RseSByZXNldCAkTElCUyB0byBub3QgY29udGFpbiAtbG0uCgoyMDA3LTEyLTA5IDA1OjAyOjE3ICswMDAwICBLd2FuZyBZdWwgU2VvIDxrd2FuZ3l1bC5zZW9AZ21haWwuY29tPgoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQyBieSB1c2luZyBnc3RfdXRpbF9ndWludDY0X3RvX2dkb3VibGUoKSBhbmQgY2hlY2tpbmcgZm9yIHJpbnQoKSBhbmQgaW1wbGVtZW50aW5nIGl0IG91cnNlbGYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBLd2FuZyBZdWwgU2VvIDxrd2FuZ3l1bCBkb3Qgc2VvIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV9wcmludF9zbXB0ZV90aW1lKToKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQyBieSB1c2luZyBnc3RfdXRpbF9ndWludDY0X3RvX2dkb3VibGUoKQoJICBhbmQgY2hlY2tpbmcgZm9yIHJpbnQoKSBhbmQgaW1wbGVtZW50aW5nIGl0IG91cnNlbGYgaWYgaXQgZG9lc24ndAoJICBleGlzdC4KCjIwMDctMTItMDkgMDQ6Mjk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCjIwMDctMTItMDggMTY6NDc6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzogVmVyaWZ5IHRoYXQgdGhlIGZvcm1hdCByZXR1cm5lZCBhZnRlciB0aGUgaW9jdGwgaXMgdGhlIG9uZSB3ZSByZXF1ZXN0ZWQuIEl0IGlzIHZhbGlkIGZvciB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIFZlcmlmeSB0aGF0IHRoZSBmb3JtYXQgcmV0dXJuZWQgYWZ0ZXIgdGhlIGlvY3RsIGlzIHRoZSBvbmUKCSAgd2UgcmVxdWVzdGVkLiBJdCBpcyB2YWxpZCBmb3IgdGhlIGlvY3RsIHRvIHN1Y2NlZWQgd2hpbGUKCSAgc3Vic3RpdHV0aW5nIGFuIGFsdGVybmF0ZSAnc3VwcG9ydGVkJyBzYW1wbGUgZm9ybWF0LgoKMjAwNy0xMi0wNyAyMDowNzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvOiBQb3N0IGRlY2VudCAoYW5kIHRyYW5zbGF0ZWQpIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBjYW4ndCBvcGVuIHRoZSBhdWRpbyBkZXZpY2UgZm9yIHNvbWUgcmVhc29uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3Npbmtfb3Blbik6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX29wZW4pOgoJICBQb3N0IGRlY2VudCAoYW5kIHRyYW5zbGF0ZWQpIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBjYW4ndAoJICBvcGVuIHRoZSBhdWRpbyBkZXZpY2UgZm9yIHNvbWUgcmVhc29uLgoKMjAwNy0xMi0wNyAxOToyOTozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzLzogQWxsb3cgdGhlIEFVRElPREVWIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHJlZGlyZWN0IHVzIHRvIGEgZGlmZmVyZW50IGRlZmF1bHQgT1NTIGRldmljZSwgbGlrZSBzdW5hdWRpb3NpbmsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgQWxsb3cgdGhlIEFVRElPREVWIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHJlZGlyZWN0IHVzCgkgIHRvIGEgZGlmZmVyZW50IGRlZmF1bHQgT1NTIGRldmljZSwgbGlrZSBzdW5hdWRpb3NpbmsgZG9lcwoJICBvbiBTb2xhcmlzIChtYWtlcyBhdWRpbyBwbGF5IGF1dG9tYXRpY2FsbHkgb24gU3VuUmF5cykuCgoyMDA3LTEyLTA2IDEyOjQ1OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTEyLTA2IDEyOjQyOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjozNzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28gdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvCgkgIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbnQgaXMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mjk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCjIwMDctMTItMDYgMTI6MTE6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogVGhlIHRyYW5zZm9ybV9pcCgpIG1ldGhvZHMgc2hvdWxkIGRvIG5vdGhpbmcgaWYgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICBUaGUgdHJhbnNmb3JtX2lwKCkgbWV0aG9kcyBzaG91bGQgZG8gbm90aGluZyBpZiBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBJdCBtaWdodCBnZXQgbm9uLXdyaXRhYmxlIGJ1ZmZlcnMgaW4gdGhhdCBjYXNlIGJ1dCB0aGUgYnVmZmVyIG1pZ2h0CgkgIGFzIHdlbGwgYmUgd3JpdGFibGUuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgIFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIHdvbid0IGJlIGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIGFuZAoJICBvdGhlcndpc2UgdGhlIGJ1ZmZlciBpcyBhbHdheXMgd3JpdGFibGUgc28gZG9uJ3QgY2hlY2sgaGVyZS4KCjIwMDctMTItMDYgMTE6NDY6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHNlZWtpbmcgaW4gLndhdiBmaWxlcyBhZ2FpbiAoIzUwMTc3NSkuICBTb21lIHBlb3BsZSBzZWVtIHRvIHRoaW5rIHRoZXkgZG9uJ3QgbmVlZCB0byAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgRml4IHNlZWtpbmcgaW4gLndhdiBmaWxlcyBhZ2FpbiAoIzUwMTc3NSkuICBTb21lIHBlb3BsZSBzZWVtIHRvIHRoaW5rCgkgIHRoZXkgZG9uJ3QgbmVlZCB0byB0ZXN0IHRoZWlyIGNoYW5nZXMgd2hlbiB0aGV5J3JlIGp1c3QgJ3JlZmxvd2luZycKCSAgc29tZSBjb2RlLgoKMjAwNy0xMi0wNSAxNjowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuKjogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b192aWRlb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY3JlYXRlX2VsZW1lbnRfd2l0aF9wcmV0dHlfbmFtZSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICBGaXggZG9jcy4KCSAgVXNlIHNhbWUgZXJyb3IgcmVwb3J0aW5nIGNvZGUgYXMgYXV0b2F1ZGlvc2luay4KCSAgQWRkIHByb3BlcnR5IHRvIGZpbHRlciBzaW5rcyBiYXNlZCBvbiBjYXBzLiBPbmx5IHNlbGVjdCByYXcgdmlkZW8gc2lua3MKCSAgYnkgZGVmYXVsdCBmb3IgYmFja3dhcmRzIGNvbXBhdC4KCSAgQVBJOiBHc3RBdXRvVmlkZW9TaW5rOjpmaWx0ZXItY2FwcwoKMjAwNy0xMi0wNSAxNjowMjoxNSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuKjogQWRkIHByb3BlcnR5IHRvIGZpbHRlciBzaW5rcyBiYXNlZCBvbiBjYXBzLiBPbmx5IHNlbGVjdCByYXcgYXVkaW8gc2lua3MgYnkgZGVmYXVsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGZpbHRlciBzaW5rcyBiYXNlZCBvbiBjYXBzLiBPbmx5IHNlbGVjdCByYXcgYXVkaW8gc2lua3MKCSAgYnkgZGVmYXVsdCBmb3IgYmFja3dhcmRzIGNvbXBhdC4gIEZpeGVzICM0MTc0MjAuCgkgIEFQSTogR3N0QXV0b0F1ZGlvU2luazo6ZmlsdGVyLWNhcHMKCjIwMDctMTEtMjkgMTE6NDA6MTUgKzAwMDAgIEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogSW5pdGlhbGlzZSBsaWJvaWwgaW4gcGx1Z2luX2luaXQoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChwbHVnaW5faW5pdCk6CgkgIEluaXRpYWxpc2UgbGlib2lsIGluIHBsdWdpbl9pbml0KCkKCjIwMDctMTEtMjkgMTA6NDk6MTggKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50IG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50CgkgIG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW5kIGl0IGhhcyBzb21lIGxlYWtzLgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwKCSAgKHNvdXBfZmluaXNoZWQpLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB1bmxvY2soKS4KCSAgUGlja3MgdXAgdGhlIHNpemUgZnJvbSB0aGUgQ29udGVudC1MZW5ndGggaGVhZGVyIGFuZCBlbWl0IGEgZHVyYXRpb24KCSAgbWVzc2FnZS4KCSAgRG9uJ3QgbGVhayB0aGUgR01haW5Db250ZXh0IG9iamVjdC4KCSAgRml4ZXMgIzUwMDA5OS4KCjIwMDctMTEtMjkgMTA6MzQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBQb3N0IGVycm9yIGJlZm9yZSBzZW5kaW5nIEVPUy4gRml4ZXMgIzQ5OTE3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfdGFzayk6CgkgIFBvc3QgZXJyb3IgYmVmb3JlIHNlbmRpbmcgRU9TLiBGaXhlcyAjNDk5MTc4LgoKMjAwNy0xMS0yOCAyMTo1NDo1MCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvdnM2LzogQWRkIGEgcHJvamVjdCBmaWxlIGZvciBsaWJnc3RwbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RwbmcuZHNwOgoJICBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIGxpYmdzdHBuZwoKMjAwNy0xMS0yOCAxNzo0ODo0NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IENvZGUgYmVhdXRpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2Vzcyk6CgkgIENvZGUgYmVhdXRpZmljYXRpb24uCgkgIEFkZGVkIGRlYnVnIHN0YXRlbWVudHMuCgkgIERvbid0IGJpdC1zaGlmdCBldmVyeXRoaW5nLCBqdXN0IGRvIG9wZXJhdGlvbnMgb24gbGFzdC9maXJzdCBieXRlCgkgIGluc3RlYWQuCgoyMDA3LTExLTI3IDExOjExOjA4ICswMDAwICBKYXlhcmFtYSBTLiBTYW50YW5hIDxzdW5kYXJzYW50YW5hQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IEZpeCB3cm9uZyBjb21wYXJpc29uIGluIG92ZXJydW4gY2hlY2suIEZpeGVzICM0OTkyMzkgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpheWFyYW1hIFMuIFNhbnRhbmEgPHN1bmRhcnNhbnRhbmEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggd3JvbmcgY29tcGFyaXNvbiBpbiBvdmVycnVuIGNoZWNrLiBGaXhlcyAjNDk5MjM5IHNvbWUgbW9yZS4KCjIwMDctMTEtMjcgMDA6MDE6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS4qOiBGaXggaDI2MyBkZXBheWxvYWRlciBzbyB0aGF0IEFOWSBoMjYzIGRlY29kZXIgY2FuIGhhbmRsZSB0aGUgb3V0Z29pbmcgc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIEZpeCBoMjYzIGRlcGF5bG9hZGVyIHNvIHRoYXQgQU5ZIGgyNjMgZGVjb2RlciBjYW4gaGFuZGxlIHRoZSBvdXRnb2luZwoJICBzdHJlYW0uCgoyMDA3LTExLTI2IDE5OjE3OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuKjogRml4IGRlcGF5bG9hZGluZyB3aGVuIG11bHRpcGxlIGZyYW1lcyBhcmUgaW5zaWRlIG9uZSBSVFAgcGFja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gUGF0aCBieTogSmF5YXJhbWEgUy4gU2FudGFuYSA8c3VuZGFyc2FudGFuYSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSAgRml4IGRlcGF5bG9hZGluZyB3aGVuIG11bHRpcGxlIGZyYW1lcyBhcmUgaW5zaWRlIG9uZSBSVFAgcGFja2V0LgoJICBGaXhlcyAjNDk5MjM5LgoKMjAwNy0xMS0yNiAxMjoyNjoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEFkZCBHQVAtZmxhZyBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgQWRkIEdBUC1mbGFnIHN1cHBvcnQuCgoyMDA3LTExLTI2IDEyOjAxOjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogUmVhZCB0aGUgSSBmbGFnIGZvciBNb2RlIEEgaDI2MyBydHAgc3RyZWFtIGFuZCBzZXQgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2Vzcyk6CgkgIFJlYWQgdGhlIEkgZmxhZyBmb3IgTW9kZSBBIGgyNjMgcnRwIHN0cmVhbSBhbmQgc2V0IHRoZQoJICBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBhY2NvcmRpbmdseS4KCSAgRml4ZXMgIzQ5OTM4MwoKMjAwNy0xMS0yNiAxMDowODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgoyMDA3LTExLTI2IDEwOjA0OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIGFuZCBkbyBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIFJlbW92ZSBzb21lIGRlYWQgY29kZSBhbmQgZG8gY2xlYW51cHMuCgoyMDA3LTExLTI2IDA5OjEzOjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiBJbXByb3ZlIHRoZSB0ZXN0cyBieSBhbGxvd2luZyB0byBzZXQgYSB0YXJnZXQgc3RhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEltcHJvdmUgdGhlIHRlc3RzIGJ5IGFsbG93aW5nIHRvIHNldCBhIHRhcmdldCBzdGF0ZS4KCjIwMDctMTEtMjYgMDk6MDQ6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogRG9uJ3QgY2hlY2sgdGhlIGNhcHMgb2YgdGhlIG91dHB1dCBidWZmZXIgaWYgdGhleSdyZSBlcXVhbCBzb21lIG90aGVyIGNhcHMuIFRoZSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIERvbid0IGNoZWNrIHRoZSBjYXBzIG9mIHRoZSBvdXRwdXQgYnVmZmVyIGlmIHRoZXkncmUgZXF1YWwgc29tZQoJICBvdGhlciBjYXBzLiBUaGUgY2FwcyBjYW4gY2hhbmdlIGluIGEgYmFja3dhcmQgY29tcGF0aWJsZSB3YXkKCSAgYW5kIGRpZCBhdCB0aGlzIHBvaW50LgoKMjAwNy0xMS0yNCAxNDo1NTowNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfc2Vla190b19wcmV2aW91c19rZXlmcmFtZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCk6IEltcGxlbWVudAoJICByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQuCgoyMDA3LTExLTIxIDA5OjU2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgIFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgoyMDA3LTExLTIxIDA4OjIxOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkCgkgIGluIC1nb29kLgoKMjAwNy0xMS0yMCAxMzoxNDo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiBBbHNvIHNldCB0aGUgY2hhbm5lbCBsYXlvdXQgb24gdGhlIFdhdnBhY2sgY2FwcyBpZiB3ZSdyZSBoYXZpbmcgYSBtb25vIGxheW91dC4gT2YgY291Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzogKGdzdF93YXZwYWNrX3NldF9jaGFubmVsX2xheW91dCk6CgkgIEFsc28gc2V0IHRoZSBjaGFubmVsIGxheW91dCBvbiB0aGUgV2F2cGFjayBjYXBzIGlmIHdlJ3JlIGhhdmluZwoJICBhIG1vbm8gbGF5b3V0LiBPZiBjb3Vyc2Ugb25seSBkbyBpdCBmb3IgImF1ZGlvL3gtd2F2cGFjayIuCgoyMDA3LTExLTIwIDEzOjA4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEFkZCBzdXBwb3J0IGZvciBlbmNvZGluZywgcGFyc2luZyBhbmQgZGVjb2RpbmcgbXVsdGljaGFubmVsIGZpbGVzIHdpdGggdXAgdG8gOCBjaGFubmVscy4gVGhpcyBhbHNvIGltcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJICAoZ3N0X3dhdnBhY2tfZ2V0X2RlZmF1bHRfY2hhbm5lbF9tYXNrKSwKCSAgKGdzdF93YXZwYWNrX3NldF9jaGFubmVsX2xheW91dCksCgkgIChnc3Rfd2F2cGFja19nZXRfZGVmYXVsdF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3Rfd2F2cGFja19nZXRfY2hhbm5lbF9tYXNrX2Zyb21fcG9zaXRpb25zKSwKCSAgKGdzdF93YXZwYWNrX3NldF9jaGFubmVsX21hcHBpbmcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19maXhfY2hhbm5lbF9vcmRlciksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBlbmNvZGluZywgcGFyc2luZyBhbmQgZGVjb2RpbmcgbXVsdGljaGFubmVsCgkgIGZpbGVzIHdpdGggdXAgdG8gOCBjaGFubmVscy4gVGhpcyBhbHNvIGltcHJvdmVzIHRoZSByb2J1c3RuZXNzCgkgIG9mIHBhcnNpbmcgcXVpdGUgYSBiaXQuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9yZWFkX2J5dGVzKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfZ2V0X3BvcyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfYWJzKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19yZWwpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9wdXNoX2JhY2tfYnl0ZSksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX2dldF9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9jYW5fc2VlayksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3dyaXRlX2J5dGVzKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgoyMDA3LTExLTIwIDEyOjIwOjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBEb24ndCByZWxlYXNlIHRoZSBwbmctbWVtb3J5IGZyb20gd2l0aGluIHRoZSBjYWxsYmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBEb24ndCByZWxlYXNlIHRoZSBwbmctbWVtb3J5IGZyb20gd2l0aGluIHRoZSBjYWxsYmFjay4KCjIwMDctMTEtMjAgMTI6MTE6MTMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiBEb24ndCBsZWFrIGJ1ZmZlciBkYXRhIG1lbW9yeS4gRml4ZXMgIzQ5ODM5NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBEb24ndCBsZWFrIGJ1ZmZlciBkYXRhIG1lbW9yeS4gRml4ZXMgIzQ5ODM5NS4KCjIwMDctMTEtMjAgMTE6NDY6MjggKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiBUZXN0cyBmb3IgIzQ5ODM5NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBUZXN0cyBmb3IgIzQ5ODM5NS4KCjIwMDctMTEtMjAgMTE6NDE6MTMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGJ1aWxkIG9uIE1hYyBPUyBYIDEwLjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiAoZ3N0X3RhZ19saWJfbXV4X3JlbmRlcl90YWcpLAoJICAoZ3N0X3RhZ19saWJfbXV4X2FkanVzdF9ldmVudF9vZmZzZXRzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RoZW9yYV9leHRlbnNpb24pOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubTogRml4IGJ1aWxkIG9uIE1hYyBPUyBYIDEwLjUKCjIwMDctMTEtMTkgMjA6MzA6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoKMjAwNy0xMS0xNiAwNTo1Mjo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogQ2hhbmdlIHN0cmNhc2VjbXAoKSB0byBnX3N0cmNhc2VjbXAoKS4gIEZpeGVzICM0OTcyOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBDaGFuZ2Ugc3RyY2FzZWNtcCgpIHRvIGdfc3RyY2FzZWNtcCgpLiAgRml4ZXMgIzQ5NzI5Mi4KCjIwMDctMTEtMTUgMTg6MTk6MTkgKzAwMDAgIEpvcmRpIEphZW4gUGFsbGFyZXMgPGpvcmRpanBAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lio6IEZpbGwgdGhlIE1UVSB3aXRoIGFzIG1hbnkgcGFja2V0cyBhcyBwb3NzaWJsZS4gRml4ZXMgIzQ5MTMyMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3JkaSBKYWVuIFBhbGxhcmVzIDxqb3JkaWpwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6IChnc3RfcnRwX21wMnRfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9pbml0KSwgKGdzdF9ydHBfbXAydF9wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9mbHVzaCksIChnc3RfcnRwX21wMnRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJICBGaWxsIHRoZSBNVFUgd2l0aCBhcyBtYW55IHBhY2tldHMgYXMgcG9zc2libGUuIEZpeGVzICM0OTEzMjMuCgoyMDA3LTExLTE1IDE3OjQ3OjQzICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggc29tZSBtb3JlIGxlYWtzLiBGaXhlcyAjNDk3MDA3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIEZpeCBzb21lIG1vcmUgbGVha3MuIEZpeGVzICM0OTcwMDcuCgoyMDA3LTExLTE1IDE3OjM1OjE4ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggMyBwYWQgbGVha3MuIEZpeGVzICM0OTY5ODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCk6CgkgIEZpeCAzIHBhZCBsZWFrcy4gRml4ZXMgIzQ5Njk4My4KCjIwMDctMTEtMTUgMTc6MjY6MjUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoKMjAwNy0xMS0xNSAxNzowMTozMiArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IEZpeCBzbWFsbCBsZWFrLiBGaXhlcyAjNDk3MDE3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKToKCSAgRml4IHNtYWxsIGxlYWsuIEZpeGVzICM0OTcwMTcuCgoyMDA3LTExLTE1IDE2OjMxOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgc3VwcHBvcnQgZm9yIHRoZW9yYSBpbiBxdWlja3RpbWUgYWNjb3JkaW5nIHRvIFhpcGhRVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChxdGRlbXV4X3BhcnNlX3RoZW9yYV9leHRlbnNpb24pLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgc3VwcHBvcnQgZm9yIHRoZW9yYSBpbiBxdWlja3RpbWUgYWNjb3JkaW5nIHRvIFhpcGhRVC4KCjIwMDctMTEtMTUgMTI6MjI6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgQWx3YXlzIGNvcHkgYnVmZmVycyBieSBkZWZhdWx0IChoYW5kbGUgc2FmZXIgd2l0aCBidWdnZWQgZHJpdmVycykgYW5kIGFkZGVkIGEgcHJvcGVydHkgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgbW1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbHdheXMgY29weSBidWZmZXJzIGJ5IGRlZmF1bHQgKGhhbmRsZSBzYWZlciB3aXRoIGJ1Z2dlZCBkcml2ZXJzKSBhbmQgYWRkZWQgYSBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBtbWFwIGVmZmVjdGl2ZWx5IChubyBjb3B5IGlmIHBvc3NpYmxlKSB3aGVuIGFwcGxpY2F0aW9uIHdhbnRzIHRvLiBGaXhlczogIzQ4MDU1Ny4KCjIwMDctMTEtMTQgMjE6Mzk6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBXZSBkb24ndCB3YW50IHRoZSBzYW1lIHN0cmluZyBtdWx0aXBsZSB0aW1lcyBpbiBhIHRhZyBsaXN0IGZvciB0aGUgc2FtZSB0YWcgZXZlciwgZm9yIGFueSB0YWcsIG5vdCBqdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBXZSBkb24ndCB3YW50IHRoZSBzYW1lIHN0cmluZyBtdWx0aXBsZSB0aW1lcyBpbiBhIHRhZyBsaXN0IGZvciB0aGUKCSAgc2FtZSB0YWcgZXZlciwgZm9yIGFueSB0YWcsIG5vdCBqdXN0IGZvciBHU1RfVEFHX0dFTlJFLCBzbyBtYWtlIHN1cmUKCSAgdGhpcyBkb2Vzbid0IGhhcHBlbiBhbmQgcmVtb3ZlIHNwZWNpYWwtY2FzZSBjb2RlIGZvciBHU1RfVEFHX0dFTlJFLgoKMjAwNy0xMS0xNCAyMTowNDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IFdyaXRlIEdTVF9UQUdfTVVTSUNCUkFJTlpfRElTQ0lEIGFuZCBHU1RfVEFHX0NEREFfQ0REQl9ESVNDSUQgaW50byBJRDN2MiBUWFhYIGZyYW1lcyAoZml4ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiAoYWRkX211c2ljYnJhaW56X3RhZyksIChhZGRfZnVuY3MpOgoJICBXcml0ZSBHU1RfVEFHX01VU0lDQlJBSU5aX0RJU0NJRCBhbmQgR1NUX1RBR19DRERBX0NEREJfRElTQ0lECgkgIGludG8gSUQzdjIgVFhYWCBmcmFtZXMgKGZpeGVzICMzNDc4NDgpLgoKMjAwNy0xMS0xNCAyMDozNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgbGVhayBzZHAgbWVzc2FnZSBjb250ZW50cyAoZml4ZXMgIzQ5Njc3MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICBEb24ndCBsZWFrIHNkcCBtZXNzYWdlIGNvbnRlbnRzIChmaXhlcyAjNDk2NzczKS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzogKGdzdF91ZHBzaW5rX2ZpbmFsaXplKToKCSAgRG9uJ3QgbGVhayBVUkkgc3RyaW5nLgoKMjAwNy0xMS0xNCAxOToxMDozNyArMDAwMCAgSnVsaWVuIFB1eWR0IDxqdWxpZW4ucHV5ZHRAbGFwb3N0ZS5uZXQ+CgoJICBleHQvcmF3MTM5NC86IEltcGxlbWVudCBHc3RQcm9wZXJ0eVByb2JlIGludGVyZmFjZSBhbmQgYWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHksIHNvIGFwcGxpY2F0aW9ucyBjYW4gdXNlIHRoaXMgdG8gcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKdWxpZW4gUHV5ZHQgPGp1bGllbiBkb3QgcHV5ZHQgYXQgbGFwb3N0ZSBuZXQ+CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmM6IChnc3RfMTM5NF9nZXRfZ3VpZF9hcnJheSksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9nZXRfcHJvcGVydGllcyksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9wcm9iZV9wcm9wZXJ0eSksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9nZXRfdmFsdWVzKSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF8xMzk0X3R5cGVfYWRkX3Byb3BlcnR5X3Byb2JlX2ludGVyZmFjZSk6CgkgICogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmg6IChHU1RfMTM5NF9QUk9CRV9IKToKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKF9kb19pbml0KSwgKGdzdF9kdjEzOTRzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfZHYxMzk0c3JjX2luaXQpLCAoZ3N0X2R2MTM5NHNyY19kaXNwb3NlKSwKCSAgKGdzdF9kdjEzOTRzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9kdjEzOTRzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLCAoZ3N0X2R2MTM5NHNyY19xdWVyeSksCgkgIChnc3RfZHYxMzk0c3JjX3VwZGF0ZV9kZXZpY2VfbmFtZSk6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIEltcGxlbWVudCBHc3RQcm9wZXJ0eVByb2JlIGludGVyZmFjZSBhbmQgYWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHksCgkgIHNvIGFwcGxpY2F0aW9ucyBjYW4gdXNlIHRoaXMgdG8gcHJvYmUgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGluIHRoZQoJICBzYW1lIHdheSB0aGV5IGNhbiBhbHJlYWR5IHdpdGggdjRsc3JjIGFuZCB2NGwyc3JjIChob3dldmVyIGhvcnJpYmxlCgkgIHRoaXMgcHJvcGVydHkgcHJvYmUgaW50ZXJmYWNlIG1heSBiZSkuIEZpeGVzICMzNTg4NDEuCgoyMDA3LTExLTE0IDE3OjAzOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCjIwMDctMTEtMTQgMTU6Mjk6MDUgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGxlYWsgZXZlbnQsIGRvbid0IGxlYWsgcmFuZ2UgKGZpeGVzICM0OTY3NTIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSk6CgkgIERvbid0IGxlYWsgZXZlbnQsIGRvbid0IGxlYWsgcmFuZ2UgKGZpeGVzICM0OTY3NTIpLgoKMjAwNy0xMS0xNCAxMDoyMjo0MSArMDAwMCAgQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IERldGVjdCBSR0JBL0JHUkEgY29ycmVjdGx5IG9uIGxpdHRsZSBlbmRpYW4gc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3Jfc2V0X2NhcHMpOgoJICBEZXRlY3QgUkdCQS9CR1JBIGNvcnJlY3RseSBvbiBsaXR0bGUgZW5kaWFuIHN5c3RlbXMuCgoyMDA3LTExLTEzIDE3OjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBidXQgdGhlIGNvcnJlc3BvbmRpbmcgaW9jdGwoKSBjYWxsIGZhaWxzIGV2ZW4gdGhvdWdoIHRoZSBkcml2ZXIgY2xhaW1zIHRvIHN1cHBvcnQgdGhpcyBmb3JtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIElmIFZJRElPQ19FTlVNX0ZSQU1FU0laRVMgaXMgZGVmaW5lZCAoPSByZWNlbnQga2VybmVsKSwgYnV0IHRoZQoJICBjb3JyZXNwb25kaW5nIGlvY3RsKCkgY2FsbCBmYWlscyBldmVuIHRob3VnaCB0aGUgZHJpdmVyIGNsYWltcyB0bwoJICBzdXBwb3J0IHRoaXMgZm9ybWF0LCBqdXN0IGZhbGwgYmFjayB0byB0aGUgcHJlLTIuNi4xOSBrZXJuZWwKCSAgcm91dGluZSB0aGF0IGNyZWF0ZXMgY2FwcyB3aXRoIHN1aXRhYmxlIGhlaWdodCBhbmQgd2lkdGggcmFuZ2VzCgkgIChzZWUgIzQ0ODI3OCkuCgoyMDA3LTExLTEzIDE3OjAxOjA3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thLzogRXh0cmFjdCBwYWxldHRlIGRhdGEgZm9yIGR2ZCBzdWJwaWN0dXJlIHN0cmVhbXMgYW5kIHNlbmQgaXQgZG93bnN0cmVhbSBhcyBjdXN0b20gZ3N0cmVhbWVyIGR2ZCBldmVudCAoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IHNreW5ldCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2R2ZF9jbHV0X2NoYW5nZV9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBFeHRyYWN0IHBhbGV0dGUgZGF0YSBmb3IgZHZkIHN1YnBpY3R1cmUgc3RyZWFtcyBhbmQgc2VuZCBpdAoJICBkb3duc3RyZWFtIGFzIGN1c3RvbSBnc3RyZWFtZXIgZHZkIGV2ZW50IChmaXhlcyAjNDUzNDE3KS4KCjIwMDctMTEtMTMgMTQ6NTE6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogSW1wbGVtZW50IG1pbmltYWwgcGFyc2luZyBvZiB0aGUgcGFzc2VkIHBhbmdvIGZvbnQgZGVzY3JpcHRpb24gc3RyaW5nLCBzbyBwYXNzaW5nIGEgZm9udCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2ZvbnRfaW5pdCk6CgkgIEltcGxlbWVudCBtaW5pbWFsIHBhcnNpbmcgb2YgdGhlIHBhc3NlZCBwYW5nbyBmb250IGRlc2NyaXB0aW9uCgkgIHN0cmluZywgc28gcGFzc2luZyBhIGZvbnQgc2l6ZSB3b3JrcyB0aGUgc2FtZSBhcyB3aXRoIHRoZQoJICBwYW5nbyB0ZXh0b3ZlcmxheSBwbHVnaW47IGZpeGVzICM0NTUwODYuCgkgIChNYXliZSB3ZSBjb3VsZCBqdXN0IHVzZSBwYW5nb2NhaXJvIGhlcmUgYXQgc29tZSBwb2ludCkuCgoyMDA3LTExLTEzIDA2OjU1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBSZXR1cm4gdGhlIHJlc3VsdCBpbiBfYWN0aXZhdGVfcHVsbCgpLiBEb24ndCByZWYgZWxlbWVudCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBpbiBfYWN0aXZhdGVfcHVsbCgpLiBEb24ndCByZWYgZWxlbWVudCB0aGVyZS4KCjIwMDctMTEtMTMgMDY6MjM6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBSZWYgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm90IG5lZWRlZC4gUmVmbG93IHRoZSBldmVudF9oYW5kbGluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgUmVmIHRoZSBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vdCBuZWVkZWQuIFJlZmxvdwoJICB0aGUgZXZlbnRfaGFuZGxpbmcgdG8gbm90IGxlYWsgdGhlIGV2ZW50LgoKMjAwNy0xMS0xMiAyMTowNzozMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogQXZvaWQgc2xvd2Rvd24gZnJvbSBkZW5vcm1hbHMgd2hlbiBwcm9jZXNzaW5nIG5lYXItc2lsZW5jZSBpbnB1dCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogKHl1bGVfZmlsdGVyKToKCSAgQXZvaWQgc2xvd2Rvd24gZnJvbSBkZW5vcm1hbHMgd2hlbiBwcm9jZXNzaW5nIG5lYXItc2lsZW5jZSBpbnB1dCBkYXRhLgoJICBTcG90dGVkIGJ5IEdhYnJpZWwgQm91dmlnbmUuIEZpeGVzICM0OTQ0OTkuCgoyMDA3LTExLTEyIDE3OjU5OjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQcm9wZXJseSBmcmVlIFFURGVtdXhTYW1wbGVzIGFycmF5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKToKCSAgUHJvcGVybHkgZnJlZSBRVERlbXV4U2FtcGxlcyBhcnJheS4KCSAgUHJvdGVjdCB0YWJsZSB3cml0ZSB3aXRoIGEgc2Vuc2libGUgY2hlY2ssIHNvbWUgZmlsZXMgYXBwYXJlbnRseSBETyBjb250YWluCgkgIHN0dHMgdmFsdWVzIHN0YXJ0aW5nIHdpdGggMCA6KAoKMjAwNy0xMS0xMiAxNzoyMTo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRHJvcCBFT1MgaW4gX2hhbmRsZV9zcmNfZXZlbnQoKS4gRml4IHRoZSByZWZjb3VudCBpbiBxdGRlbXV4IHRoYXQgcHJldmlvdXMgY29tbWl0IG1lc3NlZCB1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRHJvcCBFT1MgaW4gX2hhbmRsZV9zcmNfZXZlbnQoKS4gRml4IHRoZSByZWZjb3VudCBpbiBxdGRlbXV4IHRoYXQKCSAgcHJldmlvdXMgY29tbWl0IG1lc3NlZCB1cC4KCjIwMDctMTEtMTIgMTc6MDY6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IFN5bmMgX2hhbmRsZV9zcmNfZXZlbnQoKSB3aXRoIG9nZ2RlbXV4LiBJbiBhdmlkZW11eCBhbHNvIHJlZiB0aGUgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBuby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBTeW5jIF9oYW5kbGVfc3JjX2V2ZW50KCkgd2l0aCBvZ2dkZW11eC4gSW4gYXZpZGVtdXggYWxzbyByZWYgdGhlCgkgIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm90IG5lZWRlZC4KCjIwMDctMTEtMTEgMjE6MTI6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC86IENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgIENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgR3N0TWVzc2FnZXMgYnkgc3BlY3RydW0gdG8gZGVjaWJlbCBpbnN0ZWFkIG9mCgkgIGRlY2liZWwrdGhyZXNob2xkLgoKMjAwNy0xMS0xMSAxMzo1NToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUKCSAgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoKMjAwNy0xMS0xMSAxMjo1NDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCjIwMDctMTEtMDkgMTc6Mjc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseQoJICB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwNy0xMS0wOCAxNTo1Njo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9kZW1vLmM6IE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8gdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOgoJICBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvCgkgIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYmVycyBhbmQgZW5hYmxlIGZpbGwuCgoyMDA3LTExLTA4IDE1OjAwOjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmV0dXJuIEZBTFNFIGlmIHdlIGNhbid0IGhhbmRsZSBhIHF1ZXJ5IGluc3RlYWQgb2YgY2hhbmdpbmcgdGhlIGZvcm1hdC4gSWdub3JlIGZhY3Qgd2hlbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJldHVybiBGQUxTRSBpZiB3ZSBjYW4ndCBoYW5kbGUgYSBxdWVyeSBpbnN0ZWFkIG9mIGNoYW5naW5nIHRoZQoJICBmb3JtYXQuIElnbm9yZSBmYWN0IHdoZW4gZGVhbGluZyB3aXRoIG1wZWcgYXVkaW8uCgoyMDA3LTExLTA2IDEyOjIzOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1haW4pOgoJICBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCB0aGUgbWFnbml0dWRlIGNhbGN1bGF0aW9uLgoKMjAwNy0xMS0wMyAxOTo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChtYWluKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKHNldHVwX2ZpbHRlcik6CgkgIEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgQWxzbyBoYW5kbGUgYSBiYW5kd2lkdGggb2YgcmF0ZS8yIHByb3Blcmx5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCk6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gZ2VuZXJhdGUgYSBOLWJhbmQgZXF1YWxpemVyIHdpdGggMSBiYW5kcy4gVGhlCgkgIHByZXZpb3VzIGxpbWl0IG9mIDIgd2FzIGNhdXNlZCBieSBhIG5vd2FkYXlzIHJlcGxhY2VkIGNhbGN1bGF0aW9uCgkgIGRvaW5nIGEgZGl2aXNpb24gYnkgemVybyBpZiBudW1iZXIgb2YgYmFuZHMgd2FzIDEuCgoyMDA3LTExLTAyIDIxOjE2OjA5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgRml4IGluY2x1ZGVzIGZvciBNU1ZDIGFuZCBHTGliLTIuMTQuMCAoIzQ5MjM4OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgRml4IGluY2x1ZGVzIGZvciBNU1ZDIGFuZCBHTGliLTIuMTQuMCAoIzQ5MjM4OCkuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBObyBtb3JlIHBpcGUgZGVmaW5lIHNpbmNlIEdMaWItMi4xNC4wLCBuZWVkIHRvIHVzZSBfcGlwZSgpIGRpcmVjdGx5LgoKMjAwNy0xMS0wMiAxNzoyMzo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sYXcvbXVsYXctZGVjb2RlLio6IENhbGN1bGF0ZSBvdXRnb2luZyBidWZmZXIgZHVyYXRpb24gaWYgaW5jb21pbmcgYnVmZmVyIGRpZG4ndCBoYXZlIGEgdmFsaWQgZHVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X211bGF3ZGVjX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICBDYWxjdWxhdGUgb3V0Z29pbmcgYnVmZmVyIGR1cmF0aW9uIGlmIGluY29taW5nIGJ1ZmZlciBkaWRuJ3QgaGF2ZSBhCgkgIHZhbGlkIGR1cmF0aW9uLgoKMjAwNy0xMC0zMCAyMTozNzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucyB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChvbl9jb25maWd1cmVfZXZlbnQpLAoJICAob25fZ2Fpbl9jaGFuZ2VkKSwgKG9uX2JhbmR3aWR0aF9jaGFuZ2VkKSwgKG9uX2ZyZXFfY2hhbmdlZCksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zCgkgIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHVzaGVzIGl0IHRocm91Z2ggYW4gZXF1YWxpemVyIGFuZAoJICBwYWludHMgdGhlIHNwZWN0cnVtLiBGb3IgZXZlcnkgZXF1YWxpemVyIGJhbmQgaXQncyBwb3NzaWJsZSB0byBzZXQKCSAgZ2FpbiwgYmFuZHdpZHRoIGFuZCBmcmVxdWVuY3kuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKHNldHVwX2ZpbHRlcik6CgkgIEFkZCBzb21lIGd1YXJkaW5nIGFnYWluc3QgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmcmVxdWVuY2llcyBhbmQKCSAgYmFuZHdpZHRocy4gQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMTAtMzAgMjE6MTg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkgZmluZCBkb2N1bWVudGF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgIFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkKCSAgZmluZCBkb2N1bWVudGF0aW9uLCB3aGljaCBkb24ndCBjaGFuZ2UgYW55dGhpbmcgb24gemVybyBnYWluLCBldGMuCgkgIE1ha2UgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBvZiB0aGUgYmFuZHMgd3JpdGFibGUsIHJlbmFtZSB0aGUKCSAgYmFuZC13aWR0aCBwcm9wZXJ0eSB0byBiYW5kd2lkdGggYW5kIGNoYW5nZSB0aGUJbWVhbmluZyB0byB0aGUKCSAgZnJlcXVlbmN5IGRpZmZlcmVuY2UgYmV0d2VlbiBiYW5kZWRnZXMsIGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUKCSAgZ2FpbiBwcm9wZXJ0eSB0byBkQiBpbnN0ZWFkIG9mIGEgd2VpcmQgc2NhbGUgYmV0d2VlbiAtMQlhbmQgMSB0aGF0CgkgIGhhcyBubyByZWFsIG1lYW5pbmcuCgoyMDA3LTEwLTMwIDEyOjI5OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTbWFydGVyIGNvbWJpbmVfZmxvdyBjb2RlIHRoYXQgYWxzbyBkZWFscyB3aXRoIGRvd25zdHJlYW0gZWxlbWVudHMgcmV0dXJuaW5nIFVORVhQRUNURUQgd2hlbiB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgU21hcnRlciBjb21iaW5lX2Zsb3cgY29kZSB0aGF0IGFsc28gZGVhbHMgd2l0aCBkb3duc3RyZWFtIGVsZW1lbnRzCgkgIHJldHVybmluZyBVTkVYUEVDVEVEIHdoZW4gdGhleSByZWNlaXZlIGRhdGEgb3V0IG9mIHRoZSBzZWdtZW50CgkgIGJvdW5kYXJpZXMuIEZpeGVzICM0OTEzMDUuCgoyMDA3LTEwLTI3IDE2OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCk6CgkgIExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbAoJICBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyB0byBiZSBtb3JlIHRoYW4gb25lIHBhZC4gRml4ZXMgIzQ5MDY4Mi4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGFib3ZlLgoKMjAwNy0xMC0yNiAxNTowMzowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRml4ICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgYWdhaW5zdCBvbGRlciBrZXJuZWwgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0CgkgIG9sZGVyIGtlcm5lbCBoZWFkZXJzLgoKMjAwNy0xMC0yNiAxMjoxMDo0MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA3LTEwLTI1IDIzOjQyOjUyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luawoJICBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCjIwMDctMTAtMjUgMTU6MDA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjIChhZGRfZnVuY3MpOiBNYXAgbmV3IFNPUlROQU1FIHRhZ3MgdG8gSUQzdjIgVFNPUCwgVFNPQSBhbmQgVFNPVCBmcmFtZXMgKCM0MTQ1MzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjIChhZGRfZnVuY3MpOgoJICBNYXAgbmV3IFNPUlROQU1FIHRhZ3MgdG8gSUQzdjIgVFNPUCwgVFNPQSBhbmQgVFNPVCBmcmFtZXMgKCM0MTQ1MzkpLgoKMjAwNy0xMC0yNCAwNzowMTo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogSW1wcm92ZSB0aGUgdGVzdHMgYSBsaXR0bGUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdHMgYSBsaXR0bGUgbW9yZS4KCjIwMDctMTAtMjMgMDg6Mzg6NTAgKzAwMDAgIFl1biBaaGVuZyBIdSA8eXVuemhlbmcuaHVAZ21haWwuY29tPgoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6IFVzZSBkZWZhdWx0IGlucHV0IGRldmljZSBpbnN0ZWFkIG9mIGRlZmF1bHQgb3V0cHV0IGRldmljZSBhbmQgb25seSBtZW1jcHkgYWN0dWFsIGF2YWlsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogWXVuIFpoZW5nIEh1CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIFVzZSBkZWZhdWx0IGlucHV0IGRldmljZSBpbnN0ZWFkIG9mIGRlZmF1bHQgb3V0cHV0IGRldmljZSBhbmQKCSAgb25seSBtZW1jcHkgYWN0dWFsIGF2YWlsYWJsZSBieXRlcy4KCjIwMDctMTAtMjIgMTk6MTQ6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRml4ZXMgInY0bDJzcmMgISBxdWV1ZSAhIHh2aW1hZ2VzaW5rIi4gVGhlIHF1ZXVlIGFzayBmb3IgYnVmZmVyIHRvbyBlYXJseS4gSXQgaXMgdGVtcG9yYXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgRml4ZXMgInY0bDJzcmMgISBxdWV1ZSAhIHh2aW1hZ2VzaW5rIi4gVGhlIHF1ZXVlIGFzayBmb3IgYnVmZmVyIHRvbwoJICBlYXJseS4gSXQgaXMgdGVtcG9yYXJ5IHVudGlsIHdlIGZpbmQgc29tZXRoaW5nIGJldHRlci4KCjIwMDctMTAtMjIgMTY6NDQ6NDggKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCByYWNlIHdoZW4gcGF1c2luZyBhIFJUU1Agc3RyZWFtIGluIGludGVybGVhdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCk6CgkgIEZpeCByYWNlIHdoZW4gcGF1c2luZyBhIFJUU1Agc3RyZWFtIGluIGludGVybGVhdmVkLgoJICBGaXhlcyAjNDc1Nzg0LgoKMjAwNy0xMC0yMiAwOTo1MzoxNiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogVXNlIGNvcnJlY3QgdW5yZWYgZnVuY3Rpb24gZm9yIGJ1ZmZlcnMuICM0ODg4NDQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2ZpbmFsaXplKToKCSAgVXNlIGNvcnJlY3QgdW5yZWYgZnVuY3Rpb24gZm9yIGJ1ZmZlcnMuICM0ODg4NDQuCgoyMDA3LTEwLTE5IDE5OjMzOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgc3luYyB0ZXN0cyB3aXRoIHRoZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBzeW5jIHRlc3RzIHdpdGggdGhlIGZpeC4KCjIwMDctMTAtMTggMTc6MDQ6MTQgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFdoZW4gdGhlIHNvY2tldCBpcyB1c2VkIGJ5IHRoZSBhcHAgZm9yIG90aGVyIHB1cnBvc2VzLCBkb24ndCBnZW5lcmF0ZSBhbiBlcnJvciBpZiB0aGVyZSBpcyBhY3Rpdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsICA8c3BnbGVnbGUgeWFob28gZnI+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgV2hlbiB0aGUgc29ja2V0IGlzIHVzZWQgYnkgdGhlIGFwcCBmb3Igb3RoZXIgcHVycG9zZXMsIGRvbid0IGdlbmVyYXRlIGFuCgkgIGVycm9yIGlmIHRoZXJlIGlzIGFjdGl2YXR5IG9uIHRoZSBzb2NrZXQgdGhhdCBpcyBub3QgZGF0YSByZWxhdGVkLgoJICBGaXhlcyAjNDg3NDg4LgoKMjAwNy0xMC0xOCAxNDo1NTozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBHZW5lcmF0ZSBhbiBlcnJvciB3aGVuIHdlIHJ1biBvdXQgb2YgYnVmZmVycyBmb3Igc29tZSByZWFzb24uIFNlZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4gR2VuZXJhdGUgYW4gZXJyb3Igd2hlbiB3ZSBydW4gb3V0IG9mIGJ1ZmZlcnMKCSAgZm9yIHNvbWUgcmVhc29uLiBTZWUgIzQ4MDU1Ny4KCjIwMDctMTAtMTggMDg6Mjc6NTYgKzAwMDAgIEFuZGVycyBTa2FyZ3JlbiA8YW5kZXJzLnNrYXJncmVuQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IFNldCBtYXJrZXIgYml0IGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRlcnMgU2thcmdyZW4gPGFuZGVycyBkb3Qgc2thcmdyZW4gYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgU2V0IG1hcmtlciBiaXQgY29ycmVjdGx5LgoKMjAwNy0xMC0xOCAwNjoyMDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogQWRkIGEgbWlzc2luZyBicmVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgQWRkIGEgbWlzc2luZyBicmVhay4KCjIwMDctMTAtMTggMDY6MTQ6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLio6IE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoKMjAwNy0xMC0xNyAxNTowODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIGFsbG93ZWQgbmFtZSBmb3IgdGhlIEdzdFN0cnVjdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIFVzZSBhbGxvd2VkIG5hbWUgZm9yIHRoZSBHc3RTdHJ1Y3R1cmUuCgoyMDA3LTEwLTE3IDExOjQ3OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyBnc3RfYnVzX3BvcF9maWx0ZXJlZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgVXNlIG5ldyBnc3RfYnVzX3BvcF9maWx0ZXJlZCgpLgoKMjAwNy0xMC0xMyAxMjowMzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyLzogV2hlbiBwcm9iaW5nIHRoZSBmb3JtYXRzIGFuZCBzaXplcyBhIGNhbWVyYSBzdXBwb3J0cywgbWFrZSBzdXJlIHRoZSBiZXN0IG9uZXMgKGhpZ2hlc3QgcmVzb2x1dGlvbiwgcHJlZmVyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBXaGVuIHByb2JpbmcgdGhlIGZvcm1hdHMgYW5kIHNpemVzIGEgY2FtZXJhIHN1cHBvcnRzLCBtYWtlCgkgIHN1cmUgdGhlIGJlc3Qgb25lcyAoaGlnaGVzdCByZXNvbHV0aW9uLCBwcmVmZXJlZCBmb3JtYXQpCgkgIGVuZCB1cCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwcm9iZWQgY2FwcyBhbmQgdGhlIGxlc3MKCSAgZGVzaXJhYmxlIG9uZXMgYXQgdGhlIGVuZC4gIFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgdGhlCgkgIG9yZGVyIHdpdGhpbiB0aGUgY2FwcyBtYXR0ZXJzIGZvciB0aGluZ3MgbGlrZSBmaXhhdGlvbiBhbmQKCSAgbmVnb3RpYXRpb24sIGllLiB3aGF0IGZvcm1hdCBpcyBjaG9zZW4gaW4gdGhlIGVuZC4KCSAgV2l0aCByZWNlbnQga2VybmVscywgdGhlIGN1cnJlbnQgcHJvYmluZyBjb2RlIHdpbGwgZW5kIHVwCgkgIHF1ZXJ5aW5nIHRoZSBzdXBwb3J0ZWQgc2l6ZXMgZnJvbSBsb3dlc3QgcmVzb2x1dGlvbiB0bwoJICBoaWdoZXN0IHJlc29sdXRpb24sIGFkZGluZyB0aGVtIHRvIHRoZSBwcm9iZWQgY2FwcyBpbiB0aGF0CgkgIG9yZGVyLCByZXN1bHRpbmcgdG8gdjRsMnNyYyBmaXhhdGluZyB0byB0aGUgbG93ZXN0IHBvc3NpYmxlCgkgIHJlc29sdXRpb24gaWYgZG93bnN0cmVhbSBkb2VzIG5vdCBleHByZXNzIGEgc2l6ZSBwcmVmZXJlbmNlLgoJICBBbHNvIG1ha2UgdXAgYSBzb21ld2hhdCByYW5kb20gcmFua2luZyBvZiBwcmVmZXJlZCBvdXRwdXQKCSAgZm9ybWF0cyBmb3IgdGhlIHNhbWUgcmVhc29uLiBGaXhlcyAjNDg1ODI4LgoKMjAwNy0xMC0xMSAxNzo1NToyOSArMDAwMCAgSmFzb24gS2l2bGlnaG4gPGpraXZsaWdobkBnbWFpbC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRXh0cmFjdCBsaWNlbnNlL2NvcHlyaWdodCBVUklzIGZyb20gSUQzdjIgV0NPUCBmcmFtZXMgKEZpeGVzICM0NDcwMDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEphc29uIEtpdmxpZ2huICA8amtpdmxpZ2huIGdtYWlsIGNvbT4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgRXh0cmFjdCBsaWNlbnNlL2NvcHlyaWdodCBVUklzIGZyb20gSUQzdjIgV0NPUCBmcmFtZXMKCSAgKEZpeGVzICM0NDcwMDApLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgICogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZmlsZXMvaWQzLTQ0NzAwMC13Y29wLnRhZzoKCSAgQWRkIHNpbXBsZSB1bml0IHRlc3QuCgoyMDA3LTEwLTExIDE2OjQxOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogQWRkIHN1cHBvcnQgZm9yIGxpY2Vuc2UvY29weXJpZ2h0IFVSSSB0YWdzIChJRDN2MiBXQ09QIGZyYW1lKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpY2Vuc2UvY29weXJpZ2h0IFVSSSB0YWdzIChJRDN2MiBXQ09QIGZyYW1lKS4KCSAgUHJlcmVxdWlzaXRlIGZvciAjNDQ3MDAwLgoKMjAwNy0xMC0wOCAxNzo0NDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IHVzaW5nIEdTVF9DTE9DS19USU1FX05PTkUgdG8gaW5pdGlhbGlzZSBhIEdzdENsb2NrVGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBieSB1c2luZyBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGluaXRpYWxpc2UKCSAgYSBHc3RDbG9ja1RpbWUuCgoyMDA3LTEwLTA4IDExOjU4OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBNb3JlIHNlZWtpbmcgZml4ZXMsIG1vc3RseSBwYXNzaW5nIGFyb3VuZCB0aGUgbmV3IHBsYXliYWNrIHNlZ21lbnQgaW4gb3JkZXIgdG8gY29uZmlndXJlIGl0IHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKSwKCSAgKGdzdF9ydHNwc3JjX2RvX3NlZWspLCAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV9jYXBzKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBNb3JlIHNlZWtpbmcgZml4ZXMsIG1vc3RseSBwYXNzaW5nIGFyb3VuZCB0aGUgbmV3IHBsYXliYWNrIHNlZ21lbnQgaW4KCSAgb3JkZXIgdG8gY29uZmlndXJlIGl0IHByb3Blcmx5LgoJICBBbHNvIHJlc2V0IGJhc2VfdGltZSBvZiB1ZHAgc291cmNlcyB3aGVuIHNldHRpbmcgdGhlbSBiYWNrIHRvIFBMQVlJTkcgYXMKCSAgYSB0ZW1wb3JhcnkgaGFjayB1bnRpbCBjb3JlIHN1cHBvcnRzIHNlZWsgaW4gbGl2ZSBzb3VyY2VzIHByb3Blcmx5LgoKMjAwNy0xMC0wOCAxMDozNDowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IEZpeCBjYXBzIGFzIHRvIG5vdCBjb25mdXNlIGF1dG9wbHVnZ2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgRml4IGNhcHMgYXMgdG8gbm90IGNvbmZ1c2UgYXV0b3BsdWdnZXJzLgoKMjAwNy0xMC0wNiAxNjoxMzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IFBvcnQgSUQzIHRhZyBkZW11eGVyIG92ZXIgdG8gdGhlIG5ldyBHc3RUYWdEZW11eCBpbiAtYmFzZSAobm93IHdvdWxkIGJlIGEgZ29vZCB0aW1lIHRvIHRlc3QgcmUtaW1wb3J0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIFBvcnQgSUQzIHRhZyBkZW11eGVyIG92ZXIgdG8gdGhlIG5ldyBHc3RUYWdEZW11eCBpbiAtYmFzZQoJICAobm93IHdvdWxkIGJlIGEgZ29vZCB0aW1lIHRvIHRlc3QgcmUtaW1wb3J0aW5nIHlvdXIgbXVzaWMKCSAgY29sbGVjdGlvbikuCgoyMDA3LTEwLTA2IDE1OjEzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy86IFBvcnQgQVBFIHRhZyBkZW11eGVyIG92ZXIgdG8gdGhlIG5ldyBHc3RUYWdEZW11eCBpbiAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4Lmg6CgkgIFBvcnQgQVBFIHRhZyBkZW11eGVyIG92ZXIgdG8gdGhlIG5ldyBHc3RUYWdEZW11eCBpbiAtYmFzZS4KCjIwMDctMTAtMDUgMTM6MTg6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEltcHJvdmUgZmx1c2hpbmcgYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCksCgkgIChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfaW50ZXJuYWxfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLCAobmV3X3Nlc3Npb25fcGFkKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpOgoJICBJbXByb3ZlIGZsdXNoaW5nIGJlaGF2aW91ci4KCSAgU2V0IHN0YXRlIG9mIHRoZSB1ZHAgc291cmNlcyB0byBQQVVTRS9QTEFZSU5HIGNvcnJlY3RseS4KCSAgSGFuZGxlIGV2ZW50cyBhbmQgcXVlcmllcyBmb3IgVURQIGFuZCBUQ1AgdHJhbnNwb3J0IG5vdy4KCjIwMDctMTAtMDQgMDc6Mjk6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHAvOiBBZGQgbG9nIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgQWRkIGxvZyBjYXRlZ29yeS4KCjIwMDctMTAtMDQgMDc6MjQ6MDIgKzAwMDAgIFRpbW8gSG90dGkgPFRpbW8uSG90dGlAc3lzb3BlbmRpZ2lhLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRpbW8gSG90dGkgPFRpbW8uSG90dGlAc3lzb3BlbmRpZ2lhLmNvbT4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMuCgoyMDA3LTEwLTAyIDEwOjQ5OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBBbHNvIHNhdmUgY29kZWMgZGF0YSBmb3IgYXVkaW8gc3RyZWFtcy4gRml4ZXMgIzQ4MjQ5NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBBbHNvIHNhdmUgY29kZWMgZGF0YSBmb3IgYXVkaW8gc3RyZWFtcy4gRml4ZXMgIzQ4MjQ5NS4KCjIwMDctMTAtMDIgMTA6MjM6MDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCAiSW5kZXggZW50cnkgaGFzIGludmFsaWQgc3RyZWFtIG5yIDEiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBGaXggIkluZGV4IGVudHJ5IGhhcyBpbnZhbGlkIHN0cmVhbSBuciAxIi4KCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyBhYWMgLSB3b3JrIGluIHByb2dyZXNzIChzZWUgIzQ4MjQ5NSkuCgoyMDA3LTEwLTAxIDE2OjM0OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQYXJzZSBiYW5kd2lkdGggbW9kaWZpZXJzLCB0aGV5IGFyZSBub3QgeWV0IGNvbmZpZ3VyZWQgaW4gdGhlIHNlc3Npb24gbWFuYWdlciBiZWNhdXNlIHdlIGRvbid0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2dldF9iYW5kd2lkdGgpLAoJICAoZ3N0X3J0c3BzcmNfY29sbGVjdF9iYW5kd2lkdGgpLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUGFyc2UgYmFuZHdpZHRoIG1vZGlmaWVycywgdGhleSBhcmUgbm90IHlldCBjb25maWd1cmVkIGluIHRoZSBzZXNzaW9uCgkgIG1hbmFnZXIgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGFuIEFQSSBmb3IgdGhhdCB5ZXQuCgoyMDA3LTEwLTAxIDEzOjU3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2Ugc2hpbnkgbmV3IGZ1bmN0aW9uIGluIC1iYXNlIHRvIGdldCB0aGUgZGVmYXVsdCBjbG9jay1yYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKToKCSAgVXNlIHNoaW55IG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCSAgVXBkYXRlIHNvbWUgZG9jcy4KCjIwMDctMDktMjkgMTI6NTA6MzYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgZmlsZXMgdG8gd2luMzIgbWFuaWZlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgZmlsZXMgdG8gd2luMzIgbWFuaWZlc3QuCgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wOS0yOCAxNDo1NjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSW4gVENQIG1vZGUsIG9ubHkgdGltZXN0YW1wIHRoZSBmaXJzdCBidWZmZXIuIFRDUCBpcyBub3QgcmVhbCB0aW1lIGFuZCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW4gVENQIG1vZGUsIG9ubHkgdGltZXN0YW1wIHRoZSBmaXJzdCBidWZmZXIuIFRDUCBpcyBub3QgcmVhbCB0aW1lIGFuZAoJICBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIHRyeSB0byBza2V3IGNvbXBlbnNhdGUsIGFsc28gc29tZSBzZXJ2ZXJzIHNlbmQKCSAgdGhlIGZpcnN0IGJhdGNoIG9mIGRhdGEgaW4gYSBidXJzdC4KCjIwMDctMDktMjcgMTU6MDA6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IHNldHRpbmcgdGhlIGRpc2NvbnQgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyIHB1c2hlZCBkb3duc3RyZWFtIGZvciBmb3JtYXRzIHdpdGggcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIEZpeCBzZXR0aW5nIHRoZSBkaXNjb250IGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlcgoJICBwdXNoZWQgZG93bnN0cmVhbSBmb3IgZm9ybWF0cyB3aXRoIHByaXZhdGUgY29kZWMKCSAgZGF0YSB0aGF0IG5lZWRzIHRvIGJlIGRlc2VyaWFsaXNlZCBpbnRvIGJ1ZmZlcnMKCSAgKHN1Y2ggYXMgdm9yYmlzIGFuZCBGTEFDIHdoZW4gaW4gYSBtYXRyb3NrYSBjb250YWluZXIpLgoKMjAwNy0wOS0yNyAxMToxMDoxMiArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS4qOiBGcmVlIHRoZSBjb25maWcgc3RyaW5nLiBGaXhlcyAjNDgwNzA3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDR2X3BheV9mbHVzaCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBGcmVlIHRoZSBjb25maWcgc3RyaW5nLiBGaXhlcyAjNDgwNzA3LgoJICBDbGVhbiB1cCB0aGUgdGltZXN0YW1wIGNvZGUgYSBsaXR0bGUuCgoyMDA3LTA5LTI2IDIwOjEyOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBTZXQgdGltZXN0YW1wcyBvbiBSVFAgYnVmZmVycyBpbiBpbnRlcmxlYXZlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19jbG9zZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBTZXQgdGltZXN0YW1wcyBvbiBSVFAgYnVmZmVycyBpbiBpbnRlcmxlYXZlZCBtb2RlLgoJICBNYXJrIGZpcnN0IGJ1ZmZlcnMgd2l0aCBhIERJU0NPTlQuCgkgIFJlbW92ZSBmbHVzaCBoYWNrIG5vdyB0aGF0IHN5bmMgZm9yIGxpdmUgc291cmNlcyBoYXMgYmVlbiBmaWd1cmVkIG91dC4KCjIwMDctMDktMjYgMTQ6Mjg6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24uCgoyMDA3LTA5LTI2IDE0OjI2OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuKjogRmFpbCBpZiB3ZSBkb24ndCBrbm93IHRoZSBxdWlja3RpbWUgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgIEZhaWwgaWYgd2UgZG9uJ3Qga25vdyB0aGUgcXVpY2t0aW1lIGZvcm1hdC4KCjIwMDctMDktMjYgMTM6MTk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IFNhdmUgdGhlIGZsb3cgcmV0dXJuIGZyb20gdGhlIGxhc3QgZ3N0X3BhZF9wdXNoKCkgYW5kIG1ha2Ugc3VyZSB3ZSBwYXNzIHRoZSByaWdodCBmbG93IHJldHVybiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgU2F2ZSB0aGUgZmxvdyByZXR1cm4gZnJvbSB0aGUgbGFzdCBnc3RfcGFkX3B1c2goKSBhbmQKCSAgbWFrZSBzdXJlIHdlIHBhc3MgdGhlIHJpZ2h0IGZsb3cgcmV0dXJuIHZhbHVlIHVwc3RyZWFtCgkgIGluIHRoZSBjYXNlIG9mIGZhaWx1cmU7IG1pbm9yIGNsZWFuLXVwcy4KCjIwMDctMDktMjUgMTk6MDk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBHU1RfVEFHX0NPTVBPU0VSICgjNDU5ODA5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgR1NUX1RBR19DT01QT1NFUiAoIzQ1OTgwOSkuCgoyMDA3LTA5LTI1IDE3OjE4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2xhdy86IENvbXB1bHNpdmUgY2xlYW4tdXBzOiB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBhZGQgZGVidWcgY2F0ZWdvcmllcywgZml4IHVwIHRoaW5ncyB0byBjb25mb3JtIHRvIHN5bWJvbCBub21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXcuYzoKCSAgKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uaDoKCSAgQ29tcHVsc2l2ZSBjbGVhbi11cHM6IHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGFkZCBkZWJ1ZwoJICBjYXRlZ29yaWVzLCBmaXggdXAgdGhpbmdzIHRvIGNvbmZvcm0gdG8gc3ltYm9sIG5vbWVua2xhdHVyYSwKCSAgZXRjLgoKMjAwNy0wOS0yNSAxNjowNToyOSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L2xhdy86IFVzZSBzdGF0aWMgdGFibGVzIGZvciBBLUxhdyBkZWNvZGluZyBhbmQgZW5jb2Rpbmc7IHRoaXMgbWFrZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCAgPHNwZ2xlZ2xlIHlhaG9vIGZyPgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkgIFVzZSBzdGF0aWMgdGFibGVzIGZvciBBLUxhdyBkZWNvZGluZyBhbmQgZW5jb2Rpbmc7IHRoaXMgbWFrZXMKCSAgQS1MYXcgZGVjb2RpbmcgYW5kIGVuY29kaW5nIGxlc3MgQ1BVLWludGVuc2l2ZSwgYnV0IGluY3JlYXNlcwoJICB0aGUgYmluYXJ5IHNpemUgYSBiaXQuIExlYXZpbmcgb2xkIGNvZGUgYXJvdW5kIGZvciBub3csCgkgIHNlbGVjdGFibGUgYnkgYSBkZWZpbmUgaW4gdGhlIGNvZGUuIEZpeGVzICM0MzU0MzUuCgoyMDA3LTA5LTI1IDA4OjUxOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBR19HU1RfQVJHX1dJVEhfUExVR0lOUywgQUdfR1NUX0FSR19FTkFCTEVfRVhURVJOQUwgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFHX0dTVF9BUkdfV0lUSF9QTFVHSU5TLCBBR19HU1RfQVJHX0VOQUJMRV9FWFRFUk5BTCBhbmQKCSAgQUdfR1NUX0FSR19FTkFCTEVfRVhQRVJJTUVOVEFMIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgdGhvc2UgbWFjcm9zCgkgIGluIGNvbmZpZ3VyZS5hYy4KCjIwMDctMDktMjUgMDU6MDM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIGZvdXJjY3MgZm9yIE1QRUcyIEhEViBzdHJlYW1zLiBGaXhlcyAjNDc5OTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgZm91cmNjcyBmb3IgTVBFRzIgSERWIHN0cmVhbXMuIEZpeGVzICM0Nzk5NjAuCgoyMDA3LTA5LTI0IDEwOjUzOjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCjIwMDctMDktMjMgMTg6NTc6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6IFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIGEgZ19jcml0aWNhbC4gVGhpcyBzaXR1YXRpb24gaXMgbm90IGNhdXNlZCBieSB0aGUgYXBwbGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIGEgZ19jcml0aWNhbC4gVGhpcyBzaXR1YXRpb24gaXMgbm90IGNhdXNlZAoJICBieSB0aGUgYXBwbGljYXRpb24uCgoyMDA3LTA5LTIyIDE4OjE1OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vbmwucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOS0yMiAxODoxMzo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9ldS5wbzogQWRkZWQgQmFzcXVlIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogTWlrZWwgT2xhc2FnYXN0aSA8aGV5X25la2VuQG11bmR1cmF0Lm5ldD4KCSAgKiBwby9ldS5wbzoKCSAgQWRkZWQgQmFzcXVlIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoxMzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIENoaW5lc2UgKHRyYWRpdGlvbmFsIGFuZCBIb25nIEtvbmcpIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogQWJlbCBDaGV1bmcgPGFiZWxjaGV1bmdAZ21haWwuY29tPgoJICAqIHBvL3poX0hLLnBvOgoJICAqIHBvL3poX1RXLnBvOgoJICBBZGRlZCBDaGluZXNlICh0cmFkaXRpb25hbCBhbmQgSG9uZyBLb25nKSB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MTA6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vcGwucG86IEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpha3ViIEJvZ3VzeiA8cWJvb3NoQHBsZC1saW51eC5vcmc+CgkgICogcG8vcGwucG86CgkgIEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDk6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZmkucG86IEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBJbGtrYSBUdW9oZWxhIDxoaWxlQGlraS5maT4KCSAgKiBwby9maS5wbzoKCSAgQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDk6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZXMucG86IEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKb3JnZSBHb256w6FsZXogR29uesOhbGV6IDxhbG9yaWVsQGdtYWlsLmNvbT4KCSAgKiBwby9lcy5wbzoKCSAgQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDg6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZGEucG86IEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IE1vZ2VucyBKYWVnZXIgPG1vZ2Vuc0BqYWVnZXIudGY+CgkgICogcG8vZGEucG86CgkgIEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDY6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vemhfQ04ucG86IEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogRnVuZGEgV2FuZyA8ZnVuZGF3YW5nQGxpbnV4Lm5ldC5jbj4KCSAgKiBwby96aF9DTi5wbzoKCSAgQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA1OjM3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2JnLnBvOiBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAY29udGFjdC5iZz4KCSAgKiBwby9iZy5wbzoKCSAgQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAwODoxMjo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoKMjAwNy0wOS0yMSAxMTozNDozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogU2V0IG91dGdvaW5nIHBhY2tldCBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbi4gRml4ZXMgIzQ3ODI0NCBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICBTZXQgb3V0Z29pbmcgcGFja2V0IGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuLiBGaXhlcyAjNDc4MjQ0IHNvbWUgbW9yZS4KCjIwMDctMDktMjAgMTM6MzU6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBBZGQgaW5mbyBhYm91dCBzdGF0aWMgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIEFkZCBpbmZvIGFib3V0IHN0YXRpYyBsZWFrLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIEltcHJvdmVkIHN0YXRlIGNoYW5nZSB1bml0IHRlc3QuCgoyMDA3LTA5LTE5IDE4OjE5OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoKMjAwNy0wOS0xOSAxNjoyNDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IFJlbW92ZWQgc29tZSB1bnVzZWQgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgUmVtb3ZlZCBzb21lIHVudXNlZCBjb2RlLgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzogKGdzdF9ydHBfbXAydF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGdzdF9ydHBfdGhlb3JhX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmx1c2hfcGFja2V0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCk6CgkgIFRyeSB0byBwcmVzZXJ2ZSB0aGUgaW5jb21taW5nIGJ1ZmZlciBkdXJhdGlvbiBvbiB0aGUgb3V0Z29pbmcKCSAgcGFja2V0cy4gRml4ZXMgIzQ3ODI0NC4KCjIwMDctMDktMTkgMTA6MjI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogV29yayBhcm91bmQgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnKystNC4yIHdoZW4gYXNzaWduaW5nIGEgc3RyaW5nIGNvbnN0YW50IHRvIGEgZ2NoYXIgKiAocGFydGlhbGx5IGZpeGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBXb3JrIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGcrKy00LjIgd2hlbiBhc3NpZ25pbmcgYQoJICBzdHJpbmcgY29uc3RhbnQgdG8gYSBnY2hhciAqIChwYXJ0aWFsbHkgZml4ZXMgIzQ3ODA5MikuCgoyMDA3LTA5LTE4IDE2OjQ0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBXZSByZXF1aXJlIGNvcmUgQ1ZTIG5vdyBmb3IgZ3N0X2Jhc2Vfc3JjX3NldF9kb190aW1lc3RhbXAoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSByZXF1aXJlIGNvcmUgQ1ZTIG5vdyBmb3IgZ3N0X2Jhc2Vfc3JjX3NldF9kb190aW1lc3RhbXAoKS4KCjIwMDctMDktMTggMTM6NTU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoKMjAwNy0wOS0xOCAxMTo0NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEZpeCB0aGUgYnVpbGQgKG1pc3Npbmcgc3RkbGliLmgpLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgYmFzZXRyYW5zZm9ybSBzZWdtZW50IHNvIHRoYXQgaXQgaXMgY29ycmVjdGx5IG1hbmFnZWQgb24gZmx1c2hlcwoJICBhbmQgc3RhcnQvc3RvcC4gUmVwb3J0IG1lc3NhZ2UgdGltZXN0YW1wIGFzIHN0cmVhbSB0aW1lLCB3aGljaCBpcyB3aGF0CgkgIGFuIGFwcGxpY2F0aW9uIGNhbiB1bmRlcnN0YW5kLiAoWWVzIHRoZXNlIGFyZSBhZGFwdGVkIGZyb20gd2ltIHJlY2VudAoJICBsZXZlbCBlbGVtZW50IGNoYW5nZXMpCgoyMDA3LTA5LTE3IDE3OjM1OjEzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biB3aXRoIEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwgKGdzdF9ydHNwc3JjX2RvX3N0cmVhbV9lb3MpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIHdpdGggRm9ydGUuCgoyMDA3LTA5LTE3IDAyOjA1OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBHaXZlIG1lYW5pbmdmdWxsIGVycm9yIHdoZW4gYWxsIHN0cmVhbXMgZmFpbGVkIHRvIGNvbmZpZ3VyZSBmb3Igc29tZSByZWFzb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfZHVwX3ByaW50Zik6CgkgIEdpdmUgbWVhbmluZ2Z1bGwgZXJyb3Igd2hlbiBhbGwgc3RyZWFtcyBmYWlsZWQgdG8gY29uZmlndXJlIGZvciBzb21lCgkgIHJlYXNvbi4KCjIwMDctMDktMTYgMTk6MTM6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRSB3aXRoIHRoZSBkZXNpZ24gZm9yIHN5bmNocm9uaXNhdGlvbiBydWxlcyBvZiBSVFAgb24gc2VuZGVyIGFuZCByZWNlaXZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFVwZGF0ZSBSRUFETUUgd2l0aCB0aGUgZGVzaWduIGZvciBzeW5jaHJvbmlzYXRpb24gcnVsZXMgb2YgUlRQIG9uCgkgIHNlbmRlciBhbmQgcmVjZWl2ZXIuCgoyMDA3LTA5LTE0IDA5OjQwOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRG9uJ3QgcHVzaCBFT1MgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24sIHRoZSBlbGVtZW50IGRyaXZpbmcgdGhlIHBpcGVsaW5lIGlzIHJlc3BvbnNpYmxlIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICBEb24ndCBwdXNoIEVPUyBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiwgdGhlIGVsZW1lbnQKCSAgZHJpdmluZyB0aGUgcGlwZWxpbmUgaXMgcmVzcG9uc2libGUgZm9yIHRoaXMuIFRoZSBidWcKCSAgdGhpcyB3YXMgbWVhbnQgdG8gZml4IHNlZW1zIHRvIGJlIHF1ZXVlIG5vdCBmb3J3YXJkaW5nCgkgIEVPUyBpbiBhbGwgY2FzZXMgKHNlZSAjNDc2NTE0KS4KCjIwMDctMDktMTMgMTc6MzE6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMgYW5kIHN0YXJ0L3N0b3AuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpLCAoZ3N0X2xldmVsX3N0YXJ0KSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBVc2UgYmFzZXRyYW5zZm9ybSBzZWdtZW50IHNvIHRoYXQgaXQgaXMgY29ycmVjdGx5IG1hbmFnZWQgb24gZmx1c2hlcyBhbmQKCSAgc3RhcnQvc3RvcC4KCSAgUmVwb3J0IG1lc3NhZ2UgdGltZXN0YW1wIGFzIHN0cmVhbSB0aW1lLCB3aGljaCBpcyB3aGF0IGFuIGFwcGxpY2F0aW9uCgkgIGNhbiB1bmRlcnN0YW5kLgoKMjAwNy0wOS0xMyAxNTowNDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIG15IG1haWwgYWRkcmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJICBVcGRhdGUgbXkgbWFpbCBhZGRyZXNzLgoKMjAwNy0wOS0xMyAxMjozNzo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFkZCBFT1MgbG9naWMgZm9yIHRoZSBwdXNoLWJhc2VkIG1vZGUgdG9vLiBGaXhlcyAjNDc2NTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX2VvcyksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICBBZGQgRU9TIGxvZ2ljIGZvciB0aGUgcHVzaC1iYXNlZCBtb2RlIHRvby4gRml4ZXMgIzQ3NjUxNC4KCjIwMDctMDktMTIgMjI6MDE6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogRml4IGxhdyBlbmNvZGVyIHRpbWVzdGFtcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2luaXQpLCAoZ3N0X2FsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2luaXQpLAoJICAoZ3N0X211bGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICBGaXggbGF3IGVuY29kZXIgdGltZXN0YW1wcy4KCjIwMDctMDktMTIgMDk6MTM6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiBGaXggd2FybmluZyB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJICBGaXggd2FybmluZyB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgZGVidWcuCgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkgIFVzZSBjb25zdCBsaWtlIGluIGFsc2FtaXhlcnRyYWNrLmMgKGZpeGVzIHdhcm5pbmdzKS4KCjIwMDctMDktMTIgMDg6Mzg6MjEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgoyMDA3LTA5LTExIDE1OjM3OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXggZnJhbWVyYXRlIGRldGVjdGlvbiBjb2RlIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKToKCSAgRml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24gY29kZSBzb21lIG1vcmUuCgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBpcyBhIHdlaXJkIHN0ZXAgaW4gdGhlIHN0ZXB3aXNlIGZyYW1lcmF0ZXMuCgkgIERvbid0IG92ZXJ3cml0ZSB0aGUgbWluIGludGVydmFsIHdpdGggdGhlIGZyYW1lcmF0ZSwgdXNlIGEgdGVtcCB2YXJpYWJsZQoJICBpbnN0ZWFkLgoJICBVc2UgbWF4IGluIHRoZSBDb250aW51b3VzIGZyYW1lcmF0ZSBpbnRlcnZhbHMgaW5zdGVhZCBvZiBzdGVwLCB3aGljaCBpcwoJICAxIGFjY29yZGluZyB0byB0aGUgZG9jcy4gRml4ZXMgIzQ3NTQyNC4KCjIwMDctMDktMTAgMTk6NTM6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBNYWtlIHVkcHNyYyB0aW1lc3RhbXAgb3V0Z29pbmcgYnVmZmVycyBiYXNlZCBvbiB3aGVuIHRoZXkgd2VyZSByZWNlaXZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfaW5pdCksIChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIE1ha2UgdWRwc3JjIHRpbWVzdGFtcCBvdXRnb2luZyBidWZmZXJzIGJhc2VkIG9uIHdoZW4gdGhleSB3ZXJlIHJlY2VpdmVkLgoJICBBbHNvIG1ha2UgaXQgb3V0cHV0IGEgc2VnbWVudCBpbiB0aW1lLgoKMjAwNy0wOS0xMCAwNjo0OTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQbHVnIGEgbGl0dGxlIGxlYWsuIExpdHRsZSBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFBsdWcgYSBsaXR0bGUgbGVhay4gTGl0dGxlIGNvZGUgY2xlYW51cHMuCgoyMDA3LTA5LTA5IDE4OjA4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIHRvIGNoZWNrIGZvciBvbGQgZmxhYyB2ZXJzaW9ucywgJ3MgZ29vZCBmb3IgY3Jvc3MtY29tcGlsYXRpb24gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiB0byBjaGVjayBmb3Igb2xkCgkgIGZsYWMgdmVyc2lvbnMsICdzIGdvb2QgZm9yIGNyb3NzLWNvbXBpbGF0aW9uIGthcm1hLgoKMjAwNy0wOS0wNyAxODowNDo0MSArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzogRml4IHVwIGhlYWRlciBzdHJ1Y3R1cmUgc28gdGhhdCBjb21waWxlcnMgZG9uJ3QgYWRkIHBhZGRpbmcgYmV0d2VlbiB0aGUgc3RydWN0dXJlIGZpZWxkcywgc2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltICA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIEZpeCB1cCBoZWFkZXIgc3RydWN0dXJlIHNvIHRoYXQgY29tcGlsZXJzIGRvbid0IGFkZCBwYWRkaW5nCgkgIGJldHdlZW4gdGhlIHN0cnVjdHVyZSBmaWVsZHMsIHNpbmNlIHRoYXQgd291bGQgbGVhZCB0byB1cwoJICBzZW5kaW5nIFJUUCBwYWNrZXRzIHdpdGggYnJva2VuIGhlYWRlcnMgKGFzIGlzIGN1cnJlbnRseSB0aGUKCSAgY2FzZSB3aGVuIGNvbXBpbGluZyB3aXRoIE1TVkMpLiBBbHNvIHNlZSBzaW1pbGFyIGZpeGVzIGluCgkgIGxpYmdzdHJ0cCBpbiBnc3QtcGx1Z2lucy1iYXNlLiAoIzQ3NDYxNjsgIzQ3MTE5NCkKCjIwMDctMDktMDcgMTY6MDQ6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IERvbid0IG92ZXJ3cml0ZSBvdXIgR1ZhbHVlIHdpdGggMCBidXQgaW5zdGVhZCB1c2UgdGhlIHByZXZpb3VzbHkgY29tcHV0ZWQgdmFsdWUuIEZpeGVzICM0NzEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKToKCSAgRG9uJ3Qgb3ZlcndyaXRlIG91ciBHVmFsdWUgd2l0aCAwIGJ1dCBpbnN0ZWFkIHVzZSB0aGUgcHJldmlvdXNseQoJICBjb21wdXRlZCB2YWx1ZS4gRml4ZXMgIzQ3MTgyMyBzb21lIG1vcmUuCgoyMDA3LTA5LTA3IDE1OjU0OjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIFRoYW5rcyB0byBDaHJpc3RpYW4gU2NoYWxsZXIgZm9yIG5vdGljaW5nLgoKMjAwNy0wOS0wNiAxMjowMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OiBObyB0YWJzIGluIHRoaXMgZmlsZSBwbGVhc2UsIG9yIGd0ay1kb2Mgd2lsbCBlbmQgdXAgZG9jdW1lbnRpbmcgcmF0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgTm8gdGFicyBpbiB0aGlzIGZpbGUgcGxlYXNlLCBvciBndGstZG9jIHdpbGwgZW5kIHVwIGRvY3VtZW50aW5nCgkgIHJhdGhlciBhYnN1cmQgY2xhc3MgaGllcmFyY2hpZXMuCgoyMDA3LTA5LTA2IDEwOjQ4OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogSWYgdGhlIG5ldyBraWQgZWxlbWVudCBmYWlscyB0byBjaGFuZ2Ugc3RhdGUgZm9yIHNvbWUgcmVhc29uIGZvcndhcmQgdGhlIGVycm9yIG1lc3NhZ2UgaXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkgIElmIHRoZSBuZXcga2lkIGVsZW1lbnQgZmFpbHMgdG8gY2hhbmdlIHN0YXRlIGZvciBzb21lIHJlYXNvbgoJICAoZS5nLiBlc2RzaW5rIG5vdCBiZWluZyBhYmxlIHRvIGNvbm5lY3QgdG8gdGhlIHNvdW5kIHNlcnZlciksCgkgIGZvcndhcmQgdGhlIGVycm9yIG1lc3NhZ2UgaXQgcG9zdGVkIG9uIHRoZSBidXMgaW5zdGVhZCBvZiBqdXN0CgkgIHBvc3RpbmcgYSBnZW5lcmljICdJbnRlcm5hbCBzdGF0ZSBjaGFuZ2UgZXJyb3I6IHBsZWFzZSBmaWxlIGEKCSAgYnVnJyBlcnJvciBtZXNzYWdlLiBGaXhlcyAjNDcxMzY0LgoKMjAwNy0wOS0wNiAwNzoyMToyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydCBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fc2V0dXApLCAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0CgkgIGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UgY29udGVudHMsCgkgIGF2ZXJhZ2UgYWxsIEZGVHMgZG9uZSBpbiBvbmUgaW50ZXJ2YWwgZm9yIGJldHRlciByZXN1bHRzLCB1c2UKCSAgYSBiZXR0ZXIgd2luZG93aW5nIGZ1bmN0aW9uLCBhbGxvdyBwb3N0aW5nIHRoZSBwaGFzZSBpbiB0aGUgbWVzc2FnZQoJICBhbmQgYWN0dWFsbHkgZG8gYW4gRkZUIHdpdGggdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgYmFuZHMgaW5zdGVhZAoJICBvZiBpbnRlcnBvbGF0aW5nLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChzcGVjdHJ1bV9zdWl0ZSk6CgkgIEltcHJvdmUgdGhlIHVuaXRzIHRlc3RzIGJ5IGNoZWNraW5nIGZvciBhIDExMDI1SHogc2luZSB3YXZlCgkgIGFuZCBhZGQgdW5pdCB0ZXN0cyBmb3IgYWxsIDQgc3VwcG9ydGVkIHNhbXBsZSB0eXBlcy4KCjIwMDctMDktMDUgMTY6MjM6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC86IERvbid0IGFzc3VtZSB0YWdzIGFyZSBlbmNvZGVkIGFzIFVURi04ICgjNDczNjcwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBEb24ndCBhc3N1bWUgdGFncyBhcmUgZW5jb2RlZCBhcyBVVEYtOCAoIzQ3MzY3MCkuCgoyMDA3LTA5LTA1IDE0OjQzOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyaWVzIGluIHRoZSBjcnVkZXN0IHdheSBwb3NzaWJsZSBzbyBJIGRvbid0IGhhdmUgdG8gdXNlIHN5bmM9ZmFsc2UgYW55IGxvbmdlciB3aGVuIHRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBJbXBsZW1lbnQgTEFURU5DWSBxdWVyaWVzIGluIHRoZSBjcnVkZXN0IHdheSBwb3NzaWJsZSBzbyBJIGRvbid0CgkgIGhhdmUgdG8gdXNlIHN5bmM9ZmFsc2UgYW55IGxvbmdlciB3aGVuIHRlc3Rpbmcgd2l0aCB2aWRlb3NpbmtzLgoKMjAwNy0wOS0wNSAwOToyNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBidWlsZC4KCjIwMDctMDktMDUgMDA6MTI6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEFkZCBzb21lIG1vcmUgZGVidWdnaW5nIGluIHRoZSBmcmFtZXJhdGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nIGluIHRoZSBmcmFtZXJhdGUgZnVuY3Rpb24uCgkgIEl0ZXJhdGUgc3RlcHdpc2UgZnJhbWVyYXRlIHVwIHRvIGFuZCBfaW5jbHVkaW5nXyB0aGUgbWF4IGFuZCBpZiBub3RoaW5nCgkgIHdhcyBhZGRlZCB0byB0aGUgbGlzdCwgYWRkIGEgZHVtbXkgMC8xIHRvIDEwMC8xIGZyYW1lcmF0ZSBzbyB0aGF0IHdlCgkgIGRvbid0IGVuZCB1cCB3aXRoIGFuIGVtcHR5IGxpc3QuCgoyMDA3LTA5LTA0IDIyOjQyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogQWRkIHByb3BlcnR5IGRvIGNvbmZpZ3VyZSBkZXN0aW5hdGlvbiBhZGRyZXNzL3BvcnQgcGFpcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9jbGllbnRzX3N0cmluZyksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9jbGllbnRzX3N0cmluZyksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyX2ludGVybmFsKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXIpOgoJICBBZGQgcHJvcGVydHkgZG8gY29uZmlndXJlIGRlc3RpbmF0aW9uIGFkZHJlc3MvcG9ydCBwYWlycwoJICBBUEk6R3N0TXVsdGlVRFBTaW5rOjpjbGllbnRzCgoyMDA3LTA5LTA0IDE4OjMwOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvOiBBZGRlZCBzb21lIFJUUCBleGFtcGxlIHNjcmlwdHMgZm9yIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBSVFAgc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3AtQVRTLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgQWRkZWQgc29tZSBSVFAgZXhhbXBsZSBzY3JpcHRzIGZvciBzZW5kaW5nIGFuZCByZWNlaXZpbmcgUlRQIHN0cmVhbXMuCgoyMDA3LTA5LTA0IDE2OjQwOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBSZXN0cnVjdHVyZSB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbiBhbHNvIGNvbXB1dGUgdGhlIGV4cGVjdGVkIEdTdHJlYW1lciBvdXRwdXQgc2l6Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyX2dldF9jYXBzX2luZm8pLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpLCAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApOgoJICBSZXN0cnVjdHVyZSB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbiBhbHNvIGNvbXB1dGUgdGhlCgkgIGV4cGVjdGVkIEdTdHJlYW1lciBvdXRwdXQgc2l6ZSBvZiB0aGUgdmlkZW8gZnJhbWVzLgoJICBTZXQgZnJhbWVfYnl0ZV9zaXplIGNvcnJlY3RseSBzbyB0aGF0IHJlYWQtYmFzZWQgZGV2aWNlcyBoYXZlIGEgY2hhbmNlCgkgIG9mIHdvcmtpbmcgY29ycmVjdGx5LgoJICBXaGVuIGdyYWJiaW5nIGEgZnJhbWUsIGRpc2NhcmQgZnJhbWVzIHRoYXQgYXJlIG5vdCBvZiB0aGUgZXhwZWN0ZWQgc2l6ZS4KCSAgU29tZSBjYW1lcmFzIGRvbid0IG91dHB1dCB0aGUgcmlnaHQgZnJhbWVzaXplIGZvciB0aGUgZmlyc3QgYnVmZmVyLgoJICBUcnkgb25seSBhIGNvdXBsZSBvZiB0aW1lcyB0byBnZXQgYSB2YWxpZCBmcmFtZSwgZWxzZSBlcnJvciBvdXQuCgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX2dldF9pbnB1dCk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyB3aGVuIHNjYW5uaW5nIHRoZSBkZXZpY2UuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX25ldyksCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9uZXcpLCAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfYWN0aXZhdGUpLAoJICAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyB3aGVuIGRlcXVlaW5nIGEgZnJhbWUuCgoyMDA3LTA5LTA0IDE0OjM3OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogTW9yZSBjb2RlIGNsZWFudXBzLiBBZGQgc29tZSBtb3JlIGNvbW1lbnQgYW5kIGltcHJvdmUgZGVidWdzIGxvZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBNb3JlIGNvZGUgY2xlYW51cHMuIEFkZCBzb21lIG1vcmUgY29tbWVudCBhbmQgaW1wcm92ZSBkZWJ1Z3MgbG9ncy4KCjIwMDctMDktMDQgMDc6NTg6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBJbXBsZW1lbnQgc2Vlay1xdWVyeS4gUmVmYWN0b3IgZHVyYXRpb24gY2FsY3VsYXRpb25zLiBBcHByb3ByaWF0ZSB1c2Ugb2YgdWludDY0X3NjYWxlX2ludC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgSW1wbGVtZW50IHNlZWstcXVlcnkuIFJlZmFjdG9yIGR1cmF0aW9uIGNhbGN1bGF0aW9ucy4gQXBwcm9wcmlhdGUgdXNlCgkgIG9mIHVpbnQ2NF9zY2FsZV9pbnQgYW5kIHVpbnQ2NF9zY2FsZS4gTW92ZSByZXBlYWRlZGx5IGNhbGN1bGF0ZWQgc3R1ZmYKCSAgb3V0IG9mIGxvb3BzLgoKMjAwNy0wOS0wMyAwNzo0NDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbXBsZW1lbnQgc2Vlay1xdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBJbXBsZW1lbnQgc2Vlay1xdWVyeS4KCjIwMDctMDgtMjkgMjE6NDM6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBuZXcgYmFzZXNpbmsgYXN5bmMgcHJvcGVydHkgdG8gbWFrZSBzcGFyc2UgUlRDUCBwYWNrZXQgbm90IHdhaXQgZm9yIHByZXJvbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfZHVwX3ByaW50Zik6CgkgIFVzZSBuZXcgYmFzZXNpbmsgYXN5bmMgcHJvcGVydHkgdG8gbWFrZSBzcGFyc2UgUlRDUCBwYWNrZXQgbm90IHdhaXQgZm9yCgkgIHByZXJvbGwuCgoyMDA3LTA4LTI3IDE0OjQ0OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOiBEaXN0IHRoZSByaWdodCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgRGlzdCB0aGUgcmlnaHQgZmlsZS4KCjIwMDctMDgtMjMgMTY6Mjc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE1ha2Ugc3VyZSB3ZSBnZW5lcmF0ZSBhbmQgcGFyc2UgZmxvYXRpbmcgcG9pbnQgdmFsdWVzIGluIHRoZSBQT1NJWCBsb2NhbGUgaW5zdGVhZCBvZiB0aGUgY3VycmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZHVwX3ByaW50ZiksCgkgIChnc3RfcnRzcHNyY19nZXRfZmxvYXQpLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgIE1ha2Ugc3VyZSB3ZSBnZW5lcmF0ZSBhbmQgcGFyc2UgZmxvYXRpbmcgcG9pbnQgdmFsdWVzIGluIHRoZSBQT1NJWAoJICBsb2NhbGUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBsb2NhbGUuCgoyMDA3LTA4LTIyIDE1OjAxOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBGaXggbWV0aG9kIGRldGVjdGlvbiBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZG9fc2VlayksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggbWV0aG9kIGRldGVjdGlvbiBhZ2Fpbi4KCSAgS2VlcCB0cmFjayBvZiB3aGVuIHdlIG11c3Qgc2VuZCBhIFJhbmdlIGhlYWRlci4KCSAgVXNlIHNlZ21lbnQgdmFsdWVzIGZvciBSYW5nZSwgU3BlZWQgYW5kIFNjYWxlIGhlYWRlcnMuCgkgIFBhcnNlIFNwZWVkIGFuZCBTY2FsZSBoZWFkZXJzIHRvIHVwZGF0ZSB0aGUgc2VnbWVudCB2YWx1ZXMuCgoyMDA3LTA4LTIyIDA4OjIyOjUwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBIYW5kbGUgb3B0aW9uYWwgdjRsMiBpb2N0bHMgZ3JhY2VmdWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgSGFuZGxlIG9wdGlvbmFsIHY0bDIgaW9jdGxzIGdyYWNlZnVsbHkuCgoyMDA3LTA4LTIwIDE2OjUyOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIGFuIEgyNjMgZGVwYXlsb2FkZXIuIEZpeGVzICMzNjkzOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjYzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9oMjYzX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBBZGRlZCBhbiBIMjYzIGRlcGF5bG9hZGVyLiBGaXhlcyAjMzY5MzkyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X2ZyYWdtZW50YXRpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKToKCSAgTWFrZSB0aGUgSDI2MysgcGF5L2RlcGF5bG9hZGVyIHN1cHBvcnQgSDI2My0xOTk4IGFuZCBIMjYzLTIwMDAKCSAgcGF5bG9hZHMuCgkgIEFsc28gYWxvdyBwbGFpbiBIMjYzIG9uIHRoZSBoMjYzcCBwYXlsb2FkZXJzLiBGaXhlcyAjNDY1MDQwLgoKMjAwNy0wOC0xOSAxOToxNjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCjIwMDctMDgtMTkgMTk6MTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIHdpbmRvd2VkIHNpbmMgZmlsdGVycyBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSB3aW5kb3dlZCBzaW5jIGZpbHRlcnMgaW4gdGhlIGRvY3MuCgoyMDA3LTA4LTE5IDE5OjAxOjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChicHdzaW5jX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChscHdzaW5jX3N1aXRlKToKCSAgQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgoyMDA3LTA4LTE5IDE4OjQ3OjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEFsc28gdGVzdCAzMiBiaXQgZmxvYXQgbW9kZSBhbmQgdGhlIHR5cGUgMiB2YXJpYW50cyBvZiB0aGUgZmlsdGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9jaGVieXNoZXZmcmVxYmFuZF9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0X3N1aXRlKToKCSAgQWxzbyB0ZXN0IDMyIGJpdCBmbG9hdCBtb2RlIGFuZCB0aGUgdHlwZSAyIHZhcmlhbnRzIG9mIHRoZSBmaWx0ZXJzLgoKMjAwNy0wOC0xOCAxOTo0NDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmVmYWN0b3IgdGhlIHVkcCBhbmQgaW50ZXJsZWF2ZWQgbG9vcCBmdW5jdGlvbiBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3ApOgoJICBSZWZhY3RvciB0aGUgdWRwIGFuZCBpbnRlcmxlYXZlZCBsb29wIGZ1bmN0aW9uIGEgYml0LgoKMjAwNy0wOC0xNyAxNzowODoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUHJvdGVjdCBjb25uZWN0aW9uIGFjdGl2aXR5IHdpdGggYSBuZXcgbG9jaywgYXZvaWRzIGRlYWRsb2NrcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4gRml4ZXMgIzQ1NS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChnc3RfcnRzcHNyY19jb25uZWN0aW9uX3JlY2VpdmUpLCAoZ3N0X3J0c3BzcmNfc2lua19jaGFpbiksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCksIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBQcm90ZWN0IGNvbm5lY3Rpb24gYWN0aXZpdHkgd2l0aCBhIG5ldyBsb2NrLCBhdm9pZHMgZGVhZGxvY2tzIHdoZW4gZ29pbmcKCSAgdG8gUEFVU0VELiBGaXhlcyAjNDU1ODA4LgoKMjAwNy0wOC0xNyAxNTozMDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IChnc3Rfcm5kX2J1ZmZlcl9zaXplX2xvb3ApOgoJICBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwNy0wOC0xNyAxNToyODo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IHN0cmF5ICV1IGluIGRlYnVnIGxpbmUgYXMgc3BvdHRlZCBieSBTYXVyIG9uIElSQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZG9fc3RyZWFtX2Vvcyk6CgkgIEZpeCBzdHJheSAldSBpbiBkZWJ1ZyBsaW5lIGFzIHNwb3R0ZWQgYnkgU2F1ciBvbiBJUkMuCgoyMDA3LTA4LTE3IDE1OjA1OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50IHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50CgkgIHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMKCSAgc28gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgVUlzIGNhbiB1c2Ugc2xpZGVycyBhbmQgY2hhbmdlIGZyZXF1ZW5jeQoJICBwcm9wZXJ0aWVzIHRvIGZsb2F0cyB0byBzYXZlIGEgYml0IG9mIG1lbW9yeSwgZXZlbiBpbnRzIHdvdWxkIGluCgkgIHRoZW9yeSBiZSBlbm91Z2guIEFsc28gcmVuYW1lIGZyZXF1ZW5jeSB0byBjdXRvZmYgZm9yIGNvbnNpc3RlbmN5CgkgIHJlYXNvbnMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICBSZWdlbmVyYXRlZCBmb3IgdGhlIGFib3ZlIGNoYW5nZXMuCgoyMDA3LTA4LTE3IDE0OjQzOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9jbGFzc19pbml0KToKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudAoJICBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iamVjdCBwcm9wZXJ0aWVzCgkgIHNvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIFVJcyBjYW4gdXNlIHNsaWRlcnMgYW5kIGFkZCBhIG5vdGUgYWJvdXQKCSAgdGhlIG51bWJlciBvZiBwb2xlcyBhcyBhIHRvbyBoaWdoIG51bWJlciBvZiBwb2xlcyBjb21iaW5lZCB3aXRoCgkgIHZlcnkgbG93IG9yIHZlcnkgaGlnaCBmcmVxdWVuY2llcyB3aWxsIHByb2R1Y2Ugb25seSBub2lzZS4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgIFJlZ2VuZXJhdGVkIGZvciB0aGUgcHJvcGVydHkgY2hhbmdlcy4KCjIwMDctMDgtMTcgMTQ6MTU6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEltcHJvdmUgdGltZW91dCBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX2ZsdXNoKSwgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXByb3ZlIHRpbWVvdXQgaGFuZGxpbmcuCgkgIFVzZSB0aGUgc2FtZSBzb2NrZXQgZm9yIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBSVENQIHBhY2tldHMgc28gdGhhdCBzb21lCgkgIHNlcnZlcnMgY2FuIHRyYWNrIGNsaWVudHMgYmV0dGVyLgoJICBJbXByb3ZlIGNvbm5lY3Rpb24gY2xvc2VkIGhhbmRsaW5nLiBUcnkgdG8gcmVjb25uZWN0LgoJICBEb24ndCBvdmVyd3JpdGUgb3VyIGNvbnRlbnQgYmFzZSB3aXRoIE5VTEwuCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICBJbXByb3ZlIHJhbmdlIHBhcnNpbmcgYW5kIGhhbmRsaW5nLgoJICBSZW1vdmUgZmx1c2hpbmcgaGFjayBub3cgdGhhdCBjb3JlIGRvZXMgdGhlIHJpZ2h0IHRoaW5nLgoKMjAwNy0wOC0xNyAxMzo1OToxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBzb2NrZXQgdG8gdXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2Nsb3NlKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgc29ja2V0IHRvIHVzZS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIHRoZSBjdXJyZW50bHkgdXNlZCBzb2NrZXQuCgoyMDA3LTA4LTE2IDE5OjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc3RhcnQpLCAoYnB3c2luY19xdWVyeSksCgkgIChicHdzaW5jX3F1ZXJ5X3R5cGUpLCAoYnB3c2luY19ldmVudCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBSZXNldCByZXNpZHVlIGxlbmd0aCBvbmx5IHdoZW4gYWN0dWFsbHkgY3JlYXRpbmcgYSByZXNpZHVlLgoKMjAwNy0wOC0xNiAxNzowMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgQ2hlYnlzaGV2IGxvd3Bhc3MvaGlnaHBhc3MgYW5kIGJhbmRwYXNzL2JhbmRyZWplY3QgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfaW5pdCksCgkgIChnZW5lcmF0ZV9iaXF1YWRfY29lZmZpY2llbnRzKSwgKGNhbGN1bGF0ZV9nYWluKSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3NldHVwKSwgKHByb2Nlc3MpLCAocHJvY2Vzc182NCksCgkgIChwcm9jZXNzXzMyKSwgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3RyYW5zZm9ybV9pcCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9zdGFydCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9pbml0KSwKCSAgKGdlbmVyYXRlX2JpcXVhZF9jb2VmZmljaWVudHMpLCAoY2FsY3VsYXRlX2dhaW4pLAoJICAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfc2V0dXApLCAocHJvY2VzcyksIChwcm9jZXNzXzY0KSwKCSAgKHByb2Nlc3NfMzIpLCAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3RyYW5zZm9ybV9pcCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfc3RhcnQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgQ2hlYnlzaGV2IGxvd3Bhc3MvaGlnaHBhc3MgYW5kIGJhbmRwYXNzL2JhbmRyZWplY3QgZWxlbWVudHMuCgkgIEZpeGVzICM0NjQ4MDAuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChzZXR1cF9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kKSwgKGNsZWFudXBfYXVkaW9jaGVieXNoZXZmcmVxYmFuZCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb2NoZWJ5c2hldmZyZXFiYW5kX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChzZXR1cF9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCksIChjbGVhbnVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhlIGNoZWJ5c2hldiBmaWx0ZXJzLgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgQW5kIGFkZCBkb2NzIGZvciB0aGUgY2hlYnlzaGV2IGZpbHRlcnMuIFdoaWxlIGRvaW5nCgkgIHRoYXQgYWxzbyBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoKMjAwNy0wOC0xNiAxMjoxNTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZSBybyBtZW1vcnkgdG8gc2hhcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBNYWtlIHJvIG1lbW9yeSB0byBzaGFyZS4KCjIwMDctMDgtMTYgMTE6NDk6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBJbXByb3ZlIFVEUCBwZXJmb3JtYW5jZSBieSBhdm9pZGluZyBhIHNlbGVjdCgpIHdoZW4gd2UgaGF2ZSBkYXRhIGF2YWlsYWJsZSBpbW1lZGlhdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBJbXByb3ZlIFVEUCBwZXJmb3JtYW5jZSBieSBhdm9pZGluZyBhIHNlbGVjdCgpIHdoZW4gd2UgaGF2ZSBkYXRhCgkgIGF2YWlsYWJsZSBpbW1lZGlhdGx5LgoKMjAwNy0wOC0xNiAxMTo0NzoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBBZGQgKGR1bW15KSBTU1JDIG1hbmFnZW1lbnQgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19tYXJzaGFsX1ZPSURfX1VJTlRfVUlOVCksCgkgIChnc3RfcnRwX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgQWRkIChkdW1teSkgU1NSQyBtYW5hZ2VtZW50IHNpZ25hbHMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGZpbmRfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAobmV3X3Nlc3Npb25fcGFkKSwKCSAgKHJlcXVlc3RfcHRfbWFwKSwgKGdzdF9ydHNwc3JjX2RvX3N0cmVhbV9lb3MpLCAob25fYnllX3NzcmMpLAoJICAob25fdGltZW91dCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3B1c2hfZXZlbnQpLCAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5LgoJICBBZGQgZmluZF9zdHJlYW0gaGVscGVyIGZ1bmN0aW9ucy4KCSAgSGFuZGxlIHN0cmVhbSBFT1MgYmFzZWQgb24gQllFIG1lc3NhZ2VzIG9yIFNTUkMgdGltZW91dC4KCSAgUmV0dXJucyBTVUNDRVNTIGZyb20gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhcyB3ZSBoaWRlIG91ciBhc3luYwoJICBlbGVtZW50cyBmcm9tIHRoZSBwYXJlbnQuCgoyMDA3LTA4LTE2IDA5OjQ4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGxwd3NpbmNfdHJhbnNmb3JtKSwgKGxwd3NpbmNfc3RhcnQpLCAobHB3c2luY19xdWVyeSksCgkgIChscHdzaW5jX3F1ZXJ5X3R5cGUpLCAobHB3c2luY19ldmVudCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoKMjAwNy0wOC0xNiAwNzo0MDo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogRml4IGRhIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6CgkgIEZpeCBkYSBsZWFrLgoKMjAwNy0wOC0xNCAxMzo1MDo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnLzogQWRkIG5ldyB0ZXN0IGVsZW1lbnQgYW5kIGNsZWFuLXVwIHRoZSBvdGhlcnMgYSBsaXR0bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgIEFkZCBuZXcgdGVzdCBlbGVtZW50IGFuZCBjbGVhbi11cCB0aGUgb3RoZXJzIGEgbGl0dGxlLgoKMjAwNy0wOC0xMyAxMzo1MDozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3MgZm9yIGxwd3NpbmMgYW5kIGJwd3NpbmMgYW5kIGludGVncmF0ZSB0aGVtIGludG8gdGhlIGJ1aWxkIHN5c3RlbS4gV2hpbGUgZG9pbmcgdGhhdCBhbHNvIHVwZGF0ZSBhbGwgb3RoZXIgZG9jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvY3MgZm9yIGxwd3NpbmMgYW5kIGJwd3NpbmMgYW5kIGludGVncmF0ZSB0aGVtCgkgIGludG8gdGhlIGJ1aWxkIHN5c3RlbS4gV2hpbGUgZG9pbmcgdGhhdCBhbHNvIHVwZGF0ZQoJICBhbGwgb3RoZXIgZG9jcyB2aWEgbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoKMjAwNy0wOC0xMiAyMDo1NTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoKMjAwNy0wOC0xMiAyMDo1MzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKHNldHVwX2Jwd3NpbmMpLAoJICAoY2xlYW51cF9icHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGJwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgoyMDA3LTA4LTEyIDIwOjE5OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoc2V0dXBfbHB3c2luYyksCgkgIChjbGVhbnVwX2xwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAobHB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCjIwMDctMDgtMTIgMTU6NDE6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0wOC0xMiAxNDozNTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHBhcnNpbmcgb2YgbXA0YSB2ZXJzaW9uIDAgYXRvbXMuIEZpeGVzICM0NjU3NzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfbm9kZSk6CgkgIEZpeCBwYXJzaW5nIG9mIG1wNGEgdmVyc2lvbiAwIGF0b21zLiBGaXhlcyAjNDY1Nzc0LgoKMjAwNy0wOC0xMiAxMjo0NjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUgb24gc3RyZWFtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3N0YXJ0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAobHB3c2luY19zdGFydCk6CgkgIFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUKCSAgb24gc3RyZWFtIGNoYW5nZXMuCgoyMDA3LTA4LTExIDE1OjU4OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRml4IHByb2Nlc3Npbmcgd2l0aCBidWZmZXIgc2l6ZXMgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIGZpbHRlciBrZXJuZWwgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgRml4IHByb2Nlc3Npbmcgd2l0aCBidWZmZXIgc2l6ZXMgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIGZpbHRlcgoJICBrZXJuZWwgc2l6ZS4KCjIwMDctMDgtMTAgMTc6MDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IEluY2x1ZGUgc3RkbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICBJbmNsdWRlIHN0ZGxpYi4KCjIwMDctMDgtMTAgMTY6MTA6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IFNldCB0aGUgbXBlZ3ZlcnNpb24gaW4gdGhlIGNhcHMgc28gdGhhdCBhdXRvcGx1Z2dpbmcgZG9lcyBub3QgZ2V0IGNvbmZ1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkgIFNldCB0aGUgbXBlZ3ZlcnNpb24gaW4gdGhlIGNhcHMgc28gdGhhdCBhdXRvcGx1Z2dpbmcgZG9lcyBub3QgZ2V0CgkgIGNvbmZ1c2VkLgoKMjAwNy0wOC0xMCAwNTo1MTo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZAoJICB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IGJ1ZmZlci4KCjIwMDctMDgtMTAgMDU6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdyBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2Jwd3NpbmNfd2luZG93X2dldF90eXBlKSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93CgkgIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFuZCBhbm90aGVyIHNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNToyMDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY19nZXRfdW5pdF9zaXplKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICAtIFN1cHBvcnQgZG91YmxlIGlucHV0CgkgIC0gRml4IHByb2Nlc3NpbmcgZm9yIGlucHV0IHdpdGggPjEgY2hhbm5lbHMKCSAgLSBTcGVjaWZ5IGZyZXF1ZW5jeSBpbiBIegoJICAtIFNwZWNpZnkgYWN0dWFsIGZpbHRlciBrZXJuZWwgbGVuZ3RoCgkgIC0gVXNlIHRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcCBhcyB3ZSdyZSB3b3JraW5nCgkgIG91dCBvZiBwbGFjZSBhbnl3YXkKCSAgLSBGYWN0b3Igb3V0IGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiBhbmQgdXBkYXRlIHRoZSBmaWx0ZXIKCSAga2VybmVsIHdoZW4gdGhlIHByb3BlcnRpZXMgYXJlIHNldAoJICBGaXggYmFuZHBhc3MgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIHRvIGFjdHVhbGx5IGdlbmVyYXRlCgkgIGEgYmFuZHBhc3MgZmlsdGVyIGJ5IGNyZWF0aW5nIGEgaGlnaHBhc3MgaW5zdGVhZCBvZiBhIHNlY29uZAoJICBsb3dwYXNzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIFNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNDo0NDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZCAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZAoJICAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvIHRoZSBuZXh0IG9kZCBudW1iZXIuCgkgIEFsc28gcmVtb3ZlIG5vdyBvYnNvbGV0ZSBGSVhNRXMuCgoyMDA3LTA4LTEwIDA0OjMyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbiB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY193aW5kb3dfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbgoJICB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3RvcGJhbmQgYXR0ZW51YXRpb24gYnV0IGEgYml0IHNsb3dlcgoJICByb2xsb2ZmLgoKMjAwNy0wOC0xMCAwNDoyMTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgoyMDA3LTA4LTEwIDA0OjA2OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgoyMDA3LTA4LTA5IDE5OjIzOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIEFkZCBUT0RPcyBhbmQgRklYTUVzIGFuZCByZW1vdmUgdHdvIHdyb25nIEZJWE1Fcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIEZJWE1FcyBhbmQgYSBuZXcgVE9ETy4KCjIwMDctMDgtMDkgMTg6MDg6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIgaXMgYSBDKysga2V5d29yZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwKCSAgKHByb2Nlc3NfNjQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXR1cCksCgkgIChscHdzaW5jX2dldF91bml0X3NpemUpLCAobHB3c2luY190cmFuc2Zvcm0pLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIKCSAgaXMgYSBDKysga2V5d29yZC4KCSAgSW1wbGVtZW50IHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgaW4gSHogaW5zdGVhZCBvZiBmcmFjdGlvbgoJICBvZiBzYW1wbGluZyBmcmVxdWVuY3kuCgkgIFJlbW92ZSBzb21lIHVuZWNlc3NhcnkgRklYTUVzIGFuZCBhZGQgc29tZSBUT0RPcywgYWRkIHNvbWUKCSAgcmVxdWlyZWQgbG9ja2luZyBhbmQgcmVmYWN0b3IgdGhlIGtlcm5lbCBnZW5lcmF0aW9uIGludG8gYQoJICBzZXBhcmF0ZSBmdW5jdGlvbiB0aGF0IGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHByb3BlcnRpZXMKCSAgY2hhbmdlIG5vdy4KCSAgQW5kIHVzZSBCYXNlVHJhbnNmb3JtOjp0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAKCSAgYXMgdGhlIGNvbnZvbHV0aW9uIGlzIGRvbmUgb3V0IG9mIHBsYWNlIGFueXdheS4gU2hvdWxkCgkgIGJlIGRvbmUgaW4gcGxhY2UgbGF0ZXIuCgoyMDA3LTA4LTA5IDEwOjU0OjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDgtMDggMjA6NDc6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5IG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5CgkgIG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoKMjAwNy0wOC0wOCAxNzo0NzowNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFJlbmRlciByaWdodCBib3JkZXIgaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9heXV2X2k0MjApOgoJICBSZW5kZXIgcmlnaHQgYm9yZGVyIGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLgoKMjAwNy0wOC0wOCAxMDo1NDo1MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBNYWtlIG1vZGUgcHJvcGVydHkgYSBzdHJpbmcuIEZpeGVzICM0NjQ0NzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICBNYWtlIG1vZGUgcHJvcGVydHkgYSBzdHJpbmcuIEZpeGVzICM0NjQ0NzUuCgoyMDA3LTA4LTA1IDE0OjU4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFdpZGVuIGNhcHMgdG8gbWF0Y2ggZGVjb2RlciBhIGJpdCBhbmQgYWRkIG1vcmUgRklYTUVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIFdpZGVuIGNhcHMgdG8gbWF0Y2ggZGVjb2RlciBhIGJpdCBhbmQgYWRkIG1vcmUgRklYTUVzLgoKMjAwNy0wOC0wNSAxNDo1MzozNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCBPRE1MIGluZGV4IHRhZyBudW1iZXJpbmcuIEZpeGVzICM0NjM2MjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBGaXggT0RNTCBpbmRleCB0YWcgbnVtYmVyaW5nLiBGaXhlcyAjNDYzNjI0LgoKMjAwNy0wOC0wMyAxNjowODo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IGRlZmF1bHQgY2xvY2stcmF0ZSBmb3IgcmVhbG1lZGlhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnZXRfZGVmYXVsdF9yYXRlX2Zvcl9wdCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgRml4IGRlZmF1bHQgY2xvY2stcmF0ZSBmb3IgcmVhbG1lZGlhLgoJICBGaXggcGFyc2luZyBvZiB0cmFuc3BvcnQuCgkgIERvbid0IHRyeSB0byBsaW5rIE5VTEwgcGFkcy4KCjIwMDctMDctMzAgMTc6MTc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5za2lwOiBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlCgkgIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFibGUgc3RyaW5ncy4gU2hvdWxkIGhvcGVmdWxseSBwYWNpZnkKCSAgYnJva2VuIHRvb2xzIGFuZCBtYWtlIGl0IGNsZWFyZXIgdGhhdCB0aGVzZSBmaWxlcyBhcmUgbGVmdCBvdXQKCSAgaW50ZW50aW9uYWxseSAoIzQ2MTYwMCkuCgoyMDA3LTA3LTMwIDEyOjQxOjU4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJZiB0aGUgYnVmZmVyIHdhcyBlbnRpcmVseSBjbGlwcGVkIC4uLiBkb24ndCB0cnkgc2VuZGluZyBpdCA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgSWYgdGhlIGJ1ZmZlciB3YXMgZW50aXJlbHkgY2xpcHBlZCAuLi4gZG9uJ3QgdHJ5IHNlbmRpbmcgaXQgOikKCjIwMDctMDctMjcgMTY6NTY6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElmIHdlIGRvbid0IGhhdiBhIHNlc3Npb24gbWFuYWdlciwgc2V0IHRoZSBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMgb3Vyc2VsdmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcHJlcGFyZV90cmFuc3BvcnRzKToKCSAgSWYgd2UgZG9uJ3QgaGF2IGEgc2Vzc2lvbiBtYW5hZ2VyLCBzZXQgdGhlIGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycwoJICBvdXJzZWx2ZXMuCgkgIEZvcmNlIFBBVVNFL1BMQVkgbWV0aG9kcyBmb3Igbm93IHVudGlsIHRoZSBleHRlbnNpb25zIGNhbiBvdmVyd3JpdGUuCgkgIEFwcGVuZCBmaW5hbCBiaXQgb2YgdGhlIHRyYW5zcG9ydCBzdHJpbmcgZXZlbiB3aGVuIGl0IGRvZXMgbm90IGNvbnRhaW4gYQoJICBwbGFjZWhvbGRlci4KCjIwMDctMDctMjcgMTE6MjE6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IENsZWFuIHVwIHRoZSBpbnRlcmZhY2UgbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOiAoZ3N0X3J0c3BfZXh0X2xpc3RfZnJlZSksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9jb25uZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19zZW5kX2NiKToKCSAgQ2xlYW4gdXAgdGhlIGludGVyZmFjZSBsaXN0LgoJICBBbGxvdyBjb25uZWN0aW5nIHRvIGludGVyZmFjZSBzaWduYWxzIGZvciB0aGUgZXh0ZW5zaW9ucy4KCSAgUmVtb3ZlIG9sZCBleHRlbnNpb24gY29kZS4KCSAgRnJlZSBsaXN0IG9uIGNsZWFudXAuCgkgIEFsbG93IGV4dGVuc2lvbnMgdG8gc2VuZCBhZGRpdGlvbmFsIFJUU1AgbWVzc2FnZXMuCgoyMDA3LTA3LTI3IDEwOjM4OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nY29uZi5jOiBIYW5kbGUgYSBOVUxMIGdjb25mIGtleSBncmFjZWZ1bGx5IGJ5IHJlbmRlcmluZyB0aGUgZGVmYXVsdCBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgIEhhbmRsZSBhIE5VTEwgZ2NvbmYga2V5IGdyYWNlZnVsbHkgYnkgcmVuZGVyaW5nIHRoZSBkZWZhdWx0IGVsZW1lbnQuCgoyMDA3LTA3LTI3IDEwOjExOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOiBGaXggaW5jbHVkZSBwYXRoIGZvciBleHRlbnNpb24gaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgIEZpeCBpbmNsdWRlIHBhdGggZm9yIGV4dGVuc2lvbiBpbnRlcmZhY2UuCgoyMDA3LTA3LTI2IDE5OjQ1OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDogQWxzbyByZW1vdmUgYSBub3cgdW5lY2Vzc2FyeSB2YXJpYWJsZSBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSAgQWxzbyByZW1vdmUgYSBub3cgdW5lY2Vzc2FyeSB2YXJpYWJsZSBoZXJlLgoKMjAwNy0wNy0yNiAxOTo0MTowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBEb24ndCBzYXZlIGZvcm1hdCBpbmZvcm1hdGlvbiBvdXJzZWx2ZXMsIHRoaXMgaXMgYWxyZWFkeSBzYXZlZCBpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzogKGdzdF9hdWRpb19hbXBsaWZ5X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0dXApLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgKGdzdF9hdWRpb19keW5hbWljX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwgKGdzdF9hdWRpb19keW5hbWljX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0dXApLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfc2V0dXApLCAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkgIERvbid0IHNhdmUgZm9ybWF0IGluZm9ybWF0aW9uIG91cnNlbHZlcywgdGhpcyBpcyBhbHJlYWR5IHNhdmVkIGluCgkgIEdzdEF1ZGlvRmlsdGVyLgoKMjAwNy0wNy0yNiAxNTo0ODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogVXNlIHJhbmsgdG8gZmlsdGVyIG91dCBleHRlbnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6IChnc3RfcnRzcF9leHRfbGlzdF9maWx0ZXIpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3Rfc3RyZWFtX3NlbGVjdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBVc2UgcmFuayB0byBmaWx0ZXIgb3V0IGV4dGVuc2lvbnMuCgkgIEFkZCB1cmwgdG8gc3RyZWFtX3NlbGVjdCBpbnRlcmZhY2UgY2FsbC4KCjIwMDctMDctMjUgMTg6NTA6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFVzZSBzaGlueSBuZXcgUlRTUCBhbmQgU0RQIGxpYnJhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2Jhc2U2NC5jOgoJICAqIGdzdC9ydHNwL2Jhc2U2NC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzogKGdzdF9ydHNwX2V4dF9saXN0X2ZpbHRlciksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9pbml0KSwgKGdzdF9ydHNwX2V4dF9saXN0X2dldCksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9kZXRlY3Rfc2VydmVyKSwgKGdzdF9ydHNwX2V4dF9saXN0X2JlZm9yZV9zZW5kKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2FmdGVyX3NlbmQpLCAoZ3N0X3J0c3BfZXh0X2xpc3RfcGFyc2Vfc2RwKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X3NldHVwX21lZGlhKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2NvbmZpZ3VyZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfZ2V0X3RyYW5zcG9ydHMpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3Rfc3RyZWFtX3NlbGVjdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX2xvd2VyX3RyYW5zX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2ZsdXNoKSwgKGdzdF9ydHNwc3JjX2RvX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfc2lua19jaGFpbiksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLCAoZ3N0X3J0c3BfYXV0aF9tZXRob2RfdG9fc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKSwgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wcmVwYXJlX3RyYW5zcG9ydHMpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcC5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmg6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzoKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL3J0c3ByYW5nZS5jOgoJICAqIGdzdC9ydHNwL3J0c3ByYW5nZS5oOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgKiBnc3QvcnRzcC9zZHAuaDoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL3Rlc3QuYzoKCSAgVXNlIHNoaW55IG5ldyBSVFNQIGFuZCBTRFAgbGlicmFyeS4KCSAgSW1wbGVtZW50IFJUU1AgZXh0ZW5zaW9ucyB1c2luZyB0aGUgbmV3IGludGVyZmFjZS4KCSAgUmVtb3ZlIGEgbG90IG9mIG9sZCBjb2RlLgoKMjAwNy0wNy0yNCAxNDozMTo1NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIGNvZGVjIG1hcHBpbmcgZm9yICcydnV5JyAoUmF3IFlVViBwcm9kdWNlZCBieSBGQ1ApIGFuZCAnZGl2eCcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBjb2RlYyBtYXBwaW5nIGZvciAnMnZ1eScgKFJhdyBZVVYgcHJvZHVjZWQgYnkgRkNQKSBhbmQgJ2RpdngnLgoKMjAwNy0wNy0yNCAwNTowNzo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBEb24ndCB1bnJlZiB0aGUgb3V0Z29pbmcgYnVmZmVyIHR3aWNlIHdoZW4gZHJvcHBpbmcgaXQgYmVjYXVzZSBpdCdzIG91dHNpZGUgb2YgdGhlIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIERvbid0IHVucmVmIHRoZSBvdXRnb2luZyBidWZmZXIgdHdpY2Ugd2hlbiBkcm9wcGluZyBpdCBiZWNhdXNlIGl0J3MKCSAgb3V0c2lkZSBvZiB0aGUgc2VnbWVudC4KCjIwMDctMDctMjQgMDQ6NTc6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KToKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQKCSAgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZvciBmcmFtZWQgV2F2cGFjayBidWZmZXJzIHdlIHJlcXVpcmUgYSB2YWxpZCB0aW1lc3RhbXAuCgoyMDA3LTA3LTIzIDE4OjAzOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGlwIHJhdyBhdWRpbyBhbmQgdmlkZW8gd2hlbiB3ZSBjYW4sIGtlZXAgdHJhY2sgb2YgY3VycmVudCBvdXRwdXQgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9jbGlwX2J1ZmZlciksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQ2xpcCByYXcgYXVkaW8gYW5kIHZpZGVvIHdoZW4gd2UgY2FuLCBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgb3V0cHV0CgkgIHNlZ21lbnQuCgkgIERvbid0IGxlYWsgYnVmZmVycyBhbmQgZXZlbnRzIHdoZW4gdGhlcmUgaXMgbm8gb3V0cHV0IHBhZC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgaGVyZSBhbmQgdGhlcmUuCgoyMDA3LTA3LTIzIDA5OjAyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoKMjAwNy0wNy0yMCAxMTozNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20gaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tCgkgIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3b3JrIHRoZSBnYWluIG1hcHBpbmcuCgoyMDA3LTA3LTIwIDA3OjQxOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW5ub2RleC9NYWtlZmlsZS5hbTogRml4IENGTEFHUy9MSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgRml4IENGTEFHUy9MSUJTLgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfdGFzayk6CgkgIEluY2x1ZGUgc3RkbGliCgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSAgVXNlICQoTElCTSkgaW5zdGVhZCBvZiAtbG0KCjIwMDctMDctMTggMTE6NTU6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIGFub3RoZXIgZXhhbXBsZSBwaXBlbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBZGQgYW5vdGhlciBleGFtcGxlIHBpcGVsaW5lLgoKMjAwNy0wNy0xOCAxMTo0MjozMyArMDAwMCAgQWxleGFuZGVyIEVpY2huZXIgPGFsZXhlaWNoaUB5YWhvby5kZT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogVXNlIGRlZmluZSBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXhhbmRlciBFaWNobmVyIDxhbGV4ZWljaGlAeWFob28uZGU+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgIFVzZSBkZWZpbmUgaGVyZS4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKGdzdF92NGwyX3R1bmVyX3NldF9mcmVxdWVuY3lfYW5kX25vdGlmeSk6CgkgIERvbid0IHRvdWNoIHRoZSBwcm9wZXJ0eSAtIGl0cyBzdGlsbCBkaXNhYmxlZC4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgSW1wcm92ZSBmYWxsYmFjayBmb3JtYXQgbmVnb3Rpb25hdGlvbi4gRml4ZXMgIzQ1MTM4OAoKMjAwNy0wNy0xOCAxMDozMzozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IEZpeCB0aGUgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCB0aGUgdGVzdC4KCjIwMDctMDctMTggMDk6MjE6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgZG9jcy4gTW9yZSBsb2dzIGluIHBuZ2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfdGFzayksCgkgIChnc3RfcG5nZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIE1vcmUgZG9jcy4gTW9yZSBsb2dzIGluIHBuZ2RlYy4KCjIwMDctMDctMTggMDc6NTE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEFkZCBleGFtcGxlIHRvIHRoZSBkb2NzLiBGaXggYnVmZmVyLW9mZnNldC1lbmQgYW5kIGFkZCBzb21lIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEFkZCBleGFtcGxlIHRvIHRoZSBkb2NzLiBGaXggYnVmZmVyLW9mZnNldC1lbmQgYW5kIGFkZCBzb21lIGRlYnVnLgoKMjAwNy0wNy0xOCAwNzozNTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCjIwMDctMDctMTcgMTE6MzU6MjkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW5pdGlhbGl6ZSBudW1fYnVmZmVycyB3aXRoIG1pbmltdW0gdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICBJbml0aWFsaXplIG51bV9idWZmZXJzIHdpdGggbWluaW11bSB2YWx1ZS4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgSGFuZGxlIGZyYW1lLXNpemUgcXVlcnkgZmFpbHVyZSBncmFjZWZ1bGx5LgoKMjAwNy0wNy0xNiAxMjoxMTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHBhcnNpbmcgb2YgZXNkcyBhdG9tcyBpbnNpZGUgbXA0YSBhdG9tcyBzbyB0aGF0IHdlIGNhbiBzZXQgY29ycmVjdCBjb2RlY19pbmZvIGZvciBBQUMgYXVkaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX25vZGUpOgoJICBGaXggcGFyc2luZyBvZiBlc2RzIGF0b21zIGluc2lkZSBtcDRhIGF0b21zIHNvIHRoYXQgd2UgY2FuIHNldCBjb3JyZWN0CgkgIGNvZGVjX2luZm8gZm9yIEFBQyBhdWRpby4gRml4ZXMgIzQ1NzA5NyBhbG9uZyB3aXRoIGEgd2hvbGUgb3RoZXIgYnVuY2gKCSAgb2YgcXQvYWFjIGZpbGVzLgoKMjAwNy0wNy0xNiAwOToxNjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlcik6CgkgIEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDctMDctMTMgMTY6MzE6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yCgkgIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwKCSAgYW5kIHdlIHdlcmVuJ3QgYWN0dWFsbHkgX3VzaW5nXyB0aGUgaW5mb3JtYXRpb24gZm9yIGxpYmNoZWNrCgkgIG91cnNlbHZlcyBhbnl3YXkuCgoyMDA3LTA3LTEyIDExOjIxOjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgoyMDA3LTA3LTExIDIzOjQzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6ICh2bW5jX21ha2VfYnVmZmVyKToKCSAgRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgoyMDA3LTA3LTExIDIyOjMxOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV90cmFuc2Zvcm0pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogKGdzdF9uYXZpZ2F0aW9udGVzdF90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6IChnc3RfYWdpbmd0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzogKGdzdF9kaWNldHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6IChnc3RfZWRnZXR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6IChnc3RfcmV2dHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6IChnc3Rfc2hhZ2FkZWxpY3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOiAoZ3N0X3ZlcnRpZ290dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzogKGdzdF93YXJwdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlcik6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvX2ZsaXBfdHJhbnNmb3JtKToKCSAgRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgoyMDA3LTA3LTEwIDEwOjE2OjM4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIHB1c2hpbmcgYW4gZXZlbnQgcmV0dXJucyBGQUxTRS4gV2UgZG9uJ3QgaGF2ZSBlbm91Z2ggZ3JhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gcHVzaGluZyBhbiBldmVudCByZXR1cm5zIEZBTFNFLiBXZQoJICBkb24ndCBoYXZlIGVub3VnaCBncmFudWxhcml0eSB0byBjb252ZXJ0IHRoYXQgYm9vbGVhbiBpbnRvIGEKCSAgR3N0Rmxvd1JldHVybi4KCjIwMDctMDctMDYgMTU6MDA6NDcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9sYXcvOiBGaXggY2Fwc25lZ28gYm9nb3NpdHkgaW4gKmxhdyBkZWNvZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoYWxhd2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2FsYXdkZWNfY2xhc3NfaW5pdCksIChnc3RfYWxhd2RlY19pbml0KSwgKGdzdF9hbGF3ZGVjX2NoYWluKSwKCSAgKGdzdF9hbGF3ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X211bGF3ZGVjX2NsYXNzX2luaXQpLCAoZ3N0X211bGF3ZGVjX2luaXQpLAoJICAoZ3N0X211bGF3ZGVjX2NoYWluKSwgKGdzdF9tdWxhd2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgIEZpeCBjYXBzbmVnbyBib2dvc2l0eSBpbiAqbGF3IGRlY29kZXJzLgoKMjAwNy0wNy0wNiAxNDozNTo1OSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2pwZWcvZ3N0c21va2VlbmMuKjogUmVtb3ZlIHN0dXBpZGl0eSBpbiBnZXQvc2V0IGNhcHMgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2luaXQpLAoJICAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKSwKCSAgKGdzdF9zbW9rZWVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgIFJlbW92ZSBzdHVwaWRpdHkgaW4gZ2V0L3NldCBjYXBzIGZ1bmN0aW9ucy4KCSAgRml4IHNvbWUgcmVmY291bnRpbmcgcHJvYmxlbXMuCgoyMDA3LTA3LTA2IDExOjQyOjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFJlbW92ZSBlbmRpYW5uZXNzLWZsaXBwaW5nIGhhY2sgdGhhdCBzZWVtcyB0byBoYXZlIGJlZW4gcmVxdWlyZWQgb25seSBiZWNhdXNlIG9mIGEgYnVnIGluIGZmbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KToKCSAgUmVtb3ZlIGVuZGlhbm5lc3MtZmxpcHBpbmcgaGFjayB0aGF0IHNlZW1zIHRvIGhhdmUgYmVlbiByZXF1aXJlZAoJICBvbmx5IGJlY2F1c2Ugb2YgYSBidWcgaW4gZmZtcGVnY29sb3JzcGFjZS4KCSAgUGFydGlhbGx5IEZpeGVzOiAjNDUxOTA4CgoyMDA3LTA3LTA1IDA4OjQ0OjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgoyMDA3LTA3LTAzIDA5OjU5OjQ2ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IFNldCB0aGUgZW5jb2RpbmctbmFtZSBpbiB0aGUgcnRwIGNhcHMgdG8gYWxsIHVwcGVyY2FzZSwgYXMgcmVxdWlyZWQgYnkgdGhlIGNhcHMgc3BlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgIFNldCB0aGUgZW5jb2RpbmctbmFtZSBpbiB0aGUgcnRwIGNhcHMgdG8gYWxsIHVwcGVyY2FzZSwgYXMgcmVxdWlyZWQgYnkKCSAgdGhlIGNhcHMgc3BlYy4KCSAgU29tZSBzbWFsbCBjbGVhbnVwcyBpbiB0aGUgZXJyb3IgcGF0aHMuIEZpeGVzICM0NTMwMzcuCgoyMDA3LTA3LTAzIDA4OjAxOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlLzogQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgoyMDA3LTA3LTAzIDA3OjE2OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOiBGaXggR09iamVjdCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDctMDYtMjggMTk6MDA6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBVc2UgYSBHU0xpc3QgZm9yIHRoZSBHQXJyYXkgdGhhdCBpcyB1c2VkIGxpa2UgYSBsaXN0IGFueXdheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfbGFzdF9lbnRyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBVc2UgYSBHU0xpc3QgZm9yIHRoZSBHQXJyYXkgdGhhdCBpcyB1c2VkIGxpa2UgYSBsaXN0IGFueXdheS4KCjIwMDctMDYtMjggMTM6MjU6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogQWRkIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVyZSB3ZSBzZXQgMC8xIGFzIGRlZmF1bHQgZnJhbWVyYXRlIGluIGNhc2Ugb3VyIHNldGNhcHMgZnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2V2ZW50KSwgKGdzdF9nZGtfcGl4YnVmX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2hlcmUgd2Ugc2V0IDAvMSBhcyBkZWZhdWx0IGZyYW1lcmF0ZSBpbgoJICBjYXNlIG91ciBzZXRjYXBzIGZ1bmN0aW9uIGlzbid0IGNhbGxlZCwgbGlrZSBpdCBtaWdodCBub3QgaW4gYQoJICBmaWxlc3JjICEgZ2RrcGl4YnVmZGVjIHNjZW5hcmlvLiBGaXhlcyBhc3NlcnRpb24gdHJpZ2dlcmVkIGJ5CgkgIGdka3BpeGJ1ZmRlYyB0cnlpbmcgdG8gY3JlYXRlIGNhcHMgd2l0aCBhIDAvMCBmcmFtZXJhdGUuCgkgIEFsc28gcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgZ3N0X3BhZF9wdXNoKCkgZmFpbHMgd2hlbgoJICBjYWxsZWQgZnJvbSBvdXIgc2luayBldmVudCBoYW5kbGVyICgrMSBmb3IgZmxvdyByZXR1cm5zIGZvciBldmVudAoJICBmdW5jdGlvbnMgaW4gMC4xMSkgaW5zdGVhZCBvZiBmYWlsaW5nIHNpbGVudGx5LgoKMjAwNy0wNi0yNyAxMTozNjoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQ2FzdCBzdGFjayBhcmdzIHRvIHRoZSBwcm9wZXIgdHlwZXMuIEZpeGVzICM0NTEyNDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV9jYXBzKToKCSAgQ2FzdCBzdGFjayBhcmdzIHRvIHRoZSBwcm9wZXIgdHlwZXMuIEZpeGVzICM0NTEyNDkuCgoyMDA3LTA2LTI3IDExOjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBGb3IgY29udGFpbmVyIGZvcm1hdHMgd2Ugb25seSBuZWVkIHRvIGFjdGl2YXRlIG9uZSBvZiB0aGUgc3RyZWFtcyBzbyB0aGF0IHdlIGNvcnJlY3RseSBzaWduYWwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRm9yIGNvbnRhaW5lciBmb3JtYXRzIHdlIG9ubHkgbmVlZCB0byBhY3RpdmF0ZSBvbmUgb2YgdGhlIHN0cmVhbXMgc28KCSAgdGhhdCB3ZSBjb3JyZWN0bHkgc2lnbmFsIG5vLW1vcmUtcGFkcy4gRml4ZXMgIzQ1MTAxNS4KCjIwMDctMDYtMjUgMTI6NDY6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgoyMDA3LTA2LTI1IDEyOjEzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuaW46IEFkZCBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRhYmxlIHN0cmluZ3MgKCM0NTA4NzgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIG1vcmUgZmlsZXMgd2l0aCB0cmFuc2xhdGFibGUgc3RyaW5ncyAoIzQ1MDg3OCkuCgoyMDA3LTA2LTIyIDIwOjIzOjE4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvOiBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBGaXhlcyAjNDUwMTg1LgoKMjAwNy0wNi0yMiAxNDoyNjozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNQUlOVEFJTkVSUzogVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNQUlOVEFJTkVSUzoKCSAgVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoKMjAwNy0wNi0yMiAxMDoxMjoxNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIEZpeCBtZW1vcnkgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19pbml0KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGRlaW50ZXJsZWF2ZV9zaW5rX2xpbmspOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzogKGdzdF9tZWRpYW5faW5pdCk6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlmaWxlc3JjX2luaXQpOgoJICBGaXggbWVtb3J5IGxlYWtzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6IChwYWRfYWRkZWRfY2IpOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwNy0wNi0yMSAxMDo0ODoxMCArMDAwMCAgRGFtaWVuIENhcmJlcnkgPGRhbWllbi5jYXJiZXJ5QHN1bi5jb20+CgoJICBleHQvZ2NvbmYvZ2NvbmYuaDogTWFrZSB0aGUgcHJvdG90eXBlIG9mIGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUgbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgTWFrZSB0aGUgcHJvdG90eXBlIG9mIGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUKCSAgbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9uLgoJICBQYXRjaCBieTogRGFtaWVuIENhcmJlcnkgPGRhbWllbiBkb3QgY2FyYmVyeSBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICM0NDk3NDcKCjIwMDctMDYtMjAgMTI6NTY6MTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzogRml4IGRlc2NyaXB0aW9uIC0gcnRwZGVwYXkgaXMgbm90IGEgcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgIEZpeCBkZXNjcmlwdGlvbiAtIHJ0cGRlcGF5IGlzIG5vdCBhIHBheWxvYWRlci4KCjIwMDctMDYtMjAgMTA6MTU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCjIwMDctMDYtMjAgMDg6NTY6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggbGVha2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9ldmVudCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoc2V0dXBfc3BlY3RydW0pLAoJICAoY2xlYW51cF9zcGVjdHJ1bSksIChHU1RfU1RBUlRfVEVTVCksIChzcGVjdHJ1bV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNpbXBsZSB0ZXN0IGZvciBzcGVjdHJ1bSBlbGVtZW50LgoKMjAwNy0wNi0yMCAwODoyNjoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgTUpQRyB0byB0aGUgdmFyaWFudHMgb2YgbW90aW9uIGpwZWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIEFkZCBNSlBHIHRvIHRoZSB2YXJpYW50cyBvZiBtb3Rpb24ganBlZy4KCjIwMDctMDYtMTkgMTY6NDA6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBHU1RfT1BUSU9OX0NGTEFHUyB0byBDRkxBR1Mgd2hlbiBidWlsZGluZyB1bml0IHRlc3RzLCBzbyB0aGUgZXJyb3IgZmxhZ3MgYXJlIGluY2x1ZGVkIGFuZCBpdCBlcnJvcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGQgR1NUX09QVElPTl9DRkxBR1MgdG8gQ0ZMQUdTIHdoZW4gYnVpbGRpbmcgdW5pdCB0ZXN0cywgc28gdGhlCgkgIGVycm9yIGZsYWdzIGFyZSBpbmNsdWRlZCBhbmQgaXQgZXJyb3JzIG91dCBvbiBjb21waWxlciB3YXJuaW5ncwoJICBmb3IgQ1ZTIGJ1aWxkczsgcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgaW4gdmFyaW91cyB1bml0IHRlc3RzLgoKMjAwNy0wNi0xOSAxNDo0ODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFVzZSB0aHJlYWRzYWZlIGluZXRfbnRvcCB0byBjb252ZXJ0IGFuIGlwIG51bWJlciB0byBhIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSksIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIFVzZSB0aHJlYWRzYWZlIGluZXRfbnRvcCB0byBjb252ZXJ0IGFuIGlwIG51bWJlciB0byBhIHN0cmluZy4KCSAgRml4ZXMgIzQ0Nzk2MS4KCSAgRG9uJ3QgbGVhayBmZCAoYW5kIGlwKSB3aGVuIGZyZWVpbmcgYSBjb25uZWN0aW9uIHdpdGhvdXQgZmlyc3QgY2xvc2luZwoJICBpdC4KCjIwMDctMDYtMTkgMTQ6MTE6NDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC9xdGRlbXV4L0xFR0FMOgoJICBhZGQgJ0xFR0FMJyBmaWxlIGRlc2NyaWJpbmcgd2h5IHRoaXMgaXMgaW4gLWdvb2QgYW5kIHVuZGVyIHdoYXQgY2lyY3Vtc3RhbmNlcyBpdCBtaWdodCBuZWVkIHRvIG1vdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgJ0xFR0FMJyBmaWxlIGRlc2NyaWJpbmcgd2h5IHRoaXMgaXMgaW4gLWdvb2QgYW5kIHVuZGVyIHdoYXQKCSAgY2lyY3Vtc3RhbmNlcyBpdCBtaWdodCBuZWVkIHRvIG1vdmUuCgoyMDA3LTA2LTE5IDEwOjQxOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgQWRkIDAuMTAuNiB0byB0aGUgZG9hcCBmaWxlLgoKPT09IHJlbGVhc2UgMC4xMC42ID09PQoKMjAwNy0wNi0xOSAxMDoyNDo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC42CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNgoKMjAwNy0wNi0xOCAxNzo1MzoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA3LTA2LTE3IDEyOjM1OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdCBhZ2Fpbiwgc2luY2Ugd2UgYXJlIGZyb3plbiAoc29ycnkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBSZXZlcnQgcHJldmlvdXMgY29tbWl0IGFnYWluLCBzaW5jZSB3ZSBhcmUgZnJvemVuIChzb3JyeSkuCgoyMDA3LTA2LTE3IDEyOjI0OjU4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IGluZXRfbnRvYSgpIHVzZXMgYSBzdGF0aWMgYnVmZmVyIGludGVybmFsbHksIHNvIHdlIG5lZWQgdG8gY29weSB0aGUgcmV0dXJuZWQgc3RyaW5nIGlmIHdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIGluZXRfbnRvYSgpIHVzZXMgYSBzdGF0aWMgYnVmZmVyIGludGVybmFsbHksIHNvIHdlIG5lZWQgdG8gY29weSB0aGUKCSAgcmV0dXJuZWQgc3RyaW5nIGlmIHdlIHdhbnQgdG8gc3RvcmUgaXQgZm9yIGxhdGVyICgjNDQ3OTYxKS4KCjIwMDctMDYtMTUgMDk6MTM6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvdnM2LzogTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9hdXRvZ2VuLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGFsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhY29sb3IuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVwYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1dG9kZXRlY3QuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RjdXR0ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RlZmZlY3R2LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Zmx4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Z29vbS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGljeWRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpbnRlcmxlYXZlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0anBlZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGxldmVsLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtZWRpYW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rtb25vc2NvcGUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bHRpcGFydC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c21wdGUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzcGVleC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHVkcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYmFsYW5jZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9jcm9wLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9mbGlwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZW5jLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2cGFyc2UuZHNwOgoJICBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lCgkgIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkgb3RoZXJ3aXNlLgoKMjAwNy0wNi0xNSAwODozMjo1MiArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEZpeCB0aGUgTWluZ1cgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KToKCSAgRml4IHRoZSBNaW5nVyBidWlsZC4KCSAgUGF0Y2ggQnk6IFZpbmNlbnQgVG9ycmkgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZG90IGZyPgoJICBGaXhlczogIzQ0Njk4MQoKMjAwNy0wNi0xNCAxNDowMzo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy86IEh1c2ggdGhlIGJ1aWxkYm90cyB1cAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgIEh1c2ggdGhlIGJ1aWxkYm90cyB1cAoKMjAwNy0wNi0xNCAxMjoxNDoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgoyMDA3LTA2LTE0IDEwOjIzOjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGb3IgQU1SLU5CIHN0cmVhbXMsIGV4cG9ydCB0aGUgQU1SU3BlY2lmaWNCb3ggYXMgY29kZWNfZGF0YSBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRm9yIEFNUi1OQiBzdHJlYW1zLCBleHBvcnQgdGhlIEFNUlNwZWNpZmljQm94IGFzIGNvZGVjX2RhdGEgb24gdGhlCgkgIGNhcHMuCgkgIEZpeGVzICM0NDc0NTgKCjIwMDctMDYtMTMgMTc6MTE6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBNYWtlIHN1cmUgd2UgYWxsb2NhdGUgZW5vdWdoIG1lbW9yeSBmb3IgdGhlIGNvZGVjX2RhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2Ugc3VyZSB3ZSBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IGZvciB0aGUgY29kZWNfZGF0YS4KCSAgRml4ZXMgIzQ0NzIxMC4KCjIwMDctMDYtMTIgMjE6MDU6MjIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgdmlkZW9jcm9wIHByb2plY3QgZmlsZSB0byB0aGUgd2luMzIgbWFuaWZlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgdmlkZW9jcm9wIHByb2plY3QgZmlsZSB0byB0aGUgd2luMzIgbWFuaWZlc3QuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICBBZGQgcXRkZW11eCx2aWRlb2Nyb3AgYW5kIHdhdmVmb3JtIHByb2plY3RzIHRvIHRoZSB3b3Jrc3BhY2UuCgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBBZGQgemxpYiB0byB0aGUgbGluayBsaXN0IG9mIHF0ZGVtdXguCgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkgIEFkZCBhIHByb2plY3QgZmlsZSBmb3IgdmlkZW9jcm9wLgoKMjAwNy0wNi0xMiAyMDoyMjoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBwby9QT1RGSUxFUy5pbjogQWRkIHF0ZGVtdXggZm9yIHRyYW5zbGF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgcXRkZW11eCBmb3IgdHJhbnNsYXRpb24KCjIwMDctMDYtMTIgMjA6MTU6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIE1vdmUgdmlkZW9jcm9wIGFuZCBvc3h2aWRlbyBmcm9tIC1iYWQuCgoyMDA3LTA2LTEyIDE5OjM1OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgcXRkZW11eCBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgTW92ZSBxdGRlbXV4IGZyb20gLWJhZC4KCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gcmVmbGVjdCBtb3Zpbmcgb2YgcXRkZW11eCBhbmQgd2F2cGFjawoKMjAwNy0wNi0xMiAxOTowMTo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHdpbjMyL01BTklGRVNUOgoJICBGaXggdHlwbyBpbiB0aGUgY2hhbmdlbG9nIGFuZCBjb21taXQgdGhlIG1hbmlmZXN0IHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHR5cG8gaW4gdGhlIGNoYW5nZWxvZyBhbmQgY29tbWl0IHRoZSBtYW5pZmVzdCB0b28KCjIwMDctMDYtMTIgMTg6NTI6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1QKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgTW92ZSB0aGUgd2F2ZWZvcm0gcGx1Z2luIGZyb20gLWJhZCB0b28uIFVwZGF0ZSB0aGUgaW5zcGVjdCB4bWwKCSAgZmlsZXMgdG8gbWVudGlvbiBQbHVnaW5zIEdvb2QgaW5zdGVhZCBvZiBQbHVnaW5zIEJhZC4KCjIwMDctMDYtMTIgMTM6MzM6NTYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBwb29sIGJ1ZmZlciBpZiBhbGwgbW1hcCBidWZmZXJzIGhhdmUgYmVlbiBkZXF1ZXVlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKTogUmV0dXJuIGEgY29weSBvZiB0aGUgcG9vbCBidWZmZXIgaWYgYWxsCgkgIG1tYXAgYnVmZmVycyBoYXZlIGJlZW4gZGVxdWV1ZWQuCgoyMDA3LTA2LTEyIDExOjIzOjAxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSkgKGdzdF92NGwyX2J1ZmZlcl9jbGFzc19pbml0LCBnc3RfdjRsMl9idWZmZXJfZ2V0X3R5cGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA2LTEyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX2NsYXNzX2luaXQsIGdzdF92NGwyX2J1ZmZlcl9nZXRfdHlwZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9uZXcpOiBCZWhhdmUgbW9yZSBsaWtlIHhpbWFnZXNpbmsncyBidWZmZXJzLCB3aXRoCgkgIGZpbmFsaXphdGlvbiBhbmQgcmVzdXNjaXRhdGlvbi4gTm8gbG9uZ2VyIHB1YmxpYy4KCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZpbmFsaXplLCBnc3RfdjRsMl9idWZmZXJfcG9vbF9pbml0KQoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfY2xhc3NfaW5pdCwgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZ2V0X3R5cGUpCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9uZXcsIGdzdF92NGwyX2J1ZmZlcl9wb29sX2FjdGl2YXRlKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZGVzdHJveSk6IE1ha2UgdGhlIHBvb2wgZm9sbG93IGNvbW1vbgoJICBtaW5pb2JqZWN0IHNlbWFudGljcywgYW5kIGJlIHRocmVhZHNhZmUuCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSk6IFJlbW92ZSB0aGlzIGZ1bmN0aW9uLCBhcyB3ZSBqdXN0IGNhbGwKCSAgdGhlIGlvY3RscyBkaXJlY3RseSBpbiB0aGUgdHdvIHBsYWNlcyB3aGVyZSB3ZSBxdWV1ZSBidWZmZXJzLgoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6IFJldHVybiBhIGZsb3dyZXR1cm4gYW5kIGZpbGwgdGhlIGJ1ZmZlcgoJICBkaXJlY3RseS4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6IFVzZSB0aGUgbmV3IGJ1ZmZlcl9wb29sX25ldyBmdW5jdGlvbgoJICB0byBhbGxvY2F0ZSB0aGUgcG9vbCwgd2hpY2ggYWxzbyBwcmVhbGxvY2F0ZXMgdGhlIEdzdEJ1ZmZlcnMuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KTogQ2FsbCBidWZmZXJfcG9vbF9hY3RpdmF0ZSBpbnN0ZWFkIG9mCgkgIHF1ZXVlaW5nIHRoZSBmcmFtZXMgZGlyZWN0bHkuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oIChzdHJ1Y3QgX0dzdFY0bDJCdWZmZXJQb29sKTogTWFrZSB0aGlzIGEKCSAgcmVhbCBNaW5pT2JqZWN0IGluc3RlYWQgb2Ygcm9sbGluZyBvdXIgb3duIHJlZmNvdW50aW5nIGFuZAoJICBmaW5hbGl6aW5nLiBHaXZlIGl0IGEgbG9jay4KCSAgKHN0cnVjdCBfR3N0VjRsMkJ1ZmZlcik6IFJlbW92ZSBvbmUgaW50ZXJtZWRpYXJ5IG9iamVjdCwgaGF2aW5nCgkgIHRoZSBidWZmZXJzIGhvbGQgdGhlIHN0cnVjdCB2NGwyX2J1ZmZlciBkaXJlY3RseS4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX3NldF9jYXBzKTogUGFzcyB0aGUgY2FwcyB0bwoJICBjYXB0dXJlX2luaXQgc28gdGhhdCBpdCBjYW4gc2V0IHRoZW0gb24gdGhlIGJ1ZmZlcnMgdGhhdCBpdCB3aWxsCgkgIGNyZWF0ZS4KCSAgKGdzdF92NGwyc3JjX2dldF9yZWFkKTogRm9yIGJldHRlciBvciBmb3Igd29yc2UsIGluY2x1ZGUgdGhlCgkgIHRpbWVzdGFtcGluZyBhbmQgb2Zmc2V0dGluZyBjb2RlIGhlcmU7IHJlYWxseSB3ZSBzaG91bGQgYmUgdXNpbmcKCSAgYnVmZmVyYWxsb2MgdGhvdWdoLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApOiBKdXN0IG1ha2UgZ3JhYl9mcmFtZSByZXR1cm4gb25lIG9mIG91cgoJICBwcmVhbGxvY2F0ZWQsIG1tYXAnZCBidWZmZXJzLgoKMjAwNy0wNi0xMSAxMTo0MTo1NiArMDAwMCAgZGFuaWVsIGZpc2NoZXIgPGRhbkBmM2MuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogQWN0dWFsbHkgdXNlIHRoZSBkaXNwbGF5X25hbWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZHVtcCBhbnkgYXZhaWxhYmxlIFggZGlzcGxheS4gRml4ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogZGFuaWVsIGZpc2NoZXIgPGRhbiBhdCBmM2MgZG90IGNvbT4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfc3RhcnQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfZ2V0X2NhcHMpOgoJICBBY3R1YWxseSB1c2UgdGhlIGRpc3BsYXlfbmFtZSBwcm9wZXJ0eSBzbyB0aGF0IHdlIGNhbiBkdW1wIGFueQoJICBhdmFpbGFibGUgWCBkaXNwbGF5LiBGaXhlcyAjNDQ1OTA1LgoKMjAwNy0wNi0xMSAxMDoyMToxMyArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgbWlzc2luZyByYXRlIGZpZWxkcyB0byBjYXBzLiBGaXhlcyAjNDQxMTE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3NldGNhcHMpOgoJICBBZGQgbWlzc2luZyByYXRlIGZpZWxkcyB0byBjYXBzLiBGaXhlcyAjNDQxMTE4LgoKMjAwNy0wNi0xMCAyMToxNDoxMSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvOiBBZGQgRGlyZWN0U291bmQgYW5kIERpcmVjdERyYXcgc2lua3MgcHJvamVjdCBmaWxlcyB0byB3b3Jrc3BhY2UgYW5kIHNvbHV0aW9uIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWdvb2Quc2xuOgoJICBBZGQgRGlyZWN0U291bmQgYW5kIERpcmVjdERyYXcgc2lua3MgcHJvamVjdCBmaWxlcyB0bwoJICB3b3Jrc3BhY2UgYW5kIHNvbHV0aW9uIGZpbGVzLgoKMjAwNy0wNi0xMCAxMDo1MzoyNiArMDAwMCAgSm9zaCBDb2Fsc29uIDx4ZmxhY0B5YWhvby5jb20+CgoJICBBZGQgc3VwcG9ydCBmb3IgZmxhYyA+PSAxLjEuMyB3aGljaCBjaGFuZ2VkIHRoZSBBUEkuIEZpeGVzIGJ1ZyAjMzg1ODg3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2ggQ29hbHNvbiA8eGZsYWMgYXQgeWFob28gZG90IGNvbT4sCgkgIHVwZGF0ZWQgYnkgQWxleGlzIEJhbGxpZXIgPGFiYWxsaWVyIGF0IGdlbnRvbyBkb3Qgb3JnPjoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3Jlc2V0X2RlY29kZXJzKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksIChnc3RfZmxhY19kZWNfc2VlayksCgkgIChnc3RfZmxhY19kZWNfdGVsbCksIChnc3RfZmxhY19kZWNfbGVuZ3RoKSwgKGdzdF9mbGFjX2RlY19lb2YpLAoJICAoZ3N0X2ZsYWNfZGVjX3JlYWRfc2Vla2FibGUpLCAoZ3N0X2ZsYWNfZGVjX3JlYWRfc3RyZWFtKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2luaXQpLAoJICAoZ3N0X2ZsYWNfZW5jX2ZpbmFsaXplKSwgKGdzdF9mbGFjX2VuY19zZXRfbWV0YWRhdGEpLAoJICAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3RfZmxhY19lbmNfdXBkYXRlX3F1YWxpdHkpLAoJICAoZ3N0X2ZsYWNfZW5jX3NlZWtfY2FsbGJhY2spLCAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2VuY190ZWxsX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbGFjX2VuY19jaGFpbiksIChnc3RfZmxhY19lbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9mbGFjX2VuY19nZXRfcHJvcGVydHkpLCAoZ3N0X2ZsYWNfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZmxhYyA+PSAxLjEuMyB3aGljaCBjaGFuZ2VkIHRoZSBBUEkuIEZpeGVzIGJ1ZyAjMzg1ODg3LgoKMjAwNy0wNi0wOSAxNTo0MTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDMuIFRoaXMgaXMgZml4ZWQgaW4gY29yZSAwLjEwLjEzIGFuZCBub3QgbmVjZXNzYXJ5IGFueW1vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKToKCSAgUmVtb3ZlIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQzLiBUaGlzIGlzIGZpeGVkIGluIGNvcmUgMC4xMC4xMyBhbmQKCSAgbm90IG5lY2Vzc2FyeSBhbnltb3JlIGFzIHdlIG5lZWQgYXQgbGVhc3QgdGhhdCBjb3JlIHZlcnNpb24uCgoyMDA3LTA2LTA5IDE1OjMzOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEltcHJvdmUgZGlzY29udCBoYW5kbGluZyBieSBjaGVja2luZyBpZiB0aGUgbmV4dCBXYXZwYWNrIGJsb2NrIGhhcyB0aGUgZXhwZWN0ZWQsIGZvbGxvd2luZyBibG9jayBpbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBJbXByb3ZlIGRpc2NvbnQgaGFuZGxpbmcgYnkgY2hlY2tpbmcgaWYgdGhlIG5leHQgV2F2cGFjayBibG9jayBoYXMKCSAgdGhlIGV4cGVjdGVkLCBmb2xsb3dpbmcgYmxvY2sgaW5kZXguCgoyMDA3LTA2LTA4IDIwOjIzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNy0wNi0wOCAyMDoyMDo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYyAoZ3N0X3J0cF9tcDR2cGF5X2RldGFpbHMpOiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmMgKGdzdF9ydHBfbXA0dnBheV9kZXRhaWxzKToKCSAgRml4IGVsZW1lbnQgZGVzY3JpcHRpb24uCgoyMDA3LTA2LTA4IDIwOjE5OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmUgd2F2cGFjayBwbHVnaW4uICBTZWUgIzM1MjYwNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbW92ZSB3YXZwYWNrIHBsdWdpbi4gIFNlZSAjMzUyNjA1LgoKMjAwNy0wNi0wOCAxOTo0NTo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIHRoZSBhbHBoYWJldCB0cmlwcGluZyB1cCBwZW9wbGUgc2luY2UgMTA5MjlCQwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdGhlIGFscGhhYmV0CgkgIHRyaXBwaW5nIHVwIHBlb3BsZSBzaW5jZSAxMDkyOUJDCgoyMDA3LTA2LTA4IDE3OjM3OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucyB0byB0aGUgYnVpbGQgYW5kIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIERpcmVjdERyYXcgJiBEaXJlY3RTb3VuZCBwbHVnaW5zIHRvIHRoZSBidWlsZCBhbmQgZG9jcy4KCjIwMDctMDYtMDggMTY6MzE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NsYXNzX2luaXQpOgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlCgkgIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCjIwMDctMDYtMDggMTA6NDM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBXaGVuIG9wZXJhdGluZyBpbiBwdWxsIG1vZGUsIGVycm9yIG91dCBjb3JyZWN0IG9uIG5vdC1saW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9sb29wKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9yZWFkX2RhdGEpLCAoZ3N0X3BuZ2RlY190YXNrKToKCSAgV2hlbiBvcGVyYXRpbmcgaW4gcHVsbCBtb2RlLCBlcnJvciBvdXQgY29ycmVjdCBvbiBub3QtbGlua2VkLgoKMjAwNy0wNi0wOCAwODoxMjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlCgkgIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIGRvbid0IGhhbmRsZSB0aGUgd2F5IHdlIHVzZSBpdCBpbgoJICB0aGUgd2F5IHdlIGV4cGVjdCBpdCB0by4KCjIwMDctMDYtMDYgMTA6MTk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDYtMDYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOiBPbmx5IHByb2JlIGZvcgoJICBmb3JtYXQgYW5kIHNpemUgaWYgdGhlIGlvY3RscyBhcmUgZGVmaW5lZDsgc2hvdWxkIGZpeCBjb21waWxhdGlvbgoJICBvbiBMaW51eCA8IDIuMTYuMTkuCgoyMDA3LTA2LTA2IDA4OjUzOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFByaW50ZiBmaXhlcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzOyB1c2UgTE9HIGxldmVsIGZvciBkZWJ1ZyBzdGF0ZW1lbnRzIHRoYXQgYXJlIHByaW50ZWQgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9heXV2X2k0MjApOgoJICBQcmludGYgZml4ZXMgaW4gZGVidWcgc3RhdGVtZW50czsgdXNlIExPRyBsZXZlbCBmb3IgZGVidWcgc3RhdGVtZW50cwoJICB0aGF0IGFyZSBwcmludGVkIGZvciBlYWNoIGFuZCBldmVyeSBmcmFtZTsgY29udmVydCBjKysgY29tbWVudHMgdG8KCSAgQy1zdHlsZSBjb21tZW50czsgbm90IG11Y2ggcG9pbnQgdXNpbmcgZ190cnlfbWFsbG9jKCkgaWYgd2UgdGhlbiBub3QKCSAgZXZlbiBjaGVjayB0aGUgcmV0dXJuIHZhbHVlLgoKMjAwNy0wNi0wNSAxNjozMjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgKGNvcmUgYW5kIGJhc2UgMC4xMC4xMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgKGNvcmUgYW5kIGJhc2UgMC4xMC4xMykuCgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfdW5pY29kaWZ5KToKCSAgVXNlIGdzdF90YWdfdXRmOF9mcm9tX2ZyZWVmb3JtX3N0cmluZygpIGZyb20gbGliZ3N0dGFnIGluc3RlYWQgb2YKCSAgb3duIGltcGxlbWVudGF0aW9uLgoKMjAwNy0wNi0wNSAxNDoxNzoyNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19zdGFydCwgZ3N0X3Y0bDJzcmNfc3RvcCk6IEFkZCBzb21lIHVzZWxlc3MgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA2LTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfc3RhcnQsIGdzdF92NGwyc3JjX3N0b3ApOiBBZGQKCSAgc29tZSB1c2VsZXNzIGNvbW1lbnRzLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KTogRG9uJ3QgcXVldWUKCSAgZnJhbWVzIGJlZm9yZSBjYWxsaW5nIFNUUkVBTU9OLCB0aGF0IG1pZ2h0IGxlYXZlIHRoZW0gaW4gYSBzdGF0ZQoJICB3aGVyZSB0aGV5IGNhbid0IGJlIGRlcXVldWVkIGlmIHdlIGdvIGJhY2sgdG8gTlVMTCB3aXRob3V0IGNhbGxpbmcKCSAgU1RSRUFNT04sIGFjY29yZGluZyB0byB0aGUgZG9jcy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpOiBFbnF1ZXVlIGJ1ZmZlcnMgaGVyZSBpbnN0ZWFkLCByaWdodAoJICBiZWZvcmUgd2UgY2FsbCBTVFJFQU1PTi4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KTogUmVtb3ZlIGNyYWNrIHRvIHdvcmsgYXJvdW5kIGRlcXVldWUKCSAgZmFpbHVyZXMuIChGb3IgbWUgdGhpcyBjb2RlIGh1bmcuKSBUaGUgcG9vbCByZWZjb3VudGluZyBpcyBzdGlsbAoJICBjcmFjazsgYWRkZWQgYSBub3RlIHRvIHRoYXQgZWZmZWN0LgoKMjAwNy0wNi0wNSAwOToxMTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtYXBwaW5nIGdzdCBzdHJ1Y3R1cmUgbmFtZXMgdG8gdGhlIE1JTUUgdHlwZSBlcXVpdmFsZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9nZXRfbWltZSksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBBZGQgc3VwcG9ydCBmb3IgbWFwcGluZyBnc3Qgc3RydWN0dXJlIG5hbWVzIHRvIHRoZSBNSU1FIHR5cGUgZXF1aXZhbGVudC4KCSAgSW1wbGVtZW50ZWQgZm9yIGF1ZGlvL3gtbXVsYXctPmF1ZGlvL2Jhc2ljLiBGaXhlcyAjNDQyODc0LgoKMjAwNy0wNi0wMyAxMToyMTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogUHJvcGVybHkgd3JpdGUgd2F2IGZpbGVzIHdpdGggd2lkdGghPWRlcHRoIGJ5IGhhdmluZyB0aGUgZGVwdGggbW9zdCBzaWduaWZpY2FudCBieXRlcyBzZXQgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdzdF93YXZlbmNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdmVuY19jaGFpbiksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgUHJvcGVybHkgd3JpdGUgd2F2IGZpbGVzIHdpdGggd2lkdGghPWRlcHRoIGJ5IGhhdmluZyB0aGUgZGVwdGggbW9zdAoJICBzaWduaWZpY2FudCBieXRlcyBzZXQgYW5kIGFsbCBvdGhlcnMgemVyby4gRml4ZXMgIzQ0MjUzNS4KCjIwMDctMDYtMDEgMTM6NTI6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBBZGQgaW5jbHVkZSB0byBtYWtlIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICBBZGQgaW5jbHVkZSB0byBtYWtlIGJ1aWxkYm90IGhhcHB5LgoKMjAwNy0wNi0wMSAxMzowNzoxMSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC86IEltcHJvdmVzIHZlcnNpb24gY2hlY2tpbmcsIGFsbG93aW5nIGFuIFJUU1Agc2VydmVyIHRvIHJlcGx5IHdpdGggIjUwNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksIChhZGRfZGF0ZV9oZWFkZXIpLAoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocGFyc2VfcmVzcG9uc2Vfc3RhdHVzKSwKCSAgKHBhcnNlX3JlcXVlc3RfbGluZSksIChwYXJzZV9saW5lKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF92ZXJzaW9uX2FzX3RleHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKGtleV92YWx1ZV9mb3JlYWNoKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QpLCAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX3JlbW92ZV9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX2FwcGVuZF9oZWFkZXJzKSwKCSAgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBJbXByb3ZlcyB2ZXJzaW9uIGNoZWNraW5nLCBhbGxvd2luZyBhbiBSVFNQIHNlcnZlciB0byByZXBseSB3aXRoICI1MDUKCSAgUlRTUCBWZXJzaW9uIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZHMgYSBEYXRlIGhlYWRlciB0byBhbGwgbWVzc2FnZXMuCgkgIFJlcGxpZXMgd2l0aCBSVFNQX0VQQVJTRSByYXRoZXIgdGhhbiBSVFNQX0VJTlZBTElEIGluIGNhc2VzIHdoZXJlIHdlCgkgIHdhbnQgdG8gYmUgYWJsZSB0byBzZW5kIGEgcmVzcG9uc2UgZXZlbiBpZiBzb21ldGhpbmcgaW4gdGhlIHJlcXVlc3Qgd2FzCgkgIGludmFsaWQuIEVJTlZBTCBpcyBvbmx5IHVzZWQgd2hlbiBwYXNzaW5nIHdyb25nIGFyZ3VtZW50cyB0byBmdW5jdGlvbnMuCgkgIERvIG5vdCBoYW5kbGUgYW4gaW52YWxpZCBtZXRob2QgaW4gcGFyc2VfcmVxdWVzdF9saW5lKCkuIERlZmVyIHRoaXMgdG8KCSAgdGhlIGNhbGxlciBzbyBpdCBjYW4gcmVzcG9uZCB3aXRoICI0MDUgTWV0aG9kIE5vdCBBbGxvd2VkIi4KCSAgSW1wcm92ZXMgcGFyc2luZyBvZiB0aGUgdGltZW91dCBwYXJhbWV0ZXIgdG8gdGhlIFNlc3Npb24gaGVhZGVyLAoJICBhbGxvd2luZyB3aGl0ZXNwYWNlIGFmdGVyIHRoZSBzZW1pY29sb24uCgkgIEF2b2lkcyBhIGNvbXBpbGVyIHdhcm5pbmcgZHVlIHRvIHZhcmlhYmxlcyBzaGFkb3dpbmcgYSBmdW5jdGlvbiBhcmd1bWVudC4KCjIwMDctMDYtMDEgMTE6MTY6MTcgKzAwMDAgIERhbmllbCBDaGFybGVzIDxkY2hhcmxlc0B0aS5jb20+CgoJICBnc3QvcnRwLzogQWRkIHN1cHBvcnQgZm9yIEFNUi1XQi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIFBhdGNoIGJ5OiBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXMgYXQgdGkgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2Ftcl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIEFNUi1XQi4KCSAgU21hbGwgY2xlYW51cHMgc3VjaCBhcyB1c2luZyBCT0lMRVJQTEFURS4KCjIwMDctMDUtMzEgMTU6NTc6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IEZpeCBjb21waWxlIHdhcm5pbmcgd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZCBhcyBzcG90dGVkIGJ1IFNhdXIgb24gSVJDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfY29uZmlndXJlX3N0cmVhbSk6CgkgIEZpeCBjb21waWxlIHdhcm5pbmcgd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZCBhcyBzcG90dGVkIGJ1IFNhdXIgb24gSVJDLgoKMjAwNy0wNS0zMCAxNDo1Nzo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC4qOiBSZXZlcnQgc29tZSB1bmludGVuZGVkIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA1LTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmMgKGdzdF92NGwyX29iamVjdF9uZXcpOiBSZXZlcnQgc29tZQoJICB1bmludGVuZGVkIGNoYW5nZXMuCgoyMDA3LTA1LTMwIDE0OjQwOjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLio6IFN0b3JlIHRoZSBmb3JtYXQgbGlzdCBpbiB0aGUgb3JkZXIgdGhhdCB0aGUgZHJpdmVyIGdpdmVzIGl0IHRvIHVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KTogU3RvcmUKCSAgdGhlIGZvcm1hdCBsaXN0IGluIHRoZSBvcmRlciB0aGF0IHRoZSBkcml2ZXIgZ2l2ZXMgaXQgdG8gdXMuCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOiBOZXcgZnVuY3Rpb25zLCBmaWxsIEdzdENhcHMKCSAgYmFzZWQgb24gdGhlIGNhcGFiaWxpdGllcyBvZiB0aGUgZGV2aWNlLgoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIHJlbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOiBVcGRhdGUgdG8gYmUgc3RyaWN0IGluIGl0cyBwYXJhbWV0ZXJzLAoJICBhcyBpbiB0aGUgc2V0X2NhcHMgYmVsb3cuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSByZW5hbWluZywKCSAgYW5kIHJlZmxvdy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQsIGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCkKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgcmVuYW1pbmcuCgkgIChnc3RfdjRsMnNyY191cGRhdGVfZnBzLCBnc3RfdjRsMnNyY19zZXRfZnBzKQoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6IFJlbW92ZTsgdGhlc2UgZnVuY3Rpb25zIGRvbid0IGhhdmUgbXVjaAoJICBtZWFuaW5nIG91dHNpZGUgb2YgYW4gYXRvbWljIHNldF9jYXBzIG1ldGhvZC4KCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOiBEb24ndCBzZXQgYnVmZmVyIGR1cmF0aW9uLCBpdCBpcyBub3QKCSAga25vd24uCgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmMgKGdzdF92NGwyX3R1bmVyX3NldF9jaGFubmVsKTogUmVtb3ZlCgkgIGNhbGwgdG8gdXBkYXRlX2Zwczsgbm90IHN1cmUgYWJvdXQgdGhpcyBjaGFuZ2UuCgkgIChnc3RfdjRsMl90dW5lcl9zZXRfbm9ybSk6IFdvcmsgYXJvdW5kIHRoZSBmYWN0IHRoYXQgZm9yIHRoZQoJICBtb21lbnQgd2UgZG9uJ3QgaGF2ZSBhbiB1cGRhdGVfZnBzX2Z1bmMuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oIChzdHJ1Y3QgX0dzdFY0bDJTcmMpOiBEb24ndCBwdXQgdjRsMgoJICBzdHJ1Y3R1cmVzIGluIHRoZSBvYmplY3QsIGp1c3Qgc3RvcmUgd2hhdCB3ZSBuZWVkLiBEbyBzdG9yZSB0aGUKCSAgcHJvYmVkIGNhcHMgb2YgdGhlIGRldmljZS4gRG9uJ3Qgc3RvcmUgdGhlIGN1cnJlbnQgZnJhbWUgcmF0ZS4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX2luaXQpOiBSZW1vdmUgdGhlCgkgIHVwZGF0ZV9mcHNfZnVuY3Rpb24sIGZvciBub3cuIFVwZGF0ZSBmb3IgbmV3IG9iamVjdCB2YXJpYWJsZQoJICBuYW1pbmcuCgkgIChnc3RfdjRsMnNyY19zZXRfcHJvcGVydHksIGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSk6IFVwZGF0ZSBmb3IKCSAgbmV3IG9iamVjdCB2YXJpYWJsZSBuYW1pbmcuCgkgIChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSk6IFJlbmFtZSBmcm9tIC4uLl90b19jYXBzLgoJICAoZ3N0X3Y0bDJfc3RydWN0dXJlX3RvX3Y0bDJmb3VyY2MpOiBSZW5hbWUgZnJvbSAuLi5jYXBzX3RvXy4uLi4KCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKTogUmV3b3JrIHRvIHByb2JlIHRoZSBkZXZpY2UgZm9yIHN1cHBvcnRlZAoJICBmcmFtZSBzaXplcyBhbmQgZnJhbWUgcmF0ZXMuCgkgIChnc3RfdjRsMnNyY19zZXRfY2Fwcyk6IFJld29yayB0byBiZSBzdHJpY3QgaW4gdGhlIGdpdmVuCgkgIHBhcmFtZXRlcnM6IGlmIHNvbWVvbmUgYXNrcyB1cyB0byBoYXZlIGEgY2VydGFpbiBzaXplIGFuZCByYXRlLAoJICB0aGF0IGlzIHdoYXQgd2UgY29uZmlndXJlLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSBuYW1pbmcuIERvbid0CgkgIGxlYWsgYnVmZmVycyBvbiBzaG9ydCByZWFkcy4KCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgbmFtaW5nLCBhbmQgYWRkCgkgIGNvbW1lbnRzLgoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgbmFtaW5nLgoKMjAwNy0wNS0zMCAxNDozODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogUGFyc2Ugc3VidGl0bGUgdGV4dCBzdHJlYW1zIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0ICgjNDQyMDM0KS4gU3RpbGwgbmVlZHMgYSBwYXJzZXIgZm9yIHRoZSBzdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFBhcnNlIHN1YnRpdGxlIHRleHQgc3RyZWFtcyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dCAoIzQ0MjAzNCkuIFN0aWxsCgkgIG5lZWRzIGEgcGFyc2VyIGZvciB0aGUgc3VidGl0bGVzIHRvIGFjdHVhbGx5IHNob3cgdXAuCgoyMDA3LTA1LTMwIDEyOjQ2OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNYWtlIF9wdXNoX2V2ZW50KCkgcmV0dXJuIFRSVUUgaWYgdGhlIGV2ZW50IGNvdWxkIGJlIHB1c2hlZCBvbiBhdCBsZWFzdCBvbmUgcGFkIGFuZCBub3Qgb25seSBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBNYWtlIF9wdXNoX2V2ZW50KCkgcmV0dXJuIFRSVUUgaWYgdGhlIGV2ZW50IGNvdWxkIGJlIHB1c2hlZCBvbiBhdAoJICBsZWFzdCBvbmUgcGFkIGFuZCBub3Qgb25seSBpZiBpdCBjb3VsZCBiZSBwdXNoZWQgb24gYWxsIHBhZHMsCgkgIG90aGVyd2lzZSB3ZSdsbCBlbmQgdXAgcG9zdGluZyBhbiBlcnJvciBtZXNzYWdlIG9uIEVPUyBpZiBvbmUgb3IKCSAgbW9yZSBzb3VyY2UgcGFkcyBhcmUgbm90IGNvbm5lY3RlZC4KCjIwMDctMDUtMjggMTY6Mzk6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IFVzZSByZW5hbWVkIFJUUCBiaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgVXNlIHJlbmFtZWQgUlRQIGJpbi4KCjIwMDctMDUtMjggMTU6MDE6MzMgKzAwMDAgIERlamFuIFNha2VsxaFhayA8c2FrZGVhbkBnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogQWRkIEFZVVYtPkFZVVYgYW5kIEFZVVYtPkk0MjAgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBEZWphbiBTYWtlbMWhYWsgPHNha2RlYW4gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwKCSAgKHZpZGVvX2JveF9yZWNhbGNfdHJhbnNmb3JtKSwgKGdzdF92aWRlb19ib3hfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb19ib3hfYXBwbHlfYWxwaGEpLAoJICAoZ3N0X3ZpZGVvX2JveF9heXV2X2F5dXYpLCAoZ3N0X3ZpZGVvX2JveF9jbGVhciksIChVVmZsb29yKSwKCSAgKFVWY2VpbCksIChnc3RfdmlkZW9fYm94X2F5dXZfaTQyMCksIChnc3RfdmlkZW9fYm94X2k0MjBfYXl1diksCgkgIChnc3RfdmlkZW9fYm94X2k0MjBfaTQyMCksIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybSksCgkgIChwbHVnaW5faW5pdCk6CgkgIEFkZCBBWVVWLT5BWVVWIGFuZCBBWVVWLT5JNDIwIGZvcm1hdHMuCgkgIEZpeCBuZWdvdGlhdGlvbiBhbmQgSTQyMC0+QVlVViBjb252ZXJzaW9uLgoJICBGaXhlcyAjNDI5MzI5LgoKMjAwNy0wNS0yNiAxNToyNToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBVc2UgZGlmZmVyZW50IHZhcmlhYmxlcyBmb3IgbmVzdGVkIGZvciBsb29wcyBzbyB0aGF0IHRoZSBvdXRlciBsb29wIGZ1bmN0aW9ucyBwcm9wZXJseSBhbmQgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgVXNlIGRpZmZlcmVudCB2YXJpYWJsZXMgZm9yIG5lc3RlZCBmb3IgbG9vcHMgc28gdGhhdCB0aGUgb3V0ZXIgbG9vcAoJICBmdW5jdGlvbnMgcHJvcGVybHkgYW5kIHNwZWV4IGZpbGVzIHdpdGggbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgd29yawoJICBwcm9wZXJseS4KCSAgRml4ZXMgIzQ0MTQwOC4KCjIwMDctMDUtMjUgMjA6NTE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgbGVhayBuZXdzZWdtZW50IGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfc2lua19ldmVudCk6CgkgIERvbid0IGxlYWsgbmV3c2VnbWVudCBldmVudHMuCgoyMDA3LTA1LTI1IDIwOjMzOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOiBBZGQgJy1sbScgdG8gTElCUyBmb3IgY2VpbCgpLCBkb24ndCBhc3N1bWUgb25lIG9mIG91ciBkZXBlbmRlbmNpZXMgZHJhZ3MgaXQgaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkICctbG0nIHRvIExJQlMgZm9yIGNlaWwoKSwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIgZGVwZW5kZW5jaWVzCgkgIGRyYWdzIGl0IGluLgoKMjAwNy0wNS0yNSAxNjowMjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuKjogQ29sbGVjdCBoZWFkZXJzLCBhZGQgInN0cmVhbWhlYWRlciIgZmllbGQgdG8gb3V0cHV0IGNhcHMgYW5kIHNldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfaW5pdCksCgkgIChub3Rnc3RfdmFsdWVfYXJyYXlfYXBwZW5kX2J1ZmZlciksCgkgIChnc3RfZmxhY19lbmNfcHJvY2Vzc19zdHJlYW1faGVhZGVycyksCgkgIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spLCAoZ3N0X2ZsYWNfZW5jX2NoYWluKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgQ29sbGVjdCBoZWFkZXJzLCBhZGQgInN0cmVhbWhlYWRlciIgZmllbGQgdG8gb3V0cHV0IGNhcHMgYW5kIHNldAoJICBCVUZGRVJfSU5fQ0FQUyBmbGFnIG9uIHB1c2hlZCBoZWFkZXIgYnVmZmVycy4gVGhhdCB3YXkgb2dnbXV4CgkgIHByb2R1Y2VzIG91dHB1dCBhY2NvcmRpbmcgdG8gdGhlIG9mZmljaWFsIEZMQUMtdG8tT2dnIG1hcHBpbmcKCSAgaW5zdGVhZCBvZiBjb21wbGV0ZWx5IGJyb2tlbiBmaWxlcy4gRml4ZXMgIzQyNjA0NC4KCjIwMDctMDUtMjUgMTA6NDQ6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogSGFuZGxlIGFuZCBhZGp1c3QgbmV3LXNlZ21lbnQgZXZlbnRzIHNvIHRoYXQgZG93bnN0cmVhbSByZWFsbHkgc2VlcyBhIHN0cmVhbSB3aXRoIHRoZSB0YWcgcGllY2VzIHN0cmlwcGVkIG9mZiB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9pZDNkZW11eF9zZW5kX25ld19zZWdtZW50KSwgKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfc2lua19ldmVudCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9yZXNldCksCgkgIChnc3RfdGFnX2RlbXV4X2NoYWluKSwgKGdzdF90YWdfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfdGFnX2RlbXV4X3NlbmRfbmV3X3NlZ21lbnQpOgoJICBIYW5kbGUgYW5kIGFkanVzdCBuZXctc2VnbWVudCBldmVudHMgc28gdGhhdCBkb3duc3RyZWFtIHJlYWxseQoJICBzZWVzIGEgc3RyZWFtIHdpdGggdGhlIHRhZyBwaWVjZXMgc3RyaXBwZWQgb2ZmIHRoZSBmcm9udCBhbmQgYmFjay4KCSAgRml4ZXMgc3RyYW5nZW5lc3MgaW4gc2Vla2luZyB3aGVuIG1wMyBkZWNvZGVycyB1c2UgdGhlIG5ldy1zZWdtZW50CgkgIGJ5dGUgcG9zaXRpb24gdG8gZXN0aW1hdGUgdGhlaXIgY3VycmVudCBwbGF5YmFjayBwb3NpdGlvbiB0aW1lc3RhbXAKCSAgYW5kIHRoZW4gdGhlIGFycml2aW5nIGJ1ZmZlcnMgZG9uJ3QgbWF0Y2ggdXAuCgoyMDA3LTA1LTI1IDEwOjIzOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogRG9uJ3QgdW5uZWNlc3NhcmlseSBwZXJmb3JtIGEgUkVBRFktPk5VTEwtPlJFQURZIHRyYW5zaXRpb24gb24gdGhlIGRldGVjdGVkIGF1ZGlvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgIERvbid0IHVubmVjZXNzYXJpbHkgcGVyZm9ybSBhIFJFQURZLT5OVUxMLT5SRUFEWSB0cmFuc2l0aW9uIG9uIHRoZQoJICBkZXRlY3RlZCBhdWRpbyBzaW5rIHdoZW4gc3RhcnRpbmcgdXAuIEZpeGVzOiAjNDQwMTI3CgoyMDA3LTA1LTI0IDE3OjAwOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBEb24ndCBjcmFzaCBpbiBjaGFpbiBmdW5jdGlvbiBpZiBzZXRjYXBzIGhhc24ndCBiZWVuIGNhbGxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZmxhY19lbmNfY2hhaW4pOgoJICBEb24ndCBjcmFzaCBpbiBjaGFpbiBmdW5jdGlvbiBpZiBzZXRjYXBzIGhhc24ndCBiZWVuIGNhbGxlZC4KCjIwMDctMDUtMjQgMDg6MzU6MjMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfcHJpbWFyeV9zdXJmYWNlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfb2Zmc2NyZWVuX3N1cmZhY2UpLAoJICAoRW51bU1vZGVzQ2FsbGJhY2syKSwgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCjIwMDctMDUtMjQgMDg6MTQ6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEluaXQgdmFsdWUgdG8gYXZvaWQgaW5maW50ZSBsb29wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyk6CgkgIEluaXQgdmFsdWUgdG8gYXZvaWQgaW5maW50ZSBsb29wcy4KCjIwMDctMDUtMjQgMDg6MTA6NDIgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBGaXggZm9yIG5ldyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2FmdGVyX3NlbmQpOgoJICBGaXggZm9yIG5ldyBBUEkuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGFkZF9hdXRoX2hlYWRlciksCgkgIE9ubHkgYWRkIGF1dGhvcmlzYXRpb24gYW5kIHNlc3Npb24gaGVhZGVycyB3aGVuIHNlbmRpbmcgbWVzc2FnZXMuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKGtleV92YWx1ZV9mb3JlYWNoKSwgKHJ0c3BfbWVzc2FnZV9pbml0KSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QpLCAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX3Vuc2V0KSwgKHJ0c3BfbWVzc2FnZV9hZGRfaGVhZGVyKSwKCSAgKHJ0c3BfbWVzc2FnZV9yZW1vdmVfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKSwKCSAgKHJ0c3BfbWVzc2FnZV9hcHBlbmRfaGVhZGVycyksIChkdW1wX2tleV92YWx1ZSksCgkgIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIGhlYWRlcnMgb2YgdGhlIHNhbWUgdHlwZSBieSBzdG9yaW5nIHRoZSBwYXJzZWQKCSAgaGVhZGVycyBpbiBhIEdBcnJheSBpbnN0YWVkIG9mIGEgaGFzaHRhYmxlLgoKMjAwNy0wNS0yMyAyMjo0NDoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyIGludGVyZmFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlcgoJICBpbnRlcmZhY2Ugbm93LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBBZGQgaW50ZXJmYWNlcyBpbXBsZW1lbnRlZCBieSBXaW5kb3dzIHNpbmtzLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgIGFuZCBpbXBsZW1lbnQgdGhlIG1peGVyIGludGVyZmFjZS4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3Rkc2hvdy5kZWY6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSAgQWRkIGEgbmV3IGdzdCBsaWJyYXJ5IHdoaWNoIGFsbG93IHRvIGNyZWF0ZSBpbnRlcm5hbCBEaXJlY3QgU2hvdwoJICBncmFwaCAocGlwZWxpbmVzKSB0byB3cmFwIFdpbmRvd3Mgc291cmNlcywgZGVjb2RlcnMgb3IgZW5jb2RlcnMuCgkgIEl0IGluY2x1ZGVzIGEgRGlyZWN0U2hvdyBmYWtlIHNvdXJjZSBhbmQgc2luayBhbmQgdXRpbGl0eSBmdW5jdGlvbnMuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICAqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJICBBZGQgYSBuZXcgcGx1Z2luIHRvIHdyYXAgRGlyZWN0U2hvdyBzb3VyY2VzIG9uIFdpbmRvd3MuCgkgIEl0IGdldHMgZGF0YSBmcm9tIGFueSB3ZWJjYW0sIGR2IGNhbSwgbWljcm8uIFdlIGNvdWxkIGFkZAoJICB0diB0dW5uZXIgY2FyZCBsYXRlci4KCjIwMDctMDUtMjIgMTE6MTQ6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsCgkgIGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSwgZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5LAoJICBwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaCAoYXVkaW9maWx0ZXIpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmMgKEFSR19OVU1fQkFORFMsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0LAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfc2V0X3Byb3BlcnR5KToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYyAoYnB3c2luY19zZXRfY2Fwcyk6CgkgIEFkZCBmaXhtZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoU1BFQ1RSVU1fV0lORE9XX0JBU0UsCgkgIFNQRUNUUlVNX1dJTkRPV19MRU4sIGdzdF9zcGVjdHJ1bV9pbml0LCBnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLiBUdXJuIHR3byBmaXhlZCB2YWx1ZXMgaW50byAjZGVmaW5lcy4KCjIwMDctMDUtMjIgMTE6MDM6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFsc28gbG9vayBmb3IgLm0gKG9iamVjdGl2ZWMpIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFsc28gbG9vayBmb3IgLm0gKG9iamVjdGl2ZWMpIGZpbGVzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgZWxlbWVudCBhbmQgcHJvcGVydGllcy4KCjIwMDctMDUtMjEgMTQ6MDE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQ2hhbmdlTG9nIHN1cmdlcnkuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hc3RJaXJFcXVhbGl6ZXJCYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsIHBsdWdpbl9pbml0KToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBBZGQgZml4bWUgYW5kIGNvbW1lbnQgZm9yIGV4YW1wbGUuCgoyMDA3LTA1LTIxIDEyOjQzOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IGZyb20gY29uY3VycmVudCBhY2Nlc3MuCgoyMDA3LTA1LTIxIDExOjM3OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgIFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgoyMDA3LTA1LTIxIDExOjE3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQKCSAgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXJlbnQgZXh0cmEgcHJvY2Vzc2luZyBtb2RlcyBpbnN0ZWFkIG9mIG9ubHkKCSAgYWxsb3dpbmcgbm9uZSBhbmQgdGhlIGRlZmF1bHQgb25lLgoKMjAwNy0wNS0yMSAxMDowNzowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFNpbmNlIHdlIGRlcGVuZCBvbiAwLjEwLjEzIC1jb3JlLCBvdmVycmlkZSB0aGUgdW5sb2NrX3N0b3Agdm1ldGhvZCBmb3Igc2FmZXIgc2h1dGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY191bmxvY2spLCAoZ3N0X3VkcHNyY191bmxvY2tfc3RvcCk6CgkgIFNpbmNlIHdlIGRlcGVuZCBvbiAwLjEwLjEzIC1jb3JlLCBvdmVycmlkZSB0aGUgdW5sb2NrX3N0b3Agdm1ldGhvZCBmb3IKCSAgc2FmZXIgc2h1dGRvd24uCgoyMDA3LTA1LTIxIDEwOjAzOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IEFkZGVkIHNpZ25hbCBmb3IgYmFja3dhcmRzIGNvbXBhdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgQWRkZWQgc2lnbmFsIGZvciBiYWNrd2FyZHMgY29tcGF0LgoKMjAwNy0wNS0yMSAwOTozMjoyNiArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIFVzZSBhdWRpb2NvbnZlcnQgZm9yIGNvbnZlcnRpbmcgZnJvbSBub24tbmF0aXZlIGVuZGlhbm5lc3MgZmxvYXRzIGluIGF1cGFyc2UgaW5zdGVhZCBvZiBkb2luZyBpdCBvdXJzZWxmLiBGaXhlcyAjNDI0NTI3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlciksIChnc3RfYXVfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgVXNlIGF1ZGlvY29udmVydCBmb3IgY29udmVydGluZyBmcm9tIG5vbi1uYXRpdmUgZW5kaWFubmVzcyBmbG9hdHMKCSAgaW4gYXVwYXJzZSBpbnN0ZWFkIG9mIGRvaW5nIGl0IG91cnNlbGYuIEZpeGVzICM0MjQ1MjcuCgkgIFRoaXMgbmVlZHMgdGhlIGF1ZGlvY29udmVydCBmcm9tIHBsdWdpbnMtYmFzZSBDVlMuCgoyMDA3LTA1LTIxIDA5OjI5OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiBGaXggZW51bSByZWdpc3RyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9mcmFnbWVudGF0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpOgoJICBGaXggZW51bSByZWdpc3RyYXRpb24uCgoyMDA3LTA1LTIxIDA4OjU3OjE4ICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcHBheS4qOiBBZGQgbmV3IGZyYWdtZW50YXRpb24gbW9kZSBiYXNlIG9uIEdPQiBoZWFkZXJzLiBGaXhlcyAjNDM4OTQwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9mcmFnbWVudGF0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjNwX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjNwX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgQWRkIG5ldyBmcmFnbWVudGF0aW9uIG1vZGUgYmFzZSBvbiBHT0IgaGVhZGVycy4gRml4ZXMgIzQzODk0MC4KCjIwMDctMDUtMjAgMjE6MzE6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMgdGhlIHdhdnBhY2sgc3R1ZmYgbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzCgkgIHRoZSB3YXZwYWNrIHN0dWZmIG5vdyBuZWVkcyBpbnB1dCB3aXRoIDMyIGJpdCB3aWR0aCAoYW5kIHJhbmRvbSBkZXB0aCkKCSAgdGhpcyBpcyBuZWVkZWQgbm93LiBUaGUgZXhhbXBsZSBwaXBlbGluZXMgZm9yIHRoZSBwYXJzZXIgYW5kIGRlY29kZXIKCSAgYXJlIHN0aWxsIGZpbmUuCgoyMDA3LTA1LTIwIDE0OjU5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OyBkZWNsYXJlIGFub3RoZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OwoJICBkZWNsYXJlIGFub3RoZXIgb25lIHRoYXQgZG9lczsgcHJpbnRmIGZvcm1hdCBmaXg7IHVzZSByaWdodCBtYWNybwoJICB3aGVuIHNwZWNpZnlpbmcgZGVidWcgY2F0ZWdvcnk7IHJlbW92ZSBhIGJ1bmNoIG9mIHVudXNlZCB2YXJpYWJsZXM7CgkgICNpZiAwIG91dCBhbiB1bnVzZWQgY2h1bmsgb2YgY29kZSAocGFydGlhbGx5IGZpeGVzICM0Mzk5MTQpLgoKMjAwNy0wNS0yMCAxNDoxNDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoKMjAwNy0wNS0yMCAxNDowNTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUHJpbnRmIGZvcm1hdCBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgUHJpbnRmIGZvcm1hdCBmaXguCgoyMDA3LTA1LTE5IDEwOjAxOjQ1ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6IChnc3RfcmdfbGltaXRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfY2xhc3NfaW5pdCksIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfbGltaXRlcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9jbGFzc19pbml0KSwgKGdzdF9yZ192b2x1bWVfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX3NldF9wcm9wZXJ0eSksIChnc3Rfcmdfdm9sdW1lX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfcmdfdm9sdW1lX2Rpc3Bvc2UpLCAoZ3N0X3JnX3ZvbHVtZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zaW5rX2V2ZW50KSwgKGdzdF9yZ192b2x1bWVfdGFnX2V2ZW50KSwKCSAgKGdzdF9yZ192b2x1bWVfcmVzZXQpLCAoZ3N0X3JnX3ZvbHVtZV91cGRhdGVfZ2FpbiksCgkgIChnc3Rfcmdfdm9sdW1lX2RldGVybWluZV9nYWluKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoc2V0dXBfcmdsaW1pdGVyKSwKCSAgKGNsZWFudXBfcmdsaW1pdGVyKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKGNyZWF0ZV90ZXN0X2J1ZmZlciksCgkgICh2ZXJpZnlfdGVzdF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAocmdsaW1pdGVyX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6IChldmVudF9mdW5jKSwgKHNldHVwX3Jndm9sdW1lKSwKCSAgKGNsZWFudXBfcmd2b2x1bWUpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoc2V0X251bGxfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAodGVzdF9idWZmZXJfbmV3KSwKCSAgKGZhaWxfdW5sZXNzX3RhcmdldF9nYWluKSwgKGZhaWxfdW5sZXNzX3Jlc3VsdF9nYWluKSwKCSAgKGZhaWxfdW5sZXNzX2dhaW4pLCAoR1NUX1NUQVJUX1RFU1QpLCAocmd2b2x1bWVfc3VpdGUpLCAobWFpbik6CgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCjIwMDctMDUtMTggMTM6Mjc6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGNyYXNoIHdoZW4gYW4gdW5zdXBwb3J0ZWQgdHJhbnNwb3J0IGVycm9yIHdhcyByZXR1cm5lZCBieSB0aGUgc2VydmVyLCBqdXN0IHRyeSB0byBjb25maWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIERvbid0IGNyYXNoIHdoZW4gYW4gdW5zdXBwb3J0ZWQgdHJhbnNwb3J0IGVycm9yIHdhcyByZXR1cm5lZCBieSB0aGUKCSAgc2VydmVyLCBqdXN0IHRyeSB0byBjb25maWd1cmUgdGhlIG5leHQgc3RyZWFtLiBGaXhlcyAjNDM5MjU1LgoKMjAwNy0wNS0xOCAxMTozOToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogQWRkIFRDUCB0aW1lb3V0IHByb3BlcnR5IGFuZCB1c2UgaXQgZm9yIGFsbCBUQ1AgY29ubmVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIFRDUCB0aW1lb3V0IHByb3BlcnR5IGFuZCB1c2UgaXQgZm9yIGFsbCBUQ1AgY29ubmVjdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX3dyaXRlKSwgKHJ0c3BfY29ubmVjdGlvbl9uZXh0X3RpbWVvdXQpLAoJICAocnRzcF9jb25uZWN0aW9uX3Jlc2V0X3RpbWVvdXQpOgoJICBNYWtlIGNvbm5lY3QgYW5kIHdyaXRlcyBjYW5jZWxhYmxlIGFuZCBtYWtlIHRoZW0gdXNlIHRoZSB0aW1lb3V0LgoKMjAwNy0wNS0xOCAxMDozNjoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmVmYWN0b3IgdGltZW91dCBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgUmVmYWN0b3IgdGltZW91dCBoYW5kbGluZy4KCSAgQWxzbyBzZW5kIGtlZXAtYWxpdmUgd2hlbiBkZWFsaW5nIHdpdGggVENQIHRyYW5zcG9ydC4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSksIChydHNwX2Nvbm5lY3Rpb25fbmV4dF90aW1lb3V0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZXNldF90aW1lb3V0KToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBVc2UgYSB0aW1lciB0byBoYW5kbGUgdGhlIHNlc3Npb24gdGltZW91dHMsIGFkZCBzb21lIG1ldGhvZHMgdG8gZGVhbAoJICB3aXRoIHRpbWVvdXRzLgoKMjAwNy0wNS0xNyAxNDo1NjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWdub3JlIHN0cmVhbXMgdGhhdCBmYWlsIHRoZSBzZXR1cCBjb21tYW5kLCB3ZSB3aWxsIHJldHJ5IHdpdGggYSBkaWZmZXJlbnQgdHJhbnNwb3J0IGxhdGVyIG9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBJZ25vcmUgc3RyZWFtcyB0aGF0IGZhaWwgdGhlIHNldHVwIGNvbW1hbmQsIHdlIHdpbGwgcmV0cnkgd2l0aCBhCgkgIGRpZmZlcmVudCB0cmFuc3BvcnQgbGF0ZXIgb24uCgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX3BhcnNlX3NkcCksCgkgIChydHNwX2V4dF93bXNfY29uZmlndXJlX3N0cmVhbSk6CgkgIEZpeCBlbmNvZGluZyBuYW1lIGNhc2UuCgoyMDA3LTA1LTE3IDEwOjU5OjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYIGlzICQjQCgqJSQjICEgRm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1gKCSAgaXMgJCNAKColJCMgISBGb3IgdGhvc2Ugd29uZGVyaW5nLCB0aGUgZXZlbnQgaGFuZGxpbmcgbmVlZHMgdG8gYmUgZG9uZQoJICBpbiB0aGUgbWFpbiB0aHJlYWQgYWZ0ZXIgYWxsLi4KCjIwMDctMDUtMTcgMDk6NDE6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgVXNlIGEgc2VwYXJhdGUgdGhyZWFkL3Rhc2sgZm9yIHRoZSBjb2NvYSBldmVudF9sb29wLCBlbHNlIGl0IHdvdWxkbid0CgkgIHN0b3AuCgoyMDA3LTA1LTE2IDE2OjUwOjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfZW5kcm93X2NhbGxiYWNrKSwgKHVzZXJfcmVhZF9kYXRhKToKCSAgRml4IGJ1aWxkIG9uIG1hY29zeC4KCjIwMDctMDUtMTYgMTY6MzA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBSZXBsYWNlIGRpcmVjdCBjb21wYXJpc29uIG9mIGEgc3RyaW5nIHdpdGggdGhlIHN0cmluZyBsaXRlcmFsICIiIHdpdGggYSBjb21wYXJpc29uIG9mIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfdXJpX3NldF91cmkpOgoJICBSZXBsYWNlIGRpcmVjdCBjb21wYXJpc29uIG9mIGEgc3RyaW5nIHdpdGggdGhlIHN0cmluZyBsaXRlcmFsICIiIHdpdGgKCSAgYSBjb21wYXJpc29uIG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIgd2l0aCAnXDAnLiBGaXhlcyAjNDM4OTI2LgoKMjAwNy0wNS0xNSAxNzoyMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2Rpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZQoJICBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXJlY3Rzb3VuZAoJICBkZXRlY3Rpb24gc2VjdGlvbi4gQXBwYXJlbnRseSBpbXByb3ZlcyBjcm9zcy1jb21waWxpbmcgZm9yIHdpbjMyCgkgIHdpdGggbWluZ3czMiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMgKCM0Mzc1MzkpLgoKMjAwNy0wNS0xNSAxMToxODozMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmMgKGdzdF9icmVha19teV9kYXRhX2luaXQpOiBPbmUgbW9yZSB0cnkuIFRoaXMgc2hvdWxkIGJlIHRoZSBwcm9wZXIgZml4IG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmMgKGdzdF9icmVha19teV9kYXRhX2luaXQpOgoJICBPbmUgbW9yZSB0cnkuIFRoaXMgc2hvdWxkIGJlIHRoZSBwcm9wZXIgZml4IG5vdy4KCjIwMDctMDUtMTUgMDY6NDE6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOiBPb29wcywgbm8gLy8gY29tbWVudHMgcGxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgT29vcHMsIG5vIC8vIGNvbW1lbnRzIHBsZWFzZS4KCjIwMDctMDUtMTUgMDY6MzQ6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOiBGaXggZ3N0X2J1ZmZlcl9pc193cml0YWJsZSgpIGFzc2VydGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6IChnc3RfYnJlYWtfbXlfZGF0YV9jbGFzc19pbml0KSwKCSAgKGdzdF9icmVha19teV9kYXRhX2luaXQpOgoJICBGaXggZ3N0X2J1ZmZlcl9pc193cml0YWJsZSgpIGFzc2VydGlvbi4KCjIwMDctMDUtMTUgMDI6NTY6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgQmF5ZXIgaW1hZ2VzIGFzIHZpZGVvL3gtcmF3LWJheWVyLiAgRml4ZXMgIzMxNDE2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgQmF5ZXIgaW1hZ2VzIGFzCgkgIHZpZGVvL3gtcmF3LWJheWVyLiAgRml4ZXMgIzMxNDE2MC4KCjIwMDctMDUtMTQgMTc6MTA6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogVXBkYXRlIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXIgaW4gYSBzaW1pbGFyIHRvIHZvcmJpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZGVjb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZW5jb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBVcGRhdGUgdGhlb3JhIHBheS9kZXBheWxvYWRlciBpbiBhIHNpbWlsYXIgdG8gdm9yYmlzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pOgoJICBVcGRhdGUgZG9jcy4KCjIwMDctMDUtMTQgMTY6MTk6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFdoZW4gd2UgdHJ5IHRvIGV4ZWN1dGUgYSBtZXRob2QgdGhhdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBzZXJ2ZXIsIGRvbid0IGVycm9yIG91dCBidXQgcmVtb3YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIFdoZW4gd2UgdHJ5IHRvIGV4ZWN1dGUgYSBtZXRob2QgdGhhdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBzZXJ2ZXIsCgkgIGRvbid0IGVycm9yIG91dCBidXQgcmVtb3ZlIHRoZSBtZXRob2QgZnJvbSB0aGUgYWNjZXB0ZWQgbWV0aG9kcyBzbyB0aGF0CgkgIHdlIG5ldmVyIHRyeSB0byBwZXJmb3JtIHRoaXMgbWV0aG9kIGFnYWluLgoKMjAwNy0wNS0xNCAxNDo0NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogUmVtb3ZlIGFubm95aW5nIF9kdW1wX21lbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgIFJlbW92ZSBhbm5veWluZyBfZHVtcF9tZW0uCgoyMDA3LTA1LTE0IDExOjExOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQYXJzZSByYW5nZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKToKCSAgUGFyc2UgcmFuZ2UgY29ycmVjdGx5LgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX2dldF9yZXF1ZXN0X3VyaSk6CgkgIFRoZSBiYXNldXJsIG5vdyBhbHdheXMgaGFzIGEgJy8nIGF0IHRoZSBzdGFydC4KCjIwMDctMDUtMTQgMDk6MDE6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZhY3RvciBvdXQgY2FwcyBjb25maWd1cmF0aW9uIGFuZCBjb25maWd1cmUgbW9yZSBzdHVmZiBzdWNoIGFzIHRoZSB0aW1lIHJhbmdlcyBhbmQgc3BlZWQvc2NhbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICBGYWN0b3Igb3V0IGNhcHMgY29uZmlndXJhdGlvbiBhbmQgY29uZmlndXJlIG1vcmUgc3R1ZmYgc3VjaCBhcyB0aGUgdGltZQoJICByYW5nZXMgYW5kIHNwZWVkL3NjYWxlIHZhbHVlcy4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIEFkZCBDb3B5cmlnaHQgYWZ0ZXIgbm9uLXRyaXZhbCBmaXhlcy4KCjIwMDctMDUtMTMgMTk6NTc6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBGaXggd3JvbmcgaWZkZWYgZm9yIHZpc3VhbCBDKysuICBGaXhlczogIzQzNzQwMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICBGaXggd3JvbmcgaWZkZWYgZm9yIHZpc3VhbCBDKysuICBGaXhlczogIzQzNzQwMy4KCSAgQnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPi4KCjIwMDctMDUtMTMgMTU6NDc6MTMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBVc2UgZ3VpbnQ4ICogaW5zdGVhZCBvZiBncG9pbnRlciB0aGVuIHZzNiBjYW4gYnVpbGQgaW5fZGF0YSArPSAoZmlsdGVyLT53aWR0aCAvIDgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICBVc2UgZ3VpbnQ4ICogaW5zdGVhZCBvZiBncG9pbnRlciB0aGVuIHZzNiBjYW4gYnVpbGQKCSAgaW5fZGF0YSArPSAoZmlsdGVyLT53aWR0aCAvIDgpLgoKMjAwNy0wNS0xMiAxNjozNzo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC86IE1ha2UgY2hhbm5lbCBndWludDggd2hlcmUgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBNYWtlIGNoYW5uZWwgZ3VpbnQ4IHdoZXJlIHBvc3NpYmxlLgoJICBNYWtlIHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEoKSB0YWtlIHRoZSBjaGFubmVsIGFzIGEgZ3VpbnQ4LgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgIEZpeGVkIGEgdHlwbzogVGltb3V0IC0+IFRpbWVvdXQKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBNYWtlIFJUU1BfQ0hFQ0soKSBiZWhhdmUgYXMgYSBzdGF0ZW1lbnQuCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOgoJICBBdm9pZCBhIGNvbXBpbGVyIHdhcm5pbmcgaW4gSU5JVF9BUlJBWSgpLgoJICBGaXhlcyAjNDM3NjkyLgoKMjAwNy0wNS0xMiAxNjoyNzo1MSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9ydHNwdXJsLio6IEFkZCBzdXBwb3J0IGZvciBxdWVyeSBwYXJhbWV0ZXJzIHRvIFJUU1AgVVJMcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpLCAocnRzcF91cmxfZnJlZSksCgkgIChydHNwX3VybF9nZXRfcmVxdWVzdF91cmkpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gUlRTUCBVUkxzLgoKMjAwNy0wNS0xMiAxNjoyNjowNiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lio6IEFkZCB2YWxpZGF0aW9uIHRvIHJ0c3BfdHJhbnNwb3J0X3BhcnNlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2luaXQpLCAocGFyc2VfbW9kZSksCgkgIChwYXJzZV9yYW5nZSksIChyYW5nZV9hc190ZXh0KSwgKHJ0c3BfdHJhbnNwb3J0X21vZGVfYXNfdGV4dCksCgkgIChydHNwX3RyYW5zcG9ydF9wcm9maWxlX2FzX3RleHQpLCAocnRzcF90cmFuc3BvcnRfbHRyYW5zX2FzX3RleHQpLAoJICAocnRzcF90cmFuc3BvcnRfcGFyc2UpLCAocnRzcF90cmFuc3BvcnRfYXNfdGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBBZGQgdmFsaWRhdGlvbiB0byBydHNwX3RyYW5zcG9ydF9wYXJzZSgpLgoJICBBZGQgcnRzcF90cmFuc3BvcnRfYXNfdGV4dCgpIHRvIGdlbmVyYXRlIGFuIFJUU1AgaGVhZGVyIGZyb20gYW4KCSAgUlRTUFRyYW5zcG9ydC4KCSAgQ2hhbmdlIHNzcmMgdG8gZ3VpbnQgKHdhcyBhIHN0cmluZykgc2luY2UgdGhhdCBpcyB3aGF0IGl0IGlzLCBldmVuCgkgIHRob3VnaCBpdCBpcyBzZW50IGFzIGEgaGV4IHN0cmluZy4KCSAgQ29ycmVjdGx5IGlkZW50aWZ5IFBMQVl8UkVDT1JEIG1vZGUgcGFyYW1ldGVycyAodGhlIHN5bnRheCBpbiB0aGUgUkZDIGlzCgkgIGluY29ycmVjdCwgd2hpY2ggY2FuIGJlIHNlZW4gd2hlbiBsb29raW5nIGF0IHRoZSBleGFtcGxlcyBpbiB0aGUgUkZDKS4KCSAgRml4ZXMgIzQzNzY3MC4KCjIwMDctMDUtMTEgMTY6MTE6MDQgKzAwMDAgIEVyaWMgQW5ob2x0IDxhbmhvbHRAZnJlZWJzZC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX29wZW5fZGlzcGxheSwgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRXJpYyBBbmhvbHQKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19vcGVuX2Rpc3BsYXksCgkgIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBVc2UgdW5pb24gb2YgYWxsIGRhbWFnZSBiZXR3ZWVuIGZyYW1lcyB0byBtYWtlIGl0IGZhc3Rlci4KCSAgRml4ZXMgYnVnICMzNDI0NjMuCgkgIEFsc28gZml4IGNyYXNoZXIgd2hlbiBjdXJzb3IgaXMgYXQgYm90dG9tIHJpZ2h0IG9mIHdpbmRvdy4KCjIwMDctMDUtMTEgMTY6MDE6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU2tpcCBMSVNUIGNodW5rcyBiZWZvcmUgdGhlIGZtdCBjaHVuayAoZml4ZXMgIzQzNzQ5OSkuIEFsc28gZml4IHN0cmVhbWluZyBtb2RlIHJlZ3Jlc3Npb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBTa2lwIExJU1QgY2h1bmtzIGJlZm9yZSB0aGUgZm10IGNodW5rIChmaXhlcyAjNDM3NDk5KS4gQWxzbyBmaXgKCSAgc3RyZWFtaW5nIG1vZGUgcmVncmVzc2lvbiBmb3IgZmlsZSBmcm9tICMzNDM4Mzcgd2l0aCAnYmV4dCcgY2h1bmsKCSAgYmVmb3JlIHRoZSAnZm10JyBjaHVuay4KCjIwMDctMDUtMTEgMTU6MDk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFByZWxpbWluYXJ5IHNlZWsgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpLAoJICAoZ3N0X3J0c3BzcmNfZG9fc2VlayksIChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBQcmVsaW1pbmFyeSBzZWVrIHN1cHBvcnQuCgkgIEFjdGl2YXRlIGludGVybmFsIHBhZHMgc28gdGhhdCB3ZSBjYW4gcmVjZWl2ZSBldmVudHMgb24gdGhlbS4KCSAgRG9uJ3QgdHJ5IHRvIHBhcnNlIGEgcmFuZ2Ugc3RyaW5nIHdoZW4gaXQncyBOVUxMLgoKMjAwNy0wNS0xMSAxNTowNDozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBVcGRhdGUgUkVBRE1FIHdpdGggbmV3IFJUUCB2YXJpYWJsZXMgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHN5bmNocm9uaXNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFVwZGF0ZSBSRUFETUUgd2l0aCBuZXcgUlRQIHZhcmlhYmxlcyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IKCSAgc3luY2hyb25pc2F0aW9uLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGRlY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZW5jb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBVcGRhdGUgdm9yYmlzIHBheSBhbmQgZGVwYXlsb2FkZXIgdG8gZHJhZnQtMDQuCgoyMDA3LTA1LTExIDExOjI0OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiBVRFAgTUNBU1QgaXMgYWN0dWFsbHkgdGhlIGRlZmF1bHQgZm9yIFJUUC9BVlAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgVURQIE1DQVNUIGlzIGFjdHVhbGx5IHRoZSBkZWZhdWx0IGZvciBSVFAvQVZQLgoKMjAwNy0wNS0xMSAxMDozMToyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0LCBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfc3RhcnQsCgkgIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmggKGxhc3RfeGltYWdlKToKCSAgV2hlbiB1c2luZyBEYW1hZ2UgYWN0dWFsbHkga2VlcCB0aGUgbGFzdCBmcmFtZSwgYW5kIG5vdCBhc3N1bWUKCSAgdGhhdCB0aGUgYnVmZmVyIHdlIGdldCBhbHJlYWR5IGhhcyB0aGUgbGFzdCBmcmFtZSBvbiBpdC4KCSAgQ29weSB0aGUgY3Vyc29yIG92ZXIgaWYgd2Ugc3BlY2lmeSBhIG5vbi16ZXJvIHN0YXJ0IHggYW5kCgkgIHN0YXJ0IHkuCgoyMDA3LTA1LTExIDA5OjEyOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiBNYWtlIFVEUCB0aGUgZGVmYXVsdCB0cmFuc3BvcnQgd2hlbiBub3Qgc3BlY2lmaWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIE1ha2UgVURQIHRoZSBkZWZhdWx0IHRyYW5zcG9ydCB3aGVuIG5vdCBzcGVjaWZpZWQuCgoyMDA3LTA1LTEwIDE0OjAyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLCBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwgZ3N0X3F0ZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsCgkgIGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUsIGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MsCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUsIGdzdF9xdGRlbXV4X2xvb3AsCgkgIHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMsIHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoLAoJICBydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgsIHJ0cF9zZXNzaW9uX2dldF9jbmFtZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X25hbWUsIHJ0cF9zZXNzaW9uX2dldF9lbWFpbCwgcnRwX3Nlc3Npb25fZ2V0X3Bob25lLAoJICBydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24sIHJ0cF9zZXNzaW9uX2dldF90b29sLAoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSwgc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYyAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCwKCSAgcnRwX3NvdXJjZV9zZW5kX3J0cCwgcnRwX3NvdXJjZV9wcm9jZXNzX3NyLCBydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICBNb3JlIGZvcm1hdCBhcmcgZml4aW5nIChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlIGxpYnJhcmllcyhzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoKMjAwNy0wNS0xMCAwMToyMToxOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogUmV2ZXJ0IGxhc3QgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgUmV2ZXJ0IGxhc3QgY2hhbmdlLgoKMjAwNy0wNS0wOSAyMTozMDo1MyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGtub3cgdGhlIHNpemUgb2YgZGF0YSBwb2ludGVkIHdoZW4gbW92aW5nIHRoZSBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jYWxjdWxhdGVfIyNUWVBFKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICBVc2UgZ3VpbnQ4ICogaW5zdGVhZCBvZiBncG9pbnRlciB0aGVuIHZzNiBrbm93IHRoZSBzaXplIG9mIGRhdGEKCSAgcG9pbnRlZCB3aGVuIG1vdmluZyB0aGUgcG9pbnRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIE1vdmUgaW5zdHJ1Y3Rpb25zIGFmdGVyIHZhcmlhYmxlcyBkZWNsYXJhdGlvbi4KCSAgKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICBVcGRhdGUgdnM2IHByb2plY3QgZmlsZXMuCgoyMDA3LTA1LTA5IDExOjIzOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBBZGQgY29kZSB0byBwYXJzZSB0aW1lIHJhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmM6IChwYXJzZV9ucHRfdGltZSksIChwYXJzZV9ucHRfcmFuZ2UpLAoJICAocGFyc2VfY2xvY2tfcmFuZ2UpLCAocGFyc2Vfc21wdGVfcmFuZ2UpLCAocnRzcF9yYW5nZV9wYXJzZSksCgkgIChydHNwX3JhbmdlX2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3ByYW5nZS5oOgoJICBBZGQgY29kZSB0byBwYXJzZSB0aW1lIHJhbmdlcy4KCSAgUmVwb3J0IERVUkFUSU9OIG9uIHRoZSBzdHJlYW0gd2hlbiBwb3NzaWJsZS4KCjIwMDctMDUtMDggMTU6NDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBzdHJpZGVzIGNhbGN1bGF0aW9uIGZvciBBWVVWIChpdCdzIGp1c3Qgd2lkdGgqNCkgKCM0MzY5MTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9ibGVuZF9heXV2X2F5dXYpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9jaGVja2VyKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfY29sb3IpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgRml4IHN0cmlkZXMgY2FsY3VsYXRpb24gZm9yIEFZVVYgKGl0J3MganVzdCB3aWR0aCo0KSAoIzQzNjkxMCkuCgoyMDA3LTA1LTA2IDIxOjMyOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyBiZWZvcmUgZWFjaCBwcm9jZXNzaW5nIHN0ZXAgdG8gcHJvcGVybHkgd29yayB3aXRoIHRoZSBjb250cm9sbGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzogKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgIFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyBiZWZvcmUgZWFjaCBwcm9jZXNzaW5nIHN0ZXAgdG8gcHJvcGVybHkKCSAgd29yayB3aXRoIHRoZSBjb250cm9sbGVyLgoKMjAwNy0wNS0wNCAxNToxNzoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTGV0IG1vcmUgZXJyb3Igc3RhdGUgdHJpY2tsZSBkb3duIHNvIHRoYXQgd2UgY2FuIGNhdGNoIG1vcmUgZXJyb3IgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIExldCBtb3JlIGVycm9yIHN0YXRlIHRyaWNrbGUgZG93biBzbyB0aGF0IHdlIGNhbiBjYXRjaCBtb3JlIGVycm9yCgkgIGNhc2VzLgoJICBIYW5kbGUga2VlcC1hbGl2ZSBhIGxpdHRsZSBzbWFydGVyIGJ5IHNlbGVjdGluZyBhIG1ldGhvZCB0aGUgc2VydmVyCgkgIGFjdHVhbGx5IHN1cHBvcnRzLgoJICBGaXggYSByYWNlIGluIFVEUCBzdHJlYW1pbmcgc2h1dGRvd24uCgoyMDA3LTA1LTA0IDEzOjA0OjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZ25vcmUgZXJyb3JzIHdoZW4gdHJ5aW5nIHRvIHVzZSB0aGUga2VlcC1hbGl2ZSBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKToKCSAgSWdub3JlIGVycm9ycyB3aGVuIHRyeWluZyB0byB1c2UgdGhlIGtlZXAtYWxpdmUgbWVzc2FnZXMuCgoyMDA3LTA1LTA0IDEyOjMxOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBTZW5kIFJUQ1AgbWVzc2FnZXMgYmFjayB0byB0aGUgc2VydmVyIG92ZXIgdGhlIFRDUCBjb25uZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3J0c3BzcmNfc2lua19jaGFpbiksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWVfdWRwKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCk6CgkgIFNlbmQgUlRDUCBtZXNzYWdlcyBiYWNrIHRvIHRoZSBzZXJ2ZXIgb3ZlciB0aGUgVENQIGNvbm5lY3Rpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl93cml0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksIChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIEZhY3RvciBvdXQgYW5kIGV4cG9zZSBsb3dsZXZlbCBfd3JpdGUgYW5kIF9yZWFkIG1ldGhvZHMuCgkgIEltcGxlbWVudCBzZW5kaW5nIGRhdGEgbWVzc2FnZXMgdG8gdGhlIHNlcnZlci4KCjIwMDctMDUtMDMgMTU6NTU6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBGaXggdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfcXVldWVfcGFkcyksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBGaXggdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwNy0wNS0wMyAxNDozOTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEVtaXQgTkVXU0VHTUVOVCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlIGZpcnN0IGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRW1pdCBORVdTRUdNRU5UIGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGUgZmlyc3QgYnVmZmVyLgoKMjAwNy0wNS0wMyAxMzo0ODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmVmYWN0b3IgdHJhbnNwb3J0IGNvbmZpZ3VyYXRpb24gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfYWxsb2NfdWRwX3BvcnRzKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWVfdWRwKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgUmVmYWN0b3IgdHJhbnNwb3J0IGNvbmZpZ3VyYXRpb24gY29kZS4KCSAgQ3JlYXRlIGludGVybmFsIHBhZHMgZm9yIFRDUCB0cmFuc3BvcnQgc28gdGhhdCB3ZSBjYW4gaW1wbGVtZW50IGV2ZW50cwoJICBhbmQgcXVlcmllcy4KCSAgSGFuZGxlIGV2ZW50cyBhbmQgcXVlcmllcy4KCSAgUGFyc2UgcmFuZ2UgZnJvbSB0aGUgU0RQLgoJICBGaXggcmFjZSBpbiBwYXVzZSBoYW5kbGVyIHdoZXJlIHRoZSBjb25uZWN0aW9uIGNvdWxkIHN0aWxsIGJlIGZsdXNoaW5nLgoKMjAwNy0wNS0wMiAxOTozMjo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRml4IHJhY2Ugd2hlbiBtdWx0aXBsZSB1ZHAgc291cmNlcyBwb3N0IHRpbWVvdXRzLCBqdXN0IGFjdCBvbiB0aGUgZmlyc3QgcmVjZWl2ZWQgdGltZW91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX2FzeW5jX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLAoJICAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IHJhY2Ugd2hlbiBtdWx0aXBsZSB1ZHAgc291cmNlcyBwb3N0IHRpbWVvdXRzLCBqdXN0IGFjdCBvbiB0aGUgZmlyc3QKCSAgcmVjZWl2ZWQgdGltZW91dC4KCSAgUHJvdGVjdCBzdHJlYW0gbGlzdCB3aXRoIGEgcmVjdXJzaXZlIGxvY2sgdG8gZml4IHNvbWUgcmFjZXMuCgkgIEZsdXNoIGNvbm5lY3Rpb24gd2hlbiB3ZSBuZWVkIHRvIGRvIGEgcmVjb25uZWN0IG9yIHN0b3AuCgkgIE1ha2Ugc3RhdGUgbG9jayByZWN1cnNpdmUuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgIFNvbWUgc21hbGwgY2xlYW51cHMuCgoyMDA3LTA1LTAyIDE4OjMxOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBIYW5kbGUgRElTQ09OVCBidWZmZXJzIGJ5IGNvcnJlY3RseSBzZXR0aW5nIHRoZSBESVNDT05UIGZsYWcKCSAgb24gb3V0Z29pbmcgYnVmZmVycyB3aGVuIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KQoJICBTZW5kIG5ld3NlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDctMDUtMDIgMTg6MjU6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogT25seSBzZXQgRElTQ09OVCB3aGVuIHRoZXJlIGFjdHVhbGx5IGlzIGEgZGlzY29udCBvciB3aGVuIHdlIGp1c3Qgc3RhcnRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBPbmx5IHNldCBESVNDT05UIHdoZW4gdGhlcmUgYWN0dWFsbHkgaXMgYSBkaXNjb250IG9yIHdoZW4gd2UganVzdAoJICBzdGFydGVkLgoKMjAwNy0wNS0wMiAxODowMTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhYy5jOiBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgIENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgoyMDA3LTA1LTAyIDE3OjE5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEJlIGEgYml0IG1vcmUgY2xldmVyIHdoZW4gZGVhbGluZyB3aXRoIFZCUiBmaWxlcyB3aXRoIEZBQ1QgdGFncywgd2UgZG9uJ3Qgd2FudCB0byB0aW1lc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEJlIGEgYml0IG1vcmUgY2xldmVyIHdoZW4gZGVhbGluZyB3aXRoIFZCUiBmaWxlcyB3aXRoIEZBQ1QgdGFncywgd2UKCSAgZG9uJ3Qgd2FudCB0byB0aW1lc3RhbXAgYnVmZmVycyBpbiB0aGF0IGNhc2UgYnV0IHRoZSBlc3RpbWF0ZWQgQlBTIGNhbgoJICBiZSB1c2VkIGZvciBzZWVraW5nLgoJICBPbmx5IHNlbmQgY2xvc2Ugc2VnbWVudCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDctMDUtMDIgMTc6MDg6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQ29ycmVjdGx5IHBvc3QgYW4gZXJyb3Igb24gdGhlIGJ1cyBpZiBzb21ldGhpbmcgd2VudCB3cm9uZyBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gVGhpcyBmaXhlcyBhIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCk6CgkgIENvcnJlY3RseSBwb3N0IGFuIGVycm9yIG9uIHRoZSBidXMgaWYgc29tZXRoaW5nIHdlbnQgd3JvbmcgaW4gdGhlIGxvb3AKCSAgZnVuY3Rpb24uIFRoaXMgZml4ZXMgYSBmZXcgY2FzZXMgd2hlcmUgdGhlIHRhc2sgd2FzIHBhdXNlZCBhbmQgbm90aGluZwoJICBoYXBwZW5lZCBhbnltb3JlLgoKMjAwNy0wNS0wMiAxNjo1ODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0IHNhbXBsZS4gV2l0aCB0aGUgZml4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdAoJICBzYW1wbGUuIFdpdGggdGhlIGZpeGVkIGVycm9yIGhhbmRsaW5nIHRoaXMgd29ya3Mgbm93IGFzIGV4cGVjdGVkCgkgIHdpdGhvdXQgcHVzaGluZyB0aGUgbGFzdCBzYW1wbGUgYWx0aG91Z2ggaXQgd2Fzbid0IHJlcXVlc3RlZC4KCjIwMDctMDUtMDIgMTY6NDU6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoIHN0b3AgcG9zaXRpb24gPT0gLS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aAoJICBzdG9wIHBvc2l0aW9uID09IC0xIGFuZCBpbnN0ZWFkIG9mIHN0b3BwaW5nIHRoZSB0YXNrIG9uIHNlZWsganVzdAoJICBwYXVzZSBpdC4KCjIwMDctMDUtMDIgMTY6MTk6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgIEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCjIwMDctMDUtMDIgMTU6MTM6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBDb3JyZWN0bHkgaGFuZGxlIGVycm9ycywgZXNwZWNpYWxseSBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gQmVmb3JlIGl0IHdhcyBlYXN5IHRvIGdldCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1bGxfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBDb3JyZWN0bHkgaGFuZGxlIGVycm9ycywgZXNwZWNpYWxseSBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gQmVmb3JlIGl0CgkgIHdhcyBlYXN5IHRvIGdldCB0aGUgdGFzayBwYXVzZWQgYnV0IG5vIGVycm9yIGJlaW5nIHBvc3RlZCBvbiB0aGUgYnVzLgoKMjAwNy0wNS0wMiAxNDoyNzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3Rlc3QuYzogRml4IGNvbXBpbGF0aW9uIG9mIGRlcHJlY2F0ZWQgdGVzdCBqdXN0IGJlY2F1c2UgSSdtIHRvbyBsYXp5IHRvIGRlbGV0ZSBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvdGVzdC5jOiAobWFpbik6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBkZXByZWNhdGVkIHRlc3QganVzdCBiZWNhdXNlIEknbSB0b28gbGF6eSB0byBkZWxldGUKCSAgaXQuCgoyMDA3LTA1LTAyIDEzOjMyOjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBGaXggc2VuZGluZyBSVENQIHRvIHRoZSByaWdodCBwbGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IHNlbmRpbmcgUlRDUCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIEZpeCBidWcgaW4gcmVmZmluZyB0aGUgd3JvbmcgVURQIGVsZW1lbnQuCgkgIFVzZSBuZXcgcGFkIG5hbWVzIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBJbXBsZW1lbnQgaGFuZGxpbmcgc2VydmVyIHJlcXVlc3RzIGluIGludGVybGVhdmVkIGFuZCBVRFAgbW9kZXMuCgkgIEhhbmRsZSBzZXNzaW9uIGtlZXAtYWxpdmUgaW4gVURQIG1vZGVzLgoJICBSZW1vdmUgR0NvbmQgZm9yIGhhbmRsaW5nIFVEUCB0aW1lb3V0cy4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLCAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKSwgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgU3RvcmUgY29ubmVjdGlvbiBJUCBhZGRyZXNzIGZvciBsYXRlci4KCSAgQWRkIHRpbWVvdXQgYXJncyB0byBhbGwgb3BlcmF0aW9ucyB0aGF0IG1pZ2h0IGJsb2NrIGZvcmV2ZXIuCgkgIFBhcnNlIHNlc3Npb24gdGltZW91dC4KCSAgT25seSBjbG9zZSBzb2NrZXRzIHdoZW4gbm90IGFscmVhZHkgY2xvc2VkLgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgQWRkIHRpbWVvdXQgcmV0dXJuIHZhbHVlIGFuZCBlcnJvciBzdHJpbmcuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKToKCSAgQWRkIHNtYWxsIGNvbW1lbnQuCgoyMDA3LTA1LTAxIDE2OjEzOjU4ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuKjogSGFuZGxlIE5FV1NFR01FTlQgYW5kIEZMVVNIIGV2ZW50cy4gRml4ZXMgIzQzNDgyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfZW1wdHkpLCAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIEhhbmRsZSBORVdTRUdNRU5UIGFuZCBGTFVTSCBldmVudHMuIEZpeGVzICM0MzQ4MjQuCgoyMDA3LTA0LTMwIDExOjE1OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6IFJlbW92ZSB2NGwyc3JjIGZyb20gZG9jcywgc2luY2UgaXQgYnJlYWtzIHRoZSBkb2NzIGJ1aWxkLCBhbmQgdGhlIHBsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBSZW1vdmUgdjRsMnNyYyBmcm9tIGRvY3MsIHNpbmNlIGl0IGJyZWFrcyB0aGUgZG9jcyBidWlsZCwgYW5kIHRoZQoJICBwbHVnaW4gaXMgb25seSBidWlsdCBpZiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgdXNlZCBhbnl3YXkuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBTcGFjZXMgPT4gdGFiLgoKMjAwNy0wNC0yOSAxNDo0MzozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEFkZCBjb2RlIHRvIGRyb3AgbWVtYmVyc2hpcCBvZiBhIG11bHRpY2FzdCBncm91cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGxlYXZlX211bHRpY2FzdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgIEFkZCBjb2RlIHRvIGRyb3AgbWVtYmVyc2hpcCBvZiBhIG11bHRpY2FzdCBncm91cC4KCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzogKGdzdF91ZHBzaW5rX3VwZGF0ZV91cmkpLAoJICAoZ3N0X3VkcHNpbmtfc2V0X3VyaSk6CgkgIEltcGxlbWVudCBVUkkgaGFuZGxlci4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgVXNlIFVSSSBoYW5kbGVyIHRvIG1ha2UgdWRwc2luayBpbnN0YWNlLgoJICBJbXByb3ZlIGNvZGUgdG8gY29uZmlndXJlIHBvcnQgYW5kIGRlc3RpbmF0aW9uLgoKMjAwNy0wNC0yOSAxMzo1NjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIDgwIGNoYXIgcG9saWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA4MCBjaGFyIHBvbGljZQoKMjAwNy0wNC0yOSAxMzo1MzoxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBGaXggdXAgTWFrZWZpbGUuYW0gYWNjb3JkaW5nbHkuCgoyMDA3LTA0LTI5IDEzOjQ5OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIGphY2sgYW5kIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgQWRkIGphY2sgYW5kIHVwZGF0ZS4KCjIwMDctMDQtMjkgMTI6MTk6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBGaXggbXVsdGljYXN0IGRldGVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgRml4IG11bHRpY2FzdCBkZXRlY3Rpb24uCgkgIERvbid0IHRyeSB0byBqb2luIGEgbXVsdGljYXN0IGdyb3VwIGlmIHRoZSBhZGRyZXNzIGlzIG5vdCBtdWx0aWNhc3QuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfdXBkYXRlX3VyaSk6CgkgIFNtYWxsIGRlYnVnIGltcHJvdmVtZW50LgoKMjAwNy0wNC0yNyAxNjo0NDoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWdub3JlIEFTWU5DIHN0YXRlIG1lc3NhZ2VzIGZyb20gdGhlIHVkcHNpbmssIGl0J3MgaXJyZWxldmFudCBmb3IgdGhlIHBhcmVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgSWdub3JlIEFTWU5DIHN0YXRlIG1lc3NhZ2VzIGZyb20gdGhlIHVkcHNpbmssIGl0J3MgaXJyZWxldmFudCBmb3IgdGhlCgkgIHBhcmVudC4KCjIwMDctMDQtMjcgMTU6MzA6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOiBGaXggbW9kZSBwcm9wZXJ0eSB3aGVuIHNwZWNpZmllZCBhcyBhbiBhcmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkgIEZpeCBtb2RlIHByb3BlcnR5IHdoZW4gc3BlY2lmaWVkIGFzIGFuIGFyZy4KCjIwMDctMDQtMjYgMTU6MDg6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4YXVkaW8gcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3N4YXVkaW8ueG1sOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4YXVkaW8gcGx1Z2luLgoKMjAwNy0wNC0yNiAxNDozMTozMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3N4dmlkZW8ueG1sOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCjIwMDctMDQtMjYgMTA6MDg6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFByb3RlY3Qgc3RhdGUgY2hhbmdlcyB3aXRoIGEgbG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBQcm90ZWN0IHN0YXRlIGNoYW5nZXMgd2l0aCBhIGxvY2suCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocGFyc2VfbGluZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIHN0dWZmLgoKMjAwNy0wNC0yNiAwODo0ODozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUgZXhhY3RseSAwIGJ5dGVzIHRvIHJlYWQgYW5kIHRoZSBpb2N0bCBkaWQgbm90IHJlcG9ydCBhbiBlcnJvci4gRi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgYXJlIGV4YWN0bHkgMCBieXRlcyB0byByZWFkIGFuZCB0aGUgaW9jdGwKCSAgZGlkIG5vdCByZXBvcnQgYW4gZXJyb3IuIEZpeGVzICM0MzM1MzAuCgoyMDA3LTA0LTI2IDA4OjM5OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEFwcGx5IERJU0NPTlQgdG8gYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBBcHBseSBESVNDT05UIHRvIGJ1ZmZlcnMuCgkgIE9ubHkgYXBwbHkgdGltZXN0YW1wIHRvIHRoZSBmaXJzdCBzYW1wbGUgYWZ0ZXIgYSBESVNDT05ULCB0b28gbWFueSBWQlIKCSAgZmlsZXMgY2F1c2UgcmFuZG9tIGppdHRlciBpbiB0aGUgdGltZXN0YW1wcy4gRml4ZXMgIzQzMzExOS4KCjIwMDctMDQtMjUgMTU6NTU6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogQWRkIGR1bW15IGxhdGVuY3kgcHJvcGVydHkgdG8gYmUgYmFja3dhcmRzIGNvbXBhdCB3aXRoIHJ0cGJpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfZGVjX2luaXQpLCAoZ3N0X3J0cF9kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfZGVjX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIEFkZCBkdW1teSBsYXRlbmN5IHByb3BlcnR5IHRvIGJlIGJhY2t3YXJkcyBjb21wYXQgd2l0aCBydHBiaW4uCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIGxhdGVuY3kgcHJvcGVydHkgYW5kIGNvbmZpZ3VyZSBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBEb24ndCBzZXQgaW52YWxpZCBjbG9jay1iYXNlIGFuZCBzZXFudW0tYmFzZSBvbiBjYXBzLCBzb21lIHNlcnZlcnMKCSAgc29tZXRpbWVzIGRvbid0IHNlbmQgdGhlbS4KCjIwMDctMDQtMjUgMTU6MzE6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiBEb3VibGUtY2hlY2sgdGhhdCBSR0IgaW5wdXQgY2FwcyBhcmUgcmVhbGx5IFJHQkEgY2FwcyAoYXBwYXJlbnRseSB0aGUgY29yZSBkb2Vzbid0IGFsd2F5cyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9iYXNlX2luaXQpLAoJICAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2Fwcyk6CgkgIERvdWJsZS1jaGVjayB0aGF0IFJHQiBpbnB1dCBjYXBzIGFyZSByZWFsbHkgUkdCQSBjYXBzIChhcHBhcmVudGx5CgkgIHRoZSBjb3JlIGRvZXNuJ3QgYWx3YXlzIGNhdGNoIGl0IGlmIHRob3NlIGNhcHMgYXJlbid0IGEgc3Vic2V0IG9mCgkgIG91ciB0ZW1wbGF0ZSBjYXBzLCBhbHNvIHNlZSAjNDIxNTQzKS4gRml4ZXMgIzQyOTMxOSBpbiBhIHdheS4KCSAgQWxzbywgZG9uJ3QgbGVhayB0aGUgcGFkIHRlbXBsYXRlIGluIHRoZSB0cmFuc2Zvcm1fY2FwcyBmdW5jdGlvbi4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzogKHNldHVwX2FscGhhY29sb3IpLAoJICAoY2xlYW51cF9hbHBoYWNvbG9yKSwgKGNyZWF0ZV9jYXBzX3JnYjI0KSwgKGNyZWF0ZV9jYXBzX3JnYmEzMiksCgkgIChjcmVhdGVfYnVmZmVyX3JnYjI0XzN4NCksIChjcmVhdGVfYnVmZmVyX3JnYmEzMl8zeDQpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYWxwaGFjb2xvcl9zdWl0ZSk6CgkgIEFkZCBzb21lIGJhc2ljIHVuaXQgdGVzdHMgZm9yIGFscGhhY29sb3IuCgoyMDA3LTA0LTI1IDE1OjA4OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogSWYgd2UgZ2V0IGEgZmF0YWwgZmxvdyByZXR1cm4gaW4gdGhlIGxvb3AgZnVuY3Rpb24sIGZpcnN0IHBvc3QgdGhlIGVycm9yIG1lc3NhZ2UgYW5kIG9ubHkgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spOgoJICBJZiB3ZSBnZXQgYSBmYXRhbCBmbG93IHJldHVybiBpbiB0aGUgbG9vcCBmdW5jdGlvbiwgZmlyc3QgcG9zdCB0aGUKCSAgZXJyb3IgbWVzc2FnZSBhbmQgb25seSB0aGVuIHNlbmQgdGhlIEVPUyBldmVudCBkb3duc3RyZWFtLCBvdGhlcndpc2UKCSAgYXBwbGljYXRpb25zIG1pZ2h0IGdldCBhbiBlb3MgbWVzc2FnZSBiZWZvcmUgdGhlIGVycm9yIG1lc3NhZ2UgYW5kCgkgIHRoaW5rIGV2ZXJ5dGhpbmcgd2FzIG9rIChyZWxhdGVkIHRvICM0MjkzMTkpLgoKMjAwNy0wNC0yNSAxMDowNzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFJlYWQgdGhlIGNoYW5uZWwgYnl0ZSBhcyBhbiB1bnNpZ25lZCBieXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICBSZWFkIHRoZSBjaGFubmVsIGJ5dGUgYXMgYW4gdW5zaWduZWQgYnl0ZS4KCjIwMDctMDQtMjUgMDk6NDc6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogTWFrZSBzdXJlIHdlIGNvbmZpZ3VyZSB0aGUgY2xvY2tfcmF0ZSBpbiB0aGUgYmFzZWNsYXNzIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uLiBGaXhlcyAjNDMxMjgyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfZ3NtX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2lsYmNfZGVwYXlfaW5pdCksIChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2lsYmNfZGVwYXlfcHJvY2VzcyksIChnc3RfaWxiY19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lsYmNfZGVwYXlfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfcGNtYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9wY211X2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIHN1cmUgd2UgY29uZmlndXJlIHRoZSBjbG9ja19yYXRlIGluIHRoZSBiYXNlY2xhc3MgaW4gdGhlIHNldGNhcHMKCSAgZnVuY3Rpb24uIEZpeGVzICM0MzEyODIuCgoyMDA3LTA0LTI1IDA4OjM2OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQYXJzZSBzZXJ2ZXIgYWRkcmVzcyBmcm9tIFNEUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLCAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBQYXJzZSBzZXJ2ZXIgYWRkcmVzcyBmcm9tIFNEUC4KCSAgSG9vayB1cCBhIHVkcHNpbmsgdG8gc2VuZCBSVENQIGJhY2sgdG8gdGhlIHNlcnZlci4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEFkZCBzb21lIGRvY3MuCgoyMDA3LTA0LTI1IDA2OjUyOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogTWFrZSBoZWFkZXIgZmllbGQgY2hlY2sgY29uZGl0aW9uYWwuIEZpeGVzICM0MzMxMzUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBNYWtlIGhlYWRlciBmaWVsZCBjaGVjayBjb25kaXRpb25hbC4gRml4ZXMgIzQzMzEzNQoKMjAwNy0wNC0yNCAwOToxMjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBtaW5pbWFsIGRvY3MgYmx1cmIgdG8gYWxwaGFjb2xvcjsgc3BsaXQgb3V0IGhlYWRlcnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZSBmb3IgZ3RrLWRvYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBBZGQgbWluaW1hbCBkb2NzIGJsdXJiIHRvIGFscGhhY29sb3I7IHNwbGl0IG91dCBoZWFkZXJzIGludG8KCSAgc2VwYXJhdGUgaGVhZGVyIGZpbGUgZm9yIGd0ay1kb2MuCgoyMDA3LTA0LTIwIDE3OjI1OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IERvbid0IHRyeSB0byBwb3N0IE5VTEwgbWVzc2FnZSAoaW4gY2FzZSB3ZSBjYW4ndCBxdWVyeSB1cHN0cmVhbSBwb3NpdGlvbiBvciBkdXJhdGlvbikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9yZXBvcnQpOgoJICBEb24ndCB0cnkgdG8gcG9zdCBOVUxMIG1lc3NhZ2UgKGluIGNhc2Ugd2UgY2FuJ3QgcXVlcnkgdXBzdHJlYW0KCSAgcG9zaXRpb24gb3IgZHVyYXRpb24pLgoKMjAwNy0wNC0xOCAxMjozNjozNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2N1dHRlci9nc3RjdXR0ZXIuKjogRml4IHNvbWUgb2YgdGhlIG1vc3Qgb2J2aW91cyBidWdzIGluIGN1dHRlci4gTm93IGRvZXNuJ3QgbGVhayBldmVyeXRoaW5nIGlmIGlucHV0IGlzIHNpbGVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfaW5pdCksIChnc3RfY3V0dGVyX2NoYWluKSwKCSAgKGdzdF9jdXR0ZXJfZ2V0X2NhcHMpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkgIEZpeCBzb21lIG9mIHRoZSBtb3N0IG9idmlvdXMgYnVncyBpbiBjdXR0ZXIuIE5vdyBkb2Vzbid0IGxlYWsKCSAgZXZlcnl0aGluZyBpZiBpbnB1dCBpcyBzaWxlbnQuCgoyMDA3LTA0LTE4IDA5OjQ4OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy4qOiBldmVyeXRoaW5nIGVsc2UgcmVzdWx0cyBpbiBhIGludmFsaWQgYmxvY2sgYWxpZ24gYW5kIGludmFsaWQgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBXYXYgYXBwYXJlbnRseSBvbmx5IHN1cHBvcnRzIHdpZHRoPT1HU1RfUk9VTkRfVVAoZGVwdGgpLCBldmVyeXRoaW5nCgkgIGVsc2UgcmVzdWx0cyBpbiBhIGludmFsaWQgYmxvY2sgYWxpZ24gYW5kIGludmFsaWQgZmlsZXMuCgoyMDA3LTA0LTE3IDE2OjM5OjAyICswMDAwICBTbmFpayA8c25haWszMkBnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzogQWRkIG1pc3NpbmcgYnJlYWsgc3RhdGVtZW50IGZvciBCT1hfSE9SSVpPTlRBTCBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNuYWlrIDxzbmFpazMyIGdtYWlsIGNvbT4KCSAgKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzogKGdzdF93aXBlX2JveGVzX2RyYXcpOgoJICBBZGQgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQgZm9yIEJPWF9IT1JJWk9OVEFMIGNhc2UuCgoyMDA3LTA0LTE3IDEwOjE0OjQzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciBpbnRlZ2VyIHR5cGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZG90IGZyPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgVXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIGludGVnZXIgdHlwZXMuCgoyMDA3LTA0LTE3IDAyOjUxOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb190ZW1wbGF0ZV9jYXBzICgpIGluc3RlYWQgb2YgdGhlIGxvY2FsIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCk6CgkgIFVzZSBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fdGVtcGxhdGVfY2FwcyAoKSBpbnN0ZWFkIG9mIHRoZSBsb2NhbCBjYXBzLgoJICBUaGlzIG1ha2VzIHVwZGF0ZXMgb2YgdGhlIGxvY2FsIGNhcHMgdW5lY2Vzc2FyeSB3aGVuZXZlciBsaWJnc3RyaWZmCgkgIGdldHMgc3VwcG9ydCBmb3IgbmV3IGZvcm1hdHMuCgoyMDA3LTA0LTE2IDIxOjI5OjQwICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBGaXggYW5kL29yIHVwZGF0ZSBjb3B5cmlnaHQgYXR0cmlidXRpb25zICgjNDMwMjI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIEZpeCBhbmQvb3IgdXBkYXRlIGNvcHlyaWdodCBhdHRyaWJ1dGlvbnMgKCM0MzAyMjgpLgoKMjAwNy0wNC0xNCAxNzoxODoxNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgeG1sIGRvYyBmaWxlcyBmb3IgV2luZG93cyBzaW5rcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICBBZGQgeG1sIGRvYyBmaWxlcyBmb3IgV2luZG93cyBzaW5rcwoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXBlZ3ZpZGVvcGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICBVcGRhdGUgcHJvamVjdHMgZmlsZXMuCgoyMDA3LTA0LTEzIDA5OjMyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgRml4IGRvY3MuCgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIHNvbWUgbW9yZSBleGFtcGxlIHVybHMuCgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19tYXJzaGFsX0JPWEVEX19VSU5UX1VJTlQpLAoJICAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRwKToKCSAgQmV0dGVyIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMDctMDQtMTMgMDg6MTk6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBSZWxheCB0aGUgYXVkaW8vbXBlZyBjYXBzIGFnYWluIGFuZCBhZGQgRklYTUU6IGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIFJlbGF4IHRoZSBhdWRpby9tcGVnIGNhcHMgYWdhaW4gYW5kIGFkZCBGSVhNRTogY29tbWVudC4KCjIwMDctMDQtMTMgMDY6MjA6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBNb3JlIHNhbml0eSBjaGVjayBmb3IgdGhlIGhlYWRlciBmaWVsZHMuIEZpeCB0eXBlIGZvciAncmF0ZScgaGVhZGVyIGZpZWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBNb3JlIHNhbml0eSBjaGVjayBmb3IgdGhlIGhlYWRlciBmaWVsZHMuIEZpeCB0eXBlIGZvciAncmF0ZScgaGVhZGVyCgkgIGZpZWxkLgoKMjAwNy0wNC0xMiAxNjowNjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiBJZiB0aGUgbWV0YWRhdGEgc3RyaW5ncyB3ZSBnZXQgaW4gdGhlIHN0cmVhbSBhcmUgbm90IFVURi04LCB0cnkgdG8gaW50ZXJwcmV0IHRoZW0gYWNjb3JkaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKG5vdGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgpLAoJICAoZ3N0X2ljeWRlbXV4X3VuaWNvZGlmeSk6CgkgIElmIHRoZSBtZXRhZGF0YSBzdHJpbmdzIHdlIGdldCBpbiB0aGUgc3RyZWFtIGFyZSBub3QgVVRGLTgsIHRyeSB0bwoJICBpbnRlcnByZXQgdGhlbSBhY2NvcmRpbmcgdG8gdGhlIGNoYXJhY3RlciBlbmNvZGluZ3Mgc3BlY2lmaWVkIGluIHRoZQoJICBHU1RfSUNZX1RBR19FTkNPRElORyBhbmQgR1NUX1RBR19FTkNPRElORyBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGFuZAoJICBvbmx5IGZhbGwgYmFjayB0byBsb2NhbGUvSVNPLTg4NTktMSBpZiB0aG9zZSBhcmVuJ3Qgc2V0IG9yIGRvbid0CgkgIHdvcmsuIFNob3VsZCBmaXggIzQyODkwMS4KCjIwMDctMDQtMTIgMTQ6MjA6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBVc2UgdGhlIHByb3BlciBzeW5jIHdvcmQgZm9yIFNQUyBhbmQgUFBTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBVc2UgdGhlIHByb3BlciBzeW5jIHdvcmQgZm9yIFNQUyBhbmQgUFBTLgoKMjAwNy0wNC0xMiAxMTo0MToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBnc3QvcnRwL2ZudjFoYXNoLmMgKE1BU0tfMjQsIEZOVjFfSEFTSF8zMl9JTklULCBGTlYxX0hBU0hfMzJfUFJJTUUsIGZudjFfaGFzaF8zMl9uZXcsIGZudjFfaGFzaF8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2ZudjFoYXNoLmMgKE1BU0tfMjQsIEZOVjFfSEFTSF8zMl9JTklULCBGTlYxX0hBU0hfMzJfUFJJTUUsCgkgIGZudjFfaGFzaF8zMl9uZXcsIGZudjFfaGFzaF8zMl91cGRhdGUsIGZudjFfaGFzaF8zMl90b18yNCk6CgkgICogZ3N0L3J0cC9mbnYxaGFzaC5oIChfX0dTVF9GTlYxX0hBU0hfSF9fKToKCSAgQWRkIGEgc2ltcGxlIGhhc2hpbmcgaW1wbGVtZW50YXRpb24gdGhhdCB3ZSBjYW4gdXNlIHRvIGdlbmVyYXRlCgkgIGEgMjQtYml0IGlkZW50IHZhbHVlIGJhc2VkIG9uIHRoZSBjb2RlYm9va3MgZm9yIHZvcmJpcyBhbmQgdGhlb3JhLgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmMgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycywKCSAgZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYwoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiwKCSAgZ3N0X3J0cF92b3JiaXNfZGVwYXlfc3dpdGNoX2NvZGVib29rLCBnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jIChnc3RfcnRwX3ZvcmJpc19wYXlfcmVzZXRfcGFja2V0LAoJICBnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQsIGdzdF9ydHBfdm9yYmlzX3BheV9mbHVzaF9wYWNrZXQsCgkgIGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycywgZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBVc2UgdGhlIGhhc2hpbmcgZnVuY3Rpb24sIGVuc3VyaW5nIHRoYXQgdGhlIHNhbWUgY29kZWJvb2tzIHJlc3VsdAoJICBpbiB0aGUgc2FtZSBpZGVudCBhbmQgdGh1cyB0aGUgc2FtZSBTRFAgZGVzY3JpcHRpb24uCgkgIFZhcmlvdXMgbG9nIGZpeGVzL2NoYW5nZXMuCgoyMDA3LTA0LTEyIDExOjM3OjUwICswMDAwICBqZXJyeSB0YW4gPGplcnJ5LnRhbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IGl0IGlzIHRoZSBhcHBsaWNhdGlvbidzIHJlc3BvbnNpYmlsaXR5IHRvIG1ha2Ugc3VyZSBpdCBvcGVuIHRoZSBkZXZpY2Ugb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqZXJyeSB0YW4gPGplcnJ5IGRvdCB0YW4gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfb3Blbik6CgkgIHJlbW92ZSB0aGUgY2FsbCBvZiAgaW9jdGwgKGZkLCBBVURJT19NSVhFUl9NVUxUSVBMRV9PUEVOKSwgaXQgaXMgdGhlCgkgIGFwcGxpY2F0aW9uJ3MgcmVzcG9uc2liaWxpdHkgdG8gbWFrZSBzdXJlIGl0IG9wZW4gdGhlIGRldmljZSBvbmNlLgoJICBSZW1vdmUgYSBjYXJlbGVzcyBlcnJvciBpZiBBVURJT0RFViBpcyBzZXQuIEZpeGVzICMzOTI2MjAuCgoyMDA3LTA0LTEyIDEwOjUyOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHRpbWVzY2FsZSAzMiBiaXRzIGFnYWluIHNvIHdlIGRvbid0IHNjcmV3IHVwIHRoZSBwdHNfb2Zmc2V0IGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBNYWtlIHRpbWVzY2FsZSAzMiBiaXRzIGFnYWluIHNvIHdlIGRvbid0IHNjcmV3IHVwIHRoZSBwdHNfb2Zmc2V0CgkgIGNhbGN1bGF0aW9ucy4KCjIwMDctMDQtMTIgMDg6MjE6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogTWFrZSBiYWNrd2FyZCBjb21wYXQgd2l0aCBydHBiaW4gYnkgYWRkaW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX21hcnNoYWxfQk9YRURfX1VJTlRfVUlOVCksCgkgIChnc3RfcnRwX2RlY19jbGFzc19pbml0KSwgKGdzdF9ydHBfZGVjX2NoYWluX3J0cCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIE1ha2UgYmFja3dhcmQgY29tcGF0IHdpdGggcnRwYmluIGJ5IGFkZGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXBsZW1lbnQgcmVxdWVzdC1wdC1tYXAgc2lnbmFscyBpbnN0ZWFkIG9mIHNldHRpbmcgY2FwcyBvbiB0aGUgYnVmZmVycwoJICBmb3IgdGhlIHNlc3Npb24gbWFuYWdlci4KCjIwMDctMDQtMTEgMTA6MjU6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcC5jOiBSZWdpc3RlciBHc3ROZXRCdWZmZXIgaW4gcGx1Z2luX2luaXQgc28gdGhhdCB0aGUgdHlwZSBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0aG91dCByYWNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHAuYzogKHBsdWdpbl9pbml0KToKCSAgUmVnaXN0ZXIgR3N0TmV0QnVmZmVyIGluIHBsdWdpbl9pbml0IHNvIHRoYXQgdGhlIHR5cGUgY2FuIGJlIHVzZWQgZnJvbQoJICBtdWx0aXBsZSB0aHJlYWRzIHdpdGhvdXQgcmFjZXMuCgoyMDA3LTA0LTExIDEwOjE5OjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0byBzcGVjIGZpbGUKCjIwMDctMDQtMTEgMDk6NTM6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX21kaGQpOgoJICBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIEZpeGVzICM0MjY5NzIuCgoyMDA3LTA0LTEwIDE3OjA2OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBGaXggZGVwYXlsb2FkZXIgY2xvY2tfcmF0ZSBhbmQgc29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgRml4IGRlcGF5bG9hZGVyIGNsb2NrX3JhdGUgYW5kIHNvbWUgY2xlYW51cHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgRG9uJ3QgcHVzaCBjb2RlY19kYXRhIGluIHRoZSBhZGFwdGVyIGJlY2F1c2UgaXQgbWlnaHQgZ2V0IGZsdXNoZWQgd2hlbgoJICB3ZSBnZXQgYSBkaXNjb250LgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIEhhbmRsZSBtdWx0aXBsZSBBVSBwZXIgcGFja2V0LgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICBEaXNhYmxlIHJhbmssIHRoaXMgb25lIGRvZXMgbm90IHdvcmsuCgkgIFJlbW92ZSB0aW1lc3RhbXBpbmcsIGJhc2UgY2xhc3MgZG9lcyB0aGF0LgoKMjAwNy0wNC0xMCAxMjowMTozMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiBsaW1pdCBjYXBzIHRvIHRoZSBmb3JtYXRzIHdlIGFubm91bmNlIGluIHRoZSB0ZW1wbGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgbGltaXQgY2FwcyB0byB0aGUgZm9ybWF0cyB3ZSBhbm5vdW5jZSBpbiB0aGUgdGVtcGxhdGUKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgZml4IHNvbWUgY3Jhc2hlcnMvYXNzZXJ0cyB3aGVuIGRlYWxpbmcgd2l0aCBicm9rZW4gZmlsZXMKCjIwMDctMDQtMTAgMTA6MDE6MTQgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0LzogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MuIEZpeGVzICM0MjgxODIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2dldF9tb2RlKSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKToKCSAgRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MuIEZpeGVzICM0MjgxODIuCgoyMDA3LTA0LTA2IDEyOjU0OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBNb3JwaCBSVFBEZWMgaW50byBzb21ldGhpbmcgY29tcGF0aWJsZSB3aXRoIFJUUEJpbiBhcyBhIGZhbGxiYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChmcmVlX3Nlc3Npb24pLCAoZ3N0X3J0cF9kZWNfYmFzZV9pbml0KSwgKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9kZWNfaW5pdCksIChnc3RfcnRwX2RlY19maW5hbGl6ZSksCgkgIChnc3RfcnRwX2RlY19xdWVyeV9zcmMpLCAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRwKSwKCSAgKGdzdF9ydHBfZGVjX2NoYWluX3J0Y3ApLCAoZ3N0X3J0cF9kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2RlY19wcm92aWRlX2Nsb2NrKSwKCSAgKGdzdF9ydHBfZGVjX2NoYW5nZV9zdGF0ZSksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfcnRjcCksIChnc3RfcnRwX2RlY19yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3J0cF9kZWNfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzogKHBsdWdpbl9pbml0KToKCSAgTW9ycGggUlRQRGVjIGludG8gc29tZXRoaW5nIGNvbXBhdGlibGUgd2l0aCBSVFBCaW4gYXMgYSBmYWxsYmFjay4KCSAgVmFyaW91cyBvdGhlciBzdHlsZSBmaXhlcy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChmaW5kX3N0cmVhbV9ieV9pZCksCgkgIChmaW5kX3N0cmVhbV9ieV91ZHBzcmMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ3N0X3J0c3BzcmNfY2xlYW51cCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wbGVtZW50IFJUUEJpbiBzZXNzaW9uIG1hbmFnZXIgaGFuZGxpbmcuCgkgIERvbid0IHRyeSB0byBhZGQgZW1wdHkgcHJvcGVydGllcyB0byBjYXBzLgoJICBJbXBsZW1lbnQgZmFsbGJhY2sgc2Vzc2lvbiBtYW5hZ2VyLCBoYW5kbGluZy4KCSAgRG9uJ3QgY29tYmluZSBlcnJvcnMgZnJvbSBSVENQIHN0cmVhbXMsIGp1c3QgaWdub3JlIHRoZW0uCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfZ2V0X21hbmFnZXIpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgSW1wbGVtZW50IGZhbGxiYWNrIHNlc3Npb24gbWFuYWdlci4KCSAgTWFrZSBSVFBCaW4gdGhlIGRlZmF1bHQgb25lIHdoZW4gYXZhaWxhYmxlLgoKMjAwNy0wNC0wNSAxNTowNToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lio6IFRyeSB0byByZWNvdmVyIGZyb20gcGFja2V0IGxvc3MgYSBsaXR0bGUgYmV0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgIFRyeSB0byByZWNvdmVyIGZyb20gcGFja2V0IGxvc3MgYSBsaXR0bGUgYmV0dGVyLgoKMjAwNy0wNC0wNSAxMzo1Njo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IFRoaXMgZWxlbWVudCBpcyByZWFkeSB0byBiZSBhdXRvcGx1Z2dlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0YV9kZXBheV9wbHVnaW5faW5pdCk6CgkgIFRoaXMgZWxlbWVudCBpcyByZWFkeSB0byBiZSBhdXRvcGx1Z2dlZC4KCjIwMDctMDQtMDUgMTE6MjY6MjUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCBsZWF2ZSB0aGUgb2Zmc2V0cyBkZWZpbmVkIGJ5IHVwc3RyZWFtIGVsZW1lbnQgb24gdGhlIGNvbXByZXNzZWQgZGF0YSBidWZmZXIgd2UgYXJlIHB1c2hpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA0LTA1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBEb24ndCBsZWF2ZSB0aGUgb2Zmc2V0cyBkZWZpbmVkIGJ5IHVwc3RyZWFtIGVsZW1lbnQgb24gdGhlCgkgIGNvbXByZXNzZWQgZGF0YSBidWZmZXIgd2UgYXJlIHB1c2hpbmcgZG93bnN0cmVhbS4gTWFrZSB0aGVtCgkgIEdTVF9CVUZGRVJfT0ZGU0VUX05PTkUuCgoyMDA3LTA0LTA0IDEyOjM5OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpLzogRG9uJ3QgYWJvcnQgb24gb3V0LW9mLW1lbW9yeS4gVXNlIHN0cmVhbS1uciBhcyB1bnNpZ25lZCBpbnRlZ2VyIG9ubHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvUkVBRE1FOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3luYyksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksIChnc3RfYXZpX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIERvbid0IGFib3J0IG9uIG91dC1vZi1tZW1vcnkuIFVzZSBzdHJlYW0tbnIgYXMgdW5zaWduZWQgaW50ZWdlciBvbmx5LgoKMjAwNy0wNC0wMyAwOTo1NTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSAgRml4IGVycm9yIGFzIHNwb3R0ZWQgYnkgU25haWsgPHNuYWlrMzIgYXQgZ21haWwgZG90IGNvbT4KCjIwMDctMDMtMzAgMTc6MTk6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTdXBwb3J0IGF1ZGlvL3gtcmF3LWZsb2F0IGluIHdhdiBmaWxlcy4gVGhpcyBvbmx5IHdvcmtzIHdpdGggcGx1Z2lucy1iYXNlIENWUywgdXNpbmcgYW4gby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgU3VwcG9ydCBhdWRpby94LXJhdy1mbG9hdCBpbiB3YXYgZmlsZXMuIFRoaXMgb25seSB3b3JrcyB3aXRoCgkgIHBsdWdpbnMtYmFzZSBDVlMsIHVzaW5nIGFuIG9sZGVyIHZlcnNpb24gZG9lc24ndCBoYXZlIGFueQoJICBkaXNhZHZhbnRhZ2VzIHRob3VnaC4KCjIwMDctMDMtMzAgMTU6NTk6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJldmVydCBsYXN0IGNoYW5nZSBhcyB3ZSBkb24ndCB3YW50IHBsdWdpbnMtZ29vZCB0byBkZXBlbmQgb24gcGx1Z2lucy1iYXNlIENWUyBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlciksIChnc3RfYXVfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgUmV2ZXJ0IGxhc3QgY2hhbmdlIGFzIHdlIGRvbid0IHdhbnQgcGx1Z2lucy1nb29kIHRvIGRlcGVuZCBvbgoJICBwbHVnaW5zLWJhc2UgQ1ZTIG5vdy4KCjIwMDctMDMtMzAgMDQ6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGgKCSAgd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoaXMgYW5kIGxldCBhdWRpb2NvbnZlcnQgY29udmVydAoJICB0byBhY2NlcHRlZCBmb3JtYXRzIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gdGhlIGVsZW1lbnQgZm9yIG4qOCBkZXB0aHMuCgkgIFRoaXMgYWxzbyBhZGRzIHN1cHBvcnQgZm9yIG5vbi1uKjggZGVwdGhzIGFuZCBwcmV2ZW50cyBzb21lIHVzZWxlc3MKCSAgbWVtb3J5IGFsbG9jYXRpb25zLiBGaXhlcyAjNDIxNTk4CgkgIEFsc28gYWRkIGEgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDIgaW4gd2F2cGFja2VuYyBmb3Igbm93Li4uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQ29uc2lkZXIgdGhlIGNoYW5nZSBhYm92ZSBpbiB0aGUgdW5pdCB0ZXN0cyBhbmQgdGVzdCBpZiB0aGUgY29ycmVjdAoJICBjYXBzIGFyZSBhY2NlcHRlZCBhbmQgc2V0LiBBbHNvIGNoZWNrIGZvciBHU1RfQlVGRkVSX09GRlNFVF9FTkQgaW4KCSAgdGhlIHdhdnBhY2twYXJzZSB1bml0IHRlc3QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpOgoJICBTZXQgY2FwcyBvbiB0aGUgc3JjIHBhZCBhcyBzb29uIGFzIHBvc3NpYmxlLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBGaXggaW5kZW50aW9uLiBnc3QtaW5kZW50IGlzIG5vdyBjYWxsZWQgYnkgY2ljbC4KCjIwMDctMDMtMjkgMTg6NTE6MzMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMgZm9yIGF1ZGlvY29udmVydCB3aXRoIG5vbi1uYXRpdmUgZmxvYXQgc3VwcG9ydCBhbmQgd2lkdGgvZGVwdGggZml4IGluIGxpYmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGZvciBhdWRpb2NvbnZlcnQgd2l0aCBub24tbmF0aXZlCgkgIGZsb2F0IHN1cHBvcnQgYW5kIHdpZHRoL2RlcHRoIGZpeCBpbiBsaWJnc3RyaWZmLgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIERvbid0IHN3YXAgdGhlIGZsb2F0cyBvdXJzZWxmIGlmIHRoZXkncmUgbm90IGluIG5hdGl2ZSBlbmRpYW5uZXNzLgoJICBJbnN0ZWFkIGxldCBhdWRpb2NvbnZlcnQgaGFuZGxlIHRoaXMuIEZpeGVzICMzMzk4MzguCgoyMDA3LTAzLTI5IDE0OjQwOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZsdXNoIGFkYXB0ZXIgb24gZGlzY29udHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9oMjYzcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgRmx1c2ggYWRhcHRlciBvbiBkaXNjb250cy4KCjIwMDctMDMtMjkgMTQ6MDM6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogVXNlIG1vcmUgZWZmaWNpZW50IGFkYXB0ZXIgYW5kIHJ0cGJ1ZmZlciBtZXRob2RzIHdoZW4gcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6IChnc3RfcnRwX21wYV9wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3Byb2Nlc3MpOgoJICBVc2UgbW9yZSBlZmZpY2llbnQgYWRhcHRlciBhbmQgcnRwYnVmZmVyIG1ldGhvZHMgd2hlbiBwb3NzaWJsZS4KCjIwMDctMDMtMjkgMTI6MTQ6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IENvcnJlY3RseSBoYW5kbGUgd2lkdGghPWRlcHRoIGlucHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2Fwcyk6CgkgIENvcnJlY3RseSBoYW5kbGUgd2lkdGghPWRlcHRoIGlucHV0LgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBBbHJlYWR5IGV4cG9ydCBpbiB0aGUgY2FwcyB0aGF0IHdpZHRoPT04IHVzZXMgdW5zaWduZWQgc2FtcGxlcyBhbmQKCSAgZXZlcnl0aGluZyBlbHNlIHVzZXMgc2lnbmVkIHNhbXBsZXMuCgoyMDA3LTAzLTI5IDA5OjU5OjIzICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvdWRwLzogUmV3b3JrIHRoZSBzb2NrZXQgYWxsb2NhdGlvbiBhIGJpdCBiYXNlZCBvbiB0aGUgc29ja2ZkIGFyZ3VtZW50IHNvIHRoYXQgaXQgYmVjb21lcyB1c2FibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2R5bnVkcHNpbmtfaW5pdCksIChnc3RfZHludWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R5bnVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9keW51ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfZHludWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIFJld29yayB0aGUgc29ja2V0IGFsbG9jYXRpb24gYSBiaXQgYmFzZWQgb24gdGhlIHNvY2tmZCBhcmd1bWVudCBzbyB0aGF0CgkgIGl0IGJlY29tZXMgdXNhYmxlLgoJICBBZGQgYSBjbG9zZWZkIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSB1ZHAgZWxlbWVudHMgdG8gY2xvc2UgdGhlIGN1c3RvbQoJICBmaWxlIGRlc2NyaXB0b3JzIHdoZW4gZ29pbmcgdG8gUkVBRFkuIEZpeGVzICM0MjMzMDQuCgkgIEFQSTpHc3RVRFBTcmM6OmNsb3NlZmQgcHJvcGVydHkKCSAgQVBJOkdzdER5blVEUFNpbms6OmNsb3NlZmQgcHJvcGVydHkKCjIwMDctMDMtMjkgMDg6MDg6NDkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9ydHAvOiBBZGRlZCBIMjY0IHBheWxvYWRlci4gRml4ZXMgIzQyMzc4Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKSwgKGdzdF9ydHBfaDI2NF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2NF9wYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBBZGRlZCBIMjY0IHBheWxvYWRlci4gRml4ZXMgIzQyMzc4Mi4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBTbWFsbCBmaXhlcy4KCjIwMDctMDMtMjggMjI6Mjc6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBY3R1YWxseSBzdXBwb3J0IGRlcHRocyBmcm9tIDEgdG8gMzIsIG5vdCBvbmx5IDggdG8gMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBBY3R1YWxseSBzdXBwb3J0IGRlcHRocyBmcm9tIDEgdG8gMzIsIG5vdCBvbmx5IDggdG8gMzIuCgoyMDA3LTAzLTI4IDIyOjIzOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWRkIHN1cHBvcnQgZm9yIHdhdiBmaWxlcyBjb250YWluaW5nIGF1ZGlvL3gtcmF3LWludCB3aXRoIHJhbmRvbSBkZXB0aHMgYmV0d2VlbiAxIGFuZCAzMiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFkZCBzdXBwb3J0IGZvciB3YXYgZmlsZXMgY29udGFpbmluZyBhdWRpby94LXJhdy1pbnQgd2l0aCByYW5kb20KCSAgZGVwdGhzIGJldHdlZW4gMSBhbmQgMzIgYml0cy4KCjIwMDctMDMtMjggMTg6NDA6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIGdzdC9ydHAvOiBBZGRlZCBNUDRBLUxBVE0gZGVwYXlsb2FkZXIuIEZpeGVzICM0MTc3OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSAgQWRkZWQgTVA0QS1MQVRNIGRlcGF5bG9hZGVyLiBGaXhlcyAjNDE3NzkyLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeHVwIGRlcGF5bG9hZGVyLCBzZXR0aW5nIGNvZGVjX2RhdGEsIHVzaW5nIG1vcmUgZWZmaWNpZW50IGFkYXB0b3IgYW5kCgkgIHJ0cGJ1ZmZlciBoYW5kbGluZy4KCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgdXJsIHRvIHRlc3QgYWJvdmUuCgoyMDA3LTAzLTI4IDE1OjE3OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcyB3aXRoIGgyNjQgdmlkZW8pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfY3R0cyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzCgkgIHdpdGggaDI2NCB2aWRlbykuCgkgIFVzZSB0aGUgb2Zmc2V0IHByZXNlbnQgaW4gJ2N0dHMnIHRvIGNhbGN1bGF0ZSB0aGUgUFRTIGZvciBlYWNoIHBhY2tldAoJICBhbmQgc2V0IHRoZSBQVFMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4ZXMgIzQyMzI4MwoKMjAwNy0wMy0yNSAxNTozNDo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSGFuZGxlIGRlZmF1bHQgY2xvY2stcmF0ZXMgZm9yIHN0YXRpYyBwYXlsb2FkIHR5cGVzLCByZWFycmFuZ2Ugc3R1ZmYgc28gdGhhdCB0aGUgcnRwbWFwIGZpZWxkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChmaW5kX3N0cmVhbV9ieV9zZXR1cCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdldF9kZWZhdWx0X3JhdGVfZm9yX3B0KSwgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfY2FwcyksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSGFuZGxlIGRlZmF1bHQgY2xvY2stcmF0ZXMgZm9yIHN0YXRpYyBwYXlsb2FkIHR5cGVzLCByZWFycmFuZ2Ugc3R1ZmYgc28KCSAgdGhhdCB0aGUgcnRwbWFwIGZpZWxkIGluIHRoZSBzZHAgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0cy4KCSAgUGFyc2UgUlRQLUluZm8gZmllbGQgdG8gZ2V0IHRoZSBzZXFudW0gYW5kIHRpbWViYXNlIGZpZWxkcyB0aGF0IHNob3VsZAoJICBnbyBpbiB0aGUgY2Fwcy4KCSAgRGVsYXkgY29uZmlndXJpbmcgY2FwcyBhZnRlciB3ZSBnb3QgdGhlIFJUUC1JbmZvIGZyb20gdGhlIFBMQVkgcmVwbHkgZnJvbQoJICB0aGUgc2VydmVyLgoKMjAwNy0wMy0yNCAxOTo0Njo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKToKCSAgUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50bwoJICAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkgZ3Vlc3MgdGVjaG5pY2FsbHkgd2Ugc2hvdWxkIHNldCB0aGUKCSAgcG9zaXRpb24gZm9yIGVhY2ggY2hhbm5lbCBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgaXQncyBub24tTk9ORSwKCSAgYnV0IEknbGwgc2F2ZSB0aGF0IGFzIGEgdGFzayBmb3IgYW5vdGhlciBkYXkpLgoKMjAwNy0wMy0yMiAyMjoxNDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbjsgbWFpbnRhaW4gb3VyIG93biBsaXN0IG9mIHNvdXJjZSBwYWRzIC0gdGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcmVtb3ZlX3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pOgoJICBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbjsgbWFpbnRhaW4gb3VyIG93biBsaXN0IG9mCgkgIHNvdXJjZSBwYWRzIC0gdGhlcmUgYXJlIG5vIGd1YXJhbnRlZXMgYWJvdXQgdGhlIG9yZGVyIG9mIHRoZSBsaXN0CgkgIGluIHRoZSBHc3RFbGVtZW50IHN0cnVjdCwgYW5kIHdlIHdhbnQgYSB2ZXJ5IHNwZWNpZmljIG9yZGVyOyBsYXN0bHksCgkgIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgoyMDA3LTAzLTIyIDE2OjI1OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MgaXMgbm8gY2xlYW4gc29sdXRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzCgkgIGlzIG5vIGNsZWFuIHNvbHV0aW9uIGFuZCBpbiBnZW5lcmFsIHRoZXJlJ3Mgbm8gcmVhc29uIHdoeSBvbmUgd2FudHMKCSAgdG8gcGFyc2UgZnJhbWVkIHdhdnBhY2sgZGF0YSBhZ2Fpbi4KCjIwMDctMDMtMjIgMTU6NTI6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMKCSAgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja2RlYyAhIHNvbWVhdWRpb3NpbmsiIHBpcGVsaW5lcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgQWNjZXB0IGZyYW1lZCBhbmQgbm9uLWZyYW1lZCBpbnB1dCwgd2F2cGFja3BhcnNlIGRvZXNuJ3QgY2FyZS4gVG8KCSAgcHJldmVudCAid2F2cGFja3BhcnNlICEgd2F2cGFja3BhcnNlICEgLi4uIiBwaXBlbGluZXMgbG93ZXIgdGhlCgkgIHJhbmsgb2Ygd2F2cGFja3BhcnNlIGJ5IG9uZS4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrcGFyc2UgIQoJICAuLi4iIHBpcGVsaW5lcy4KCjIwMDctMDMtMjIgMTE6MDg6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogUmV2ZXJ0IHRvIHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGhlcmUuIFdlIGNhbiBhbmQgc2hvdWxkIHVzZSBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUmV2ZXJ0IHRvIHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGhlcmUuIFdlIGNhbiBhbmQgc2hvdWxkIHVzZSBpdC4KCSAgVGhhbmtzIHRvIEphbiBhbmQgTWlrZSBmb3Igbm90aWNpbmcgbXkgbWlzdGFrZS4KCjIwMDctMDMtMjIgMDk6NDQ6MTcgKzAwMDAgIENocmlzdG9waGUgRGVoYWlzIDxjaHJpc3RvcGhlLmRlaGFpc0BnbWFpbC5jb20+CgoJICBleHQvZ2NvbmYvZ2NvbmYuYzogQWNjZXB0IGNvbXBsZXggcGlwZWxpbmUgZGVzY3JpcHRpb25zIGFzIGFuIGF1ZGlvIHByb2ZpbGUgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIGVsZW1lbnQuIEZpeGVzICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDaHJpc3RvcGhlIERlaGFpcyA8Y2hyaXN0b3BoZSBkb3QgZGVoYWlzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICBBY2NlcHQgY29tcGxleCBwaXBlbGluZSBkZXNjcmlwdGlvbnMgYXMgYW4gYXVkaW8gcHJvZmlsZSBpbnN0ZWFkIG9mIGp1c3QKCSAgYSBzaW5nbGUgZWxlbWVudC4gRml4ZXMgIzQyMDY1OC4KCjIwMDctMDMtMjIgMDA6MTc6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogUHV0IHRoZSB3cml0ZSBoZWxwZXJzIGludG8gdGhlIEdzdFdhdnBhY2tFbmMgc3RydWN0IGRpcmVjdGx5IGFuZCBub3QgYXMgYSBwb2ludGVyIHRvIHNhdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgUHV0IHRoZSB3cml0ZSBoZWxwZXJzIGludG8gdGhlIEdzdFdhdnBhY2tFbmMgc3RydWN0IGRpcmVjdGx5IGFuZCBub3QKCSAgYXMgYSBwb2ludGVyIHRvIHNhdmUgdHdvIHNtYWxsLCBidXQgdXNlbGVzcyBtYWxsb2NzLiBUaGlzIGFsc28gbWFrZXMKCSAgaXQgcG9zc2libGUgdG8gZHJvcCB0aGUgZmluYWxpemUgbWV0aG9kLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpOgoJICBGb3IgY29uc2lzdGVuY3kgcmVhc29ucyBhbHNvIHNldCBHU1RfQlVGRkVSX09GRlNFVF9FTkQgb24gdGhlIG91dGdvaW5nCgkgIGJ1ZmZlcnMgdGhlIHNhbWUgd2F5IHdhdnBhY2tlbmMgZG9lcyBpdC4KCjIwMDctMDMtMjEgMjM6NTA6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIEJhc2VUcmFuc2Zvcm0tYmFzZWQgZWxlbWVudHMgd2lsbCBsaWtlbHkgYnJlYWsgYmVjYXVzZSBvZiB3cm9uZwoJICB1bml0LXNpemUuIEFsc28gcGx1ZyBhIHBvc3NpYmxlIG1lbWxlYWsgdGhhdCBoYXBwZW5zIHdoZW4gZGVjb2RpbmcKCSAgZmFpbHMgZm9yIHNvbWUgcmVhc29uLgoKMjAwNy0wMy0yMSAxMTo0OTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogUmVuYW1lIHJlZ2lzdGVyZWQgdHlwZSBpbiBwcmVwYXJhdGlvbiBvZiBHc3RUYWdEZW11eCBtb3ZpbmcgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9nZXRfdHlwZSk6CgkgIFJlbmFtZSByZWdpc3RlcmVkIHR5cGUgaW4gcHJlcGFyYXRpb24gb2YgR3N0VGFnRGVtdXggbW92aW5nIHRvCgkgIC1iYXNlIGF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZS4KCjIwMDctMDMtMTkgMTA6Mjk6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU3RyZWFtaW5nIG1vZGUgZml4ZXM6IGRvbid0IHVucmVmIGJ1ZmZlciB3ZSBkb24ndCBvd24gYW55IGxvbmdlcjsgcmVtb3ZlIGJvZ3VzIGFkYXB0ZXIgZmwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBTdHJlYW1pbmcgbW9kZSBmaXhlczogZG9uJ3QgdW5yZWYgYnVmZmVyIHdlIGRvbid0IG93biBhbnkgbG9uZ2VyOwoJICByZW1vdmUgYm9ndXMgYWRhcHRlciBmbHVzaC4gRml4ZXMgIzQxOTMzOC4KCjIwMDctMDMtMTggMDQ6MjE6MjggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUkVRVUlSRU1FTlRTOiBDaGFuZ2UgdGhlIGZvcm1hdCB0byBrZXkvdmFsdWUsIGFkZCBhIGJ1bmNoIG9mIGluZm9ybWF0aW9uLCByZW1vdmUgYSBidW5jaCBvZiByZXF1aXJlbWVudHMgdGhhdCBhcmUgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzogQ2hhbmdlIHRoZSBmb3JtYXQgdG8ga2V5L3ZhbHVlLCBhZGQgYSBidW5jaCBvZgoJICBpbmZvcm1hdGlvbiwgcmVtb3ZlIGEgYnVuY2ggb2YgcmVxdWlyZW1lbnRzIHRoYXQgYXJlIGZvcgoJICBvdGhlciBHU3RyZWFtZXIgcGFja2FnZXMuCgoyMDA3LTAzLTE4IDAyOjAwOjU0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJFUVVJUkVNRU5UUzogRml4IGEgZmV3IHRoaW5ncy4gIFRoaXMgZmlsZSByZWFsbHkgbmVlZHMgYSBnb29kIG9uY2Utb3Zlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOiBGaXggYSBmZXcgdGhpbmdzLiAgVGhpcyBmaWxlIHJlYWxseSBuZWVkcyBhCgkgIGdvb2Qgb25jZS1vdmVyLgoKMjAwNy0wMy0xNiAxODozODoxOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgoyMDA3LTAzLTE2IDE2OjI3OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlIHdpbGwgY29udGFpbiBhIHBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRW1pdCAnaGF2ZS1ucy12aWV3JyBtZXNzYWdlIHdoZW4gd29ya2luZyBpbiBlbWJlZGRlZCBtb2RlLiBUaGUgbWVzc2FnZQoJICB3aWxsIGNvbnRhaW4gYSBwb2ludGVyIHRvIHRoZSBuZXdseSBjcmVhdGVkIE5TVmlldy4KCjIwMDctMDMtMTYgMDk6NTc6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOiBBIDEwIGJhbmQgRVEgc2hvdWxkIGJlIGluaXRpYWxpemVkIHRvIDEgYmFuZHMgYW5kIG5vdCB0byAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfaW5pdCk6CgkgIEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgoyMDA3LTAzLTE1IDEyOjA1OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL01ha2VmaWxlLmFtOiBEb24ndCBmb3JnZXQgdG8gZGlzdHJpYnV0ZSB0aGUgc3lzL29zeGF1ZGlvLyBkaXJlY3RvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgZm9yZ2V0IHRvIGRpc3RyaWJ1dGUgdGhlIHN5cy9vc3hhdWRpby8gZGlyZWN0b3J5LgoKMjAwNy0wMy0xNSAxMTozOTo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIEFjdGl2YXRlIG9zeGF1ZGlvIGluIGdzdC1wbHVnaW5zLWdvb2Qgd2l0aCBwcm9wZXIgYnVpbGQgc2V0dXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19vc3hlbGVtZW50X2RvX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2NyZWF0ZV9yaW5nYnVmZmVyKSwgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX29zeGVsZW1lbnRfZG9faW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NyY19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2NyZWF0ZV9yaW5nYnVmZmVyKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOiAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3Rfb3N4X3JpbmdfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9vc3hfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3Rfb3N4X3JpbmdfYnVmZmVyX3N0YXJ0KSwKCSAgKGdzdF9vc3hfcmluZ19idWZmZXJfcGF1c2UpLCAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9zdG9wKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBBY3RpdmF0ZSBvc3hhdWRpbyBpbiBnc3QtcGx1Z2lucy1nb29kIHdpdGggcHJvcGVyIGJ1aWxkIHNldHVwLgoJICBBZGQgaW5saW5lZCBkb2N1bWVudGF0aW9uLgoJICBGaXggZGVidWcgc3RhdGVtZW50cwoJICBGaXggcmluZ2J1ZmZlciB3aGVuIHBhdXNpbmcuCgkgIEZpeGVzICMzMjM0NzEKCjIwMDctMDMtMTQgMjI6MjE6MjYgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwLzogUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCjIwMDctMDMtMTQgMTY6MzA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBGaXggbGVha3Mgd2hlbiBydW5uaW5nIGEgTlNBcHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgQWNjZXB0IGFueSBraW5kIG9mIHJlc29sdXRpb25zLgoJICBXb3JrcyBpbiBmdWxsc2NyZWVuLiBDYW4gbWF4aW1pemUuCgkgIE9ubHkgdGhpbmcgbGVmdCBiZWZvcmUgYmVpbmcgYWJsZSB0byBtb3ZlIHRoaXMgdG8gLWdvb2QgaXMgZG9jdW1lbnRhdGlvbgoJICBhbmQgZW1iZWRkZWQgd2luZG93IHN1cHBvcnQuCgoyMDA3LTAzLTE0IDE1OjI1OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vYWYucG86CgkgICogcG8vYXoucG86CgkgICogcG8vY3MucG86CgkgICogcG8vZW5fR0IucG86CgkgICogcG8vaXQucG86CgkgICogcG8vbmwucG86CgkgICogcG8vb3IucG86CgkgICogcG8vc3EucG86CgkgICogcG8vc3IucG86CgkgICogcG8vc3YucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIFVwZGF0ZSB0cmFuc2xhdGlvbnMuCgoyMDA3LTAzLTE0IDE0OjQ5OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggc3RyaW5nIHJlcGxhY2UgZXJyb3IgKEFHX0FHX0dTVF8qID0+IEFHX0dTVF8qKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggc3RyaW5nIHJlcGxhY2UgZXJyb3IgKEFHX0FHX0dTVF8qID0+IEFHX0dTVF8qKS4KCjIwMDctMDMtMTQgMTQ6NDg6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpOgoJICBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBZGQgc29tZSBjb21tZW50cyBhYm91dCBmbG9hdCBzdXBwb3J0LgoKMjAwNy0wMy0xMiAxNzo1Njo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywgYW5kIFNFRUtfQ1VSK1NFRUtfRU5EIGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3NyY3BhZF9ldmVudCk6CgkgIEZpeCBoYW5kbGluZyBvZiAtMSB2YWx1ZXMgZm9yIHN0YXJ0IGFuZCBzdG9wIHZhbHVlcyB3aGVuIHNlZWtpbmcsCgkgIGFuZCBTRUVLX0NVUitTRUVLX0VORCBoZXJlIGFzIHdlbGwuCgoyMDA3LTAzLTEyIDE3OjI0OjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBGaXggaGFuZGxpbmcgb2YgLTEgdmFsdWVzIGZvciBzdGFydCBhbmQgc3RvcCB2YWx1ZXMgd2hlbiBzZWVraW5nLCBhbmQgU0VFS19DVVIrU0VFS19FTkQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3NyY3BhZF9ldmVudCk6CgkgIEZpeCBoYW5kbGluZyBvZiAtMSB2YWx1ZXMgZm9yIHN0YXJ0IGFuZCBzdG9wIHZhbHVlcyB3aGVuIHNlZWtpbmcsCgkgIGFuZCBTRUVLX0NVUitTRUVLX0VORC4KCjIwMDctMDMtMTIgMTU6NDk6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgUGF0Y2ggYnk6IGxpbmUgZm9yIHdpbSwgc2luY2UgaGUncyBhd2F5CgoyMDA3LTAzLTEyIDEzOjI4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEZpeCBwYXJzaW5nIG9mIElEMyB2Mi4yLjAgUElDIGZyYW1lcy4gT25seSBpbiB2ZXJzaW9uID49IDIuMy4wIGlzIHRoZSBpbWFnZSBmb3JtYXQgYSB2YXJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIEZpeCBwYXJzaW5nIG9mIElEMyB2Mi4yLjAgUElDIGZyYW1lcy4gT25seSBpbiB2ZXJzaW9uID49IDIuMy4wIGlzCgkgIHRoZSBpbWFnZSBmb3JtYXQgYSB2YXJpYWJsZS1sZW5ndGggTlVMLXRlcm1pbmF0ZWQgc3RyaW5nOyBpbgoJICB2ZXJzaW9ucyBiZWZvcmUgdGhhdCB0aGUgaW1hZ2UgZm9ybWF0IGlzIGEgZml4ZWQtbGVuZ3RoIHN0cmluZyBvZgoJICAzIGNoYXJhY3RlcnMgKHNlZSAjMzQ4NjQ0IGZvciBhIHNhbXBsZSB0YWcpLgoJICBBbHNvIG1ha2Ugc3VwcGxpZWQgbWltZSB0eXBlIGxvd2VyLWNhc2UgYW5kIGZpeCB1cCAnanBnJyB0byAnanBlZycuCgoyMDA3LTAzLTExIDIyOjIzOjA0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgoyMDA3LTAzLTEwIDE2OjA3OjMxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIG5ldyBwcm9qZWN0IGZpbGVzIHRvIE1BTklGRVNULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIG5ldyBwcm9qZWN0IGZpbGVzIHRvIE1BTklGRVNULgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMy0xMCAxMjozMDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFByaW50ZiBmb3JtYXQgZml4ZXM7IGFsc28gYWRkIHNvbWUgbWlzc2luZyBxdW90ZXMgaW4gdHJhbnNsYXRlZCBzdHJpbmdzLiBGaXhlcyAjNDE2NzI4IGFuZCAjNDE2NzI3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzOyBhbHNvIGFkZCBzb21lIG1pc3NpbmcgcXVvdGVzIGluIHRyYW5zbGF0ZWQKCSAgc3RyaW5ncy4gRml4ZXMgIzQxNjcyOCBhbmQgIzQxNjcyNy4KCjIwMDctMDMtMDkgMjA6MTI6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBUaW0gYW5kIEkgY2FuJ3QgdGhpbmsgb2YgYW55IHJlYXNvbiB0aGUgY2hpbGQgYXVkaW8gc2luayBuZWVkcyB0byBiZSBzZXQgYmFjayB0byBOLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgVGltIGFuZCBJIGNhbid0IHRoaW5rIG9mIGFueSByZWFzb24gdGhlIGNoaWxkIGF1ZGlvIHNpbmsgbmVlZHMgdG8KCSAgYmUgc2V0IGJhY2sgdG8gTlVMTCBhZnRlciBzdWNjZXNzZnVsbHkgZGV0ZXJtaW5pbmcgdGhhdCBpdCBjYW4KCSAgcmVhY2ggUkVBRFkgLSBpdCBnZXRzIGltbWVkaWF0ZWx5IHNldCBiYWNrIHRvIFJFQURZIGJ5IHRoZSBjYWxsZXIKCSAgYW55d2F5LCBjYXVzaW5nIGFuIHVubmVjZXNzYXJ5IGNsb3NlL29wZW4gb2YgYW55IGF1ZGlvIGRldmljZXMKCSAgaW52b2x2ZWQuCgoyMDA3LTAzLTA5IDE5OjUxOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vOiBBZGQgamEucG8gZmlsZSBmcm9tICMzNzczMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vamEucG86CgkgIEFkZCBqYS5wbyBmaWxlIGZyb20gIzM3NzMwNi4KCjIwMDctMDMtMDkgMTk6NDQ6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvc3VuYXVkaW8vOiBBY3R1YWxseSB0cmFuc2xhdGUgc3VuYXVkaW8gbWl4ZXIgdHJhY2sgbGFiZWxzIGluc3RlYWQgb2YganVzdCBtYXJraW5nIHRoZSBzdHJpbmdzIGFzIHRyYW5zbGF0YWJsZSAoIzMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgQWN0dWFsbHkgdHJhbnNsYXRlIHN1bmF1ZGlvIG1peGVyIHRyYWNrIGxhYmVscyBpbnN0ZWFkIG9mIGp1c3QKCSAgbWFya2luZyB0aGUgc3RyaW5ncyBhcyB0cmFuc2xhdGFibGUgKCMzNzczMDYpOyBjbGVhbiB1cCB3ZWlyZAoJICBsYWJlbCBzdHJpbmcgbWFwcGluZyBjb2RlIHRoYXQgc2VydmVzIG5vIGFwcGFyZW50IHB1cnBvc2UuIEFsc28KCSAgc2V0IHRoZSAndW50cmFuc2xhdGVkLWxhYmVsJyBwcm9wZXJ0eSB3aGVuIGNyZWF0aW5nIG1peGVyIHRyYWNrcwoJICBpZiB0aGUgR3N0TWl4ZXJUcmFjayBiYXNlIGNsYXNzIHN1cHBvcnRzIHRoaXMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdW5hdWRpby5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3VuYXVkaW9fc3VpdGUpOgoJICBWZXJ5IG1pbmltYWxpc3RpYyB1bml0IHRlc3QgZm9yIHN1bmF1ZGlvbWl4ZXIgZWxlbWVudCAoY29tcGlsZXMsIGJ1dCBub3QKCSAgYWN0dWFsbHkgdGVzdGVkIG9uIGEgc3lzdGVtIHdoZXJlIHN1bmF1ZGlvbWl4ZXIgaXMgYXZhaWxhYmxlKS4KCjIwMDctMDMtMDkgMTg6NDk6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IFJlLWVuYWJsZSB0aGUgc3RhdGVzIHRlc3QgYW5kIHNlZSBpZiBpdCB3b3JrcyBvbiB0aGUgYnVpbGRib3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmUtZW5hYmxlIHRoZSBzdGF0ZXMgdGVzdCBhbmQgc2VlIGlmIGl0IHdvcmtzIG9uIHRoZSBidWlsZGJvdHMuCgoyMDA3LTAzLTA5IDE3OjMyOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltQGZsdWVuZG8uY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLio6IEluZmVyIHBpeGVsLWFzcGVjdC1yYXRpbyBmcm9tIHRoZSB2aWRlbyBmcmFtZSBmb3JtYXQgaWYgaXQgaXNuJ3QgcHJvdmlkZWQgYnkgdGhlIGNvbnRhaW5lciwgYXMgaGFwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpLCAoZ3N0X2R2ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZHZkZWNfc3JjX25lZ290aWF0ZSksIChnc3RfZHZkZWNfY2hhaW4pLAoJICAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIEluZmVyIHBpeGVsLWFzcGVjdC1yYXRpbyBmcm9tIHRoZSB2aWRlbyBmcmFtZSBmb3JtYXQgaWYgaXQgaXNuJ3QKCSAgcHJvdmlkZWQgYnkgdGhlIGNvbnRhaW5lciwgYXMgaGFwcGVucyB3aGVuIHBsYXlpbmcgRFYgZnJvbSBBVkkKCSAgb3IgUXVpY2t0aW1lIGNvbnRhaW5lcnMuCgkgIFBhdGNoIGJ5OiBXaW0gVGF5bWFucyA8d2ltQGZsdWVuZG8uY29tPgoJICBGaXhlcyAjMzgwOTQ0CgoyMDA3LTAzLTA5IDE3OjA1OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBXaGVuIGFjdGl2YXRlZCwgcmVtb3ZlIHRoZSB1ZHBzcmMgdGltZW91dCwgd2UgaGF2ZSBkYXRhZmxvdyBhbmQgdGltZW91dHMgd2lsbCBsYXRlciBiZSBoYW5kbGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpOgoJICBXaGVuIGFjdGl2YXRlZCwgcmVtb3ZlIHRoZSB1ZHBzcmMgdGltZW91dCwgd2UgaGF2ZSBkYXRhZmxvdyBhbmQgdGltZW91dHMKCSAgd2lsbCBsYXRlciBiZSBoYW5kbGVkIGJ5IHRoZSBqaXR0ZXJidWZmZXIuCgoyMDA3LTAzLTA5IDE2OjUzOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogQWRkIHdyaXRlIHN1cHBvcnQgZm9yIEdTVF9UQUdfTVVTSUNCUkFJTlpfU09SVE5BTUUgKFRTT1ApIHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgQWRkIHdyaXRlIHN1cHBvcnQgZm9yIEdTVF9UQUdfTVVTSUNCUkFJTlpfU09SVE5BTUUgKFRTT1ApIHRhZy4KCSAgRml4ZXMgIzQxNDQ5Ni4KCjIwMDctMDMtMDkgMTU6MDQ6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBzdHJlYW0gcG9zaXRpb24gcmVwb3J0aW5nIGFmdGVyIGEgc2Vlay4gRml4ZXMgIzQxNjQ0NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBGaXggc3RyZWFtIHBvc2l0aW9uIHJlcG9ydGluZyBhZnRlciBhIHNlZWsuIEZpeGVzICM0MTY0NDUuCgoyMDA3LTAzLTA5IDA4OjU4OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogUmVmYWN0b3IgcGx1Z2luIGludG8gYSBiYXNlIGNsYXNzIGFuZCBhIGZpcnN0IHN1YmNsYXNzIChuYmFuZCBlcSkuIFRoZSBuYmFuZCBlcSB1c2VzIEdzdENoaWxkUHJveHkgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maW5hbGl6ZSksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgUmVmYWN0b3IgcGx1Z2luIGludG8gYSBiYXNlIGNsYXNzIGFuZCBhIGZpcnN0IHN1YmNsYXNzIChuYmFuZCBlcSkuIFRoZQoJICBuYmFuZCBlcSB1c2VzIEdzdENoaWxkUHJveHkgYW5kIGlzIGNvbnRyb2xhYmxlLiBNb3JlIHN1YmNsYXNzZXMgd2lsbAoJICBmb2xsb3cuCgoyMDA3LTAzLTA4IDE2OjAxOjQyICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNYWtlIGF2aWRlbXV4IGFjY2VwdCBvcHRpb25hbCBoZWFkZXIgY2h1bmtzIGluIGFueSBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgTWFrZSBhdmlkZW11eCBhY2NlcHQgb3B0aW9uYWwgaGVhZGVyIGNodW5rcyBpbiBhbnkgb3JkZXIuCgkgIEZpeGVzICM0MTU0NDYuCgoyMDA3LTAzLTA4IDEyOjIzOjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRoZSBzdGF0ZXMgY2hlY2sgdW50aWwgdGhlIHJlbWFpbmluZyBWYWxncmluZCBlcnJvcnMgYXJlIGZpeGVkIG9yIHN1cHByZXNzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHRoZSBzdGF0ZXMgY2hlY2sgdW50aWwgdGhlIHJlbWFpbmluZyBWYWxncmluZCBlcnJvcnMKCSAgYXJlIGZpeGVkIG9yIHN1cHByZXNzZWQuCgoyMDA3LTAzLTA4IDEwOjI0OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBBZGQgYXVkaW9keW5hbWljIGNoZWNrIHRvIC5jdnNpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIGF1ZGlvZHluYW1pYyBjaGVjayB0byAuY3ZzaWdub3JlCgoyMDA3LTAzLTA4IDEwOjAyOjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBuZXcgYXVkaW9keW5hbWljIGVsZW1lbnQgd2hpY2ggY2FuIGFjdCBhcyBhIGNvbXByZXNzb3Igb3IgZXhwYW5kZXIuIFN1cHBvcnRlZCBhcmUgaGFyZC1rbmVlIGFuZCBzb2YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfY2hhcmFjdGVyaXN0aWNzX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19keW5hbWljX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfYmFzZV9pbml0KSwgKGdzdF9hdWRpb19keW5hbWljX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfaW5pdCksIChnc3RfYXVkaW9fZHluYW1pY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19keW5hbWljX3NldHVwKSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9oYXJkX2tuZWVfY29tcHJlc3Nvcl9pbnQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9jb21wcmVzc29yX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9zb2Z0X2tuZWVfY29tcHJlc3Nvcl9pbnQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX3NvZnRfa25lZV9jb21wcmVzc29yX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9oYXJkX2tuZWVfZXhwYW5kZXJfaW50KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9oYXJkX2tuZWVfZXhwYW5kZXJfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX3NvZnRfa25lZV9leHBhbmRlcl9pbnQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX3NvZnRfa25lZV9leHBhbmRlcl9mbG9hdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBhdWRpb2R5bmFtaWMgZWxlbWVudCB3aGljaCBjYW4gYWN0IGFzIGEgY29tcHJlc3NvciBvcgoJICBleHBhbmRlci4gU3VwcG9ydGVkIGFyZSBoYXJkLWtuZWUgYW5kIHNvZnQta25lZSBvcGVyYXRpb24gbW9kZXMgd2l0aAoJICB1c2VyLXNwZWNpZmllZCByYXRpbyBhbmQgdGhyZXNob2xkLgoJICBBdHRhY2sgYW5kIHJlbGVhc2UgcGFyYW1ldGVycyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZCBidXQgd2lsbCBmb2xsb3cuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIEludGVncmF0ZSBhdWRpb2R5bmFtaWMgaW50byB0aGUgZG9jcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzogKHNldHVwX2R5bmFtaWMpLAoJICAoY2xlYW51cF9keW5hbWljKSwgKEdTVF9TVEFSVF9URVNUKSwgKGR5bmFtaWNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGF1ZGlvZHluYW1pYy4KCjIwMDctMDMtMDcgMTk6NDg6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IEZyZWUgaGFuZGxlcyB0aGF0IHdlIGFsbG9jYXRlZCB3aGVuIGV4aXRpbmcgdmlhIHRoZSBlcnJvciBwYXRocy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX3N0YXJ0KToKCSAgRnJlZSBoYW5kbGVzIHRoYXQgd2UgYWxsb2NhdGVkIHdoZW4gZXhpdGluZyB2aWEgdGhlIGVycm9yIHBhdGhzLgoKMjAwNy0wMy0wNyAxMjowNzowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBVc2UgYSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgZm9yIGNvbW1vbiBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJICBVc2UgYSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgZm9yIGNvbW1vbiBjb2RlLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19hYnMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX3JlbCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3dyaXRlX2J5dGVzKToKCSAgVXNlIHRoZSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgaGVyZSB0b28gYW5kIGFkZCBkZWJ1ZwoJICBvdXRwdXQgdG8gdGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBub3QgYmUgY2FsbGVkIGF0IGFsbCBieQoJICB0aGUgd2F2cGFjayBsaWJyYXJ5LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgQ2hhbmdlIGRlYnVnZ2luZyBjYXRlZ29yeSBuYW1lcyB0byBjb25mb3JtIHRvIHRoZSBjb252ZW50aW9ucy4KCjIwMDctMDMtMDcgMTE6Mzc6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFNoYXJlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgYWNyb3NzIGFsbCBmaWxlcywgb3RoZXJ3aXNlIGFsbCBkZWJ1Z2dpbmcgaW4gZmlsZXMgb3RoZXIgdGhhbiBxdGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZwoJICBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZGVtdXguYyB3b3VsZCBlbmQgdXAgaW4gdGhlIGRlZmF1bHQgY2F0ZWdvcnkuCgoyMDA3LTAzLTA3IDExOjI0OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogUmVzb2x2ZSBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfbGV2ZWxfc2V0X2NhcHMpLCAoZ3N0X2xldmVsX3N0YXJ0KSwgKGdzdF9sZXZlbF9ldmVudCksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgUmVzb2x2ZSBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sgc2VnbWVudC4KCjIwMDctMDMtMDcgMTE6MjM6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBPbmUgRklYTUUgbGVzcywgYnkgcmVzb2x2aW5nIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fZXZlbnQpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrCgkgIHNlZ21lbnQuCgoyMDA3LTAzLTA2IDIzOjIxOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBGaXggQ2hhbmdlTG9nIG1lc3NhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBDaGFuZ2VMb2cgbWVzc2FnZQoKMjAwNy0wMy0wNiAyMzoxOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCBsZWFrIGNhcHM6IG1ha2UgZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQoKSBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGNhcHMgcGFzc2VkIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgRG9uJ3QgbGVhayBjYXBzOiBtYWtlIGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKCkgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZQoJICBjYXBzIHBhc3NlZCB0byBpdCAocHJldmlvdXNsbHkgb25lIGNvZGUgcGF0aCBhc3N1bWVzIGl0IHRha2VzIG93bmVyc2hpcAoJICB3aGlsZSBhbm90aGVyIG9uZSBhc3N1bWVzIGl0IGRvZXNuJ3QpLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9maWxlcy9pZDMtNDA3MzQ5LTEudGFnOgoJICAqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMi50YWc6CgkgIEFkZCBkaXJlY3Rvcnkgd2hlcmUgZGF0YSBmb3IgdW5pdCB0ZXN0cyBjYW4gYmUgc3RvcmVkLgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzogKHBhZF9hZGRlZF9jYiksIChlcnJvcl9jYiksCgkgIChyZWFkX3RhZ3NfZnJvbV9maWxlKSwgKHJ1bl9jaGVja19mb3JfZmlsZSksCgkgIChjaGVja19kYXRlXzE5NzdfMDZfMjMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaWQzZGVtdXhfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBpZDNkZW11eCwgYW5kIGluIHBhcnRpY3VsYXIgZm9yIGJ1ZyAjNDA3MzQ5LiBPbmx5CgkgIHRlc3RpbmcgcHVsbC1tb2RlIGZvciBub3c7IHB1c2ggbW9kZSBkb2Vzbid0IHdvcmsgeWV0IGJlY2F1c2UgdGhlIHRlc3QKCSAgZmlsZXMgYXJlIHNtYWxsZXIgdGhhbiBJRDNfVFlQRV9GSU5EX01JTl9TSVpFLgoKMjAwNy0wMy0wNiAyMjoxNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBiYWNrc2xhc2ggYXQgZW5kIG9mIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBiYWNrc2xhc2ggYXQgZW5kIG9mIGxpbmUuCgoyMDA3LTAzLTA2IDE4OjM2OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJICBUcmlnZ2VyIHJlYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUcmlnZ2VyIHJlYnVpbGQuCgoyMDA3LTAzLTA2IDE4OjE2OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogRG8gbm90IGNvbnZlcnQgb2Jzb2xldGUgVERBL1REQVQgZnJhbWVzIHRvIFREUkMgZnJhbWVzLCBvdGhlcndpc2UgdGhlIGZvdXItZGlnaXQgbnVtYmVyIHdpbGwgYmUgaW50ZXJwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9vYnNvbGV0ZV90ZGF0X2ZyYW1lKToKCSAgRG8gbm90IGNvbnZlcnQgb2Jzb2xldGUgVERBL1REQVQgZnJhbWVzIHRvIFREUkMgZnJhbWVzLCBvdGhlcndpc2UKCSAgdGhlIGZvdXItZGlnaXQgbnVtYmVyIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYXMgYSB5ZWFyLCB3aGVyZWFzIGl0IGlzCgkgIG1vbnRoIGFuZCBkYXkgaW4gRERNTSBmb3JtYXQuIEluc3RlYWQsIHBhcnNlIFREQVQgZnJhbWVzIGFuZCBmaXggdXAKCSAgdGhlIGRhdGUgaW4gdGhlIEdTVF9UQUdfREFURSB0YWcgbGF0ZXIgaWYgd2UgYWxzbyBleHRyYWN0ZWQgYSB5ZWFyLgoJICBGaXhlcyAjNDA3MzQ5LgoKMjAwNy0wMy0wNiAxNDo1MzowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBGaXggdXAgdGhlIGRpc3Bvc2UgbG9naWMgc28gaXQgZG9lc24ndCBsZWFrLCBhbmQgZml4IHNldHRpbmcgb2YgdGhlIGNoaWxkIHN0YXRlIHNvIHRoYXQgd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpOgoJICBGaXggdXAgdGhlIGRpc3Bvc2UgbG9naWMgc28gaXQgZG9lc24ndCBsZWFrLCBhbmQgZml4IHNldHRpbmcgb2YKCSAgdGhlIGNoaWxkIHN0YXRlIHNvIHRoYXQgd2UgZG9uJ3Qgc2V0IGEgY2hpbGQgdG8gb3VyIGN1cnJlbnQgc3RhdGUKCSAganVzdCBhcyB3ZSBhcmUgY2hhbmdpbmcgaXQgdG8gc29tZXRoaW5nIGVsc2UuCgoyMDA3LTAzLTA2IDEzOjU3OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggYW5kIGNsZWFudXAgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIEFkZCBGSVhNRXMgZm9yIHN0dWZmIHRoYXQgbG9va3MgcmF0aGVyIHdyb25nLgoKMjAwNy0wMy0wNiAxMzoyMToyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2dzdGdvb20uKjogRG9jdW1lbnQsIGZpeCBhbmQgaW1wcm92ZSBnb29tIGFkYXB0ZXIgYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksIChnZXRfYnVmZmVyKSwKCSAgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIERvY3VtZW50LCBmaXggYW5kIGltcHJvdmUgZ29vbSBhZGFwdGVyIGJlaGF2aW91ci4KCSAgRml4ZXMgIzQwNzAwNi4KCjIwMDctMDMtMDUgMTg6NDM6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFVucmVmIHN0YXRpYyBwYWQgdGVtcGxhdGUgYWZ0ZXIgdXNpbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfb3Blbik6CgkgIFVucmVmIHN0YXRpYyBwYWQgdGVtcGxhdGUgYWZ0ZXIgdXNpbmcgaXQuCgoyMDA3LTAzLTA1IDE3OjE3OjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IEZpeCB1cCB0aGUgcmVmZXJlbmNlIGNvdW50aW5nIG9mIHRoZSBjaGlsZCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpOgoJICBGaXggdXAgdGhlIHJlZmVyZW5jZSBjb3VudGluZyBvZiB0aGUgY2hpbGQgZWxlbWVudHMuCgoyMDA3LTAzLTA1IDE3OjA4OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBlbmNvZGluZy1uYW1lIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgRml4IGVuY29kaW5nLW5hbWUgY2FzZS4KCjIwMDctMDMtMDUgMTY6Mzk6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IHNwZWV4IChkZSlwYXlsb2FkZXIuIEZpeGVzICMzNTgwNDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfZ2V0X21vZGUpLCAoZ3N0X3J0cF9zcGVleF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zcGVleF9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3NwZWV4X3BheV9wYXJzZV9pZGVudCksIChnc3RfcnRwX3NwZWV4X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfc3BlZXhfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICBGaXggc3BlZXggKGRlKXBheWxvYWRlci4gRml4ZXMgIzM1ODA0MC4KCjIwMDctMDMtMDUgMTU6NDI6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogSW5zdGFsbCBmYWtlc2luayBpbiBOVUxMIGJ5IGZpeGluZyBzb21lIGJyb2tlbiBsb2dpYy4gVGhpcyBvYnZpYXRlcyB0aGUgbmVlZCB0byBtYW51YWxseSBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCksIChnc3Rfc3dpdGNoX3Npbmtfc2V0X2NoaWxkKToKCSAgSW5zdGFsbCBmYWtlc2luayBpbiBOVUxMIGJ5IGZpeGluZyBzb21lIGJyb2tlbiBsb2dpYy4gVGhpcyBvYnZpYXRlcwoJICB0aGUgbmVlZCB0byBtYW51YWxseSBzZXQgX0lTX1NJTksuCgkgIEFkZCBzb21lIGNvbW1lbnRzIGFuZCByZW1vdmUgYSBsaXR0bGUgY3J1ZnQgd2hpbGUgSSdtIGF0IGl0LgoKMjAwNy0wMy0wNSAxNDo0Njo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IE1hcmsgdXMgYXMgYSBzaW5rIHdoZW4gd2UgaGF2ZSBubyBmYWtlc2luayBpbiBOVUxMLiBGaXhlcyAjNDE0ODg3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KToKCSAgTWFyayB1cyBhcyBhIHNpbmsgd2hlbiB3ZSBoYXZlIG5vIGZha2VzaW5rIGluIE5VTEwuIEZpeGVzICM0MTQ4ODcuCgoyMDA3LTAzLTA1IDA4OjMwOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgIFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCjIwMDctMDMtMDQgMTg6NTI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogVXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgVXBkYXRlLgoKMjAwNy0wMy0wNCAxNzozMzozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogR2FoISBBbHNvIGRpc2FibGUgZ2NvbmZ2aWRlb3NpbmsgZnJvbSB0aGUgdGVzdHMsIG90aGVyd2lzZSBpdCB3aWxsIGluc3RhbnRpYXRlIGF1dG92aWRlb3NpbmsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEdhaCEgQWxzbyBkaXNhYmxlIGdjb25mdmlkZW9zaW5rIGZyb20gdGhlIHRlc3RzLCBvdGhlcndpc2UKCSAgaXQgd2lsbCBpbnN0YW50aWF0ZSBhdXRvdmlkZW9zaW5rLCBhbmQgZGZidmlkZW9zaW5rIGFuZAoJICBsZWFrIG9uIHRoZSBidWlsZGJvdHMuCgoyMDA3LTAzLTA0IDE3OjEzOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IE1ha2Ugc3VyZSB3ZSBhbHdheXMgZGVzdHJveSBvdXIgbGliY2RpbyBoYW5kbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKSwKCSAgKGdzdF9jZGlvX2NkZGFfc3JjX2ZpbmFsaXplKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBkZXN0cm95IG91ciBsaWJjZGlvIGhhbmRsZS4KCjIwMDctMDMtMDQgMTc6MDU6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYXV0b3ZpZGVvc2luayBzbyB0aGUgYnVpbGRib3RzIGRvbid0IGJhcmYgb3ZlciBtZW1vcnkgbGVha2VkIGluIHRoZSBkaXJlY3RmYiBzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBhdXRvdmlkZW9zaW5rIHNvIHRoZSBidWlsZGJvdHMgZG9uJ3QgYmFyZiBvdmVyIG1lbW9yeQoJICBsZWFrZWQgaW4gdGhlIGRpcmVjdGZiIHNpbmsuCgoyMDA3LTAzLTA0IDE1OjI4OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IENoYWluIHVwIGluIGRpc3Bvc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX2Rpc3Bvc2UpOgoJICBDaGFpbiB1cCBpbiBkaXNwb3NlCgoyMDA3LTAzLTA0IDE1OjA3OjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2Ygc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSk6CgkgIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSBpbnN0ZWFkIG9mCgkgIHN0YXRpY19wYWRfdGVtcGxhdGVfZ2V0K3BhZF9uZXcuCgoyMDA3LTAzLTA0IDE0OjU2OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IENhdGNoIHRoZSBjYXNlIHdoZXJlIG5vIGNsb2NrIGhhcyBiZWVuIHNldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX2NyZWF0ZSk6CgkgIENhdGNoIHRoZSBjYXNlIHdoZXJlIG5vIGNsb2NrIGhhcyBiZWVuIHNldC4KCjIwMDctMDMtMDQgMTM6NTI6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGEgYnVuY2ggb2YgbGVha3Mgc2hvd24gYnkgdGhlIG5ld2x5LWFkZGVkIHN0YXRlcyB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfZmluYWxpemUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19kaXNwb3NlKSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2ZpbmFsaXplKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jbGFzc19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2ZpbmFsaXplKSwgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zaW5rX2ZpbmFsaXplKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19jbGFzc19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zcmNfZGlzcG9zZSksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2ZpbmFsaXplKSwgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KSwgKGdzdF9zd2l0Y2hfc2lua19zZXRfY2hpbGQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2luaXQpLCAoZ3N0X3Nob3V0MnNlbmRfZmluYWxpemUpOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6IChnc3RfdGVzdF9jbGFzc19pbml0KSwKCSAgKGdzdF90ZXN0X2ZpbmFsaXplKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9mbHhkZWNfZGlzcG9zZSk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZmluYWxpemUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19mcmVlX2NvbnRleHQpOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9zbXB0ZV9maW5hbGl6ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfZmluYWxpemUpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc2lua19maW5hbGl6ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfZmluYWxpc2UpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc3JjX2ZpbmFsaXplKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3RfZGVzdHJveSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfZmluYWxpemUpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgRml4IGEgYnVuY2ggb2YgbGVha3Mgc2hvd24gYnkgdGhlIG5ld2x5LWFkZGVkIHN0YXRlcyB0ZXN0LgoKMjAwNy0wMy0wNCAxMzo0MTowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuYzogVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2Ygc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCk6CgkgIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSBpbnN0ZWFkIG9mCgkgIHN0YXRpY19wYWRfdGVtcGxhdGVfZ2V0K3BhZF9uZXcuCgoyMDA3LTAzLTAzIDEzOjA2OjIxICswMDAwICBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWVAdmlhLmVjcC5mcj4KCgkgIERvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMgKCM0MTQxNjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExvw69jIE1pbmllciA8bG9vbCtnbm9tZSBhdCB2aWEgZWNwIGZyPgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcyAoIzQxNDE2OCkuCgoyMDA3LTAzLTAyIDIxOjM1OjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9nZW5lcmljLy5jdnNpZ25vcmU6IElnbm9yZSBmaWxlcyB0byBwbGVhc2UgYnVpbGRib3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvLmN2c2lnbm9yZToKCSAgSWdub3JlIGZpbGVzIHRvIHBsZWFzZSBidWlsZGJvdC4KCjIwMDctMDMtMDIgMjE6MDE6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVbmJyZWFrIG15IHByZXZpb3VzIGNvbW1pdCAoc3dhcHBlZCBub21pbmF0b3IgJiBkZW5vbWluYXRvcikuIFRpbSwgdGhhbmtzIGZvciBzcG90dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgVW5icmVhayBteSBwcmV2aW91cyBjb21taXQgKHN3YXBwZWQgbm9taW5hdG9yICYgZGVub21pbmF0b3IpLiBUaW0sCgkgIHRoYW5rcyBmb3Igc3BvdHRpbmcuCgoyMDA3LTAzLTAyIDE2OjA4OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogU21hbGwgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX3Byb2JlX2RldmljZXMpLAoJICAoZ3N0X2NkaW9fY2RkYV9zcmNfcmVhZF9zZWN0b3IpLCAoZ3N0X2NkaW9fY2RkYV9zcmNfb3BlbiksCgkgIChnc3RfY2Rpb19jZGRhX3NyY19maW5hbGl6ZSk6CgkgIFNtYWxsIGNvZGUgY2xlYW51cHMuCgkgIERvbid0IHVzZSBwYWRfYWxsb2MgYXMgdGhlIGJhc2UgY2xhc3MgY2Fubm90IGRlYWwgd2l0aCB0aGUgZXJyb3IgY29kZXMuCgoyMDA3LTAzLTAyIDEzOjQwOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IGRvYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEZpeCBkb2MuCgoyMDA3LTAzLTAyIDEzOjI5OjI1ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSByb3VuZGluZyBiZXR0ZXIgdG8gbm90IGRyb3AgbGFzdCBzYW1wbGUgZnJhbWUuIEZpeGVzICMzNTY2OTIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIEhhbmRsZSByb3VuZGluZyBiZXR0ZXIgdG8gbm90IGRyb3AgbGFzdCBzYW1wbGUgZnJhbWUuIEZpeGVzICMzNTY2OTIKCjIwMDctMDMtMDIgMTM6MTk6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgY2FjYXNpbmsgZnJvbSB0aGUgc3RhdGVzIGNoZWNrIHRvbyAtIGl0IGFsc28gY2FsbHMgZXhpdCgxKSBvbiB1cyB3aGVuIGl0IGNhbid0IGZpbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGNhY2FzaW5rIGZyb20gdGhlIHN0YXRlcyBjaGVjayB0b28gLSBpdCBhbHNvIGNhbGxzIGV4aXQoMSkKCSAgb24gdXMgd2hlbiBpdCBjYW4ndCBmaW5kIGEgdGVybWluYWwgdG8gdGFsayB0by4KCjIwMDctMDMtMDIgMTI6NTY6MTMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGQgc3VwcG9ydCB0byBzdHJpcCBwcm9wcmlldGFyeSBoZWFkZXJzLiBGaXhlcyAjMzUwMjk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBBZGQgc3VwcG9ydCB0byBzdHJpcCBwcm9wcmlldGFyeSBoZWFkZXJzLiBGaXhlcyAjMzUwMjk2LgoKMjAwNy0wMy0wMiAxMjo1Mjo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwNy0wMy0wMiAxMjoxNjoxNiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lio6IEFkZCBzdXBwb3J0IHRvIHN0cmlwIG9mZiBwcm9wcmlldGFyeSBoZWFkZXJzLiBGaXhlcyAjMzUwMjc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkgIEFkZCBzdXBwb3J0IHRvIHN0cmlwIG9mZiBwcm9wcmlldGFyeSBoZWFkZXJzLiBGaXhlcyAjMzUwMjc4LgoKMjAwNy0wMy0wMiAxMToyMjozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9oYWwvaGFsLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9oYWwuYzoKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwNy0wMy0wMiAxMDo1NDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy4qOiBSZW1vdmUgZGV2aWNlLW5hbWUgZnJvbSBHc3RTdW5BdWRpb1NyYy4gRml4ZXMgIzQxMjU5Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zcmNfaW5pdCksIChnc3Rfc3VuYXVkaW9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgUmVtb3ZlIGRldmljZS1uYW1lIGZyb20gR3N0U3VuQXVkaW9TcmMuIEZpeGVzICM0MTI1OTcuCgoyMDA3LTAzLTAxIDIxOjUwOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvaGFsLzogSGF2aW5nIE5VTEwgYXMgVURJIHByZXZpb3VzbHkgc2VsZWN0ZWQgdGhlIGRlZmF1bHQgc2luay9zcmMuIENoYW5nZSB0aGlzIGJhY2sgYnV0IG1lbnRpb24gaXQgaW4gdGhlIGRlYnVnIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChkb190b2dnbGVfZWxlbWVudCk6CgkgIEhhdmluZyBOVUxMIGFzIFVESSBwcmV2aW91c2x5IHNlbGVjdGVkIHRoZSBkZWZhdWx0IHNpbmsvc3JjLiBDaGFuZ2UKCSAgdGhpcyBiYWNrIGJ1dCBtZW50aW9uIGl0IGluIHRoZSBkZWJ1ZyBvdXRwdXQuCgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X2Fsc2FfZWxlbWVudCksCgkgIChnc3RfaGFsX2dldF9vc3NfZWxlbWVudCksIChnc3RfaGFsX2dldF9zdHJpbmcpLAoJICAoZ3N0X2hhbF9yZW5kZXJfYmluX2Zyb21fdWRpKSwgKGdzdF9oYWxfZ2V0X2F1ZGlvX3NpbmspLAoJICAoZ3N0X2hhbF9nZXRfYXVkaW9fc3JjKToKCSAgKiBleHQvaGFsL2hhbC5oOgoJICBSZWZhY3RvciBhIGJpdCwgY2hlY2sgYWxsIGVycm9yIGNvbmRpdGlvbnMsIGdyZWF0bHkgaW1wcm92ZSBkZWJ1Z2dpbmcKCSAgYW5kIGZpeCBzb21lIHBvc3NpYmxlIG1lbW9yeSBsZWFrcy4gQWxzbyBpbXBsZW1lbnQgT1NTIHN1cHBvcnQKCSAgYW5kIGFsbG93IHNwZWNpZnlpbmcgYW4gVURJIHRoYXQgcG9pbnRzIHRvIGEgcmVhbCBkZXZpY2UuIEZvciB0aGlzIHRoZQoJICBjaGlsZCBkZXZpY2Ugd2hpY2ggc3VwcG9ydHMgQUxTQSAocHJlZmVycmVkKSBvciBPU1MgaXMgdXNlZC4KCSAgQXMgYSBzaWRlIGVmZmVjdCB0aGlzIG1ha2VzIGl0IGltcG9zc2libGUgbm93IHRvIGdldCBhIGFsc2FzaW5rIGluCgkgIGhhbGF1ZGlvc3JjIGFuZCBhIGFsc2FzcmMgaW4gaGFsYXVkaW9zaW5rLgoKMjAwNy0wMy0wMSAxODo0NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRXJyb3JzIGZyb20gdGhlIHVkcCBzb3VyY2VzIGFyZSBub3QgZmF0YWwgdW5sZXNzIGFsbCBvZiB0aGVtIGFyZSBpbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfY2hhbm5lbCksCgkgIChmaW5kX3N0cmVhbV9ieV91ZHBzcmMpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICBFcnJvcnMgZnJvbSB0aGUgdWRwIHNvdXJjZXMgYXJlIG5vdCBmYXRhbCB1bmxlc3MgYWxsIG9mIHRoZW0gYXJlIGluCgkgIGVycm9yLgoKMjAwNy0wMy0wMSAxODoxNDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhYXNpbmsgaW4gdGhlIHN0YXRlcyB0ZXN0LiBJIHN1c3BlY3QgdGhpcyBpcyB0aGUgZWxlbWVudCB0aGF0IGlzIGNhbGxpbmcgZXhpdCgxKSB3aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgYWFzaW5rIGluIHRoZSBzdGF0ZXMgdGVzdC4gSSBzdXNwZWN0IHRoaXMgaXMgdGhlIGVsZW1lbnQgdGhhdAoJICBpcyBjYWxsaW5nIGV4aXQoMSkgd2hlbiBpdCBjYW4ndCBwcm9jZWVkLgoKMjAwNy0wMy0wMSAxNzoyNjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuIHBpY2tpbmcgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERyYXcgcGx1Z2lucyBpbiBmcm9tIHRoZSBidWlsZCB0cmVlIHN5cy8gZGlyLCByYXRoZXIgdGhhbiBwaWNraW5nCgkgIHVwIHRoZSBhbHJlYWR5IGluc3RhbGxlZCB2ZXJzaW9ucy4KCjIwMDctMDMtMDEgMTA6NDQ6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBFcnJvciBvdXQgY29ycmVjdGx5IHdoZW4gZ2V0dGluZyB4Y29udGV4dCBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDMtMDEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfb3Blbl9kaXNwbGF5KToKCSAgRXJyb3Igb3V0IGNvcnJlY3RseSB3aGVuIGdldHRpbmcgeGNvbnRleHQgZmFpbHMuCgoyMDA3LTAzLTAxIDA5OjI5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IE1ha2Ugc3RhdGUgY2hhbmdlIHRvIFBBVVNFRCBOT19QUkVST0xMIGJlY2F1c2UgdGhhdCdzIHdoYXQgaXQgd2lsbCBiZSBpbiB0aGUgZnV0dXJlIGFuZCBydHNwc3JjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIHN0YXRlIGNoYW5nZSB0byBQQVVTRUQgTk9fUFJFUk9MTCBiZWNhdXNlIHRoYXQncyB3aGF0IGl0IHdpbGwgYmUgaW4KCSAgdGhlIGZ1dHVyZSBhbmQgcnRzcHNyYyByZWxpZXMgb24gaXQuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgZXJyb3Igb3V0IHdoZW4gd2UgZG9uJ3QgZ2V0IGFuIGVycm9yIGZyb20gdGhlIHN0YXRlIGNoYW5nZQoJICBmdW5jdGlvbi4KCjIwMDctMDMtMDEgMDE6NDg6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9oYWwvOiBDaGVjayBpZiB0aGUgZGV2aWNlIFVESSBpcyBzZXQgYmVmb3JlIHRyeWluZyB0byBxdWVyeSBIQUwgYWJvdXQgaXQgYW5kIGdpdmUgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSBpZiBpdCB3YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgQ2hlY2sgaWYgdGhlIGRldmljZSBVREkgaXMgc2V0IGJlZm9yZSB0cnlpbmcgdG8gcXVlcnkgSEFMCgkgIGFib3V0IGl0IGFuZCBnaXZlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgaWYgaXQgd2Fzbid0IHNldC4KCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfc3RyaW5nKToKCSAgRG9uJ3QgcXVlcnkgSEFMIGZvciBOVUxMIFVESXMuIFBhc3NpbmcgTlVMTCBhcyBVREkgdG8gSEFMCgkgIGdpdmVzIGFuIGFzc2VydGlvbiBmYWlsdXJlIGluIEQtQnVzIHdoZW4gcnVubmluZyB3aXRoCgkgIERCVVNfRkFUQUxfV0FSTklOR1M9MS4KCjIwMDctMDItMjggMTk6Mjk6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgY29uZmlnIHRvIHRydW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29uZmlnIHRvIHRydW5rCgoyMDA3LTAyLTI4IDE5OjI5OjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCjIwMDctMDItMjggMTI6NTk6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBhZGQgdGVzdCBmb3Igc3RhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6IChHU1RfU1RBUlRfVEVTVCksIChzdGF0ZXNfc3VpdGUpOgoJICBhZGQgdGVzdCBmb3Igc3RhdGVzCgoyMDA3LTAyLTI4IDEwOjU4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQWRkIG5ldyB2aWRlb2ZpbHRlciBjaGVjayB0byAuY3ZzaWdub3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgbmV3IHZpZGVvZmlsdGVyIGNoZWNrIHRvIC5jdnNpZ25vcmUuCgoyMDA3LTAyLTI4IDEwOjU0OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggY29tYmluZWQgZmxvdyByZXR1cm4uIEZpeGVzICM0MTI2MDguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCksIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgRml4IGNvbWJpbmVkIGZsb3cgcmV0dXJuLiBGaXhlcyAjNDEyNjA4LgoKMjAwNy0wMi0yOCAxMDo0MToxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbTogRGlzdCBoZWFkZXIuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgIERpc3QgaGVhZGVyLi4KCjIwMDctMDItMjggMTA6Mjk6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDogQWRkIGhlYWRlciB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJICBBZGQgaGVhZGVyIHRvby4KCjIwMDctMDItMjggMTA6MTc6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvdmlkZW9maWx0ZXIvOiBQb3J0IGdhbW1hIGZpbHRlciB0byAwLjEwLiBGaXhlcyAjNDEyNzA0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOiAoZ3N0X2dhbW1hX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2FtbWFfY2xhc3NfaW5pdCksIChnc3RfZ2FtbWFfaW5pdCksIChnc3RfZ2FtbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nYW1tYV9nZXRfcHJvcGVydHkpLCAoZ3N0X2dhbW1hX2NhbGN1bGF0ZV90YWJsZXMpLAoJICAob2lsX3RhYmxlbG9va3VwX3U4KSwgKGdzdF9nYW1tYV9zZXRfY2FwcyksCgkgIChnc3RfZ2FtbWFfcGxhbmFyNDExX2lwKSwgKGdzdF9nYW1tYV90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICBQb3J0IGdhbW1hIGZpbHRlciB0byAwLjEwLiBGaXhlcyAjNDEyNzA0LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6IChzZXR1cF9maWx0ZXIpLAoJICAoY2xlYW51cF9maWx0ZXIpLCAoY2hlY2tfZmlsdGVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvYmFsYW5jZV9zdWl0ZSksICh2aWRlb2ZsaXBfc3VpdGUpLCAoZ2FtbWFfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB2aWRlb2ZpbHRlcnMuCgoyMDA3LTAyLTI4IDEwOjA2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIGFub3RoZXIgaW50ZXJlc3RpbmcgdGVzdCB1cmwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBhbm90aGVyIGludGVyZXN0aW5nIHRlc3QgdXJsLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlcik6CgkgIERvbid0IGFsbG93IGdldHRpbmcgaGVhZGVyIGZpZWxkcyBmcm9tIGRhdGEgcGFja2V0cy4KCjIwMDctMDItMjcgMjM6NDM6MDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLio6IEFkZCBhIHByb3BlcnR5IGZvciB1c2VybmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9zdGFydCksCgkgIChnc3Rfc2hvdXQyc2VuZF9zZXRfcHJvcGVydHkpLCAoZ3N0X3Nob3V0MnNlbmRfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBBZGQgYSBwcm9wZXJ0eSBmb3IgdXNlcm5hbWUuCgoyMDA3LTAyLTI3IDEyOjAyOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCjIwMDctMDItMjcgMTE6NTk6MjEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50CgoyMDA3LTAyLTI3IDExOjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5CgkgIG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIHdpdGhpbiBhbiBOU0FwcCAod2hpY2ggaGFzIGFscmVhZHkgZ290CgkgIGEgY29jYSBldmVudCBsb29wKS4KCSAgUmVtb3ZlIGFsbCB1bnVzZWQgY29kZS4KCjIwMDctMDItMjYgMTI6MDc6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvTWFrZWZpbGUuYW06IEZpeCBtYWtlIGNoZWNrIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgIEZpeCBtYWtlIGNoZWNrIHRvby4KCjIwMDctMDItMjYgMTA6MDA6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvYmFzZTY0Lio6IENvbW1pdCBtaXNzaW5nIGZpbGVzIGZvciBiYXNlNjQgZW5jb2RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2Jhc2U2NC5jOiAodXRpbF9iYXNlNjRfZW5jb2RlKToKCSAgKiBnc3QvcnRzcC9iYXNlNjQuaDoKCSAgQ29tbWl0IG1pc3NpbmcgZmlsZXMgZm9yIGJhc2U2NCBlbmNvZGluZy4KCjIwMDctMDItMjQgMjI6NTc6NDkgKzAwMDAgIExvw69jIE1pbmllciA8bG9vbCtnbm9tZUB2aWEuZWNwLmZyPgoKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnICgjNDEwOTk3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExvw69jIE1pbmllciA8bG9vbCtnbm9tZSBhdCB2aWEgZWNwIGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycgKCM0MTA5OTcpCgoyMDA3LTAyLTI0IDIyOjUyOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgoyMDA3LTAyLTIzIDE5OjEyOjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwLzogZ19iYXNlNjRfZW5jb2RlIGlzIGEgR0xpYiAyLjEyIGZ1bmN0aW9uLiBVc2UgYW4gZXF1aXZhbGVudCB0YWtlbiBmcm9tIGljZWNhc3QgdG8gcmVwbGFjZSBpdC4gUmVsaWNlbnNlZCBmci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoYXBwZW5kX2F1dGhfaGVhZGVyKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9zZXRfYXV0aCk6CgkgIGdfYmFzZTY0X2VuY29kZSBpcyBhIEdMaWIgMi4xMiBmdW5jdGlvbi4gVXNlIGFuIGVxdWl2YWxlbnQgdGFrZW4KCSAgZnJvbSBpY2VjYXN0IHRvIHJlcGxhY2UgaXQuIFJlbGljZW5zZWQgZnJvbSBHUEwgY291cnRlc3kgb2YgTWlrZQoJICBTbWl0aC4KCjIwMDctMDItMjMgMTg6MTI6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvOiBJbXBsZW1lbnQgc2ltcGxlIEJhc2ljIEF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgc28gdGhhdCB1cmxzIGxpa2UgcnRzcDovL3VzZXI6cGFzc0Bob3N0bmFtZS9ydHNwc3RyZWFtIHdvcmsgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAocnRzcF9hdXRoX21ldGhvZF90b19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKGFwcGVuZF9hdXRoX2hlYWRlciksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSksIChydHNwX2Nvbm5lY3Rpb25fc2V0X2F1dGgpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9nZXRfcmVxdWVzdF91cmkpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgSW1wbGVtZW50IHNpbXBsZSBCYXNpYyBBdXRoZW50aWNhdGlvbiBzdXBwb3J0IHNvIHRoYXQgdXJscyBsaWtlCgkgIHJ0c3A6Ly91c2VyOnBhc3NAaG9zdG5hbWUvcnRzcHN0cmVhbSB3b3JrIG9uIGhvc3RzIHRoYXQgcmVxdWlyZQoJICBhdXRoZW50aWNhdGlvbi4KCjIwMDctMDItMjIgMTc6NTM6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBGaXggc2VnZmF1bHQgd2hlbiBvcHBlbmluZyBhIHJhZGlvIGRldmljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBzZWdmYXVsdCB3aGVuIG9wcGVuaW5nIGEgcmFkaW8gZGV2aWNlLgoKMjAwNy0wMi0yMiAxNDozNToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGxldmVsIGZvciBtdWx0aS1jaGFubmVsIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9jYXBzKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIHN5cy92NGwyL1JFQURNRToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggbGV2ZWwgZm9yIG11bHRpLWNoYW5uZWwgY2FzZS4KCjIwMDctMDItMjEgMTA6MTg6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBVc2UgZnVuY3Rpb24gcG9pbnRlciBmb3IgcHJvY2VzcyBmdW5jdGlvbiBhbmQgYWRkIHByb2Nlc3MgZnVuY3Rpb25zIGZvciBmbG9hdCBhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCksIChnc3RfbGV2ZWxfc2V0X2NhcHMpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIFVzZSBmdW5jdGlvbiBwb2ludGVyIGZvciBwcm9jZXNzIGZ1bmN0aW9uIGFuZCBhZGQgcHJvY2VzcyBmdW5jdGlvbnMKCSAgZm9yIGZsb2F0IGF1ZGlvLgoKMjAwNy0wMi0yMCAyMTozNDowMCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICBBZGQgYSBuZXcgd2F2ZWZvcm0gcGx1Z2luIHdoaWNoIGluY2x1ZGVzIGFuIGF1ZGlvIHNpbmsKCSAgZWxlbWVudCB1c2luZyB0aGUgV2F2ZUZvcm0gd2luMzIgQVBJLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgdGhlIG5ldyBwcm9qZWN0IGZpbGUgZm9ybSB3YXZlZm9ybSBwbHVnaW4uCgoyMDA3LTAyLTE5IDEyOjIyOjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFJlYWRkIEdTVF9FTEVNRU5UX0VSUk9SIGlmIHdlIGNhbid0IHJlZW5xdWUgYnVmZmVycyBhZnRlciBFSU8sIGZpeGVzICM0MDczNjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgIFJlYWRkIEdTVF9FTEVNRU5UX0VSUk9SIGlmIHdlIGNhbid0IHJlZW5xdWUgYnVmZmVycyBhZnRlciBFSU8sCgkgIGZpeGVzICM0MDczNjkKCjIwMDctMDItMTggMTg6MDA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3LzogUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVtb3ZlIHVudXNlZC91bnRlc3RlZCBjb2RlIChyZW5kZXJpbmcgdG8gYW4gZXh0ZXJuIHN1cmZhY2UsCgkgIHl1diBmb3JtYXQgcmVuZGVyaW5nKS5Vc2UgR1NUXyhERUJVRy8qKV9PQkpFQ1QgbWFjcm9zCgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdGRyYXdzaW5rIHRvIGdzdF9kaXJlY3RkcmF3X3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgRml4IGEgYnVnIGluIGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwgbWVtY3B5IGxpbmUgYnkgbGluZQoJICByZXNwZWN0aW5nIGRlc3RpbmF0aW9uIHN1cmZhY2Ugc3RyaWRlLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdHNvdW5kc2luayB0byBnc3RfZGlyZWN0c291bmRfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGNvbmZpZy5oLmluCgoyMDA3LTAyLTE4IDEzOjI0OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHNpbXBsZSBtcGVnIHRyYW5zcG9ydCBzdHJlYW0gcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6IChnc3RfcnRwX21wMnRfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDJ0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wMnRfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkgIEFkZGVkIHNpbXBsZSBtcGVnIHRyYW5zcG9ydCBzdHJlYW0gcGF5bG9hZGVyLgoKMjAwNy0wMi0xNiAxMjozMjowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBleGFtcGxlIEgyNjQgcnRzcCB1cmwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBleGFtcGxlIEgyNjQgcnRzcCB1cmwuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjb252ZXJ0IHZhbHVlcyB0byBsb3dlcmNhc2Ugb3Igd2UgbWlnaHQgbWVzcyB1cCBiYXNlNjQgZW5jb2RlZAoJICBwcm9wZXJ0aWVzLgoKMjAwNy0wMi0xNiAxMjozMDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBGaXggY2FzZSBvZiBzdHJpbmcgcGFyYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgRml4IGNhc2Ugb2Ygc3RyaW5nIHBhcmFtcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggZGVwYXlsb2FkZXIsIHN1cHBvcnQgbW9yZSBwYWNrZXQgdHlwZXMuCgkgIEFkZCBzeW5jIGNvZGVzIHRvIG1ha2Ugc3VyZSB0aGUgcGFja2V0aXplciBjYW4gZG8gaXRzIGpvYi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggY2FwcyBjYXNlIGFnYWluLgoKMjAwNy0wMi0xNSAxMjoyNjoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IFNldCByaWdodCBjYXBzIG9uIG91dHB1dCBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBTZXQgcmlnaHQgY2FwcyBvbiBvdXRwdXQgYnVmZmVycy4KCjIwMDctMDItMTQgMTc6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IENsZWFyIHN0YWNrIGFsbG9jYXRlZCBTRFBNZWRpYSBzdHJ1Y3QgYmVmb3JlIGNhbGxpbmcgX2luaXQoKSBvbiBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX3BhcnNlX2xpbmUpOgoJICBBcyBzcG90dGVkIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+OgoJICBDbGVhciBzdGFjayBhbGxvY2F0ZWQgU0RQTWVkaWEgc3RydWN0IGJlZm9yZSBjYWxsaW5nIF9pbml0KCkgb24gaXQuCgkgIENsYXJpZnkgdGhpcyBpbiB0aGUgZG9jcyBhcyB3ZWxsLgoKMjAwNy0wMi0xNCAxNzowMToyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogRG9uJ3QgcmVzZXQgdGhlIHByb2ZpbGUgd2hlbiBnb2luZyBzd2l0Y2hpbmcgc3RhdGVzLCBhcyBpdCBtYWtlcyB0aGUgZWxlbWVudCBub24tcmV1c2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19yZXNldCksCgkgIChkb19jaGFuZ2VfY2hpbGQpOgoJICBEb24ndCByZXNldCB0aGUgcHJvZmlsZSB3aGVuIGdvaW5nIHN3aXRjaGluZyBzdGF0ZXMsIGFzIGl0IG1ha2VzCgkgIHRoZSBlbGVtZW50IG5vbi1yZXVzYWJsZS4KCjIwMDctMDItMTQgMTU6MjQ6NTAgKzAwMDAgIGpwLmxpdSA8anBfbGl1QGFzdHJvY29tLmNuPgoKCSAgZ3N0L3J0c3Avc2RwbWVzc2FnZS4qOiBGaXggbWVtb3J5IG1hbmFnZW1lbnQgb2YgU0RQIG1lc3NhZ2VzLiBGaXhlcyAjNDA3NzkzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfb3JpZ2luX2luaXQpLCAoc2RwX2Nvbm5lY3Rpb25faW5pdCksCgkgIChzZHBfYmFuZHdpZHRoX2luaXQpLCAoc2RwX3RpbWVfaW5pdCksIChzZHBfem9uZV9pbml0KSwKCSAgKHNkcF9rZXlfaW5pdCksIChzZHBfYXR0cmlidXRlX2luaXQpLCAoc2RwX21lc3NhZ2VfaW5pdCksCgkgIChzZHBfbWVzc2FnZV91bmluaXQpLCAoc2RwX21lc3NhZ2VfZnJlZSksIChzZHBfbWVkaWFfaW5pdCksCgkgIChzZHBfbWVkaWFfdW5pbml0KSwgKHNkcF9tZWRpYV9mcmVlKSwgKHNkcF9tZXNzYWdlX2FkZF9tZWRpYSksCgkgIChzZHBfcGFyc2VfbGluZSk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICBCYXNlZCBvbiBwYXRjaCBieToganAubGl1IDxqcF9saXUgYXQgYXN0cm9jb20gZG90IGNuPgoJICBGaXggbWVtb3J5IG1hbmFnZW1lbnQgb2YgU0RQIG1lc3NhZ2VzLiBGaXhlcyAjNDA3NzkzLgoKMjAwNy0wMi0xNCAxMjowNzowMSArMDAwMCAgemhhbmdmZWkgZ2FvIDxnYW96aGFuZ2ZlaUB5YWhvby5jb20uY24+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBBbGxvdyBtdXhpbmcgdmlkZW8veC1oMjY0ICh3YXMgYWxyZWFkeSBpbiB0aGUgY2FwcykuIEZpeGVzICM0MDc3ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogemhhbmdmZWkgZ2FvIDxnYW96aGFuZ2ZlaUB5YWhvby5jb20uY24+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpOgoJICBBbGxvdyBtdXhpbmcgdmlkZW8veC1oMjY0ICh3YXMgYWxyZWFkeSBpbiB0aGUgY2FwcykuIEZpeGVzICM0MDc3ODAuCgoyMDA3LTAyLTE0IDEwOjA5OjEyICswMDAwICBqcC5saXUgPGpwX2xpdUBhc3Ryb2NvbS5jbj4KCgkgIGdzdC9ydHNwL3J0c3B1cmwuYzogRml4IHBhcnNpbmcgb2YgcGFzc3dvcmQgZmllbGQgaW4gdXJsLiBGaXhlcyAjNDA3Nzk3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpwLmxpdSA8anBfbGl1IGF0IGFzdHJvY29tIGRvdCBjbj4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgIEZpeCBwYXJzaW5nIG9mIHBhc3N3b3JkIGZpZWxkIGluIHVybC4gRml4ZXMgIzQwNzc5Ny4KCjIwMDctMDItMTQgMDk6NTU6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogVXBkYXRlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9kZXN0cm95X3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2VfZm10KSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfY2hhaW4pLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgVXBkYXRlIGRvY3MuCgkgIFVzZSBib2lsZXJwbGF0ZS4KCSAgVmFyaW91cyBjb2RlIGNsZWFudXBzLgoJICBXaGVuIHRoZSBiaXRyYXRlIGlzIG5vdCBrbm93biAoYnBzID09IDAgb3IgY29tcHJlc3NlZCBmb3JtYXRzKSBsZXQKCSAgZG93bnN0cmVhbSBlbGVtZW50IGd1ZXN0aW1hdGUgdGhlIGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBhbmQgZG9uJ3QKCSAgZ2VuZXJhdGUgdGltZXN0YW1wcyBvciBkdXJhdGlvbnMuIEZpeGVzICM0MDUyMTMuCgkgIEZpeCBFT1MgYW5kIEVSUk9SIGNvbmRpdGlvbnMgaW4gY2hhaW4gbW9kZSwgd2UganVzdCBuZWVkIHRvIGZvcndhcmQgdGhlCgkgIGVycm9yIGZsb3dyZXR1cm4gdXBzdHJlYW0uCgoyMDA3LTAyLTEzIDE2OjAxOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlLWZhY3RvciB0aGUgZ2NvbmZhdWRpb3NpbmsgaW50byBhICJHc3RTd2l0Y2hTaW5rIiBiYXNlIGNsYXNzIGFuZCBhIGNoaWxkIHRoYXQgaW1wbGVtZW50cyB0aGUgR0NvbmYga2V5IG1vbml0b3JpbmcuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfZ2V0X3N0cmluZyksCgkgIChnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlKSwgKGdzdF9nY29uZl9zZXRfc3RyaW5nKSwKCSAgKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19kaXNwb3NlKSwgKGRvX2NoYW5nZV9jaGlsZCksCgkgIChnc3RfZ2NvbmZfc3dpdGNoX3Byb2ZpbGUpLCAoZ3N0X2djb25mX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGNiX2NoYW5nZV9jaGlsZCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9zd2l0Y2hfc2lua19jbGFzc19pbml0KSwgKGdzdF9zd2l0Y2hfc2lua19yZXNldCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfaW5pdCksIChnc3Rfc3dpdGNoX3NpbmtfZGlzcG9zZSksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKSwgKGdzdF9zd2l0Y2hfc2lua19zZXRfY2hpbGQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3Rfc3dpdGNoX3NpbmtfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9zd2l0Y2hfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X3N3aXRjaF9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuaDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xlYXJfa2lkKSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b192aWRlb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGVhcl9raWQpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgIFJlLWZhY3RvciB0aGUgZ2NvbmZhdWRpb3NpbmsgaW50byBhICJHc3RTd2l0Y2hTaW5rIiBiYXNlIGNsYXNzCgkgIGFuZCBhIGNoaWxkIHRoYXQgaW1wbGVtZW50cyB0aGUgR0NvbmYga2V5IG1vbml0b3JpbmcuIFRoZSBlbmQgZ29hbCBvZgoJICB0aGlzIGlzIGFuIGF1ZGlvIHNpbmsgdGhhdCBjYW4gYmUgY2hhbmdlZCBvbiB0aGUgZmx5LCBidXQgYXQgdGhlCgkgIG1vbWVudCBpdCBzdGlsbCBvbmx5IGNoYW5nZXMgb24gdGhlIG5leHQgUkVBRFkgdHJhbnNpdGlvbi4KCjIwMDctMDItMTMgMTE6NTc6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUHV0IGRlYnVnIHN0dWZmIGludG8gI2lmbmRlZiBHU1RfRElTQUJMRV9ERUJVRyAjZW5kaWYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBQdXQgZGVidWcgc3R1ZmYgaW50byAjaWZuZGVmIEdTVF9ESVNBQkxFX0RFQlVHICNlbmRpZgoKMjAwNy0wMi0xMyAwOTo0NjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuCgoyMDA3LTAyLTEyIDIzOjM1OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vbm9zY29wZS86IEZpeCBjb3B5J24ncGFzdGUtbyBpbiBkb2NzIGNodW5rLiBBbHNvIGFkZCBzb21lIG1pc3NpbmcgQ0ZMQUdTIChidXQgbm8gTElCUywgc2luY2Ugd2Ugb25seSB1c2UgZGVmaW5lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgRml4IGNvcHknbidwYXN0ZS1vIGluIGRvY3MgY2h1bmsuIEFsc28gYWRkIHNvbWUgbWlzc2luZyBDRkxBR1MKCSAgKGJ1dCBubyBMSUJTLCBzaW5jZSB3ZSBvbmx5IHVzZSBkZWZpbmVzIGZyb20gdGhlIGhlYWRlcnMpLgoKMjAwNy0wMi0xMiAyMzoyNzozMSArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IG1hc3NpdmUgbWVtb3J5IGxlYWsgd2hlbiBvcGVyYXRpbmcgaW4gc3RyZWFtaW5nIG1vZGUgZHVlIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyAgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIEZpeCBtYXNzaXZlIG1lbW9yeSBsZWFrIHdoZW4gb3BlcmF0aW5nIGluIHN0cmVhbWluZyBtb2RlIGR1ZSB0bwoJICBHU1RfQlVGRkVSX01BTExPQ0RBVEEoKSBub3QgYmVpbmcgc2V0IG9uIG5ld2x5LWNyZWF0ZWQgYnVmZmVycy4KCSAgRml4ZXMgIzQwNzA1Ny4KCjIwMDctMDItMTIgMTU6Mjk6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogU2F2ZSBzb21lIG1lbW9yeSAoOCUpIGJ5IHJlcGFja2luZyB0aGUgaW5kZXggZW50cnkgc3RydWN0dXJlIChtb3JlIHRvIGNvbWUpLiBBZGQgbW9yZSBGSVhNRXMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBTYXZlIHNvbWUgbWVtb3J5ICg4JSkgYnkgcmVwYWNraW5nIHRoZSBpbmRleCBlbnRyeSBzdHJ1Y3R1cmUgKG1vcmUgdG8KCSAgY29tZSkuIEFkZCBtb3JlIEZJWE1FcyB0byBxdWVzdGlvbmFibGUgcGFydHMuCgoyMDA3LTAyLTEyIDEyOjU3OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IE1vcmUgRklYTUUgY29tbWVudHMgYW5kIG1lc3NhZ2luZyBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICBNb3JlIEZJWE1FIGNvbW1lbnRzIGFuZCBtZXNzYWdpbmcgY2hhbmdlcy4KCjIwMDctMDItMTIgMTI6NDM6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nb29tL2dzdGdvb20uKjogSW1wcm92ZWQgZG9jcyBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLAoJICAoZ3N0X2dvb21fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIEltcHJvdmVkIGRvY3MgYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KToKCSAgVXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2luaXQpLAoJICAoZ3N0X21vbm9zY29wZV9jaGFpbiksIChnc3RfbW9ub3Njb3BlX2NoYW5nZV9zdGF0ZSk6CgkgIEltcHJvdmVkIGRvY3Mgc291cmNlIGNsZWFudXBzLgoKMjAwNy0wMi0xMiAxMDoyOTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy86IEFkZCBjb2RlIGZvciBhIHB1c2hmaWxlc3JjIGVsZW1lbnQgdGhhdCBpbXBsZW1lbnRzIGEgcHVzaGZpbGU6Ly8gVVJJIGhhbmRsZXIsIHRvIG1ha2UgZGVidWdnaW5nIHB1c2gtbW9kZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmM6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmg6CgkgIEFkZCBjb2RlIGZvciBhIHB1c2hmaWxlc3JjIGVsZW1lbnQgdGhhdCBpbXBsZW1lbnRzIGEgcHVzaGZpbGU6Ly8gVVJJCgkgIGhhbmRsZXIsIHRvIG1ha2UgZGVidWdnaW5nIHB1c2gtbW9kZSBvcGVyYXRpb24gb2YgZGVtdXhlci9kZWNvZGVycwoJICB0aGF0IHN1cHBvcnQgYm90aCBlYXNpZXIgaW4gY29ubmVjdGlvbiB3aXRoIHNlZWsvcGxheWJpbi9ldGMuCgkgIFRoZSBlbGVtZW50IGlzbid0IHJlZ2lzdGVyZWQgYXQgdGhlIG1vbWVudC4KCjIwMDctMDItMTEgMTU6MjY6NDkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBBZGQgd2luMzIgTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEFkZCB3aW4zMiBNQU5JRkVTVAoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQ2xlYXIgdW51c2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cy4KCSAgUmVtb3ZlIHl1diBmcm9tIHRlbXBsYXRlIGNhcHMsIGl0IG9ubHkgc3VwcG9ydHMgUkdCCgkgIGFjdHVhbGx5LgoJICBJbXBsZW1lbnQgWE92ZXJsYXkgaW50ZXJmYWNlIGFuZCByZW1vdmUgd2luZG93IGFuZCBmdWxsc2NyZWVuCgkgIHByb3BlcnRpZXMuCgkgIEFkZCBkZWJ1ZyBsb2dzLgoJICBUZXN0IGZvciBibGl0IGNhcGFiaWxpdGllcyB0byByZXR1cm4gb25seSB0aGUgY3VycmVudCBjb2xvcnNwYWNlIGlmCgkgIHRoZSBoYXJkd2FyZSBjYW4ndCBibGl0IGZvciBvbmUgY29sb3JzcGFjZSB0byBhbm90aGVyLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIHNvbWUgZGVidWdzLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgVlM3IHByb2plY3QgZmlsZXMgYW5kIHNvbHV0aW9uLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTAyLTExIDEyOjU3OjQ3ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBDb21tZW50IGEgI2lmIDAgaW4gY2FwcyB0ZW1wbGF0ZSBkZWZpbml0aW9uIGFzIFZTNiBzZWVtcyB0byBkbyBub3Qgc3VwcG9ydCBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgQ29tbWVudCBhICNpZiAwIGluIGNhcHMgdGVtcGxhdGUgZGVmaW5pdGlvbiBhcyBWUzYgc2VlbXMgdG8KCSAgZG8gbm90IHN1cHBvcnQgaXQuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOihnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgIFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6KHJ0c3BfY29ubmVjdGlvbl9zZW5kKToKCSAgTW92ZSB2YXJpYWJsZXMgZGVjbGFyYXRpb24gYmVmb3JlIHRoZSBmaXJzdCBpbnN0cnVjdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOihydHNwX3N0cnJlc3VsdCk6CgkgIERvbid0IHVzZSBoc3RyZXJyb3IgZm9yIGVycm9yIGxvZyBvbiBHX09TX1dJTjMyIGJ1aWxkIGFzIGl0J3Mgbm90IHN1cHBvcnRlZC4KCSAgQW5kIGRvbid0IGluY2x1ZGUgbmV0ZGIuaCBmb3IgR19PU19XSU4zMgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzooc2RwX3BhcnNlX2xpbmUpOgoJICBUaGlzIGluaXRpYWxpemF0aW9uIFNEUE1lZGlhIG5tZWRpYSA9IHsubWVkaWEgPSBOVUxMIH07IGlzIG5vdCBzdXBwb3J0ZWQKCSAgYnkgVlM2IHRoZW4gdXNlIGFuIG90aGVyIHdheSB0byBpbml0aWFsaXplIFNEUE1lZGlhIHN0cnVjdHVyZS4KCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcG5ldHV0aWxzLmg6CgkgIERvIG5vdCBpbmNsdWRlIDxzeXMvdGltZS5oPiBmb3IgR19PU19XSU4zMgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIERlZmluZSBzb2NrbGVuX3QgYXMgaW50IGZvciBHX09TX1dJTjMyCgkgICogd2luL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgVW5kZWYgSEFWRV9ORVRJTkVUX0lOX0gKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZ2VuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHVkcC5kc3A6CgkgIEFkZCBhbmQgdXBkYXRlIHByb2plY3QgZmlsZXMuCgkgICogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSAgKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5oOgoJICBBZGQgYSBjb3B5IG9mIHVkcCBlbnVtdHlwZXMgdG8gd2luMzIvY29tbW9uIGFzIGluIGNvcmUKCSAgYW5kIGJhc2UuCgoyMDA3LTAyLTExIDEwOjUzOjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFjdGl2YXRlIG1vbm9zY29wZSB3aGVuIGJ1aWxkaW5nIHdpdGggLS1lbmFibGUtZXhwZXJpbWVudGFsLiBGaXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBY3RpdmF0ZSBtb25vc2NvcGUgd2hlbiBidWlsZGluZyB3aXRoIC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4gRml4CgkgIC0tZW5hYmxlLWV4dGVybmFsIGNvbmZpZ3VyZSBzd2l0Y2ggZGVzY3JpcHRpb24uCgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzogKGdzdF9zdW5hdWRpb21peGVyX2Jhc2VfaW5pdCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfZGlzcG9zZSk6CgkgIEhlbHAgZ3N0LWluZGVudC4KCjIwMDctMDItMDkgMDk6MjQ6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBFeHBsaWNpdGx5IGNhc3QgcmVzdWx0IG9mIHBvaW50ZXIgYXJpdGhtZXRpYyB0byBpbnRlZ2VyIGluIG9yZGVyIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICBFeHBsaWNpdGx5IGNhc3QgcmVzdWx0IG9mIHBvaW50ZXIgYXJpdGhtZXRpYyB0byBpbnRlZ2VyIGluIG9yZGVyIHRvCgkgIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIHNvbWUgNjQtYml0IHN5c3RlbXMuIFNob3VsZCBmaXggIzQwNjAxOC4KCjIwMDctMDItMDggMTE6MDk6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogU29tZSBtb3JlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICBTb21lIG1vcmUgZG9jcy4KCjIwMDctMDItMDcgMjE6MDk6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDogVXBkYXRlIGZvciBuZXcgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBVcGRhdGUgZm9yIG5ldyBlbGVtZW50cy4KCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuaDoKCSAgQ29tbWl0IG5ld2x5LWNyZWF0ZWQgaGVhZGVyIGZpbGUgYXMgd2VsbC4KCjIwMDctMDItMDcgMjA6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlIHByb2dyZXNzcmVwb3J0IGVsZW1lbnQgcG9zdCBtZXNzYWdlcyB3aXRoIHRoZSBjdXJyZW50IHByb2dyZXNzIG9uIHRoZSBidXMuIEFsc28gYWRkIHNvbWUgYmFzaWMgZG9jcyBmb3IgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3Bvc3RfcHJvZ3Jlc3MpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9kb19xdWVyeSksIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3JlcG9ydCk6CgkgIE1ha2UgcHJvZ3Jlc3NyZXBvcnQgZWxlbWVudCBwb3N0IG1lc3NhZ2VzIHdpdGggdGhlIGN1cnJlbnQgcHJvZ3Jlc3MKCSAgb24gdGhlIGJ1cy4gQWxzbyBhZGQgc29tZSBiYXNpYyBkb2NzIGZvciBpdC4KCjIwMDctMDItMDcgMTM6MDg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvaGFsL2hhbC4qOiBTb21lIHNtYWxsIGNsZWFudXBzOyBkZWFsIHdpdGggZXJyb3JzIHdoZW4gcGFyc2luZyB0aGUgSEFMIEFMU0EgY2FwYWJpbGl0aWVzIGEgYml0IGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X3N0cmluZyk6CgkgICogZXh0L2hhbC9oYWwuaDoKCSAgU29tZSBzbWFsbCBjbGVhbnVwczsgZGVhbCB3aXRoIGVycm9ycyB3aGVuIHBhcnNpbmcgdGhlIEhBTCBBTFNBCgkgIGNhcGFiaWxpdGllcyBhIGJpdCBiZXR0ZXIuCgoyMDA3LTAyLTA2IDE2OjI5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IExldCdzIHRyeSB0aGlzIGFnYWluIGFuZCB1c2UgdGhlIHJpZ2h0IGNhc3QgdGhpcyB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV90cmFuc2l0aW9uX3R5cGVfZ2V0X3R5cGUpOgoJICBMZXQncyB0cnkgdGhpcyBhZ2FpbiBhbmQgdXNlIHRoZSByaWdodCBjYXN0IHRoaXMgdGltZS4KCjIwMDctMDItMDYgMTY6MjQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogQWRkIGNhc3QgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBvbGRlciBHTGliIHZlcnNpb25zIHdoZXJlIHRoZSBuaWNrL25hbWUgbWVtYmVycyBpbiBHRW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfdHJhbnNpdGlvbl90eXBlX2dldF90eXBlKToKCSAgQWRkIGNhc3QgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBvbGRlciBHTGliIHZlcnNpb25zCgkgIHdoZXJlIHRoZSBuaWNrL25hbWUgbWVtYmVycyBpbiBHRW51bVZhbHVlIGFyZSBub3QgZGVjbGFyZWQgYXMKCSAgY29uc3RhbnQgc3RyaW5ncy4KCjIwMDctMDItMDYgMTU6NTY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvOiBJbiBnY29uZmF1ZGlvc2luaywgZ2V0IHRoZSByaWdodCBrZXkgYXMgdGhlIG9sZCBrZXkgaW4gZG9fdG9nZ2xlIChpZS4gb25lIGRlcGVuZGVudCBvbiB0aGUgcHJvZmlsZSBzZWxlY3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlKSwKCSAgKGdzdF9nY29uZl9yZW5kZXJfYmluX2Zyb21fa2V5KSwKCSAgKGdzdF9nY29uZl9nZXRfZGVmYXVsdF9hdWRpb19zaW5rKToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdldF9nY29uZl9rZXlfZm9yX3Byb2ZpbGUpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoZ3N0X2djb25mX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSk6CgkgIEluIGdjb25mYXVkaW9zaW5rLCBnZXQgdGhlIHJpZ2h0IGtleSBhcyB0aGUgb2xkIGtleSBpbiBkb190b2dnbGUKCSAgKGllLiBvbmUgZGVwZW5kZW50IG9uIHRoZSBwcm9maWxlIHNlbGVjdGVkKS4gTG9nIHNvbWUgbW9yZSBzdHVmZiBzbwoJICB3ZSBjYW4gc2VlIHdoYXQncyBhY3R1YWxseSBnb2luZyBvbi4KCjIwMDctMDItMDYgMTE6MTY6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogU29tZSBzbWFsbCBjbGVhbnVwcyBhbmQgcG9ydCBib3RoIGVsZW1lbnRzIHRvIHRoZSBuZXcgR3N0QXVkaW9GaWx0ZXIgYmFzZSBjbGFzcyB0byBzYXZlIGEgZmV3IGxpbmVzIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzogKGdzdF9hdWRpb19hbXBsaWZ5X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0dXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2ludmVydF9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuaDoKCSAgU29tZSBzbWFsbCBjbGVhbnVwcyBhbmQgcG9ydCBib3RoIGVsZW1lbnRzIHRvIHRoZSBuZXcgR3N0QXVkaW9GaWx0ZXIKCSAgYmFzZSBjbGFzcyB0byBzYXZlIGEgZmV3IGxpbmVzIG9mIGNvbW1vbiBjb2RlLgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICBMaW5rIGFnYWluc3QgbGliZ3N0YXVkaW8gZm9yIHRoZSBhYm92ZSBjaGFuZ2VzCgoyMDA3LTAyLTAzIDIzOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIHRoaXMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoY2hlY2tfYnVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBBZGQgYnJhaW4tZGVhZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBlcXVhbGl6ZXIuCgoyMDA3LTAyLTAyIDE4OjM2OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogUmVuYW1lICJ2YWx1ZXMiIHByb3BlcnR5IHRvICJiYW5kLXZhbHVlcyIgYW5kIGNoYW5nZSB0eXBlIGludG8gYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKToKCSAgUmVuYW1lICJ2YWx1ZXMiIHByb3BlcnR5IHRvICJiYW5kLXZhbHVlcyIgYW5kIGNoYW5nZSB0eXBlIGludG8gYQoJICBHVmFsdWVBcnJheSwgc28gaXQncyBtb3JlIGVhc2lseSBiaW5kYWJsZSBhbmQgdGhlIHJhbmdlIG9mIHRoZQoJICB2YWx1ZXMgcGFzc2VkIGluIGlzIGRlZmluZWQgYW5kIGNoZWNrZWQgZXRjLjsgYWxzbyBkbyBzb21lCgkgIGxvY2tpbmcuCgoyMDA3LTAyLTAyIDE3OjM5OjIxICswMDAwICBKYW1lcyBEb2MgTGl2aW5nc3RvbiA8ZG9jbGl2aW5nc3RvbkBnbWFpbC5jb20+CgoJICBQb3J0IGVxdWFsaXplciBwbHVnaW4gdG8gMC4xMCAoIzQwMzU3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFtZXMgIkRvYyIgTGl2aW5nc3RvbiAgPGRvY2xpdmluZ3N0b24gYXQgZ21haWwgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maWx0ZXJfaW5wbGFjZSksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCjIwMDctMDEtMzEgMDg6MzI6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZSBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgRml4IGEgb2ZmIGJ5IG9uZSB0aGF0IGxlYWRzIHRvIHRoZSBkdXJhdGlvbiByZXBvcnRlZCBhcyBvbmUKCSAgc2FtcGxlIGxlc3MgdGhhbiBpdCBpcwoKMjAwNy0wMS0zMCAxNzoxOTozMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBQb3J0IG9mIG9zeHZpZGVvIHBsdWdpbiB0byAwLjEwLiBEbyBOT1QgY29uc2lkZXIgMTAwJSBzdGFibGUgIQoJICBGaXhlcyAjNDAyNDcwCgoyMDA3LTAxLTI5IDEwOjU5OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogU29tZSBtb3JlIGlnbm9yZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIFNvbWUgbW9yZSBpZ25vcmVzLgoKMjAwNy0wMS0yOCAxODoyODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCk6CgkgIEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChjaGVja19idXNfZm9yX2Vycm9ycyksCgkgICh0ZXN0X3dpdGhfY2FwcyksIChtYWluKToKCSAgQmxvY2sgc3RyZWFtaW5nIHRocmVhZCBiZWZvcmUgY2hhbmdpbmcgZmlsdGVyIGNhcHMgd2hpbGUgdGhlCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgc28gdGhhdCB3ZSBkb24ndCBnZXQgcmFuZG9tIG5vdC1uZWdvdGlhdGVkCgkgIGVycm9ycyBqdXN0IGJlY2F1c2UgR1N0cmVhbWVyIGNhbid0IGhhbmRsZSB0aGF0IHlldC4KCjIwMDctMDEtMjcgMTY6MDg6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHRlc3Rfd2l0aF9jYXBzKToKCSAgQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgoyMDA3LTAxLTI2IDEyOjIxOjQxICswMDAwICBjaGFybGVzIDxjaGFybGVzZzNAZ21haWwuY29tPgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuKjogUHJvcGVybHkgaGFuZGxlIHRhZ3MgaW4gc2hvdXQyc2VuZC4gRml4ZXMgIzM5OTgyNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBjaGFybGVzIDxjaGFybGVzZzMgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksCgkgIChzZXRfc2hvdXRfbWV0YWRhdGEpLCAoZ3N0X3Nob3V0MnNlbmRfZXZlbnQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIFByb3Blcmx5IGhhbmRsZSB0YWdzIGluIHNob3V0MnNlbmQuIEZpeGVzICMzOTk4MjUuCgoyMDA3LTAxLTI1IDIzOjI3OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUKCSAgb3RoZXIgd2F5IGFyb3VuZC4gQWxzbyBzZXQgdGhlIGNvcnJlY3QgZm9ybWF0IGluIHRoZSBzZWVraW5nIHF1ZXJ5IGFuZAoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGhlYWRlcnMgYXJlIG5vdCByZWFkIHlldCBhbmQgd2UgY2FuJ3Qgc2F5CgkgIGFueXRoaW5nIGFib3V0IG91ciBzZWVraW5nIGNhcGFiaWxpdGllcy4KCjIwMDctMDEtMjUgMjE6NTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgoyMDA3LTAxLTI1IDE0OjQwOjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDb252ZXJ0IFNEUCBmaWVsZHMgdG8gdXBwZXIvbG93ZXJjYXNlIGZvbGxvd2luZyB0aGUgcnVsZXMgaW4gdGhlIFNEUCB0byBjYXBzIGRvY3VtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpOgoJICBDb252ZXJ0IFNEUCBmaWVsZHMgdG8gdXBwZXIvbG93ZXJjYXNlIGZvbGxvd2luZyB0aGUgcnVsZXMgaW4gdGhlIFNEUCB0bwoJICBjYXBzIGRvY3VtZW50LgoKMjAwNy0wMS0yNSAxNDoyMjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggY2FzZSBvZiBlbmNvZGluZy1uYW1lIGFuZCBrZXkvdmFsdWUgcGFpcnMgdG8gbWF0Y2ggdGhlIGRvY3VtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIEZpeCBjYXNlIG9mIGVuY29kaW5nLW5hbWUgYW5kIGtleS92YWx1ZSBwYWlycyB0byBtYXRjaCB0aGUgZG9jdW1lbnQuCgkgIFRoaXMgaXMgdG8gbWFrZSBpbnRlcm9wZXJhdGlvbiB3aXRoIFNEUCBjYXNlLWluc2Vuc2l0aXZlIGFzIHJlcXVpcmVkIGJ5CgkgIHRoZSByZWxldmFudCBSRkNzLgoKMjAwNy0wMS0yNSAxMjowNToxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIChnc3RfbXVsdGlfZmlsZV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV92aWRlb19jcmVhdGVfYnVmZmVyKSwKCSAgKGdzdF9tdmVfdmlkZW9fcGFsZXR0ZSksIChnc3RfbXZlX3ZpZGVvX2NvZGVfbWFwKSwKCSAgKGdzdF9tdmVfYXVkaW9faW5pdCksIChnc3RfbXZlX2F1ZGlvX2RhdGEpLCAoZ3N0X212ZV90aW1lcl9jcmVhdGUpLAoJICAoZ3N0X212ZV9kZW11eF9jaGFpbik6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzogKGdzdF9tdmVfbXV4X3B1c2hfY2h1bmspOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzE2LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWM4LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOiAobXZlX2VuY29kZV9mcmFtZTE2KToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOiAobXZlX2VuY29kZV9mcmFtZTgpOgoJICBVc2UgcHJvcGVyIHByaW50IHN0YXRlbWVudHMuCgkgIEZpeGVzIGJ1aWxkIG9uIG1hYyBvcyB4LgoJICA8d2luZ28+IG9vIGxvb2sgYXQgbWUgbXkgbmFtZSBpcyBlZHdhcmQgaSdtIGhhY2tpbmcgb24gbWFjb3Mgd29vbwoKMjAwNy0wMS0yNSAxMTowMjowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlZCAtY29yZS8tYmFzZSB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVkIC1jb3JlLy1iYXNlIHRvIENWUwoKMjAwNy0wMS0yNSAxMDo1NDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lio6IEZpbGwgdXAgdG8gTVRVIHVzaW5nIGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9wYXlfZmx1c2gpLCAoZ3N0X3J0cF9MMTZfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgIEZpbGwgdXAgdG8gTVRVIHVzaW5nIGFkYXB0ZXIuCgkgIFRpbWVzdGFtcCBydHAgcGFja2V0cy4KCjIwMDctMDEtMjUgMTA6MzY6MzUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW4gcHJpbnQgc3RhdGVtZW50cyBmb3IgcG9ydGFiaWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF9jaGVja194c2htX2NhbGxzKToKCSAgVXNlIEdfR1NJWkVfRk9STUFUIGluIHByaW50IHN0YXRlbWVudHMgZm9yIHBvcnRhYmlsaXR5LgoJICBGaXhlcyBidWlsZCBvbiBtYWNvc3guCgoyMDA3LTAxLTI0IDE4OjIwOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFBvcnQgYW5kIGVuYWJsZSByYXcgYXVkaW8gcGF5bG9hZGVyL2RlcGF5bG9hZGVyLiBOZWVkcyBhIGJpdCBtb3JlIHdvcmsgb24gdGhlIHBheWxvYWRlciBzaWRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9MMTZfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9wYXJzZV9pbnQpLCAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfTDE2X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9MMTZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX0wxNl9wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfTDE2X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfTDE2X3BheV9pbml0KSwgKGdzdF9ydHBfTDE2X3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX0wxNl9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX0wxNl9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgIFBvcnQgYW5kIGVuYWJsZSByYXcgYXVkaW8gcGF5bG9hZGVyL2RlcGF5bG9hZGVyLiBOZWVkcyBhIGJpdCBtb3JlIHdvcmsKCSAgb24gdGhlIHBheWxvYWRlciBzaWRlLgoKMjAwNy0wMS0yNCAxNjoyNTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogT25seSB1bmJsb2NrIHRoZSB1ZHAgcGFkcyB3aGVuIHdlIGxpbmtlZCBhbmQgYWN0aXZhdGVkIHRoZW0gYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChwYWRfYmxvY2tlZCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIE9ubHkgdW5ibG9jayB0aGUgdWRwIHBhZHMgd2hlbiB3ZSBsaW5rZWQgYW5kIGFjdGl2YXRlZCB0aGVtIGFsbC4KCSAgRml4ZXMgIzM5NTY4OC4KCjIwMDctMDEtMjQgMTU6MTg6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgc2ltcGxlIEFDMyBkZXBheWxvYWRlciAoUkZDIDQxODQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOiAoZ3N0X3J0cF9hYzNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2FjM19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfYWMzX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYWMzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2FjM19kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSAgQWRkZWQgc2ltcGxlIEFDMyBkZXBheWxvYWRlciAoUkZDIDQxODQpLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2Fwcyk6CgkgIEZpeCBhIGxlYWsuCgoyMDA3LTAxLTI0IDEyOjQxOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBuZXcgZWxlbWVudCAiYXVkaW9hbXBsaWZ5Ii4gVGhpcyBhbGxvd3Mgc2NhbGluZyBvZiByYXcgYXVkaW8gc2FtcGxlcywgc2ltaWxhciB0byB0aGUgInZvbHVtZSIgZWxlbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfY2xpcHBpbmdfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2Jhc2VfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2luaXQpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19hbXBsaWZ5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faW50X2NsaXApLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2ludF93cmFwX25lZ2F0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pbnRfd3JhcF9wb3NpdGl2ZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1fZmxvYXRfY2xpcCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1fZmxvYXRfd3JhcF9uZWdhdGl2ZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1fZmxvYXRfd3JhcF9wb3NpdGl2ZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBlbGVtZW50ICJhdWRpb2FtcGxpZnkiLiBUaGlzIGFsbG93cyBzY2FsaW5nIG9mIHJhdyBhdWRpbwoJICBzYW1wbGVzLCBzaW1pbGFyIHRvIHRoZSAidm9sdW1lIiBlbGVtZW50LCBidXQgcHJvdmlkZXMgZGlmZmVyZW50IG1vZGVzCgkgIGZvciBjbGlwcGluZyBhbmQgYWxsb3dzIHVubGltaXRlZCBhbXBsaWZpY2F0aW9uLiBJdCdzIG1haW5seSB0YXJnZXRlZAoJICBmb3IgY3JlYXRpdmUgc291bmQgZGVzaWduIGFuZCBub3QgYXMgYSByZXBsYWNlbWVudCBvZiB0aGUgInZvbHVtZSIKCSAgZWxlbWVudC4gRml4ZXMgIzM5NzE2MgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICBBZGQgZG9jcyBmb3IgYXVkaW9hbXBsaWZ5IGFuZCBpbnRlZ3JhdGUgdGhlbSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzogKHNldHVwX2FtcGxpZnkpLAoJICAoY2xlYW51cF9hbXBsaWZ5KSwgKEdTVF9TVEFSVF9URVNUKSwgKGFtcGxpZnlfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBmYWlybHkgZXh0ZW5zaXZlIHVuaXQgdGVzdCBzdWl0ZSBmb3IgYXVkaW9hbXBsaWZ5CgoyMDA3LTAxLTI0IDEyOjI2OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVbmJsb2NrIHBhZHMgYWZ0ZXIgYWRkaW5nIHRoZSBwYWRzIHRvIHRoZSBlbGVtZW50IHNvIHRoYXQgYXV0b3BsdWdnZXJzIGdldCBhIGNoYW5nZSB0byBsaW5rIHNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKHBhZF91bmJsb2NrZWQpLCAocGFkX2Jsb2NrZWQpOgoJICBVbmJsb2NrIHBhZHMgYWZ0ZXIgYWRkaW5nIHRoZSBwYWRzIHRvIHRoZSBlbGVtZW50IHNvIHRoYXQgYXV0b3BsdWdnZXJzCgkgIGdldCBhIGNoYW5nZSB0byBsaW5rIHNvbWV0aGluZy4gUG9zc2libHkgZml4ZXMgIzM5NTY4OC4KCjIwMDctMDEtMjQgMTI6MjI6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGNhcHMgd2l0aCBwYXlsb2FkIG51bWJlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBGaXggY2FwcyB3aXRoIHBheWxvYWQgbnVtYmVycy4KCSAgQWRkIHNvbWUgZml4ZWQgcGF5bG9hZCBudW1iZXJzIHRvIGNhcHMgd2hlbiBwb3NzaWJsZS4KCjIwMDctMDEtMjQgMTE6Mjk6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiBGaXggY2FwcyBvbiB0aGUgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkgIEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCjIwMDctMDEtMjMgMTg6MTY6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIG5ldyBhdWRpb2Z4IGVsZW1lbnQgImF1ZGlvaW52ZXJ0Ii4gVGhpcyBlbGVtZW50IHN3YXBzIHRoZSB1cHBlciBhbmQgbG93ZXIgaGFsZiBvZiBzYW1wbGVzIGFuZCBjYW4gYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2ludmVydF9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19pbnZlcnRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfc2V0X2NhcHMpLCAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faW50KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJICBBZGQgbmV3IGF1ZGlvZnggZWxlbWVudCAiYXVkaW9pbnZlcnQiLiBUaGlzIGVsZW1lbnQgc3dhcHMgdGhlIHVwcGVyCgkgIGFuZCBsb3dlciBoYWxmIG9mIHNhbXBsZXMgYW5kIGNhbiBiZSB1c2VkIGZvciBleGFtcGxlIGZvciBhCgkgIHdpZGUtc3RlcmVvIGVmZmVjdC4gRml4ZXMgIzM5NjA1NwoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICBBZGQgZG9jcyBmb3IgdGhlIGF1ZGlvaW52ZXJ0IGVsZW1lbnQgYW5kIGFkZCB0aGVtIHRvIHRoZSBidWlsZCBzeXN0ZW0uCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzogKHNldHVwX2ludmVydCksCgkgIChjbGVhbnVwX2ludmVydCksIChHU1RfU1RBUlRfVEVTVCksIChpbnZlcnRfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3Qgc3VpdGUgZm9yIHRoZSBhdWRpb2ludmVydCBlbGVtZW50LgoKMjAwNy0wMS0yMyAxNzozNjozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IFBhcnNlIGNvbmZpZyBwYXJhbXMgYXMgc3RyaW5nIGFuZCBpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcGFyc2VfaW50KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgUGFyc2UgY29uZmlnIHBhcmFtcyBhcyBzdHJpbmcgYW5kIGludC4KCSAgUGFyc2UgYW5kIHVzZSBBVSBoZWFkZXIgbGVuZ3RoCgoyMDA3LTAxLTIzIDE3OjI3OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlLzogY29uc3RpZnkgc29tZSBzdGF0aWMgc3RydWN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6IChnc3Rfd2lwZV9ib3hlc19kcmF3KSwKCSAgKGdzdF93aXBlX3RyaWFuZ2xlc19jbG9ja19kcmF3KSwgKGdzdF93aXBlX3RyaWFuZ2xlc19kcmF3KToKCSAgKiBnc3Qvc21wdGUvZ3N0bWFzay5jOiAoX2dzdF9tYXNrX3JlZ2lzdGVyKToKCSAgKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX3VwZGF0ZV9tYXNrKToKCSAgKiBnc3Qvc21wdGUvcGFpbnQuYzogKGdzdF9zbXB0ZV9wYWludF9oYm94KSwgKGRyYXdfYnJlc2VuaGFtX2xpbmUpLAoJICAoZ3N0X3NtcHRlX3BhaW50X3RyaWFuZ2xlX2Nsb2NrKToKCSAgY29uc3RpZnkgc29tZSBzdGF0aWMgc3RydWN0cy4KCSAgRG9uJ3QgdXBkYXRlIHRoZSBtYXNrIGlmIG5vdGhpbmcgY2hhbmdlZCB0byB0aGUgcGFyYW1zLgoJICBNYWtlIHN1cmUgd2UgbmV2ZXIgZHJhdyBvdXRzaWRlIG9mIHRoZSBwaWN0dXJlLiBGaXhlcyAjMzk4MzI1LgoKMjAwNy0wMS0yMiAxMzowNjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRXJyb3Igb3V0IHByb3Blcmx5IHdoZW4gcHVsbF9yYW5nZSBmYWlscyB3aGlsZSB3ZSdyZSByZWFkaW5nIHRoZSBoZWFkZXJzLCBpbnN0ZWFkIG9mIGp1c3QgcGF1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCk6CgkgIEVycm9yIG91dCBwcm9wZXJseSB3aGVuIHB1bGxfcmFuZ2UgZmFpbHMgd2hpbGUgd2UncmUgcmVhZGluZyB0aGUKCSAgaGVhZGVycywgaW5zdGVhZCBvZiBqdXN0IHBhdXNpbmcgdGhlIHRhc2sgc2lsZW50bHkuIEZpeGVzICMzOTkzMzguCgoyMDA3LTAxLTE5IDEzOjA2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IFNvbWUgbW9yZSBzYW5pdHkgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGUgaW5wdXQgZm9ybWF0cyBtYXRjaCBhbmQgdGhlIGlucHV0IHBhZHMgYXJlIGFjdHVhbGx5IG5lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NvbGxlY3RlZCk6CgkgIFNvbWUgbW9yZSBzYW5pdHkgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGUgaW5wdXQgZm9ybWF0cyBtYXRjaCBhbmQgdGhlCgkgIGlucHV0IHBhZHMgYXJlIGFjdHVhbGx5IG5lZ290aWF0ZWQsIGluIGNhc2Ugc29tZW9uZSB0cmllcyB0byBmZWVkCgkgIGJ1ZmZlcnMgZnJvbSBmYWtlc3JjIG9yIGZpbGVzcmMuIEZpeGVzICMzOTgyOTkuCgkgIEFsc28gY29uc3QtaWZ5IGFuIGFycmF5LCBqdXN0IGJlY2F1c2Ugd2UgY2FuLgoKMjAwNy0wMS0xOSAxMDozNToxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBJZ25vcmUgcHJldmlvdXMgY29tbWl0LCB0aGF0IHdhcyBvbmx5IHZhbGlkIGZvciB3aWR0aHMgYW5kIGhlaWdodHMgdGhhdCBhcmUgbXVsdGlwbGVzIG9mIDQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZmlsbF9pNDIwKSwgKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpOgoJICBJZ25vcmUgcHJldmlvdXMgY29tbWl0LCB0aGF0IHdhcyBvbmx5IHZhbGlkIGZvciB3aWR0aHMgYW5kIGhlaWdodHMKCSAgdGhhdCBhcmUgbXVsdGlwbGVzIG9mIDQuCgkgIENvcHkgb3ZlciBzaXplL3N0cmlkZSBtYWNyb3MgZnJvbSBqcGVnZGVjLiBUaGlzIGFsbG93cyB0aGUgZWxlbWVudAoJICB0byB3b3JrIHdpdGggYW55IHdpZHRoLGhlaWdodC4uLgoJICAuLi4gYnV0IHB1dHMgaW4gZXZpZGVuY2UgdGhhdCB0aGUgYWN0dWFsIHRyYW5zZm9ybWF0aW9ucyBvbmx5IHdvcmsKCSAgd2l0aCB3aWR0aC9oZWlnaHQgdGhhdCBhcmUgbXVsdGlwbGVzIG9mIDQuCgoyMDA3LTAxLTE5IDA5OjQ4OjQ3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IEFsbG9jYXRlIGJ1ZmZlcnMgb2YgdGhlIHJpZ2h0IHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NvbGxlY3RlZCk6CgkgIEFsbG9jYXRlIGJ1ZmZlcnMgb2YgdGhlIHJpZ2h0IHNpemUuCgkgIFRoZSBwcm9wZXIgc2l6ZSBvZiBhIEk0MjAgYnVmZmVyIGluIGJ5dGVzIGlzOgoJICB3aWR0aCAqIGhlaWdodCAqIDMKCSAgLS0tLS0tLS0tLS0tLS0tLS0tCgkgIDIKCjIwMDctMDEtMTggMTg6Mzc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogUHJveHkgZ2V0Y2FwcyBvbiBzaW5rIHBhZHMgdG9vLCBzbyB0aGF0IHdlIGVpdGhlciBlbmQgdXAgd2l0aCB0aGUgc2FtZSBkaW1lbnNpb25zIG9uIGFsbCBwYWRzIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCk6CgkgIFByb3h5IGdldGNhcHMgb24gc2luayBwYWRzIHRvbywgc28gdGhhdCB3ZSBlaXRoZXIgZW5kIHVwIHdpdGggdGhlCgkgIHNhbWUgZGltZW5zaW9ucyBvbiBhbGwgcGFkcyBvciBlcnJvciBvdXQgaWYgdGhhdCdzIG5vdCBwb3NzaWJsZQoJICAoc2VlbXMgdG8gd29yayBldmVuISkuIEZpeGVzICMzOTgwODYsIEkgdGhpbmsuCgoyMDA3LTAxLTE4IDExOjI5OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGxhZHNwYSBmcm9tIGRvY3M7IGFkZCBoaWVyYXJjaHkgaW5mbyBmb3IgR3N0QXVkaW9QYW5vcmFtYTsgZml4IGludGVnZXIgcHJvcGVydGllcyB3aXRoIC0xIGFzIG1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgUmVtb3ZlIGxhZHNwYSBmcm9tIGRvY3M7IGFkZCBoaWVyYXJjaHkgaW5mbyBmb3IgR3N0QXVkaW9QYW5vcmFtYTsKCSAgZml4IGludGVnZXIgcHJvcGVydGllcyB3aXRoIC0xIGFzIG1pbmltdW0gdmFsdWUuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSB0byBDVlMuCgoyMDA3LTAxLTE4IDExOjIzOjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IEZpeCBkb2Mgc2VjdGlvbiBuYW1lIChGaXhlcyAjMzk3OTQ2KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIEZpeCBkb2Mgc2VjdGlvbiBuYW1lIChGaXhlcyAjMzk3OTQ2KQoKMjAwNy0wMS0xOCAxMDozMzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgUmVtb3ZlIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoKMjAwNy0wMS0xNyAxNDozMDo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBGaXggRUlPIGhhbmRpbmcgd2hlbiBjYXB0dXJpbmcuIEFkZCBuZXcgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgdG8gZW5xdWUgKGFuZCByZW1vdmUgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfaW5pdCksIChnc3RfdjRsMnNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF92NGwyc3JjX3NldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOgoJICBGaXggRUlPIGhhbmRpbmcgd2hlbiBjYXB0dXJpbmcuIEFkZCBuZXcgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mCgkgIGJ1ZmZlcnMgdG8gZW5xdWUgKGFuZCByZW1vdmUgdGhlIGJvcmtlZCBudW0tYnVmZmVycyB1c2FnZSkuCgoyMDA3LTAxLTE2IDA4OjI5OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IFVzZSBhIGZ1bmN0aW9uIGFycmF5IGZvciBwcm9jZXNzIG1ldGhvZHMsIGFkZCBtb3JlIGRvY3MgYW5kIGRlZmluZSB0aGUgc3RhcnRpbmRleCBvZiBlbnVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBjaXJjdWxhci1jaGFvcyBvcmc+CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9jZXNzX2Z1bmN0aW9uKToKCSAgVXNlIGEgZnVuY3Rpb24gYXJyYXkgZm9yIHByb2Nlc3MgbWV0aG9kcywgYWRkIG1vcmUgZG9jcyBhbmQgZGVmaW5lIHRoZQoJICBzdGFydGluZGV4IG9mIGVudW1zLgoKMjAwNy0wMS0xNCAxNzo1NTozMyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHRoYW4gb25lIGF1ZGlvIHN0cmVhbTsgd3JpdGUgYmV0dGVyIEFWSVggaGVhZGVyOyByZWZhY3RvciBjb2RlIGEgYml0OyBkb24ndCBhbm5vdW5jZSB2b3JiaXMgY2Fwcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9hdmlfbXV4X3BhZF9yZXNldCksIChnc3RfYXZpX211eF9yZXNldCksIChnc3RfYXZpX211eF9pbml0KSwKCSAgKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpLCAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2FwcyksCgkgIChnc3RfYXZpX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2F2aV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdml4X2hlYWRlciksIChnc3RfYXZpX211eF9yaWZmX2dldF9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfYXZpeF9pbmRleCksIChnc3RfYXZpX211eF9hZGRfaW5kZXgpLAoJICAoZ3N0X2F2aV9tdXhfYmlnZmlsZSksIChnc3RfYXZpX211eF9zdGFydF9maWxlKSwKCSAgKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSksIChnc3RfYXZpX211eF9oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X2F2aV9tdXhfZG9fYnVmZmVyKSwgKGdzdF9hdmlfbXV4X2RvX29uZV9idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAodGVhcmRvd25fc3JjX3BhZCk6CgkgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHRoYW4gb25lIGF1ZGlvIHN0cmVhbTsgd3JpdGUgYmV0dGVyIEFWSVgKCSAgaGVhZGVyOyByZWZhY3RvciBjb2RlIGEgYml0OyBkb24ndCBhbm5vdW5jZSB2b3JiaXMgY2FwcyBvbiBvdXIgYXVkaW8KCSAgc2luayBwYWRzIHNpbmNlIHdlIGRvbid0IHN1cHBvcnQgaXQgYW55d2F5LiBDbG9zZXMgIzM3OTI5OC4KCjIwMDctMDEtMTMgMTk6MTI6MzIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6IFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYyAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpOgoJICBVc2UgZml4ZWQgY2FwcyBvbiBzcmMgcGFkcy4KCSAgKGdzdF9kZWludGVybGVhdmVfcmVtb3ZlX3BhZHMpOiBSZW1vdmUgc3JjIHBhZHMsIG5vdCBzaW5rIHBhZHMuIEkKCSAgc2VlbSB0byBoYXZlIHJldmVyc2UgbWlkYXMgZGlzZWFzZSEKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6IFByb3h5IHRpbWVzdGFtcHMsIG9mZnNldHMsIGR1cmF0aW9ucywKCSAgYW5kIHNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuIEZpeGVzICMzOTU1OTcsIEkgdGhpbmsuCgoyMDA3LTAxLTEzIDE4OjAxOjQxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBJbml0IHRoZSBhY3RpdmF0aW9uIG1vZGUgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlCgkgIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19zZXRjYXBzLCBnc3RfaW50ZXJsZWF2ZV9zcmNfZ2V0Y2FwcykKCSAgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBTZXQgYSBzZXRjYXBzIGFuZCBnZXRjYXBzIGZ1bmN0aW9uIG9uIHRoZQoJICBzcmMgcGFkLCBzbyB0aGF0IHdlIGNhbiBpbXBsZW1lbnQgcHVsbC1tb2RlIG5lZ290aWF0aW9uLgoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKTogUmVuYW1lZCBmcm9tCgkgIGdzdF9pbnRlcmxlYXZlX3NldGNhcHMsIGFzIGl0IG9ubHkgZG9lcyB0aGUgc2luayBsb2dpYyBub3cuCgkgIEltcGxlbWVudCBib3RoIGZvciBwdWxsLW1vZGUgYW5kIHB1c2gtbW9kZS4KCSAgKGdzdF9pbnRlcmxlYXZlX3Byb2Nlc3MpOiBTZXQgY2FwcyBvbiBvdXIgb3V0Z29pbmcgYnVmZmVyLgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX2FjdGl2YXRlX3B1bGwpOiBGaXggc29tZSBtb3JlIGJvZ3VzIGNhc3RzLgoJICBXaGF0IGlzIHVwIHdpdGggdGhpcy4KCjIwMDctMDEtMTMgMTU6NTI6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuKjogQWRkICdtZXRob2QnIHByb3BlcnR5IGFuZCBwcm92aWRlIGEgc2ltcGxlIChub24tcHN5Y2hvYWN1c3RpYykgcHJvY2Vzc2luZyBtZXRob2QgKCMzOTQ4NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIChnc3RfYXVkaW9fcGFub3JhbWFfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2ludF9zaW1wbGUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfaW50X3NpbXBsZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdF9zaW1wbGUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfZmxvYXRfc2ltcGxlKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkgIEFkZCAnbWV0aG9kJyBwcm9wZXJ0eSBhbmQgcHJvdmlkZSBhIHNpbXBsZSAobm9uLXBzeWNob2FjdXN0aWMpCgkgIHByb2Nlc3NpbmcgbWV0aG9kICgjMzk0ODU5KS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChwYW5vcmFtYV9zdWl0ZSk6CgkgIFRlc3RzIGZvciBuZXcgbWV0aG9kLgoKMjAwNy0wMS0xMiAxODoyODoxMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBjb21tZW50IG91dCBMQURTUEEgcGx1Z2luIGZvciBub3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1lbnQgb3V0IExBRFNQQSBwbHVnaW4gZm9yIG5vdwoKMjAwNy0wMS0xMiAxNzoxNjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF94cXRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3F1aWNrdGltZV9wYXJzZV9zZCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfeHF0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBNYWtlIG5ldyBwbHVnaW4gZW50cnkgcG9pbnQgd2l0aCBxdWlja3RpbWUgcmVsZWF0ZWQgc3R1ZmYuCgoyMDA3LTAxLTEyIDEyOjEwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06IERpc3QgYWxsIG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgIERpc3QgYWxsIG5ldyBmaWxlcy4KCjIwMDctMDEtMTIgMTA6Mjc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBY3RpdmF0ZSBkb2NzIGZvciBqYWNrLCBzZGwgYW5kIHF0ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCjIwMDctMDEtMTIgMTA6MjI6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpLCAocXRkZW11eF90YWdfYWRkX2ducmUpLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfcmVkaXJlY3RzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzogKHF0ZGVtdXhfdHlwZV9nZXQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgKiBnc3QvcXRkZW11eC9xdHBhbGV0dGUuaDoKCSAgQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBNb3ZlIGRlYnVnZ2luZy90YWJsZXMgaW50byBzZXBhcmF0ZSBmaWxlcy4KCSAgQWRkIDIvNC8xNiBjb2xvciBwYWxsZXRlZSBzdXBwb3J0LgoJICBGaXggcmF3IDE1IGJpdCBSR0IgaGFuZGxpbmcuCgkgIFVzZSBtb3JlIEZPVVJDQyBjb25zdGFudHMuCgkgIEFkZCBzb21lIGRvY3MuCgoyMDA3LTAxLTExIDE5OjUxOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKToKCSAgTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoKMjAwNy0wMS0xMSAxNjo1OTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFNldCBjb3JyZWN0IGNhcHMgb24gb3V0Z29pbmcgcHVsbGVkIGJ1ZmZlcnMsIG9yIHRoaW5ncyBibG93IHVwIGFmdGVyIHJlY2VudCBjb3JlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfcmVhZF9yYW5nZSk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSk6CgkgIFNldCBjb3JyZWN0IGNhcHMgb24gb3V0Z29pbmcgcHVsbGVkIGJ1ZmZlcnMsIG9yIHRoaW5ncyBibG93IHVwCgkgIGFmdGVyIHJlY2VudCBjb3JlIGNoYW5nZXMuCgoyMDA3LTAxLTExIDExOjA1OjA0ICswMDAwICBKb25hcyBIb2xtYmVyZyA8am9uYXMuaG9sbWJlcmdAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBSZXR1cm4gRkxPVyBlcnJvcnMgQVNBUC4gRml4ZXMgIzM5NDk3Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKb25hcyBIb2xtYmVyZyA8am9uYXMgZG90IGhvbG1iZXJnIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcXVldWVfcGFkcyksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgUmV0dXJuIEZMT1cgZXJyb3JzIEFTQVAuIEZpeGVzICMzOTQ5NzcuCgkgIE1pc2MgY2xlYW51cHMuCgoyMDA3LTAxLTExIDA5OjMwOjU5ICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENoZWNrIGZvciBzdHJlYW0gcGFkIGJlZm9yZSBhY3RpdmF0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0eiBhdCB0b3Bmcm9zZSBkb3QgZGU+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgIENoZWNrIGZvciBzdHJlYW0gcGFkIGJlZm9yZSBhY3RpdmF0aW5nLgoKMjAwNy0wMS0xMCAxNToxOTo0OCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC86IEFsbG93IHVybCB0byBiZSBOVUxMIHRvIGJlIGFibGUgdG8gdXNlIGl0IGZvciBzZXJ2ZXIgY29ubmVjdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL0NPUFlJTkcuTUlUOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLCAoZ3N0X3J0c3BzcmNfY2xlYW51cCksCgkgIChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpLCAocGFkX3VuYmxvY2tlZCksIChwYWRfYmxvY2tlZCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wcmVwYXJlX3RyYW5zcG9ydHMpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocmVhZF9saW5lKSwKCSAgKHBhcnNlX3JlcXVlc3RfbGluZSksIChwYXJzZV9saW5lKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3BfaW5pdF9zdGF0dXMpLCAocnRzcF9zdHJyZXN1bHQpLAoJICAocnRzcF9tZXRob2RfYXNfdGV4dCksIChydHNwX2hlYWRlcl9hc190ZXh0KSwKCSAgKHJ0c3Bfc3RhdHVzX2FzX3RleHQpLCAocnRzcF9maW5kX2hlYWRlcl9maWVsZCksCgkgIChydHNwX2ZpbmRfbWV0aG9kKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19hZnRlcl9zZW5kKSwKCSAgKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ldyksIChydHNwX21lc3NhZ2VfaW5pdCksCgkgIChydHNwX21lc3NhZ2VfbmV3X3JlcXVlc3QpLCAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksCgkgIChydHNwX21lc3NhZ2VfbmV3X3Jlc3BvbnNlKSwgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLCAocnRzcF9tZXNzYWdlX3Vuc2V0KSwKCSAgKHJ0c3BfbWVzc2FnZV9mcmVlKSwgKHJ0c3BfbWVzc2FnZV9hZGRfaGVhZGVyKSwKCSAgKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9zZXRfYm9keSksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2JvZHkpLCAoZHVtcF9tZW0pLCAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lc3NhZ2VfZ2V0X2F0dHJpYnV0ZV92YWxfbiksCgkgIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZV92YWxfbiksIChyZWFkX3N0cmluZyksIChyZWFkX3N0cmluZ19kZWwpLAoJICAoc2RwX3BhcnNlX2xpbmUpLCAoc2RwX21lc3NhZ2VfcGFyc2VfYnVmZmVyKSwgKHByaW50X21lZGlhKSwKCSAgKHNkcF9tZXNzYWdlX2R1bXApOgoJICBBbGxvdyB1cmwgdG8gYmUgTlVMTCB0byBiZSBhYmxlIHRvIHVzZSBpdCBmb3Igc2VydmVyIGNvbm5lY3Rpb25zLgoJICBDYW4gbm93IHNlbmQgcmVzcG9uc2VzIGFzIHdlbGwgYXMgcmVxdWVzdHMuCgkgIE5vIGxvbmdlciBoYW5ncyBpbiBhbiBlbmRsZXNzIGxvb3AgaWYgRU9GIGlzIHJlY2VpdmVkLgoJICBDYW4gbm93IGNvbnZlcnQgYSBzdGF0dXMgY29kZSB0byBhIHRleHQgc3RyaW5nLgoJICBSZXR1cm4gUlRTUF9IRFJfSU5WQUxJRCBmb3IgdW5rbm93biBoZWFkZXJzLgoJICBSZXR1cm4gUlRTUF9JTlZBTElEIGZvciB1bmtub3duIG1ldGhvZHMuCgkgIENvcHkgQ1NlcSBhbmQgU2Vzc2lvbiBoZWFkZXJzIGZyb20gdGhlIHJlcXVlc3QuCgkgIE9ubHkgZnJlZSBtZW1vcnkgY29ycmVzcG9uZGluZyB0byB0aGUgY3VycmVudGx5IHNldCBtZXNzYWdlIHR5cGUuCgkgIEFkZGVkIGNvbnN0IHRvIGZ1bmN0aW9uIGFyZ3VtZW50cyBhcyBhcHByb3ByaWF0ZS4KCSAgQXZvaWQgYSBjb21waWxlciB3YXJuaW5nIHdoZW4gaW5pdGlhbGl6aW5nIG5tZWRpYS4KCSAgVXNlIGd1aW50IHJhdGhlciB0aGFuIGdpbnQgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuCgkgIEZpeCBjcmFzaGVyIGluIHdtcyBleHRlbnNpb24uCgkgIEZhY3RvciBvdXQgc3RyZWFtIHNldHVwIGZyb20gb3Blbl9jb25uZWN0aW9uLgoJICBEZWxheSBhY3RpdmF0aW9uIG9mIHN0cmVhbXMgd2hlbiBhY3R1YWwgZGF0YSBpcyByZWNlaXZlZCBmcm9tIHRoZQoJICBzZXJ2ZXIsIHRoaXMgcHJlcGFyZXMgdXMgdG8gZG8gcHJvcGVyIHByb3RvY29sIHN3aXRjaGluZy4KCSAgQWRkZWQgbmV3IGxpY2Vuc2UuCgkgIEZpeGVzICMzODA4OTUuCgoyMDA3LTAxLTEwIDA5OjQ3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBTb21lIHNtYWxsIGRvY3MgZml4ZXMgKCMzOTQ4NTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIHVidW50dSBjb20+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgU29tZSBzbWFsbCBkb2NzIGZpeGVzICgjMzk0ODUxKS4KCjIwMDctMDEtMDkgMTI6MjU6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCBkb2NzLgoKMjAwNy0wMS0wOSAxMjoyMzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBSRkMgMjI1MCBNUEVHIFZpZGVvIERlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wdl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfbXB2X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wdl9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSAgQWRkZWQgUkZDIDIyNTAgTVBFRyBWaWRlbyBEZXBheWxvYWRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgRml4IEhlYWRlciBmaWxlLiBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wNHZfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgIFJlbW92ZSB1c3VzZWQgY29kZS4gUmVtb3ZlIEFkYXB0ZXIgZnJvbSBzdGF0ZSBDaGFuZ2UuIEFkZGVkIGRlYnVnLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wYV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXBhX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkgIFN1YmNsYXNzIGJhc2UgZGVwYXlsb2FkZXIuCgkgIEFkZGVkIGRlYnVnLgoJICBTdXBwb3J0IHN0YXRpYyBwYXlsb2FkIHR5cGUgYXNzaWdubWVudCBhcyB3ZWxsLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIEZpeCBjYXBzLgoKMjAwNy0wMS0wOCAxMjo0NToxMCArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIGV4dC9qcGVnLzogVGhlc2UgbGlianBlZyBjYWxsYmFja3Mgc2hvdWxkIHJldHVybiBhICdib29sZWFuJyAodW5zaWduZWQgY2hhciBhcHBhcmVudGx5KSBhbmQgbm90IGEgJ2dib29sZWFuJyAod2hpY2ggbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvc21va2Vjb2RlYy5jOgoJICBUaGVzZSBsaWJqcGVnIGNhbGxiYWNrcyBzaG91bGQgcmV0dXJuIGEgJ2Jvb2xlYW4nICh1bnNpZ25lZCBjaGFyCgkgIGFwcGFyZW50bHkpIGFuZCBub3QgYSAnZ2Jvb2xlYW4nICh3aGljaCBtYXBzIHRvIGdpbnQpLiBGaXhlcwoJICB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjMzkzNDI3KS4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlYWQpOgoJICBVc2UgaW9jdGxzb2NrZXQgb24gd2luMzIuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgU29tZSBwcmludGYgZm9ybWF0IGZpeGVzIGZvciB3aW4zMi4KCjIwMDctMDEtMDcgMjI6MDM6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZCBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZAoJICBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIFRoZSBpbnRlcmxlYXZlciBjYW4gb3BlcmF0ZSBpbiBwdWxsIG9yIHB1c2ggbW9kZSBidXQgdGhlCgkgIGRlaW50ZXJsZWF2ZXIgaXMgbW9yZSBsaWtlIGEgZGVtdXhlciBhbmQgY2FuIG9ubHkgb3BlcmF0ZSBpbiBwdXNoCgkgIG1vZGUuCgoyMDA3LTAxLTA3IDEwOjQ0OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2hhaW4pOgoJICBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbi4KCSAgKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJICBBZGQgemxpYiB0byB0aGUgbGluay4KCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJICBVcGRhdGUgbGlib2lsIGxpYnJhcnkgbmFtZSAocHJvamVjdCBpcyBsaW5rZWQgdG8gbGlib2lsLTAuMy0wLmxpYiBub3cpLgoKMjAwNy0wMS0wNSAxODozMjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KToKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlcgoJICB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLWV4dGVybmFsIGhhcwoJICBiZWVuIHNwZWNpZmllZCEpLCBkaXNhYmxlIHRoZSBiaXRzIGluIHF0ZGVtdXggdGhhdCB1c2UgaXQuIEZpeGVzCgkgIGJ1aWxkIG9uIE1pbmdXICgjMzkyODU2KS4KCjIwMDctMDEtMDUgMTc6MjM6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06IElmIHpsaWIgaXMgYXZhaWxhYmxlIGFuZCB1c2VkLCB3ZSBtdXN0IGxpbmsgaXQgZXhwbGljaXRseSBmb3IgdGhpbmdzIHRvIHdvcmsgb24gTWluZ1cgKGZpeGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICBJZiB6bGliIGlzIGF2YWlsYWJsZSBhbmQgdXNlZCwgd2UgbXVzdCBsaW5rIGl0IGV4cGxpY2l0bHkgZm9yCgkgIHRoaW5ncyB0byB3b3JrIG9uIE1pbmdXIChmaXhlcyAjMzkyODU1KS4KCjIwMDctMDEtMDUgMTY6MDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMKCSAgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmVhZHkgYmVlbiBpbml0ZWQgdmlhIHRoZSBHT3B0aW9uIHN0dWZmLgoKMjAwNy0wMS0wNCAxMTowMjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBEb24ndCByZXR1cm4gYm9ndXMgdmFsdWVzIHdoZW4gZXNkX2dldF9kZWxheSgpIGZhaWxzIGZvciBzb21lIHJlYXNvbiAoIzM5MjE4OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfZGVsYXkpOgoJICBEb24ndCByZXR1cm4gYm9ndXMgdmFsdWVzIHdoZW4gZXNkX2dldF9kZWxheSgpIGZhaWxzIGZvciBzb21lCgkgIHJlYXNvbiAoIzM5MjE4OSkuCgoyMDA3LTAxLTA0IDA5OjQ0OjU3ICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19yZXNldCk6CgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjYzOCkuIEFsc28gc2ltcGxpZnkgRGlyZWN0RHJhdyBjaGVjayBhIGJpdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBGaXggQ1ZTIGlnbm9yZSBmb3IgbmVvbmh0dHBzcmMgdGVzdCBiaW5hcnkuCgoyMDA3LTAxLTAzIDE5OjU0OjMzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTIzMTMpLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RpcmVjdGRyYXdzaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIENvbW1lbnQgb3V0IHNvbWUgdW51c2VkIHRoaW5ncyBhbmQgZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBpc3N1ZXMgaW4KCSAgb3JkZXIgdG8gYXZvaWQgd2FybmluZ3Mgd2hlbiBidWlsZGxpbmcgd2l0aCBNaW5nVyAoIzM5MjMxMykuCgoyMDA3LTAxLTAzIDE2OjQxOjEwICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19lbmNvZGUpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChpaXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9oZWFkZXJfbG9hZCksCgkgIChnc3RfbnV2X2RlbXV4X3N0cmVhbV9leHRlbmRfaGVhZGVyKToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhCgkgIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoKMjAwNi0xMi0zMCAxMjo0NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZSBkZXRhaWxpbmcgd2hpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCk6CgkgIFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlCgkgIGRldGFpbGluZyB3aGljaCBlbGVtZW50IGl0IGFjdHVhbGx5IGlzIHRoYXQncyBtaXNzaW5nICgjMzkwNjczKS4KCjIwMDYtMTItMjQgMTE6MzY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggcHJlc3VtYWJseSBjb3B5J24ncGFzdG8gZm9yIDE2YnBwIGRlcHRoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKToKCSAgRml4IHByZXN1bWFibHkgY29weSduJ3Bhc3RvIGZvciAxNmJwcCBkZXB0aC4KCjIwMDYtMTItMjQgMTE6MjQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFRoZSAic2lnbmVkIiBmaWVsZCBpbiBhdWRpbyBjYXBzIGlzIG9mIGJvb2xlYW4gdHlwZSwgdHJ5aW5nIHRvIHVzZSBnc3Rfc3RydWN0dXJlX2dldF9pbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIFRoZSAic2lnbmVkIiBmaWVsZCBpbiBhdWRpbyBjYXBzIGlzIG9mIGJvb2xlYW4gdHlwZSwgdHJ5aW5nIHRvIHVzZQoJICBnc3Rfc3RydWN0dXJlX2dldF9pbnQoKSB0byBleHRyYWN0IGl0IHdpbGwgZmFpbC4gRml4aW5nIHRoaXMgbWFrZXMKCSAgbWF0cm9za2FtdXggYWNjZXB0IHJhdyBhdWRpbyBpbnB1dCAoIzM4NzEyMSkgKHVzZSBhdCB5b3VyIG93biByaXNrCgkgIHRob3VnaCwgZHVlIHRvIHRoZSBtYXRyb3NrYSBzcGVjIGJlaW5nIG5vdCBlbnRpcmVseSB1c2VmdWwgaW4gdGhpcwoJICByZXNwZWN0KS4KCSAgQWxzbyBmaXggdXAgcmF3IGF1ZGlvIHN0cnVjdHVyZXMgaW4gdGVtcGxhdGUgY2FwcyBzbyB0aGF0IHRoZXkKCSAgcmVwcmVzZW50IHdoYXQgb3VyIHNldGNhcHMgZnVuY3Rpb24gd2lsbCBhY3R1YWxseSBhY2NlcHQsIHNvIHRoYXQKCSAgY29udmVydGVycyBrbm93IHdoYXQgdG8gY29udmVydCB0by4KCSAgRmluYWxseSwgZG9uJ3QgZmFpbCBpZiB0aGVyZSBpc24ndCBhbiAiZW5kaWFubmVzcyIgZmllbGQgaW4gOC1iaXQKCSAgUENNIGNhcHMuCgoyMDA2LTEyLTIyIDEwOjE1OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjIgMTA6MTU6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChjbGVhbnVwX3Bhbm9yYW1hKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX2F2aW11eCksIChjbGVhbnVwX2F2aW11eCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChzZXR1cF9sZXZlbCksIChjbGVhbnVwX2xldmVsKToKCSAgcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAxNzowMzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCAwLjEwLjUgZG9hcCBlbnRyeQoKPT09IHJlbGVhc2UgMC4xMC40ID09PQoKMjAwNi0xMi0yMSAxNTo0NTowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgPT09IHJlbGVhc2UgMC4xMC40ID09PQoJICAyMDA2LTEyLTIxICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoKPT09IHJlbGVhc2UgMC4xMC41ID09PQoKMjAwNi0xMi0yMSAxNTo0MDo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjUsICJUaGUgUGF0aCBvZiBUaG9ybnMiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA9PT0gcmVsZWFzZSAwLjEwLjUgPT09CgkgIDIwMDYtMTItMjEgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuNSwgIlRoZSBQYXRoIG9mIFRob3JucyIKCjIwMDYtMTItMjEgMTQ6MDM6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAxMjo0ODozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKGNsZWFudXBfcGFub3JhbWEpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoc2V0dXBfYXZpbXV4KSwgKGNsZWFudXBfYXZpbXV4KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKHNldHVwX2xldmVsKSwgKGNsZWFudXBfbGV2ZWwpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDA4OjIwOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAwODoxNToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChjbGVhbnVwX3Bhbm9yYW1hKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX2F2aW11eCksIChjbGVhbnVwX2F2aW11eCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChzZXR1cF9sZXZlbCksIChjbGVhbnVwX2xldmVsKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMTggMTc6MTE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0gaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcG9zdF9wcm9ncmVzcyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0KCSAgaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXRhOyBpbnN0ZWFkLCBwb3N0ICJwcm9ncmVzcyIgZWxlbWVudAoJICBtZXNzYWdlcyBhcyBhIHRlbXBvcmFyeSBzb2x1dGlvbi4gQXBwcyBtaWdodCBnZXQgY29uZnVzZWQgYW5kIGRvCgkgIHNpbGx5IHRoaW5ncyB0byB0aGUgcGlwZWxpbmUgc3RhdGUgaWYgdGhleSBzZWUgYnVmZmVyaW5nIG1lc3NhZ2VzCgkgIGZyb20gZGlmZmVyZW50IHNvdXJjZXMgYW5kIGRvbid0IHJlYWxpemUgdGhleSBjb21lIGZyb20gZGlmZmVyZW50CgkgIHNvdXJjZXMgKCMzODcxNjApLgoKMjAwNi0xMi0xOCAxNjo0NjoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBEaXNhYmxlIExBRFBTQSwgYXMgaXQgaGFzIG1vdmVkIHRvIHRoZSAtYmFkIG1vZHVsZSBmb3IgdGhlIGR1cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIExBRFBTQSwgYXMgaXQgaGFzIG1vdmVkIHRvIHRoZSAtYmFkIG1vZHVsZSBmb3IgdGhlIGR1cmF0aW9uLgoKMjAwNi0xMi0xOCAxNTo1MTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIgZXJyb3Igc3RhdGUgYWZ0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCk6CgkgIFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIKCSAgZXJyb3Igc3RhdGUgYWZ0ZXIgdGhlIGZsdXNoLiBGaXhlcyAjMzc0MjEzCgoyMDA2LTEyLTE4IDE1OjQ5OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIENoYW5nZUxvZyBzdXJnZXJ5IG9uIG9uZSBvZiBTdGVmYW4ncyBjb21taXRzIGZyb20gQXVndXN0OgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgb24gb25lIG9mIFN0ZWZhbidzIGNvbW1pdHMgZnJvbSBBdWd1c3Q6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBRdWlldGx5IChhY2NpZGVudGFsbHkpIGVuYWJsZSBMQURTUEEgZm9yIGJ1aWxkaW5nIGJ5IGRlZmF1bHQsCgkgIGRlc3BpdGUgdGhlIGZhY3QgdGhhdCBpdCBkb2Vzbid0IG1lZXQgdGhlIHBsdWdpbiBjaGVja2xpc3QuCgkgIC0tIEFkZGVkIGJ5IEphbiBTY2htaWR0IDE4IERlYyAyMDA2CgoyMDA2LTEyLTE4IDEzOjQwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBHU1RfRUxFTUVOVF9XQVJOSU5HIGFuZCBkb24ndCBhZGQgdGhlIHBhZC4KCSAgRml4IHRoZSBjYXNlIHdoZXJlIGl0IGRvZXNuJ3QgY2hlY2sgZm9yIGEgTlVMTCBwYWQgaW4gc3RyZWFtaW5nIG1vZGUuCgkgIEZpeGVzICMzODcxMzcKCjIwMDYtMTItMTggMTI6Mjc6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBGaXhlcyAjMzg3MTIyLgoKMjAwNi0xMi0xOCAxMDowMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AdWJ1bnR1LmNvbT4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDogVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrIGluc3RhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjawoJICBpbnN0YWxscy4KCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IHVidW50dSBkb3QgY29tPgoJICBGaXhlczogIzM4NzA3NgoKMjAwNi0xMi0xNyAxOTo0MjowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMTItMTcgMDY6MTE6MzkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBEZWNlbnQgZWZmb3J0IGF0IHBvcnRpbmcgdG8gMC4xMC4gIE5lZWRzIGNsZWFudXAgb24gT1MvWC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRGVjZW50IGVmZm9ydCBhdCBwb3J0aW5nIHRvIDAuMTAuICBOZWVkcyBjbGVhbnVwIG9uIE9TL1guCgoyMDA2LTEyLTE3IDA1OjA3OjA3ICswMDAwICBWaWpheSBTYW50aGFuYW0gPHZpamF5QHNhbnRoYW5hbS5nbWFpbC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBQcmVsaW1pbmFyeSBwYXRjaCBmb3IgcG9ydGluZyBvc3h2aWRlb3NpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaWpheSBTYW50aGFuYW0gPHZpamF5IHNhbnRoYW5hbSBnbWFpbCBjb20+CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFByZWxpbWluYXJ5IHBhdGNoIGZvciBwb3J0aW5nIG9zeHZpZGVvc2luawoKMjAwNi0xMi0xNiAxNjoyMToyNiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBJbnRyb2R1Y2Ugc29tZSBsb2NraW5nIGFyb3VuZCB0aGUgdmlkZW9taXhlciBzdGF0ZSBzbyB0aGF0IGl0IGRvZXMgbm90IGNyYXNoIHdoZW4gYWRkaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9wYWRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0X2ZyZWUpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9maW5hbGl6ZSksIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVsZWFzZV9wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKSwKCSAgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIEludHJvZHVjZSBzb21lIGxvY2tpbmcgYXJvdW5kIHRoZSB2aWRlb21peGVyIHN0YXRlIHNvIHRoYXQgaXQgZG9lcyBub3QKCSAgY3Jhc2ggd2hlbiBhZGRpbmcvcmVtb3ZpbmcgcGFkcy4gRml4ZXMgIzM4MzA0My4KCjIwMDYtMTItMTYgMTU6MjU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgSW1wbGVtZW50IHNlZWtpbmcgcXVlcnkgc28gYXBwcyBjYW4gcXVlcnkgc2Vla2FiaWxpdHkgcHJvcGVybHkKCSAgKHNlZSAjMzY1NDE0KS4gRml4IGR1cmF0aW9uIHF1ZXJ5LgoKMjAwNi0xMi0xNiAxMTo0Mjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogTWFrZSBzdXJlIGxpYmNhY2EgY2FuIGFjdHVhbGx5IGJlIHVzZWQgaW5zdGVhZCBvZiBqdXN0IGNoZWNraW5nIGZvciAvdXNyL2Jpbi9jYWNhLWNvbmZpZywgc28gd2UgZG9uJ3Qgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE1ha2Ugc3VyZSBsaWJjYWNhIGNhbiBhY3R1YWxseSBiZSB1c2VkIGluc3RlYWQgb2YganVzdCBjaGVja2luZyBmb3IKCSAgL3Vzci9iaW4vY2FjYS1jb25maWcsIHNvIHdlIGRvbid0IHdyb25nbHkgdHJ5IHRvIGJ1aWxkIGNhY2FzaW5rIHdoZW4KCSAgY3Jvc3MtY29tcGlsaW5nIChmaXhlcyAjMzg0NTg3KS4KCjIwMDYtMTItMTUgMTA6NTQ6MjggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkaW5nIGRvYXAgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGRpbmcgZG9hcCBmaWxlCgoyMDA2LTEyLTE0IDE2OjIwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBsaWJmbGFjLTEuMS4zIGNoYW5nZWQgQVBJIGFnYWluLCBidXQgd2UgY2FuJ3QgYnVpbGQgYWdhaW5zdCBpdCB5ZXQsIHNvIG1ha2Ugc3VyZSBvdXIgY2hlY2sgZG9lc24ndCB1c2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgbGliZmxhYy0xLjEuMyBjaGFuZ2VkIEFQSSBhZ2FpbiwgYnV0IHdlIGNhbid0IGJ1aWxkIGFnYWluc3QgaXQgeWV0LAoJICBzbyBtYWtlIHN1cmUgb3VyIGNoZWNrIGRvZXNuJ3QgdXNlIGxpYmZsYWMtMS4xLjMgYW5kIGFkZCBhIGNvbW1lbnQKCSAgdG8gdGhpcyBlZmZlY3QuCgoyMDA2LTEyLTE0IDE0OjI1OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogQWRkIHNvbWUgTlVMTCBwb2ludGVyIGNoZWNrcyAocG9zc2libHkgcmVsYXRlZCB0byAjMzg1NjIzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3RyYW5zZm9ybSksCgkgIChnc3RfcXVhcmt0dl9wbGFuZXRhYmxlX2NsZWFyKToKCSAgQWRkIHNvbWUgTlVMTCBwb2ludGVyIGNoZWNrcyAocG9zc2libHkgcmVsYXRlZCB0byAjMzg1NjIzKS4KCjIwMDYtMTItMTMgMTc6MTI6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoKMjAwNi0xMi0xMiAxODo0NTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEluIHN0cmVhbWluZyBtb2RlLCBpZiB0aGUgZmlyc3QgYnVmZmVyIHdlIGdldCBkb2Vzbid0IGhhdmUgYW4gb2Zmc2V0LCBmaXggaXQgdXAgdG8gYmUgMCwgb3RoZXJ3aXNlIHRyaW1taW5nIHdvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluX3BhcnNlX3RhZyksCgkgIChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIEluIHN0cmVhbWluZyBtb2RlLCBpZiB0aGUgZmlyc3QgYnVmZmVyIHdlIGdldCBkb2Vzbid0IGhhdmUgYW4KCSAgb2Zmc2V0LCBmaXggaXQgdXAgdG8gYmUgMCwgb3RoZXJ3aXNlIHRyaW1taW5nIHdvbid0IHdvcmsgbGF0ZXIgb24KCSAgYW5kIHdlJ2xsIGJlIHR5cGVmaW5kaW5nIGFwcGxpY2F0aW9uL3gtaWQzLCB3aGljaCBtYXkgcmVzdWx0IGluCgkgIGRlY29kZWJpbiBwbHVnZ2luZyBhbiBlbmRsZXNzIG51bWJlciBvZiBpZDNkZW11eCBlbGVtZW50cyBhcyBhCgkgIGNvbnNlcXVlbmNlLiBGaXhlcyAjMzg1MDMxLgoKMjAwNi0xMi0xMSAyMToyMToxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IElnbm9yZSB0aGUgYnVmZmVyX3RpbWUgdGhlIHNvdW5kIGRldmljZSByZXBvcnRzLiBUdXJucyBvdXQgaXQgaXMgc29tZXRpbWVzIGNvbXBsZXRlbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKToKCSAgSWdub3JlIHRoZSBidWZmZXJfdGltZSB0aGUgc291bmQgZGV2aWNlIHJlcG9ydHMuIFR1cm5zIG91dCBpdCBpcwoJICBzb21ldGltZXMgY29tcGxldGVseSBib2d1cyBhbmQgd2UncmUgYmV0dGVyIG9mZiB3aXRob3V0IGl0LgoKMjAwNi0xMi0xMSAxNzozMzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZQoJICBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzICMzNzg2MTMuCgoyMDA2LTEyLTExIDEzOjU5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogVHJ5IGhhcmRlciB0byBleHRyYWN0IHRoZSBmcmFtZXJhdGUgZm9yIHZpZGVvIHRyYWNrcyBjb3JyZWN0bHkgYW5kIHNhdmUgaXQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjb252ZXJ0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3ZpZGVvX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgVHJ5IGhhcmRlciB0byBleHRyYWN0IHRoZSBmcmFtZXJhdGUgZm9yIHZpZGVvIHRyYWNrcyBjb3JyZWN0bHkgYW5kCgkgIHNhdmUgaXQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIGl0IGJhY2sgYW5kIGZvcnRoIGEgZmV3CgkgIHRpbWVzLiBNb3N0bHkgbWFrZXMgYSBkaWZmZXJlbmNlIGZvciB2ZXJ5IHNtYWxsIGZyYW1lcmF0ZXMgKDwxKS4KCSAgRml4ZXMgIzM4MDE5OS4KCjIwMDYtMTItMTEgMTE6NDE6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy4qOiBSZW1vdmUgZ2NvbmYgbm90aWZ5IGhvb2sgd2hlbiB0aGUgZ2NvbmZhdWRpb3NyYyBlbGVtZW50IGlzIGRlc3Ryb3llZCwgb3RoZXJ3aXNlIHRoZSBjYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Rpc3Bvc2UpLCAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgIFJlbW92ZSBnY29uZiBub3RpZnkgaG9vayB3aGVuIHRoZSBnY29uZmF1ZGlvc3JjIGVsZW1lbnQgaXMKCSAgZGVzdHJveWVkLCBvdGhlcndpc2UgdGhlIGNhbGxiYWNrIG1heSBiZSBjYWxsZWQgb24gYW4KCSAgYWxyZWFkeS1kZXN0cm95ZWQgaW5zdGFuY2UgYW5kIGJhZCB0aGluZ3MgaGFwcGVuLiBTaG91bGQgZml4CgkgICMzNzgxODQuCgkgIEFsc28gaWdub3JlIGdjb25mIGtleSBjaGFuZ2VzIHdoZW4gdGhlIHNvdXJjZSBpcyBhbHJlYWR5IHJ1bm5pbmcuCgoyMDA2LTEyLTA5IDE5OjI3OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IFdlIG5lZWQgdG8gYmUgYWJsZSB0byByZWFkIGFuZCBwYXJzZSBhbnkgcG9zc2libGUgZmxvYXRpbmcgcG9pbnQgc3RyaW5nIGZvcm1hdCAoIjEsMjM0IiBvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlPgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgV2UgbmVlZCB0byBiZSBhYmxlIHRvIHJlYWQgYW5kIHBhcnNlIGFueSBwb3NzaWJsZSBmbG9hdGluZyBwb2ludCBzdHJpbmcKCSAgZm9ybWF0ICgiMSwyMzQiIG9yICIxLjIzNCIpIGlycmVzcGVjdGl2ZSBvZiB0aGUgY3VycmVudCBsb2NhbGUuIGdfc3Ryb2QoKQoJICB3aWxsIHBhcnNlIHRoZSBmb3JtZXIgb25seSBpbiBjZXJ0YWluIGxvY2FsZXMgdGhvdWdoLCBzbyB3ZSByZWFsbHkgbmVlZAoJICB0byBjYW5vbmljYWxpc2UgdGhlIHNlcGFyYXRvciB0byAnLicgYW5kIHRoZW4gdXNlIGdfYXNjaWlfc3RydG9kKCkgdG8KCSAgbWFrZSBzdXJlIHdlIGNhbiBwYXJzZSBlaXRoZXIgdmVyc2lvbiBhdCBhbGwgdGltZXMuCgkgIEZpeGVzICMzODI5ODIgZm9yIHJlYWwuCgoyMDA2LTEyLTA5IDE2OjE3OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IFVzZSB0aGUgc3VuYXVkaW8gZGVidWcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICBVc2UgdGhlIHN1bmF1ZGlvIGRlYnVnIGNhdGVnb3J5LgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19jbGFzc19pbml0KSwgKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3Rfc3VuYXVkaW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX29wZW4pLCAoZ3N0X3N1bmF1ZGlvc2lua19jbG9zZSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpLCAoZ3N0X3N1bmF1ZGlvX3NpbmtfZG9fZGVsYXkpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua193cml0ZSksIChnc3Rfc3VuYXVkaW9zaW5rX2RlbGF5KSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfcmVzZXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgVXNlcyB0aGUgc3VuYXVkaW8gZGVidWcgY2F0ZWdvcnkgZm9yIGFsbCBkZWJ1ZyBvdXRwdXQKCSAgSW1wbGVtZW50cyB0aGUgX2RlbGF5KCkgY2FsbGJhY2sgdG8gc3luY2hyb25pc2UgdmlkZW8gcGxheWJhY2sgYmV0dGVyCgkgIENoYW5nZSB0aGUgc2VndG90YWwgYW5kIHNlZ3NpemUgdmFsdWVzIGJhY2sgdG8gdGhlIHBhcmVudCBjbGFzcwoJICBkZWZhdWx0cyAodGFrZW4gZnJvbSBidWZmZXJfdGltZSBhbmQgbGF0ZW5jeV90aW1lcyBvZiAyMDBtcyBhbmQgMTBtcwoJICByZXNwZWN0aXZlbHkpCgkgIE1lYXN1cmUgdGhlIHNhbXBsZXMgd3JpdHRlbiB0byB0aGUgZGV2aWNlIHZzLiBwbGF5ZWQuCgkgIEtlZXAgdHJhY2sgb2Ygc2VnbWVudHMgaW4gdGhlIGRldmljZSBieSB3cml0aW5nIGVtcHR5IGVvZiBmcmFtZXMsIGFuZAoJICBzbGVlcCB1c2luZyBhIEdDb25kIHdoZW4gd2UgZ2V0IHRvbyBmYXIgYWhlYWQgYW5kIHJpc2sgb3ZlcnJ1bm5pbmcgdGhlCgkgIHNpbmsncyByaW5nYnVmZmVyLgoJICBGaXhlczogIzM2MDY3MwoKMjAwNi0xMi0wOCAyMToxMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIENvcnJlY3QgdGhlIGF0dHJpYnV0aW9uIG9mIHRoZSBwcmV2aW91cyBjb21taXQuIFRoZSBwYXRjaCBpbiBxdWVzdGlvbiB3YXMgd3JpdHRlbiBieSBCcmlhbiBDYW1lcm9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29ycmVjdCB0aGUgYXR0cmlidXRpb24gb2YgdGhlIHByZXZpb3VzIGNvbW1pdC4gVGhlIHBhdGNoIGluCgkgIHF1ZXN0aW9uIHdhcyB3cml0dGVuIGJ5IEJyaWFuIENhbWVyb24uCgoyMDA2LTEyLTA4IDE3OjA2OjQzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBGaXhlcyAjMzgzNDcxLgoKMjAwNi0xMi0wOCAxNjozODoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS4qOiBGaXggYXVkaW9wYW5vcmFtZSB3aXRoIGZsb2F0IHNhbXBsZXMuIEZpeGVzICMzODM3MjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZSA+CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSAgRml4IGF1ZGlvcGFub3JhbWUgd2l0aCBmbG9hdCBzYW1wbGVzLiBGaXhlcyAjMzgzNzI2LgoKMjAwNi0xMi0wOCAxNToxMjowMSArMDAwMCAgUGFkcmFpZyBPJ0JyaWFpbiA8cGFkcmFpZy5vYnJpYWluQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBJbXBsZW1lbnQgcmVzZXQgZnVuY3Rpb25zIHRvIHVuYmxvY2sgdGhlIHNyYy9zaW5rIG1vcmUgcXVpY2tseSBvbiBzdGF0ZSBjaGFuZ2UgcmVxdWVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfcmVzZXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3Jlc2V0KToKCSAgSW1wbGVtZW50IHJlc2V0IGZ1bmN0aW9ucyB0byB1bmJsb2NrIHRoZSBzcmMvc2luayBtb3JlIHF1aWNrbHkgb24KCSAgc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgoJICBQYXRjaCBieTogUGFkcmFpZyBPJ0JyaWFpbiA8cGFkcmFpZyBkb3Qgb2JyaWFpbiBhdCBzdW4gZG90IGNvbT4KCjIwMDYtMTItMDggMTQ6NDI6NDIgKzAwMDAgIEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOiBDb25zdHJ1Y3QgdGhlIGNvcnJlY3QgbWl4ZXIgZGV2aWNlIG5hbWUgd2hlbiB0aGUgQVVESU9ERVYgZW52IHZhciBpcyBzZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBDb25zdHJ1Y3QgdGhlIGNvcnJlY3QgbWl4ZXIgZGV2aWNlIG5hbWUgd2hlbiB0aGUgQVVESU9ERVYgZW52IHZhcgoJICBpcyBzZXQuCgkgIFBhdGNoIGJ5OiBKZXJyeSBUYW4gPGplcnJ5LnRhbiBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICMzODM1OTYKCjIwMDYtMTItMDggMTQ6MzI6NTEgKzAwMDAgIEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogQXBwbHkgcGF0Y2ggdG8gb3BlbiB0aGUgbWl4ZXIgY29udHJvbCBhbmQgc2V0IHRoZSBNVUxUSVBMRV9PUEVOIGlvY3RsLiBPbiBzb2xhcmlzLCB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfb3Blbik6CgkgIEFwcGx5IHBhdGNoIHRvIG9wZW4gdGhlIG1peGVyIGNvbnRyb2wgYW5kIHNldCB0aGUgTVVMVElQTEVfT1BFTgoJICBpb2N0bC4gT24gc29sYXJpcywgdGhlIG1peGVyIGRldmljZSBkb2Vzbid0IG5lZWQgb3BlbmluZyBub24tYmxvY2tpbmcKCSAgLSBpdCBjYW4gYmUgb3BlbmVkIGJ5IG11bHRpcGxlIHByb2Nlc3NlcyBieSBkZWZhdWx0LCBidXQgbmVlZHMgdGhlIGlvY3RsIAlmb3IgbXVsdGlwbGUgb3BlbnMgd2l0aGluIDEgcHJvY2Vzcy4KCSAgUGF0Y2ggYnk6IEplcnJ5IFRhbiA8amVycnkudGFuIGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzM0OTAxNQoKMjAwNi0xMi0wNyAxNzozMDowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS86IFBvcnQgdG8gMC4xMCBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY2xhc3NfaW5pdCksCgkgIChnc3Rfc21wdGVfc2V0Y2FwcyksIChnc3Rfc21wdGVfaW5pdCksIChnc3Rfc21wdGVfcmVzZXQpLAoJICAoZ3N0X3NtcHRlX2NvbGxlY3RlZCksIChnc3Rfc21wdGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zbXB0ZV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NtcHRlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIFBvcnQgdG8gMC4xMCBzb21lIG1vcmUuCgkgIEFkZGVkIGR1cmF0aW9uIHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIGR1cmF0aW9uIG9mIHRoZSB0cmFuc2l0aW9uLgoJICBNYWtlIGZyYW1lcmF0ZSBhIGZyYWN0aW9uLgoJICBEZXByZWNhdGUgZnBzIHByb3BlcnR5LCB3ZSBvbmx5IHVzZSBuZWdvdGlhdGVkIGZwcy4KCSAgQWRkZWQgZG9jcy4KCSAgRml4IGNvbGxlY3RwYWQgdXNhZ2UuCgkgIFJlc2V0IHN0YXRlIGluIFJFQURZLgoJICBTZW5kIE5FV1NFR01FTlQgZXZlbnQuCgkgIEZpeCByYWN5IHVwZGF0ZXMgb2Ygb2JqZWN0IHByb3BlcnRpZXMuCgkgIEFkZGVkIGRlYnVnIGNhdGVnb3J5LgoJICBGaXhlcyAjMzgzMzIzLgoKMjAwNi0xMi0wNyAxMTozNTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgoyMDA2LTEyLTA2IDE1OjA2OjA0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IERvbid0IHJlc2V0IHhwb3MgYW5kIHlwb3MgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24gYmVjYXVzZSBjYXVzZXMgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdF9mcmVlKToKCSAgRG9uJ3QgcmVzZXQgeHBvcyBhbmQgeXBvcyBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBiZWNhdXNlIGNhdXNlcwoJICB1bmV4cGVjdGVkIGJlaGF2aW91ci4KCSAgRml4ZXMgIzM4MjE3OS4KCjIwMDYtMTItMDYgMTQ6NDU6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBLZWVwIHRyYWNrIG9mIHRoZSBidWZmZXIgdGltZXN0YW1wIGluIHRoZSBjb2xsZWN0ZGF0YSBtZW1iZXIgaW5zdGVhZCBvZiBtb2RpZnlpbmcgdGhlIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbXBhcmVfcGFkcyksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgaW4gdGhlIGNvbGxlY3RkYXRhIG1lbWJlciBpbnN0ZWFkCgkgIG9mIG1vZGlmeWluZyB0aGUgYnVmZmVyIHdpdGhvdXQgbWFraW5nIHRoZSBtZXRhZGF0YSB3cml0YWJsZSBmaXJzdC4KCSAgRml4ZXMgIzM4MjI3Ny4KCjIwMDYtMTItMDYgMTQ6MzM6NTQgKzAwMDAgIFJvYiBUYXlsb3IgPHJvYnRheWxvckBmbG9vcGlseS5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBJZiB1c2luZyBtdWx0aWNhc3QgaW4gdWRwc3JjLCBiaW5kIHRvIHRoZSBtdWx0aWNhc3QgYWRkcmVzcyByYXRoZXIgdGhhbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYiBUYXlsb3IgPHJvYnRheWxvciBhdCBmbG9vcGlseSBkb3Qgb3JnPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgSWYgdXNpbmcgbXVsdGljYXN0IGluIHVkcHNyYywgYmluZCB0byB0aGUgbXVsdGljYXN0IGFkZHJlc3MgcmF0aGVyIHRoYW4KCSAgSU5fQUREUl9BTlkuCgkgIFRoaXMgYWxsb3dzIHRoZSBzaW11bHRhbm91cyB1c2Ugb2YgbXVsdGlwbGUgdWRwc3JjcyBsaXN0ZW5pbmcgb24KCSAgZGlmZmVyZW50IG11bHRpY2F0IGFkZHJlc3Nlcy4gV2l0aG91dCB0aGlzIGFsbCB1ZHBzcmNzIHdpbGwgcmVjZWl2ZSBhbGwKCSAgcGFja2V0cyBmcm9tIGFsbCBzdWJzY3JpYmVkIG11bHRpY2FzdCBhZGRyZXNzZXMuCgkgIEZpeGVzICMzODMwMDEuCgoyMDA2LTEyLTA2IDEzOjM1OjUyICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkAwa2FvbGluLndoOS5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBEb24ndCBhdHRlbXB0IHRvIHdyaXRlIGEgTlVMTCBmcmFtZSBpbnRvIHRoZSBJRDMgdGFnIHNldCB3aGVuIHRoZSBjcmVhdGVGcmFtZSBtZXRob2QgcmV0dXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgRG9uJ3QgYXR0ZW1wdCB0byB3cml0ZSBhIE5VTEwgZnJhbWUgaW50byB0aGUgSUQzIHRhZyBzZXQgd2hlbiB0aGUKCSAgY3JlYXRlRnJhbWUgbWV0aG9kIHJldHVybmVkIE5VTEwuCgkgIEZpeGVzOiAjMzgxODU3CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbiBhdCAwa2FvbGluIHdoOSBuZXQgPgoKMjAwNi0xMi0wNiAxMzoxNjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBVc2UgZ19zdHJ0b2QoKSBpbnN0ZWFkIG9mIHNzY2FuZiB0byBwYXJzZSBkb3VibGVzLCBzbyB0aGF0IGl0IHdpbGwgdHJ5IHBhcnNpbmcgaW4gdGhlIEMgbG9jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgVXNlIGdfc3RydG9kKCkgaW5zdGVhZCBvZiBzc2NhbmYgdG8gcGFyc2UgZG91Ymxlcywgc28gdGhhdCBpdCB3aWxsCgkgIHRyeSBwYXJzaW5nIGluIHRoZSBDIGxvY2FsZSBpZiB0aGUgY3VycmVudCBsb2NhbGUgZmFpbHMuCgkgIEZpeGVzOiAjMzgyOTgyCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlID4KCjIwMDYtMTItMDEgMTA6MzE6NDYgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi9NQU5JRkVTVDogRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBkb3QgY29tPgoJICBQYXJ0aWFsbHkgZml4ZXMgIzM4MTE3NQoKMjAwNi0xMS0zMCAxNjo0ODo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogYWNjZXB0IGFsbCBtcGVndmVyc2lvbnMsZml4ZXMgIzM4MDgyNSBzcG90dGVkIGJ5OiBKZXJvbWUgQWxldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhY2NlcHQgYWxsIG1wZWd2ZXJzaW9ucyxmaXhlcyAjMzgwODI1CgkgIHNwb3R0ZWQgYnk6IEplcm9tZSBBbGV0CgoyMDA2LTExLTMwIDE2OjQ2OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGNsZWFudXAgdGhlIGVycm9yIG1lc3NhZ2UgYSBiaXQgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2J1ZmZlcl9maW5hbGl6ZSk6CgkgIGNsZWFudXAgdGhlIGVycm9yIG1lc3NhZ2UgYSBiaXQgbW9yZQoKMjAwNi0xMS0zMCAxNTowODowOCArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpOgoJICBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoKMjAwNi0xMS0yOCAxMjozMDoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IEZpeCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IChnc3RfY2FjYXNpbmtfY2xhc3NfaW5pdCk6CgkgIEZpeCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMuCgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIG5ld2VyIGxpYmNhY2EgdGhhdCByZXF1aXJlIHVzIHRvIGluY2x1ZGUgYSBuZXcKCSAgaGVhZGVyLiBGaXhlcyAjMzc5OTE4LgoKMjAwNi0xMS0yOCAxMTo1MjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIG1ldGhvZCBzbyB0aGF0IGV4dGVuc2lvbnMgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZSBzZXR1cCBvZiBhIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfY29uZmlndXJlX3N0cmVhbSksCgkgIChydHNwX2V4dF93bXNfZ2V0X2NvbnRleHQpOgoJICBBZGQgbWV0aG9kIHNvIHRoYXQgZXh0ZW5zaW9ucyBjYW4gY2hvb3NlIHRvIGRpc2FibGUgdGhlIHNldHVwIG9mCgkgIGEgc3RyZWFtLgoJICBNYWtlIHRoZSBXTVMgZXh0ZW5zaW9uIHNraXAgc2V0dXAgb2YgeC13bXMtcnR4IHN0cmVhbXMuIEZpeGVzICMzNzc3OTIuCgoyMDA2LTExLTI3IDE3OjE2OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvciBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvcgoJICBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoKMjAwNi0xMS0yNyAxNjozMDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgbWVudGlvbiBidWcgZml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtZW50aW9uIGJ1ZyBmaXgKCjIwMDYtMTEtMjcgMTY6Mjk6MDcgKzAwMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hcy5ob2xtYmVyZ0BheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IFB1c2ggaGVhZGVyIGluIGEgc2VwYXJhdGUgYnVmZmVyIGluc3RlYWQgb2YgbWVtY3B5OmluZyBhbGwgZGF0YQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmFzIEhvbG1iZXJnIDxqb25hcyBkb3QgaG9sbWJlcmcgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBQdXNoIGhlYWRlciBpbiBhIHNlcGFyYXRlIGJ1ZmZlciBpbnN0ZWFkIG9mIG1lbWNweTppbmcgYWxsIGRhdGEKCSAgQ2hhbmdlIExGID0+IENSTEYgaW4gaGVhZGVycwoJICBNb3ZlIHRyYWlsaW5nIExGIHRvIGhlYWRlcgoKMjAwNi0xMS0yNyAxNjoyNjo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogU21hbGwgYnVmZmVyIG92ZXJmbG93IGZpeCBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2NoYWluKToKCSAgU21hbGwgYnVmZmVyIG92ZXJmbG93IGZpeCBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcuCgoyMDA2LTExLTI0IDA4OjU4OjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZXNkLzogcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmg6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgIHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcwoKMjAwNi0xMS0yNCAwNzo0Njo1NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiByZW1vdmUgZGVhZCBjb2RlLCB0d2VhayBkZWJ1Z3Mgc3RhdGVtZW50cywgYWRkIGNvbW1lbnRzLCB1c2UgX3VpbnQ2NF9zY2FsZSBpbnN0ZWFkIF91aW50NjRfc2NhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wZWVrX2NodW5rKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICByZW1vdmUgZGVhZCBjb2RlLCB0d2VhayBkZWJ1Z3Mgc3RhdGVtZW50cywgYWRkIGNvbW1lbnRzLCB1c2UKCSAgX3VpbnQ2NF9zY2FsZSBpbnN0ZWFkIF91aW50NjRfc2NhbGVfaW50IHdoZW4gdXNpbmcgZ3VpbnQ2NCB2YWx1ZXMsCgkgIHNtYWxsIG9wdGltaXphdGlvbnMsIHJlZmxvdyBzb21lIGVycm9yIGhhbmRsaW5nCgoyMDA2LTExLTIyIDE3OjM5OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgcG8vLmN2c2lnbm9yZTogV2UgbmV2ZXIgcHV0IC5wb3QgZmlsZXMgaW4gY3ZzLiBMZXQncyBpZ25vcmUgdGhlbSBhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvLy5jdnNpZ25vcmU6CgkgIFdlIG5ldmVyIHB1dCAucG90IGZpbGVzIGluIGN2cy4gTGV0J3MgaWdub3JlIHRoZW0gYWxsLgoKMjAwNi0xMS0yMSAxMjo1Nzo1MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBlbmFsYmUgTEFEU1BBIHBsdWdpbiBpbiBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGVuYWxiZSBMQURTUEEgcGx1Z2luIGluIHNwZWMgZmlsZQoKMjAwNi0xMS0xOSAxODo0NjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiAuLi4gYnV0IGJldHRlciBleGNsdWRlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIC4uLiBidXQgYmV0dGVyIGV4Y2x1ZGUgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkLgoKMjAwNi0xMS0xOSAxNjozMjo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiBBZGQgdjRsMiBzb3VyY2UgZmlsZXMgdG8gbGlzdCBvZiBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucywgc28gdGhlIHN0cmluZ3MgYXJlIGFjdHVhbGx5IGV4dHJhY3RlZCAoaG93ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIHY0bDIgc291cmNlIGZpbGVzIHRvIGxpc3Qgb2YgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMsIHNvIHRoZQoJICBzdHJpbmdzIGFyZSBhY3R1YWxseSBleHRyYWN0ZWQgKGhvd2V2ZXIgYmFkIHRoZXkgc3RpbGwgbWF5IGJlKS4KCjIwMDYtMTEtMTkgMTY6MzA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogTWlub3IgY2xlYW4tdXBzOiBjb25zdC1pZnkgc3RhdGljIGFycmF5LCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KToKCSAgTWlub3IgY2xlYW4tdXBzOiBjb25zdC1pZnkgc3RhdGljIGFycmF5LCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbQoJICBsYXN0IGVudW0gKGdjYy0yLjl4IHRyaXBzIG92ZXIgdGhhdCksIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCjIwMDYtMTEtMTkgMTM6NDE6NTMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTWFrZSBzdXJlIHRoYXQgZ19mcmVlIGFsd2F5cyBnZXRzIGNhbGxlZCBvbiB0aGUgc2FtZSBwb2ludGVyIHRoYXQgd2FzIHJldHVybmVkIGJ5IGdfbWFsbG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgIE1ha2Ugc3VyZSB0aGF0IGdfZnJlZSBhbHdheXMgZ2V0cyBjYWxsZWQgb24gdGhlIHNhbWUgcG9pbnRlciB0aGF0IHdhcwoJICByZXR1cm5lZCBieSBnX21hbGxvYy4gIEZpeGVzICMzNzY1OTQuCgkgIERvIG5vdCBsZWFrIG1lbW9yeSBpZiBkZWNvbXByZXNzZWQgc2l6ZSBpcyB3cm9uZy4KCSAgUmVtb3ZlIHVubmVlZGVkIGNoZWNrIG9mIHJldHVybiB2YWx1ZSBvZiBnX21hbGxvYy4KCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoyMDA2LTExLTE4IDE4OjE0OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBBZGQgbWlzc2luZyBjdXJseSBicmFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOgoJICBBZGQgbWlzc2luZyBjdXJseSBicmFja2V0cy4KCjIwMDYtMTEtMTcgMTQ6NTQ6MDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggY2FwdHVyZV9kZWluaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggY2FwdHVyZV9kZWluaXQuCgoyMDA2LTExLTE2IDE1OjM2OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFjdGl2YXRlIHJlcXVlc3QgcGFkIGJlZm9yZSByZXR1cm5pbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCk6CgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUjsgYWN0aXZhdGUgcmVxdWVzdCBwYWQgYmVmb3JlIHJldHVybmluZyBpdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgIChzZXR1cF9zaW5rX3BhZCksIChHU1RfU1RBUlRfVEVTVCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIHVzaW5nIHRoZW0uCgoyMDA2LTExLTE2IDE1OjA0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbml0aWFsaXNlIHZhcmlhYmxlIHRvIGdldCByaWQgb2YgYm9ndXMgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIEluaXRpYWxpc2UgdmFyaWFibGUgdG8gZ2V0IHJpZCBvZiBib2d1cyBjb21waWxlciB3YXJuaW5nLgoKMjAwNi0xMS0xNiAwNzoyNjoxNyArMDAwMCAgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBtb3ZpYWwuZmk+CgoJICBnc3QvcnRwLzogU3BlY2lmeSBILjI2MyB2YXJpYW50IGFuZCB2ZXJzaW9uIGluIHRoZSBjYXBzIChmaXhlcyAjMzYxNjM3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbW92aWFsLmZpPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgU3BlY2lmeSBILjI2MyB2YXJpYW50IGFuZCB2ZXJzaW9uIGluIHRoZSBjYXBzIChmaXhlcyAjMzYxNjM3KQoKMjAwNi0xMS0xNSAxNzo0NDowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IERvbid0IHNldCBhIGRhdGEgcG9pbnRlciB0byBOVUxMIGFuZCBhIHNpemUgPiAwIHdoZW4gd2UgZGVhbCB3aXRoIGVtcHR5IHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChyZWFkX2JvZHkpOgoJICBEb24ndCBzZXQgYSBkYXRhIHBvaW50ZXIgdG8gTlVMTCBhbmQgYSBzaXplID4gMCB3aGVuIHdlIGRlYWwKCSAgd2l0aCBlbXB0eSBwYWNrZXRzLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwgKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX3Vuc2V0KSwgKHJ0c3BfbWVzc2FnZV9mcmVlKSwKCSAgKHJ0c3BfbWVzc2FnZV90YWtlX2JvZHkpOgoJICBDaGVjayB0aGF0IHdlIGNhbid0IGNyZWF0ZSBpbnZhbGlkIGVtcHR5IHBhY2tldHMuCgoyMDA2LTExLTE1IDEyOjM1OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywKCSAgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbWUgY29kZSBpbnRvIF9yZXNldCgpCgkgIGZ1bmN0aW9ucyAoIzM1MjYwNSkuCgoyMDA2LTExLTE1IDEyOjA4OjIwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBBZGQgYmFzaWMgdGFnIHdyaXRpbmcgc3VwcG9ydDsgaW1wbGVtZW50IHJlbGVhc2luZyBwYWRzICgjMzc0NjU4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2FkZF9pbnRlcmZhY2VzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfcGFkX2ZyZWUpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF90cmFja19oZWFkZXIpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIGJhc2ljIHRhZyB3cml0aW5nIHN1cHBvcnQ7IGltcGxlbWVudCByZWxlYXNpbmcgcGFkcyAoIzM3NDY1OCkuCgoyMDA2LTExLTE1IDExOjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBvcGFxdWUvdW5zcGVjaWZpZWQgQV9BQUMgYXVkaW8gY29kZWMgSUQgKGZpeGVzICMzNzQ3MzcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgSGFuZGxlIG9wYXF1ZS91bnNwZWNpZmllZCBBX0FBQyBhdWRpbyBjb2RlYyBJRCAoZml4ZXMgIzM3NDczNykuCgoyMDA2LTExLTE1IDAwOjEyOjE5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIERpcmFjIGZvdXJjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgRGlyYWMgZm91cmNjLgoKMjAwNi0xMS0xNCAyMDowNzoyMiArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL3ZzOC86IE1ha2UgZW5kLW9mLWxpbmUgcmV0dXJucyB1bml4eSwgc28gdGhhdCB3aGVuIHRoZSBmaWxlcyBhcmUgY2hlY2tlZCBvdXQgb24gd2luMzIgdGhlIGxpbmUgcmV0dXJucyB3aWxsIGJlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5LnNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSAgKiB3aW4zMi92czgvbGliZ3N0MTM5NC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhY29sb3IudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rhbm5vZGV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXBldGFnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVkaW9meC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1cGFyc2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXRvZGV0ZWN0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXZpLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2FjYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjZGlvLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y3V0dGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RlZmZlY3R2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZmxhYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZseGRlYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGdvb20udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpY3lkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGlkM2RlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0anBlZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxhZHNwYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxldmVsLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWF0cm9za2EudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtaWttb2QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rtb25vc2NvcGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bHRpcGFydC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHBuZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0cC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0c3AudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzaG91dDIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzbXB0ZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNwZWV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dGFnbGliLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dWRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9iYWxhbmNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9ib3gudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2ZsaXAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb21peGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2ZW5jLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2cGFyc2UudmNwcm9qOgoJICBNYWtlIGVuZC1vZi1saW5lIHJldHVybnMgdW5peHksIHNvIHRoYXQgd2hlbiB0aGUgZmlsZXMgYXJlIGNoZWNrZWQKCSAgb3V0IG9uIHdpbjMyIHRoZSBsaW5lIHJldHVybnMgd2lsbCBiZSAwZCAwYSBhbmQgbm90IDBkIDBkIDBhLgoJICBIb3BlZnVsbHkgZml4ZXMgIzM2NjQ5Mi4KCjIwMDYtMTEtMTQgMTU6NTU6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERpc2FibGUgaW5pdF9mcmFtZXMgZGVsYXkgdGltZXN0YW1wIGFkanVzdG1lbnQsIGl0IGRvZXMgbm90IHNlZW0gdG8gYmUgbmVlZGVkIGF0IGFsbC4gRml4ZXMgIzMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgRGlzYWJsZSBpbml0X2ZyYW1lcyBkZWxheSB0aW1lc3RhbXAgYWRqdXN0bWVudCwgaXQgZG9lcyBub3QKCSAgc2VlbSB0byBiZSBuZWVkZWQgYXQgYWxsLiBGaXhlcyAjMzY5NjIxLgoKMjAwNi0xMS0xNCAxMTo0Mzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCjIwMDYtMTEtMTMgMTg6MzE6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBtZW1sZWFrIGJ5IHVucmVmJ2luZyBjb2xsZWN0cGFkcyBpbnN0YW5jZSAod2hlbiBmaW5hbGl6aW5nKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RfZnJlZSksIChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX2ZpbmFsaXplKSwKCSAgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfdmlkZW9taXhlcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgRml4IG1lbWxlYWsgYnkgdW5yZWYnaW5nIGNvbGxlY3RwYWRzIGluc3RhbmNlICh3aGVuIGZpbmFsaXppbmcpCgkgIEltcGxlbWVudCByZWxlYXNpbmcgYSByZXF1ZXN0IHBhZC4gRml4ZXMgIzM3NDQ3OS4KCjIwMDYtMTEtMTAgMjA6MDg6NDIgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi92czgvOiBBZGQgVlM4IHByb2plY3QgZmlsZXMgKG5vdGUgdGhhdCBtYW55IG9mIHRoZSBwbHVnaW5zIGluIGV4dCBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCkuIEZpeGVzICMzNjY0OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkuc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWdvb2Quc2xuOgoJICAqIHdpbjMyL3ZzOC9saWJnc3QxMzk0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWFzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGFjb2xvci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFubm9kZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhcGV0YWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdWRpb2Z4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVwYXJzZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1dG9kZXRlY3QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdmkudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjYWNhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNkaW8udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjdXR0ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rkdi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGVmZmVjdHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbGFjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Zmx4ZGVjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Z29vbS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGljeWRlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWQzZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RqcGVnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGFkc3BhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGV2ZWwudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtYXRyb3NrYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1pa21vZC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1uZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1vbm9zY29wZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsdGlwYXJ0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cG5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRzcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNob3V0Mi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNtcHRlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c3BlZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R0YWdsaWIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R1ZHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JhbGFuY2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JveC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvZmxpcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvbWl4ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZlbmMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZwYXJzZS52Y3Byb2o6CgkgIEFkZCBWUzggcHJvamVjdCBmaWxlcyAobm90ZSB0aGF0IG1hbnkgb2YgdGhlIHBsdWdpbnMgaW4gZXh0IGFyZQoJICBkaXNhYmxlZCBieSBkZWZhdWx0KS4gRml4ZXMgIzM2NjQ5Mi4KCjIwMDYtMTEtMTAgMTk6MTg6MzMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbTogTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgoyMDA2LTExLTEwIDE4OjUxOjEwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9tdWx0aWZpbGUudnByb2o6CgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoKMjAwNi0xMS0xMCAwODowOTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiB3ZSBkbyBub3QgdHJhbnNsYXRlIGRlYnVnIG1lc3NhZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICB3ZSBkbyBub3QgdHJhbnNsYXRlIGRlYnVnIG1lc3NhZ2VzCgoyMDA2LTExLTA4IDEyOjA0OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZmx4L2dzdGZseGRlYy5jOiBmaXggY2F0ZWdvcmlzYXRpb24sIG1ha2Ugc2hvcnQgZGVzYyBtb3JlIGV4cGxpY2l0LCByZW1vdmUgdW51c2VkIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2xhc3NfaW5pdCk6CgkgIGZpeCBjYXRlZ29yaXNhdGlvbiwgbWFrZSBzaG9ydCBkZXNjIG1vcmUgZXhwbGljaXQsIHJlbW92ZSB1bnVzZWQgY29kZQoJICBGaXhlcyAjMzcyMDIxCgoyMDA2LTExLTA4IDAxOjMwOjM5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwLzogRml4IGVsZW1lbnQgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgRml4IGVsZW1lbnQgZGVzY3JpcHRpb25zLgoKMjAwNi0xMS0wOCAwMToyOTo1MSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC86IEZpeCBkZXNjcmlwdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEZpeCBkZXNjcmlwdGlvbi4KCSAgU21hbGwgY2xlYW51cCBpbiB0aGUgcGF5bG9hZGVyLgoKMjAwNi0xMS0wOCAwMToyODowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC86IEFkZCB0aGVvcmEgcGF5L2RlcGF5bG9hZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3N3aXRjaF9jb2RlYm9vayksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGdzdF9ydHBfdGhlb3JhX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X3Jlc2V0X3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZsdXNoX3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgQWRkIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXJzLgoKMjAwNi0xMS0wNyAwMTo0MzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogV2UgZGVwZW5kIG9uIGdzdHRhZyB0byBnZW5lcmF0ZSB0aGUgdm9yYmlzIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBXZSBkZXBlbmQgb24gZ3N0dGFnIHRvIGdlbmVyYXRlIHRoZSB2b3JiaXMgY29tbWVudHMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3N3aXRjaF9jb2RlYm9vayksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkgIFBhcnNlIGNvbmZpZ3VyYXRpb24gc3RyaW5nIGluIHRoZSBkZXBheWxvYWRlci4KCSAgSW1wbGVtZW50IHNlbGVjdGluZyBhbmQgc3dpdGNoaW5nIHRvIGEgbmV3IGNvZGVib29rLgoJICBSZWNlaXZpbmcgdm9yYmlzIG92ZXIgUlRQIG5vdyB3b3Jrcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X3Jlc2V0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICBTZXQgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzIGFuZCBSVFAgcGFja2V0cy4KCSAgRml4IGNvbmZpZ3VyYXRpb24gc3RyaW5nLCBwcmVwZW5kIG51bWJlciBvZiBQYWNrZXQgaGVhZGVycy4KCSAgRml4IGVuY29kaW5nIG9mIGlkZW50IHN0cmluZy4KCSAgQWRkIGRlbGl2ZXJ5LW1ldGhvZCB0byBjYXBzLgoJICBTdHJlYW1pbmcgdm9yYmlzIG92ZXIgUlRQIG5vdyB3b3Jrcy4KCjIwMDYtMTEtMDYgMjA6NTI6MTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lio6IEdlbmVyYXRlIGEgdmFsaWQgY29uZmlndXJhdGlvbiBzdHJpbmcgaW4gdGhlIGNhcHMgYmFzZWQgb24gdGhlIHZvcmJpcyBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKSwgKGdzdF9ydHBfdm9yYmlzX3BheV9wYXJzZV9pZCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgR2VuZXJhdGUgYSB2YWxpZCBjb25maWd1cmF0aW9uIHN0cmluZyBpbiB0aGUgY2FwcyBiYXNlZCBvbiB0aGUKCSAgdm9yYmlzIGhlYWRlcnMuCgoyMDA2LTExLTAyIDIwOjEzOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeSBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkKCSAgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5NTM5KS4KCjIwMDYtMTEtMDIgMTQ6NDM6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby86IE1vdmUgQ0QtVEVYVCB1dGlsaXR5IGZ1bmN0aW9uIGludG8gY29tbW9uIGZpbGUgc28gaXQgY2FuIGFsc28gYmUgdXNlZCBieSBhIGZ1dHVyZSBjZGlvcGFyYW5vaWFzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKGdzdF9jZGlvX2dldF9jZHRleHQpOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfb3Blbik6CgkgIE1vdmUgQ0QtVEVYVCB1dGlsaXR5IGZ1bmN0aW9uIGludG8gY29tbW9uIGZpbGUgc28gaXQgY2FuIGFsc28gYmUKCSAgdXNlZCBieSBhIGZ1dHVyZSBjZGlvcGFyYW5vaWFzcmMuCgoyMDA2LTExLTAxIDE5OjQ4OjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEltcHJvdmVkIGNvbW1lbnRzIGluIEVMRU1FTlRfRVJST1IvV0FSTklORyBhbmQgYWRkZWQgIiNpZiAwIiB0byB4b3ZlcmxheSBjb2RlIHRoYXQgaXMgc3RpbGwgbm90IGltcGxlbWVudGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSW1wcm92ZWQgY29tbWVudHMgaW4gRUxFTUVOVF9FUlJPUi9XQVJOSU5HIGFuZCBhZGRlZCAiI2lmIDAiIHRvIHhvdmVybGF5IGNvZGUgdGhhdCBpcyBzdGlsbCBub3QgaW1wbGVtZW50ZWQuCgoyMDA2LTExLTAxIDEzOjU5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFdlIHJlcXVpcmUgYSAtYmFzZSBtb3JlIHJlY2VudCB0aGFuIDAuMTAuOSwgc28gaXQncyBzYWZlIHRvIHVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBXZSByZXF1aXJlIGEgLWJhc2UgbW9yZSByZWNlbnQgdGhhbiAwLjEwLjksIHNvIGl0J3Mgc2FmZSB0byB1c2UKCSAgR1NUX1RZUEVfVEFHX0lNQUdFX1RZUEUgdW5jb25kaXRpb25hbGx5IG5vdy4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19zaW5rX2V2ZW50KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfc2lua19ldmVudCk6CgkgIFVzZSBfbmV3c2VnbWVudF9mdWxsKCkgbm93IHRoYXQgd2UgZGVwZW5kIG9uIGEgcmVjZW50IGVub3VnaCBjb3JlLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZW1vdmUgY3J1ZnQgdGhhdCB3ZSBkb24ndCBuZWVkIGFueSBsb25nZXIgbm93IHRoYXQgd2UgZGVwZW5kIG9uCgkgIGEgcmVjZW50IGVub3VnaCAtYmFzZS4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMTAtMzEgMTA6NTI6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGFuZCBhY3RpdmF0ZSBJTEJDIHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjMzY4MTYyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9pbml0KSwKCSAgKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICBGaXggYW5kIGFjdGl2YXRlIElMQkMgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICMzNjgxNjIuCgoyMDA2LTEwLTMxIDEwOjMxOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmVlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoKMjAwNi0xMC0zMSAwOTo0NDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBTb21lIHNtYWxsIGNsZWFudXBzLCB1c2UgX3NjYWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jb252ZXJ0KSwKCSAgKHNwZWV4X2RlY19zaW5rX2V2ZW50KSwgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpOgoJICBTb21lIHNtYWxsIGNsZWFudXBzLCB1c2UgX3NjYWxlLgoKMjAwNi0xMC0zMSAwOToyOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVXNlIGhpZ2hlciBwcmVjaXNpb24gc2NhbGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgIFVzZSBoaWdoZXIgcHJlY2lzaW9uIHNjYWxlIGZ1bmN0aW9uLgoKMjAwNi0xMC0zMCAxNjoxODoxOCArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAaXRvbmlzLnR2PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIGVuY29kZWQvY29tcHJlc3NlZC9lbmNyeXB0ZWQvc2lnbmVkIHRyYWNrczsgYWxzbywgcmVtb3ZlIHN1cGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsIGRvdCBiZW5lcyBhdCBpdG9uaXMgdHY+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2RpbmdfY21wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlcik6CgkgIEZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIGVuY29kZWQvY29tcHJlc3NlZC9lbmNyeXB0ZWQvc2lnbmVkIHRyYWNrczsKCSAgYWxzbywgcmVtb3ZlIHN1cGVyZmx1b3VzIG5ld2xpbmUgY2hhcmFjdGVycyBmcm9tIHNvbWUgZGVidWcKCSAgc3RhdGVtZW50cy4gKCMzNjYxNTUpCgoyMDA2LTEwLTMwIDA5OjI0OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvOiBWYXJpb3VzIGNsZWFudXBzLCBjYXBzbmVnbyBhbmQgbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfZ2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zbW9rZWRlY19pbml0KSwgKGdzdF9zbW9rZWRlY19maW5hbGl6ZSksIChnc3Rfc21va2VkZWNfY2hhaW4pLAoJICAoZ3N0X3Ntb2tlZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9zbW9rZWVuY19pbml0KSwgKGdzdF9zbW9rZWVuY19maW5hbGl6ZSksCgkgIChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfcmVzeW5jKSwgKGdzdF9zbW9rZWVuY19jaGFpbiksCgkgIChnc3Rfc21va2VlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zbW9rZWVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Ntb2tlZW5jX2NoYW5nZV9zdGF0ZSk6CgkgIFZhcmlvdXMgY2xlYW51cHMsIGNhcHNuZWdvIGFuZCBsZWFrIGZpeGVzLgoKMjAwNi0xMC0zMCAwODoxNzowOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IHZpZGVvbWl4ZXIgc28gdGhhdCBpdCBjYW4gaGFuZGxlIGFueSBjb21iaW5hdGlvbiBvZiBmcmFtZXJhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOgoJICBGaXggdmlkZW9taXhlciBzbyB0aGF0IGl0IGNhbiBoYW5kbGUgYW55IGNvbWJpbmF0aW9uIG9mIGZyYW1lcmF0ZXMuCgkgIEZpeGVzICMzNjcyMjEuCgoyMDA2LTEwLTI4IDE2OjM3OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggcG9zaXRpb24gcXVlcnkgZm9yIGF1ZGlvLiBhbHNvIGZpeGVzIHRpbWVzdGFtcHMgaW4gc3RyZWFtaW5nIG1vZGUgYW5kIGJ1ZyAjMzY0OTU4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0X3B1c2gpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgRml4IHBvc2l0aW9uIHF1ZXJ5IGZvciBhdWRpby4gYWxzbyBmaXhlcyB0aW1lc3RhbXBzIGluIHN0cmVhbWluZwoJICBtb2RlIGFuZCBidWcgIzM2NDk1OC4KCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTEwLTI3IDE3OjEwOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuKjogRml4IHN0cmlkZXMuIEZpeGVzICMzNjQ4NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX3NldGNhcHMpLCAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgRml4IHN0cmlkZXMuIEZpeGVzICMzNjQ4NTYuCgkgIENsZWFudXAgY2Fwc25lZ28uCgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA2LTEwLTE4IDE3OjA2OjIxICswMDAwICBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQG1vdmlhbC5maT4KCgkgIGdzdC9ydHAvOiBBZGQgc3RhdGljIHBheWxvYWQgbnVtYmVycyBpbiBhZGRpdGlvbiB0byB0aGUgZHluYW1pYyBvbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbGxlIFN5cmphbGEgPHZpbGxlIGRvdCBzeXJqYWxhIGF0IG1vdmlhbCBkb3QgZmk+CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOiAoZ3N0X3J0cF9wY21hX3BheV9mbHVzaCksCgkgIChnc3RfcnRwX3BjbWFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9mbHVzaCk6CgkgIEFkZCBzdGF0aWMgcGF5bG9hZCBudW1iZXJzIGluIGFkZGl0aW9uIHRvIHRoZSBkeW5hbWljIG9uZXMuCgkgIEZpeGVzICMzNjE2MzkuCgoyMDA2LTEwLTE4IDE2OjE4OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBSZXVzZSBhbHJlYWR5IGV4aXN0aW5nIGVudW0gZm9yIGxvd2VyIHRyYW5zcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfbG93ZXJfdHJhbnNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF9wcm90b2NvbHMpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIFJldXNlIGFscmVhZHkgZXhpc3RpbmcgZW51bSBmb3IgbG93ZXIgdHJhbnNwb3J0LgoJICBBZGQgcnRzcHQgYW5kIHJ0c3B1IHByb3RvY29scy4KCSAgU2VuZCByZWRpcmVjdCB0byBydHNwdCB3aGVuIHVkcCB0aW1lcyBvdXQuCgoyMDA2LTEwLTE4IDE0OjAwOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBzZWVraW5nIHNvbWUgbW9yZSwgbW9zdGx5IGZvciBzcGVlZCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgRml4IHNlZWtpbmcgc29tZSBtb3JlLCBtb3N0bHkgZm9yIHNwZWVkIGNoYW5nZXMuCgoyMDA2LTEwLTE4IDExOjI4OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IEZyZWRyaWsncyBlLW1haWwgYWRkcmVzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IGZpeCBGcmVkcmlrJ3MgZS1tYWlsIGFkZHJlc3MKCjIwMDYtMTAtMTggMTE6MDQ6MDkgKzAwMDAgIEZyZWRyaWsgUGVyc3NvbiA8ZnJlcGVAYnJvYWRiYW5kLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJ0dW5lci4qOiBGaXggX3NldF9jaGFubmVsKCk6IHJlbW92ZSB1c2VsZXNzIGdfb2JqZWN0X25vdGlmeSgpIGZvciAiY2hhbm5lbCIgcHJvcGVydHkgdGhhdCBkb2Vzbid0IGV4aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRyaWsgUGVyc3NvbiAgPGZyZXBlIGF0IGJyb2FkYmFuZCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgIEZpeCBfc2V0X2NoYW5uZWwoKTogcmVtb3ZlIHVzZWxlc3MgZ19vYmplY3Rfbm90aWZ5KCkgZm9yICJjaGFubmVsIgoJICBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpc3QgYW55IGxvbmdlciBhbmQgdGhlcmVmb3JlIG5vdyBhbHNvCgkgIHVzZWxlc3MgcmVkaXJlY3QgKCMzMzg4MTgpLgoKMjAwNi0xMC0xNyAxNToxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9jcmVhdGVfcGFkcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoKMjAwNi0xMC0xNyAxNDo1NzoxNyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKToKCSAgTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMKCSAgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNjI2KS4KCjIwMDYtMTAtMTcgMTQ6Mzc6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogU29tZSBkcml2ZXJzIGRvIG5vdCBzdXBwb3J0IHVuc2V0dGluZyB0aGUgbm9uLWJsb2NraW5nIGZsYWcgb25jZSB0aGUgZGV2aWNlIGlzIG9wZW5lZC4gSW4gdGhvc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfcHJlcGFyZSk6CgkgIFNvbWUgZHJpdmVycyBkbyBub3Qgc3VwcG9ydCB1bnNldHRpbmcgdGhlIG5vbi1ibG9ja2luZyBmbGFnIG9uY2UgdGhlCgkgIGRldmljZSBpcyBvcGVuZWQuIEluIHRob3NlIGNhc2VzLCBjbG9zZS9vcGVuIHRoZSBkZXZpY2UgaW4KCSAgbm9uLWJsb2NraW5nIG1vZGUuIEZpeGVzICMzNjI2NzMuCgoyMDA2LTEwLTE3IDEzOjQ0OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IGRlYXIgc3RlZmFuLCBmcmFtZXNwZXJzZWNvbmQgaXMgbm90IGZyYW1lcGVyaW9kLCByZXZlcnRpbmcgYnV0IGFkZGluZyBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIGRlYXIgc3RlZmFuLCBmcmFtZXNwZXJzZWNvbmQgaXMgbm90IGZyYW1lcGVyaW9kLCByZXZlcnRpbmcgYnV0IGFkZGluZwoJICBjb21tZW50CgoyMDA2LTEwLTE3IDExOjI4OjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IE51bWVyYXRvciBpcyBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yIGlzIGRlbm9taW5hdG9yLiBTYXkgdGhhdCBhbG91ZCA1IHRpbWVzIGFuZCByZXRyeSBhZnRlciBuZXh0IGJlZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIE51bWVyYXRvciBpcyBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yIGlzIGRlbm9taW5hdG9yLiBTYXkgdGhhdCBhbG91ZAoJICA1IHRpbWVzIGFuZCByZXRyeSBhZnRlciBuZXh0IGJlZXIuCgoyMDA2LTEwLTE3IDEwOjU5OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgoyMDA2LTEwLTE2IDE4OjIyOjQ3ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgRml4IGEgYnVuY2ggb2YgcHJvYmxlbXMgZGlzY292ZXJlZCBieSB0aGUgRm9ydGUgY29tcGlsZXIsIG1vc3RseSB0eXBlIG1peHVwcyBhbmQgcG9pbnRlciBhcml0aG1ldGljcyB3aXRoIHZvaWQgcG9pbnRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3RyYW5zZm9ybSk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xlbmd0aCksCgkgIChnc3RfZmxhY19kZWNfcmVhZF9zZWVrYWJsZSksIChnc3RfZmxhY19kZWNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZGVjX3NlbmRfbmV3c2VnbWVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3NlZWtfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZW5jX3RlbGxfY2FsbGJhY2spOgoJICAqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzogKGZpbmRfYmVzdF9zaXplKSwgKHNtb2tlY29kZWNfZW5jb2RlKSwKCSAgKHNtb2tlY29kZWNfcGFyc2VfaGVhZGVyKSwgKHNtb2tlY29kZWNfZGVjb2RlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfd3JpdGVfYXZpeF9pbmRleCk6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2ZlbmNlZF9idWZmZXJfYWxsb2MpOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWFkKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICBGaXggYSBidW5jaCBvZiBwcm9ibGVtcyBkaXNjb3ZlcmVkIGJ5IHRoZSBGb3J0ZSBjb21waWxlciwgbW9zdGx5IHR5cGUKCSAgbWl4dXBzIGFuZCBwb2ludGVyIGFyaXRobWV0aWNzIHdpdGggdm9pZCBwb2ludGVycy4gRml4ZXMgIzM2MjYwMy4KCjIwMDYtMTAtMTIgMTk6MDI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvOiBNaXNjZWxsYW5lb3VzIGNsZWFuLXVwcywgYW1vbmcgb3RoZXIgdGhpbmdzOiBzcGVleGVuYyA9PiBlbmMgdG8gZW5oYW5jZSBjb2RlIHJlYWRhYmlsaXR5OyBjaGFuZ2Ugc3BlZXhlbmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2dldF9mb3JtYXRzKSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0dXBfaW50ZXJmYWNlcyksIChnc3Rfc3BlZXhfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlZXhfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X2VuY19maW5hbGl6ZSksCgkgIChnc3Rfc3BlZXhfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfc3BlZXhfZW5jX2NvbnZlcnRfc3JjKSwKCSAgKGdzdF9zcGVleF9lbmNfY29udmVydF9zaW5rKSwgKGdzdF9zcGVleF9lbmNfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9zcGVleF9lbmNfc3JjX3F1ZXJ5KSwgKGdzdF9zcGVleF9lbmNfc2lua19xdWVyeSksCgkgIChnc3Rfc3BlZXhfZW5jX2luaXQpLCAoZ3N0X3NwZWV4X2VuY19jcmVhdGVfbWV0YWRhdGFfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X2xhc3RfbXNnKSwgKGdzdF9zcGVleF9lbmNfc2V0dXApLAoJICAoZ3N0X3NwZWV4X2VuY19idWZmZXJfZnJvbV9kYXRhKSwgKGdzdF9zcGVleF9lbmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXRfaGVhZGVyX29uX2NhcHMpLCAoZ3N0X3NwZWV4X2VuY19zaW5rZXZlbnQpLAoJICAoZ3N0X3NwZWV4X2VuY19jaGFpbiksIChnc3Rfc3BlZXhfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlZXhfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlZXhfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIE1pc2NlbGxhbmVvdXMgY2xlYW4tdXBzLCBhbW9uZyBvdGhlciB0aGluZ3M6IHNwZWV4ZW5jID0+IGVuYyB0bwoJICBlbmhhbmNlIGNvZGUgcmVhZGFiaWxpdHk7IGNoYW5nZSBzcGVleGVuYyA9PiBzcGVleF9lbmM7IGluIGNoYWluCgkgIGZ1bmN0aW9uIHVucmVmIGlucHV0IGJ1ZmZlciBpbiBjYXNlIG9mIGVycm9yOyB0YWtlIHJlZmVyZW5jZSBpbgoJICBldmVudCBmdW5jdGlvbjsgdXNlIGJvaWxlcnBsYXRlIG1hY3JvOyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyXyoKCSAgY29udmVuaWVuY2UgZnVuY3Rpb25zLgoKMjAwNi0xMC0xMiAxODozNToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBGaXggc29tZSBtZW0gbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9zcGVleGVuY19zZXRfbGFzdF9tc2cpLCAoZ3N0X3NwZWV4ZW5jX3NldHVwKSwKCSAgKGdzdF9zcGVleGVuY19zZXRfaGVhZGVyX29uX2NhcHMpOgoJICBGaXggc29tZSBtZW0gbGVha3MuCgoyMDA2LTEwLTExIDE2OjIxOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkZWQgc29tZSBvdGhlciBVUkwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZGVkIHNvbWUgb3RoZXIgVVJMLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBXb3JrIG9uIGZhbGxiYWNrIHRvIFRDUCBjb25uZWN0aW9uIHdoZW4gdGhlIFVEUCBzb2NrZXQgdGltZXMgb3V0LgoJICBIYW5kbGVyIHNlcnZlciByZXF1ZXN0cywganVzdCByZXBseSB3aXRoIE9LIGZvciBub3cuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGRlZCBzb21lIG1vcmUgUmVhbCBleHRlbnNpb24gaGVhZGVycy4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgIEZpeCBwYXJzaW5nIG9mIHVybHMgd2l0aCBhICc6JyB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBob3N0bmFtZTpwb3J0CgkgIHBhcnQgb2YgdGhlIHVybC4KCjIwMDYtMTAtMTEgMTM6NDk6MjYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc29tZSBmb3VyY2MgZm9yIERWIGZvcm1hdC4KCjIwMDYtMTAtMTEgMTM6MjQ6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBBY3RpdmF0ZSBwYWQgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgYWxyZWFkeS1ydW5uaW5nIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfYWRkX3NyY3BhZCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfYWRkX3NyY3BhZCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCk6CgkgIEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBhbHJlYWR5LXJ1bm5pbmcgZWxlbWVudC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoaWN5ZGVtdXhfZm91bmRfcGFkKToKCSAgQWN0aXZhdGUgbmV3bHktY3JlYXRlZCBwYWQgdG9vLgoKMjAwNi0xMC0xMSAwODozNDoxNCArMDAwMCAgU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyQHlhaG9vLmNhPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IHNvbWUgbGVha3MgaW4gY2FwcyBhbmQgdXJpcy4gRml4ZXMgIzM2MTI1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDIgYXQgeWFob28gZG90IGNhPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19maW5hbGl6ZSksIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF91cmkpLAoJICAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIEZpeCBzb21lIGxlYWtzIGluIGNhcHMgYW5kIHVyaXMuIEZpeGVzICMzNjEyNTIuCgoyMDA2LTEwLTEwIDE4OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFVzZSAiX3N0ZGludC5oIi4KCjIwMDYtMTAtMTAgMDk6NTc6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgUGFyc2UgUlRTUCByZWRpcmVjdGlvbiBVUkxTLgoKMjAwNi0xMC0xMCAwODoyOTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbTogRml4IGNvcHknbidwYXN0ZS1vIChzcG90dGVkIGJ5IE1hcmsgTmF1d2VsYWVydHMsICMzNDE0ODkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEZpeCBjb3B5J24ncGFzdGUtbyAoc3BvdHRlZCBieSBNYXJrIE5hdXdlbGFlcnRzLCAjMzQxNDg5KS4KCjIwMDYtMTAtMDkgMDc6MDE6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lio6IEZpeCBidWlsZCBhcyBwZXIgdGhlIHBhdGNoIGluICMzMzg4MTggY29tbWVudCAzNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIEZpeCBidWlsZCBhcyBwZXIgdGhlIHBhdGNoIGluICMzMzg4MTggY29tbWVudCAzNi4KCjIwMDYtMTAtMDggMjA6MDU6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICBpbnNwZWN0IHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGluc3BlY3QgdXBkYXRlcwoKMjAwNi0xMC0wNyAyMToxNTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gdGhlIHNvdXJjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byB0aGUgc291cmNlLgoKMjAwNi0xMC0wNyAxMTozNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZC91cGRhdGUgZG9jcyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoKMjAwNi0xMC0wNiAxNzowMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2FkZF9wYWRzKSwgKGdzdF9kdmRlbXV4X2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfYWRkX3NyY3BhZCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZy4KCjIwMDYtMTAtMDYgMTY6MDM6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpOgoJICBCT0lMRVJQTEFURSBzZXRzIHBhcmVudF9jbGFzcyBmb3IgdXMuCgoyMDA2LTEwLTA2IDE1OjU2OjAxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19hbmFseXNpc19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpLCAoYnV0dGVyX2ZpbHRlciksCgkgIChhcHBseV9maWx0ZXJzKSwgKHJlc2V0X2ZpbHRlcnMpLCAoYWNjdW11bGF0b3JfYWRkKSwKCSAgKGFjY3VtdWxhdG9yX2NsZWFyKSwgKGFjY3VtdWxhdG9yX3Jlc3VsdCksIChyZ19hbmFseXNpc19uZXcpLAoJICAocmdfYW5hbHlzaXNfc2V0X3NhbXBsZV9yYXRlKSwgKHJnX2FuYWx5c2lzX2Rlc3Ryb3kpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19pbnQxNiksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19pbnQxNiksIChyZ19hbmFseXNpc19hbmFseXplKSwKCSAgKHJnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksIChyZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLAoJICAocmdfYW5hbHlzaXNfcmVzZXRfYWxidW0pLCAocmdfYW5hbHlzaXNfcmVzZXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChnZXRfZXhwZWN0ZWRfZ2FpbiksCgkgIChzZXR1cF9yZ2FuYWx5c2lzKSwgKGNsZWFudXBfcmdhbmFseXNpcyksIChzZXRfcGxheWluZ19zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksIChwb2xsX2VvcyksIChwb2xsX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfdHJhY2tfZ2FpbiksIChmYWlsX3VubGVzc190cmFja19wZWFrKSwKCSAgKGZhaWxfdW5sZXNzX2FsYnVtX2dhaW4pLCAoZmFpbF91bmxlc3NfYWxidW1fcGVhayksCgkgIChmYWlsX2lmX3RyYWNrX3RhZ3MpLCAoZmFpbF9pZl9hbGJ1bV90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX251bV90cmFja3MpLCAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKSwgKHB1c2hfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpLCAobWFpbik6CgkgIFVuaXQgdGVzdHMgZm9yIHRoZSBuZXcgcmVwbGF5Z2FpbiBlbGVtZW50LgoKMjAwNi0xMC0wNiAxNTo0OTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jbG9zZV9kZWNvZGVyKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgQWRkZWQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgRG9uJ3QgZXZlciBpZ25vcmUgdW5saW5rZWQsIHdlJ3JlIG5vdCBhIGRlbXV4ZXIuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50LgoKMjAwNi0xMC0wNiAxMjo1NTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUmV3b3JrIGhvdyB0aGUgdHJhbnNwb3J0IHN0cmluZyBpcyBjb25zdHJ1Y3RlZCwgdHJ5IHRvIHNoYXJlIGNoYW5uZWxzIGFuZCB1ZHAgcG9ydHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX3Byb3RvX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWxsb2NfdWRwX3BvcnRzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGZpbmRfc3RyZWFtX2J5X2NoYW5uZWwpLAoJICAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19jb25maWd1cmVfdHJhbnNwb3J0cyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBSZXdvcmsgaG93IHRoZSB0cmFuc3BvcnQgc3RyaW5nIGlzIGNvbnN0cnVjdGVkLCB0cnkgdG8gc2hhcmUgY2hhbm5lbHMKCSAgYW5kIHVkcCBwb3J0cy4KCSAgTWFrZSBtb3N0IG9mIHRoZSBzdHVmZiBsZXNzIGRlcGVuZGFudCBvbiBSVFAgYXMgd2UgYXJlIGFsc28gZ29pbmcgdG8gdXNlCgkgIGl0IGZvciBSRFQuCgkgIEFkZCBzdXBwb3J0IGZvciB0cmFuc3BvcnQgc3BlY2lmaWMgc2Vzc2lvbiBtYW5hZ2Vycy4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2ZsdXNoKToKCSAgSW1wbGVtZW50IF9mbHVzaCgpLgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3N0cnJlc3VsdCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgQWRkIGdlbmVyaWMgZXJyb3IgcmV0dXJuIGNvZGUuCgkgICogZ3N0L3J0c3AvcnRzcGV4dC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgcGx1Z2dhYmxlIHRyYW5wb3J0IHN0cmluZ3MuCgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2JlZm9yZV9zZW5kKSwKCSAgKHJ0c3BfZXh0X3dtc19hZnRlcl9zZW5kKSwgKHJ0c3BfZXh0X3dtc19wYXJzZV9zZHApLAoJICAocnRzcF9leHRfd21zX2dldF9jb250ZXh0KToKCSAgRGV0ZWN0IFdNU2VydmVyIGFuZCBhY3RpdmF0ZSB0aGUgZXh0ZW5zaW9uLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2dldF9taW1lKSwKCSAgKHJ0c3BfdHJhbnNwb3J0X2dldF9tYW5hZ2VyKSwgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEFkZGVkIG1ldGhvZHMgdG8gZ2V0IG1pbWUvbWFuYWdlciBmb3IgY2VydGFpbiB0cmFuc3BvcnRzLgoKMjAwNi0xMC0wNiAxMTozMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IG1lbSBsZWFrLCBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1jcHkuCgoyMDA2LTEwLTA2IDAyOjI5OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogUmVtb3ZlZCBjcnVmdCBjb2RlIHRoYXQgd2FzIGp1c3QgY29tbWVudGVkIG91dC4gUmVtb3ZlZCBzb21lIG9ic29sZXRlIGRlYnVnIGxvZ3Mgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgUmVtb3ZlZCBjcnVmdCBjb2RlIHRoYXQgd2FzIGp1c3QgY29tbWVudGVkIG91dC4gUmVtb3ZlZCBzb21lIG9ic29sZXRlCgkgIGRlYnVnIGxvZ3Mgc3RhdGVtZW50cy4KCjIwMDYtMTAtMDUgMTg6MTQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2NoYWluKToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfdHJtX3NldGNhcHMpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgQW5vdGhlciBiYXRjaCBvZiBwcmludGYgZm9ybWF0IGZpeGVzLgoKMjAwNi0xMC0wNSAxNjozNzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV91cGRhdGVfZm9udF9oZWlnaHQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfdHJhbnNmb3JtX2NhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19wYXJzZV9pbWFnZV9kYXRhKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfZW5kcm93X2NhbGxiYWNrKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbik6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfY29weSk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoKMjAwNi0xMC0wNCAyMjozNzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLio6IEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeCBwYXNzdGhyb3VnaCBtb2RlOyBsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9zaW1wbGUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb2Nyb3BfY2xlYXJfbmVnb3RpYXRlZF9jYXBzX2xvY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeAoJICBwYXNzdGhyb3VnaCBtb2RlOyBsYXN0bHksIGNsZWFyIG5lZ290aWF0ZWQgYmFzZXRyYW5zZm9ybSBjYXBzIHdoZW4KCSAgdGhlIGNyb3BwaW5nIGNoYW5nZXMgaW4gb3JkZXIgdG8gZm9yY2UgcmVuZWdvdGlhdGlvbi4KCjIwMDYtMTAtMDQgMjA6MDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFZpc3VhbCB0ZXN0IGZvciB2aWRlb2Nyb3AsIHNob3dzIHRoYXQgcGFja2VkIHl1diBkb2Vzbid0IHdvcmsgcmlnaHQgeWV0LiAtLXdpdGgtZmZtcGVnY29sb3JzcGFjZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAocXVpdF9tYWlubG9vcCksICh0aWNrX2NiKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksIChtYWluKToKCSAgVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodAoJICB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbiBkb2Vzbid0IHdvcmsgeWV0IGZvciB1bmtub3duCgkgIHJlYXNvbnMgKGFub3RoZXIgYmFzZXRyYW5zZm9ybSBpc3N1ZT8pCgoyMDA2LTEwLTA0IDE3OjUzOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvTWFrZWZpbGUuYW06IERpc3QgbmV3IC5oIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgRGlzdCBuZXcgLmggZmlsZSB0b28uCgoyMDA2LTEwLTA0IDE3OjI0OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBGYWN0b3Igb3V0IGV4dGVuc2lvbiBpbiBzZXBhcmF0ZSBtb2R1bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19nZXRjYXBzKSwKCSAgKGdzdF9ydHBkZWNfY2hhaW5fcnRwKSwgKGdzdF9ydHBkZWNfY2hhaW5fcnRjcCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfcGFyc2Vfc2RwKSwKCSAgKHJ0c3BfZXh0X3dtc19nZXRfY29udGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5oOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2luaXQpLCAocGFyc2VfbW9kZSksCgkgIChydHNwX3RyYW5zcG9ydF9wYXJzZSk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBGYWN0b3Igb3V0IGV4dGVuc2lvbiBpbiBzZXBhcmF0ZSBtb2R1bGUuCgkgIEZpeCBnZXRjYXBzIHRvIGZpbHRlciBhZ2FpbnN0IHRoZSBwYWR0ZW1wbGF0ZS4KCSAgVXNlIENvbnRlbnQtQmFzZSBpZiB0aGUgc2VydmVyIGdpdmVzIG9uZS4KCSAgUmV3b3JrIHRoZSB0cmFuc3BvcnQgcGFyc2luZyBhIGJpdCBmb3IgZnV0dXJlIGV4dGVuc2lvbnMuCgkgIEFkZGVkIHNvbWUgUmVhbCBIZWFkZXIgZmllbGQgZGVmaW5pdGlvbnMuCgoyMDA2LTEwLTA0IDEwOjI5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZGVkIHY0bDIgc3R1YnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBhZGRlZCB2NGwyIHN0dWJzCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgdjRsMgoKMjAwNi0xMC0wNCAxMDoyNDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogRXh0cmFjdCBkaXNjL2FsYnVtL21lZGl1bSBudW1iZXIgYW5kIGNvdW50IGFuZCB0cnkgaGFyZGVyIHRvIGV4dHJhY3QgdHJhY2sgbnVtYmVyL2NvdW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIEV4dHJhY3QgZGlzYy9hbGJ1bS9tZWRpdW0gbnVtYmVyIGFuZCBjb3VudCBhbmQgdHJ5IGhhcmRlcgoJICB0byBleHRyYWN0IHRyYWNrIG51bWJlci9jb3VudC4KCjIwMDYtMTAtMDMgMTg6MzY6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgbW9hcCBpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vYXAgaWdub3JlCgoyMDA2LTEwLTAzIDE4OjM1OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBhZGQgaWNsZSBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGljbGUgZm9yIHY0bDIKCjIwMDYtMTAtMDMgMTg6MTU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIGJ1aWxkIHN0dWZmIGZvciB2NGwyLCBuZWVkcyAtLWVuYWJsZS1leHBlcmltZW50YWwgdW50aWwgdGhlIGxhc3QgYml0cyBhcmUgcmVzb2x2ZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgYWRkIGJ1aWxkIHN0dWZmIGZvciB2NGwyLCBuZWVkcyAtLWVuYWJsZS1leHBlcmltZW50YWwgdW50aWwKCSAgdGhlIGxhc3QgYml0cyBhcmUgcmVzb2x2ZWQKCjIwMDYtMTAtMDMgMTM6NDc6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWVudCBvdXQgdGhlIG5vdGlmaWVzIGZvciByZW1vdmVkIHByb3BlcnRpZXMKCjIwMDYtMTAtMDMgMTM6MzA6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBjb21tZW50IG91dCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBhbHJlYWR5IHBhcnQgb2YgdGhlIHR1bmVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICBjb21tZW50IG91dCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBhbHJlYWR5IHBhcnQgb2YgdGhlIHR1bmVyCgkgIGludGVyZmFjZS4KCjIwMDYtMTAtMDMgMTM6MTg6NTkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEltcHJvdmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMDMgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEltcHJvdmUgZG9jcy4KCjIwMDYtMTAtMDIgMTY6MTQ6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgc3RvcCByZW1vdmluZyBnZGtwaXhidWYgcGx1Z2luIGZyb20gcGFja2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3RvcCByZW1vdmluZyBnZGtwaXhidWYgcGx1Z2luIGZyb20gcGFja2FnZQoKMjAwNi0wOS0yOSAxNTozOTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGF1dG9kZXRlY3QgdGVzdCB0ZW1wb3JhcmlseSwgc28gdGhhdCB0aGUgYnVpbGQgYm90cyB1cGRhdGUgLWJhZCBhbmQgdGhlIHJhbmtzIG9mIHVuci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBhdXRvZGV0ZWN0IHRlc3QgdGVtcG9yYXJpbHksIHNvIHRoYXQgdGhlIGJ1aWxkIGJvdHMKCSAgdXBkYXRlIC1iYWQgYW5kIHRoZSByYW5rcyBvZiB1bnJlbGlhYmxlIHZpZGVvIHNpbmtzIGluIHRoZXJlLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2tpcCB0ZXN0IGlmIG5vIHVzYWJsZSB2aWRlb3NpbmsgaXMgZm91bmQuCgoyMDA2LTA5LTI5IDE1OjM3OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIHNvbWUgbW9yZSBVUkxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgc29tZSBtb3JlIFVSTHMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgdGltZW91dCBwcm9wZXJ0eSB0byBjb250cm9sIFVEUCB0aW1lb3V0cy4KCSAgRml4IGVycm9yIG1lc3NhZ2VzLgoJICBBbHNvIHN0YXJ0IGEgbG9vcCBmdW5jdGlvbiB3aGVuIG9wZXJhdGluZyBpbiBVRFAgbW9kZSBzbyB0aGF0IHdlIGNhbgoJICBkbyBzb21lIG1vcmUgc3R1ZmYgYXN5bmMuCgkgIEhhbmRsZSBlbGVtZW50IG1lc3NhZ2VzIGZyb20gdWRwc3JjIHRvIGRldGVjdCB0aW1lb3V0cy4gSWYgYSB0aW1lb3V0CgkgIGhhcHBlbnMgd2UgY3VycmVudGx5IGdlbmVyYXRlIGFuIGVycm9yLgoJICBBUEk6IHJ0c3BzcmM6OnRpbWVvdXQgcHJvcGVydHkuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFJlYWxseSBpbXBsZW1lbnQgdGhlIHRpbWVvdXQgaW4gbWljcm9zZWNvbmRzIGFuZCBub3QgbWlsbGlzZWNvbmRzLgoKMjAwNi0wOS0yOSAxMTowOTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZGVkIHByb3BlcnR5IHRvIHBvc3QgYSBtZXNzYWdlIG9uIHRpbWVvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfdW5sb2NrKSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkZWQgcHJvcGVydHkgdG8gcG9zdCBhIG1lc3NhZ2Ugb24gdGltZW91dC4KCSAgVXBkYXRlZCBkb2NzLgoJICBXaGVuIHJlc3RhcnRpbmcgdGhlIHNlbGVjdCwgaW5pdGlhbGl6ZSB0aGUgZmRzZXRzIGFnYWluLgoJICBJbml0IGNvbnRyb2wgc29ja2V0cyBzbyB3ZSBkb24ndCBhY2NpZGVudGFsbHkgY2xvc2UgYSByYW5kb20gc29ja2V0LgoJICBBUEk6IEdzdFVEUFNyYzo6dGltZW91dCBwcm9wZXJ0eQoKMjAwNi0wOS0yOSAwODoxNTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IGZsYWcgcmVnaXN0cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9wcm90b19nZXRfdHlwZSk6CgkgIEZpeCBmbGFnIHJlZ2lzdHJhdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlYWQpOgoJICBSZWFkaW5nIDAgYWxzbyBtZWFucyAnbm8gbW9yZSBjb21tYW5kcycKCjIwMDYtMDktMjkgMDg6MDk6MjQgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggcG9zc2libGUgaW5maW5pdGUgbG9vcCB3aGVuIHNodXR0aW5nIGRvd24sIGEgcmVhZCBjYW4gYWxzbyByZXR1cm4gMCB0byBpbmRpY2F0ZSBubyBtb3JlIG1lc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBGaXggcG9zc2libGUgaW5maW5pdGUgbG9vcCB3aGVuIHNodXR0aW5nIGRvd24sIGEgcmVhZCBjYW4gYWxzbyByZXR1cm4KCSAgMCB0byBpbmRpY2F0ZSBubyBtb3JlIG1lc3NhZ2VzIGFyZSBhdmFpbGFibGUuIEZpeGVzICMzNTgxNTYuCgoyMDA2LTA5LTI4IDE3OjA4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9hbGxfY2FwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgSW5pdCBmcmFtZXJhdGUgdG8gMC8xIGJlZm9yZSBxdWVyeWluZyBpdCBzbyB0aGF0IHdlIGNhbiBkZXRlY3QKCSAgZGV2aWNlcyB0aGF0IGRvbid0IGtub3cgYWJvdXQgYSBmcmFtZXJhdGUuCgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nIGluZm8uCgoyMDA2LTA5LTI4IDE0OjMxOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgoyMDA2LTA5LTI3IDE3OjQ3OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCjIwMDYtMDktMjcgMTc6MDQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX2NoYW5uZWwpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9jaGFubmVscyksCgkgIChnc3RfdjRsMl90dW5lcl9zZXRfY2hhbm5lbF9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9jaGFubmVsKSwgKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX25vcm0pLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9ub3JtcyksIChnc3RfdjRsMl90dW5lcl9zZXRfbm9ybV9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9ub3JtKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfZW1wdHlfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dldF9mcHMpOgoJICBSZW5hbWVkIHNvbWUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgdHVuZXIgaW50ZXJmYWNlIG5hbWluZy4KCjIwMDYtMDktMjcgMTY6MTQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfc2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwKCSAgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzogKG15X2J1c19jYWxsYmFjayksIChtYWluKToKCSAgU21hbGwgY2xlYW51cHMuCgkgIEZpeCBlcnJvciBtZXNzYWdlcy4KCSAgVXNlIGxvY2tzIHdoZW4gZ2V0dGluZyB0aW1lc3RhbXBzLgoJICBGaXggbGVha3MgaW4gdGVzdC4KCSAgQWRkIGxpY2Vuc2luZyBoZWFkZXIgdG8gdGVzdHMuCgoyMDA2LTA5LTI3IDE1OjE0OjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoKMjAwNi0wOS0yNyAxMzo0MTozNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgYXVkaW9meCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhdWRpb2Z4IHBsdWdpbgoKMjAwNi0wOS0yNiAxNDoxNzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB2NGwyIHBsdWdpbiB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSAgRml4IGRvY3MuCgkgIFJlbW92ZSBzb21lIG1vcmUgZXh0ZXJucy4KCjIwMDYtMDktMjYgMTM6MTg6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9NYWtlZmlsZS5hbTogRml4IG1ha2VmaWxlLCBsaXN0IGxpYnMgaW4gc3RhY2sgb3JkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2RldmljZV9nZXRfdHlwZSksCgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggY29kaW5nIHN0eWxlOgoJICAtIFJlbW92ZSBleHRlcm4gZnJvbSBmdW5jdGlvbnMuCgkgIC0gRml4IGhlYWRlciBpbmRlbnRhdGlvbi4KCSAgRml4IEZsYWdzLCBhZGQgZGVmYXVsdHMgZm9yIHByb3BlcnRpZXMuCgkgIFJlbW92ZSB1bnVzZWQgZW51bXMuCgkgIEZpeCBUT09fTEFaWSBpbiBlcnJvciBtZXNzYWdlcy4KCjIwMDYtMDktMjYgMTE6MDY6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IEZpeCBwYXNzIGF0IGNvZGUgY2xlYW51cHMsIG1vdmUgZXJyb3JzIGNhc2VzIG91dCBvZiB0aGUgbm9ybWFsIGZsb3cgZm9yIGFkZGl0aW9uYWwgY29kZSBjbGFyaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKSwKCSAgKGdzdF92NGwyX3Byb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2Rlc3Ryb3kpLCAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKSwKCSAgKGdzdF92NGwyX29iamVjdF9zdGFydCksIChnc3RfdjRsMl9vYmplY3Rfc3RvcCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfaW5pdCksIChnc3RfdjRsMnNyY19kaXNwb3NlKSwKCSAgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Y0bDJzcmNfZml4YXRlKSwgKGdzdF92NGwyc3JjX2dldF9jYXBzKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKSwgKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX2Nsb3NlKSwgKGdzdF92NGwyX2dldF9ub3JtKSwKCSAgKGdzdF92NGwyX3NldF9ub3JtKSwgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLAoJICAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX2dldF9pbnB1dCksIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKSwgKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2ZwcyksIChnc3RfdjRsMnNyY19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6CgkgIEZpeCBwYXNzIGF0IGNvZGUgY2xlYW51cHMsIG1vdmUgZXJyb3JzIGNhc2VzIG91dCBvZiB0aGUgbm9ybWFsCgkgIGZsb3cgZm9yIGFkZGl0aW9uYWwgY29kZSBjbGFyaXR5LgoKMjAwNi0wOS0yNSAxMzo1NTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogU21hbGwgY2xlYW51cHMuIGRvbid0IHRyeSB0byBzZXQgInN5bmMiIHByb3BlcnR5IHdoZW4gaXQgaXMgbm90IGF2YWlsYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICBkb24ndCB0cnkgdG8gc2V0ICJzeW5jIiBwcm9wZXJ0eSB3aGVuIGl0IGlzIG5vdCBhdmFpbGFibGUuCgoyMDA2LTA5LTI1IDExOjQ3OjQyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IEluY2x1ZGUgc3RkbGliLmggaW4gc29tZSBtb3JlIHBsYWNlcywgbWFrZXMgdGhpbmdzIGNvbXBpbGUgd2l0aCB1Q2xpYmMgYW5kIC1XZXJyb3IgKCMzNTc1OTIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGluIHNvbWUgbW9yZSBwbGFjZXMsIG1ha2VzIHRoaW5ncyBjb21waWxlCgkgIHdpdGggdUNsaWJjIGFuZCAtV2Vycm9yICgjMzU3NTkyKS4KCjIwMDYtMDktMjUgMDk6MTU6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IG91ciBjb2RlIHNob3VsZCBoYW5kbGUgdGhhdCBmaW5lLiBTb21lIG9mIHRoZSBidXR0b25zIG9uIHRoZSBhcHBsZSB0cmFpbGVyIHNpdGUgYXJlIGFwcGFyZW50bHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBTZXQgbWluaW11bSBoZWlnaHQgdG8gOCAoZnJvbSAxNiksIG91ciBjb2RlIHNob3VsZCBoYW5kbGUKCSAgdGhhdCBmaW5lLiBTb21lIG9mIHRoZSBidXR0b25zIG9uIHRoZSBhcHBsZSB0cmFpbGVyIHNpdGUKCSAgYXJlIGFwcGFyZW50bHkgb25seSAxNSBwaXhlbHMgaGlnaCAoc2VlICMzNTc0NzApLgoKMjAwNi0wOS0yMyAxNTozMTo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogSW1wcm92ZSBlcnJvciByZXBvcnRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksIChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3N0cnJlc3VsdCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgSW1wcm92ZSBlcnJvciByZXBvcnRpbmcuCgoyMDA2LTA5LTIzIDE1OjMwOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBrbGFzcyB0eXBvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICBGaXgga2xhc3MgdHlwb3MuCgkgIE1hcmsgUkFOS19NQVJHSU5BTCwgZGVjb2RlYmluIGNhbiBoYW5kbGUgdGhlIGRlcGF5bG9hZGVycyBmaW5lLgoKMjAwNi0wOS0yMiAxNzo1Mzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogTmVlZCAgLWJhc2UgQ1ZTIGZvciBnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX3B1c2hfdHMoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBOZWVkICAtYmFzZSBDVlMgZm9yIGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfcHVzaF90cygpLgoKMjAwNi0wOS0yMiAxNzoyMjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgY2hlY2sgZm9yIGEgdGFnIHRoYXQgaXMgbmV2ZXIgdGhlcmUgYW5kIGNoZWNrIGlmIHdlIHJlYWQgdGhlIGNvcnJlY3QgdGFnLiBGaXhlcyBzZWVraW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCk6CgkgIERvbid0IGNoZWNrIGZvciBhIHRhZyB0aGF0IGlzIG5ldmVyIHRoZXJlIGFuZCBjaGVjayBpZiB3ZSByZWFkIHRoZQoJICBjb3JyZWN0IHRhZy4gRml4ZXMgc2Vla2luZyBhZ2Fpbi4KCSAgV2UgbXVzdCBwb3N0IGFuIGVycm9yIHdoZW4gYWxsIHBhZHMgYXJlIHVubGlua2VkLgoKMjAwNi0wOS0yMiAxNToxNToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBNb3JlIGZpeGFnZSwgc2V0IGVuZG9kZXItcGFyYW1zIGNvcnJlY3RseSBpbiB0aGUgcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9yZXNldF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9mbHVzaF9wYWNrZXQpLCAoZ3N0X3J0cF92b3JiaXNfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgTW9yZSBmaXhhZ2UsIHNldCBlbmRvZGVyLXBhcmFtcyBjb3JyZWN0bHkgaW4gdGhlIHBheWxvYWRlci4KCjIwMDYtMDktMjIgMTI6MTI6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IE1ha2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgc3RhdGljIHRvIGFwcGVhc2UgdmFsZ3JpbmQncyBsZWFrIGRldGVjdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICBNYWtlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIHN0YXRpYyB0byBhcHBlYXNlIHZhbGdyaW5kJ3MgbGVhawoJICBkZXRlY3Rvci4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1dG9kZXRlY3Rfc3VpdGUpOgoJICBBZGQgc2ltcGxlIHRlc3QgZm9yIHRoZSBnaG9zdHBhZCBsb2NrdXAgb24gc2h1dGRvd24gZml4ZWQgaW4gY29yZQoJICBDVlMgKGF1ZGlvIGJpdCBkaXNhYmxlZCBiZWNhdXNlIGl0IHdvdWxkIG5lZWQgZG96ZW5zIG9mIGFsc2EKCSAgc3VwcHJlc3Npb25zIGFuZCBJJ20gdG9vIGxhenkgdG8gYWRkIHRob3NlIG5vdykuCgoyMDA2LTA5LTIyIDEyOjA4OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNmRlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9jbGFzc19pbml0KToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF92b3JiaXNfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF92b3JiaXNfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9mbHVzaF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2FwcGVuZF9idWZmZXIpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICBBZGQgZXhwZXJpbWVudGFsIHZvcmJpcyBwYXkgYW5kIGRlcGF5bG9hZGVycy4KCjIwMDYtMDktMjEgMTM6MzM6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogRml4IHByb2ZpbGUtbGV2ZWwtaWQgcGFyc2luZyBhbmQgc2V0dXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpOgoJICBGaXggcHJvZmlsZS1sZXZlbC1pZCBwYXJzaW5nIGFuZCBzZXR1cC4KCjIwMDYtMDktMjEgMDk6NTA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwLzogVXBkYXRlIFJFQURNRSwgc2ltcGxlIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvUkVBRE1FOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFVwZGF0ZSBSRUFETUUsIHNpbXBsZSBjbGVhbnVwLgoKMjAwNi0wOS0yMSAwOTozNToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBVcGRhdGUgUkVBRE1FIHdpdGggc29tZSBleGFtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFVwZGF0ZSBSRUFETUUgd2l0aCBzb21lIGV4YW1wbGVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV92aWRlb19jb25maWcpLCAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBNYWtlIG9wdGlvbmFsIFJUUCBwYXJhbWV0ZXJzIG9mIHR5cGUgU1RSSU5HLCBhcyByZXF1aXJlZCBieSB0aGUKCSAgYXBwbGljYXRpb24veC1ydHAgY2FwcyBzcGVjaWZpY2F0aW9uLgoKMjAwNi0wOS0yMCAxOTozNzo0NSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHAvOiBDb3JyZWN0bHkgY2FsY3VsYXRlIHNpemUgb2YgZWFjaCBIMjYzKyBSVFAgYnVmZmVyIHRha2luZyBpbnRvIGFjY291bnQgTVRVIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIENvcnJlY3RseSBjYWxjdWxhdGUgc2l6ZSBvZiBlYWNoIEgyNjMrIFJUUCBidWZmZXIgdGFraW5nIGludG8gYWNjb3VudCBNVFUgYW5kCgkgIFJUUCBoZWFkZXIuCgoyMDA2LTA5LTIwIDE2OjQxOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogQW5kIG1ha2VmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgQW5kIG1ha2VmaWxlIHRvby4KCjIwMDYtMDktMjAgMTY6MDk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgcHJlbGltaW5hcnkgQVNGIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYXNmZGVwYXkuYzogKGdzdF9ydHBfYXNmX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2FzZl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYXNmX2RlcGF5X2luaXQpLAoJICAoZGVjb2RlX2Jhc2U2NCksIChnc3RfcnRwX2FzZl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYXNmX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9hc2ZfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYXNmX2RlcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2FzZl9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYXNmZGVwYXkuaDoKCSAgQWRkZWQgcHJlbGltaW5hcnkgQVNGIGRlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChkZWNvZGVfYmFzZTY0KToKCSAgRml4IGJhc2U2NCBkZWNvZGluZy4KCjIwMDYtMDktMjAgMTY6MDY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGRlZCBzb21lIHRlc3QgVVJMUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkZWQgc29tZSB0ZXN0IFVSTFMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgV2hlbiBjcmVhdGluZyBzdHJlYW1zLCBnaXZlIGFjY2VzcyB0byB0aGUgY29tcGxldGUgU0RQLgoJICBGaXggc29tZSBsZWFrcy4KCSAgQ29sbGVjdCBhbmQgbWVyZ2UgZ2xvYmFsIHN0cmVhbSBwcm9wZXJ0aWVzIGluIHN0cmVhbSBjYXBzLgoJICBQcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBXTVNlcnZlci4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksIChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIE1ha2UgY29ubmVjdGlvbiBpbnRlcnJ1cHRhYmxlLgoJICBSZWZhY3RvciB0byBtYWtlIGl0IHJlY29ubmVjdGFibGUuCgkgIERvbid0IGZhaWwgb24gc2hvcnQgcmVhZHMgd2hlbiByZWFkaW5nIGRhdGEgcGFja2V0cy4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSksIChydHNwX3VybF9zZXRfcG9ydCksCgkgIChydHNwX3VybF9nZXRfcG9ydCk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICBBZGQgbWV0aG9kcyBmb3IgZ2V0dGluZy9zZXR0aW5nIHRoZSBwb3J0LgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9tZXNzYWdlX2dldF9hdHRyaWJ1dGVfdmFsX24pLAoJICAoc2RwX21lc3NhZ2VfZ2V0X2F0dHJpYnV0ZV92YWwpLCAoc2RwX21lZGlhX2dldF9hdHRyaWJ1dGUpLAoJICAoc2RwX21lZGlhX2dldF9hdHRyaWJ1dGVfdmFsX24pLCAoc2RwX21lZGlhX2dldF9hdHRyaWJ1dGVfdmFsKSwKCSAgKHNkcF9tZWRpYV9nZXRfZm9ybWF0KSwgKHNkcF9wYXJzZV9saW5lKSwKCSAgKHNkcF9tZXNzYWdlX3BhcnNlX2J1ZmZlcik6CgkgIEZpeCBoZWFkZXJzLgoJICBBZGQgbWV0aG9kcyBmb3IgZ2V0dGluZyBtdWx0aXBsZSBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4KCSAgSW5jcmVhc2UgYnVmZmVyIHNpemUgd2hlbiBwYXJzaW5nLgoJICBGaXggcGFyc2luZyBvZiBhPWZvbyBmaWVsZHMuCgkgICogZ3N0L3J0c3AvdGVzdC5jOiAobWFpbik6CgkgIFVwZGF0ZSB0byBuZXcgY29ubmVjdGlvbiBBUEkuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9uZXdfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLCAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksCgkgIChydHNwX21lc3NhZ2VfdW5zZXQpLCAocnRzcF9tZXNzYWdlX2ZyZWUpLCAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfZnJlZSk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICAqIGdzdC9ydHNwL3NkcC5oOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICAqIGdzdC9ydHNwL3J0c3AuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIER1YWwgbGljZW5zZWQgdW5kZXIgTUlUIGFuZCBMR1BMIG5vdy4KCjIwMDYtMDktMTkgMTc6MjU6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFJlb3JnYW5pemUgc3RyZWFtIHBhcnNpbmcgYW5kIGNyZWF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChmaW5kX3N0cmVhbV9ieV9wdCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX2ZyZWVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChmaW5kX3N0cmVhbV9ieV9jaGFubmVsKSwKCSAgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLCAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUmVvcmdhbml6ZSBzdHJlYW0gcGFyc2luZyBhbmQgY3JlYXRpb24uCgkgIERldGVjdCBjb250YWluZXIgZm9ybWF0cyBpbiBpbnRlcmxlYXZlZCBtb2RlLgoJICBLZWVwIG1vcmUgc3RhdGUgYWJvdXQgdGhlIHN0cmVhbXMuCgkgIEFzc3VtZSBhIHNlcnZlciBhbHNvIHN1cHBvcnRzIFBMQVkgaWYgaXQgZG9lcyBub3Qgc2F5LgoJICBBZGQgdW5pY2FzdCBhbmQgaW50ZXJsZWF2ZWQgcHJvcGVydGllcyB0byBUQ1AgdHJhbnNwb3J0IHJlcXVlc3RzIHRvIG1ha2UKCSAgc29tZSBzZXJ2ZXJzIGhhcHB5IChXTVNlcnZlcikuCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICBBZGQgc29tZSBkZWZpbmVzIGZvciB0aGUgc3RhbmRhcmQgQmFuZHdpZHRoIHR5cGVzLgoKMjAwNi0wOS0xOSAxNjoyNDoxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEp1c3QgYSBzbWFsbCBmaXggdG8gdGhlIGFwcCBvcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgoyMDA2LTA5LTE5IDEzOjA4OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCBWaWRlbyBPcmllbnRhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydCB0byB2NGwyc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgoyMDA2LTA5LTE5IDEwOjUzOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvdGVzdC5jOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3Rlc3QuYzogKG1haW4pOgoJICBGaXggYnVpbGQuCgoyMDA2LTA5LTE5IDEwOjE0OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFkZCBtcy1nc20gdG8gdGhlIHNyYyB0ZW1wbGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFkZCBtcy1nc20gdG8gdGhlIHNyYyB0ZW1wbGF0ZS4KCjIwMDYtMDktMTggMTc6Mzc6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFNtYWxsIGNsZWFudXBzLCBhZGRlZCBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFNtYWxsIGNsZWFudXBzLCBhZGRlZCBkb2N1bWVudGF0aW9uLgoJICBUcnkgdG8gY2xlYW4gdXAgdGhlIHJlcXVlc3RzIGFuZCByZXNwb25zZXMuCgkgIFJlZmFjdG9yIHBhcnNpbmcgdGhlIHN1cHBvcnRlZCBtZXRob2RzLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fb3BlbiksCgkgIChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHBhcnNlX3Jlc3BvbnNlX3N0YXR1cyksIChwYXJzZV9yZXF1ZXN0X2xpbmUpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpLCAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9uZXcpLAoJICAocnRzcF90cmFuc3BvcnRfaW5pdCksIChydHNwX3RyYW5zcG9ydF9wYXJzZSksCgkgIChydHNwX3RyYW5zcG9ydF9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lc3NhZ2VfbmV3KSwgKHNkcF9tZXNzYWdlX2luaXQpLAoJICAoc2RwX21lc3NhZ2VfY2xlYW4pLCAoc2RwX21lc3NhZ2VfZnJlZSksIChzZHBfbWVkaWFfbmV3KSwKCSAgKHNkcF9tZWRpYV9pbml0KSwgKHNkcF9tZXNzYWdlX3BhcnNlX2J1ZmZlciksIChzZHBfbWVzc2FnZV9kdW1wKToKCSAgVXNlIGdfcmV0dXJuX3ZhbCBzb21lIG1vcmUuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgQWRkIG1vcmUgZW51bSB2YWx1ZXMgdG8gdHJhY2sgaW5pdGlhbCBzdGF0ZXMuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9uZXdfcmVxdWVzdCksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9uZXdfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLCAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksCgkgIChydHNwX21lc3NhZ2VfdW5zZXQpLCAocnRzcF9tZXNzYWdlX2ZyZWUpLAoJICAocnRzcF9tZXNzYWdlX2FkZF9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX3JlbW92ZV9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX3NldF9ib2R5KSwKCSAgKHJ0c3BfbWVzc2FnZV90YWtlX2JvZHkpLCAocnRzcF9tZXNzYWdlX2dldF9ib2R5KSwKCSAgKHJ0c3BfbWVzc2FnZV9zdGVhbF9ib2R5KSwgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBSZW9yZGVyIGFyZ3VtZW50cywgb2JqZWN0IGdvZXMgYXMgdGhlIGZpcnN0IG9uZS4KCSAgVXNlIGdfcmV0dXJuX3ZhbCBzb21lIG1vcmUuCgoyMDA2LTA5LTE4IDE1OjM2OjE0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgoyMDA2LTA5LTE4IDE0OjAwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBFeHBvcnQgc29tZXRpbWVzIHNvdXJjZSBwYWQgd2l0aCBjb3JyZWN0IGNhcHMgb24gdGhlIHRlbXBsYXRlLCBjcmVhdGUgdGhlIGdob3N0cGFkIGZyb20gdGhlIHRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRXhwb3J0IHNvbWV0aW1lcyBzb3VyY2UgcGFkIHdpdGggY29ycmVjdCBjYXBzIG9uIHRoZSB0ZW1wbGF0ZSwgY3JlYXRlCgkgIHRoZSBnaG9zdHBhZCBmcm9tIHRoZSB0ZW1wbGF0ZS4KCSAgUmVtb3ZlIFJUQ1AgdGVtcGxhdGUgYXMgd2UgbmV2ZXIgZXhwb3NlIFJUQ1AuCgkgIFByb3RlY3QgYWdhaW5zdCBpbnZhbGlkIGJvZHkgc2l6ZS4KCSAgQXZvaWQgbWVtY3B5IHdoZW4gY3JlYXRpbmcgdGhlIG91dHB1dCBidWZmZXIuCgkgIFByb3Blcmx5IHBvc3QgYW4gZXJyb3IgYW5kIHNlbmQgRU9TIHdoZW4gdGhlIGxvb3AgZnVuY3Rpb24gaXMgc2h1dCBkb3duLgoKMjAwNi0wOS0xOCAxMToyOToxMiArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBNYWtlIHN1cmUgd2UgY2FuIG5ldmVyIHNldCBhbiBpbnZhbGlkIGxvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0eiBhdCB0b3Bmcm9zZSBkb3QgZGU+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIE1ha2Ugc3VyZSB3ZSBjYW4gbmV2ZXIgc2V0IGFuIGludmFsaWQgbG9jYXRpb24uCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9zdGVhbF9ib2R5KToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBBZGRlZCBfc3RlYWxfYm9keSBtZXRob2QgZm9yIGZ1dHVyZSB1c2UuCgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpLCAocnRzcF91cmxfZnJlZSk6CgkgIE1ha2UgZnJlZWluZyBvZiBOVUxMIHVybCByZXR1cm4gaW1tZWRpYXRseS4KCjIwMDYtMDktMTggMTA6NDI6NTIgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogVXNlIGJvaWxlcnBsYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0eiBhdCB0b3Bmcm9zZSBkb3QgZGU+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoX2RvX2luaXQpLCAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgVXNlIGJvaWxlcnBsYXRlLgoJICBNYWtlIHJ0c3BzcmMgc3ViY2xhc3MgR3N0QmluIHRvIG1ha2Ugc3RhdGUgY2hhbmdlcyBlYXNpZXIuCgkgIEFkZCBSYW5nZSBoZWFkZXIgZmllbGQgb24gdGhlIFBMQVkgcmVxdWVzdC4KCjIwMDYtMDktMTggMDg6NTk6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSAgZ3N0L3J0c3AvOiBTbWFsbCBjbGVhbnVwcy4gd2hlbiBtdWx0aWNhc3QgaXMgc2VsZWN0ZWQgYXMgdGhlIHRyYW5zcG9ydCwgY3JlYXRlIFVEUCBzb3VyY2VzIGFuZCBjb25uZWN0IHRvIHRoZSBtdWx0aWNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanMgZG90IHZlcm1laXIgYXQgYmFyY28gZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXRfc3RhdGUpLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGluZXRfYXRvbik6CgkgIFNtYWxsIGNsZWFudXBzLgoJICB3aGVuIG11bHRpY2FzdCBpcyBzZWxlY3RlZCBhcyB0aGUgdHJhbnNwb3J0LCBjcmVhdGUgVURQIHNvdXJjZXMgYW5kCgkgIGNvbm5lY3QgdG8gdGhlIG11bHRpY2FzdCBncm91cC4KCSAgTW92ZSBwYXJzaW5nIGFuZCBzZXR0aW5nIG9mIGNhcHMgdG8gYSBjb21tb24gcGxhY2UuCgkgIEZpeGVzICMzNDk4OTQuCgoyMDA2LTA5LTE2IDIyOjE0OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSAgKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkgICogZXh0L3hpbmUveGluZWlucHV0LmM6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCjIwMDYtMDktMTYgMjE6NTc6MjkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgoyMDA2LTA5LTE2IDE0OjMwOjU5ICswMDAwICBZdmVzIExlZmVidnJlIDxpdmFub2hlQGFiYWNvbS5jb20+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBDb3JyZWN0bHkgc2V0IHRoZSBkd0xlbmd0aCBpbiBzdHJoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFl2ZXMgTGVmZWJ2cmUgPGl2YW5vaGUgYXQgYWJhY29tIGRvdCBjb20+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSk6CgkgIENvcnJlY3RseSBzZXQgdGhlIGR3TGVuZ3RoIGluIHN0cmguCgkgIFdpdGggdGhpcyBwYXRjaCwgdGhlIGZpbGUgZHVyYXRpb24gaXMgbm93IGRpc3BsYXllZCBjb3JyZWN0bHkgaW4gd2luZG93CgkgIG1lZGlhIHBsYXllciBhbmQgdGhlIEFWSSBwbGF5cyBjb21wbGV0ZWx5LiBGaXhlcyAjMzU2MTQ3CgoyMDA2LTA5LTE1IDE5OjExOjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgVGhlIHRlc3QgYXBwbGljYXRpb24gYW5kIHRoZSBwbGdpbmQgZXJyb3IgbWVzc2FnZXMgaGFzIGJlZW4gaW1wcm92ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCjIwMDYtMDktMTUgMTc6MTA6MjIgKzAwMDAgIERhcnJlbiBLZW5ueSA8ZGFycmVuLmtlbm55QHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzogU2V0IHRoZSBvdXRwdXQgdHJhY2sgYXMgdGhlIE1BU1RFUiBzbyB0aGF0IHRoZSBnbm9tZS1zZXR0aW5ncy1kYWVtb24ga2V5YmluZGluZ3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYXJyZW4gS2VubnkgPGRhcnJlbiBkb3Qga2VubnkgYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpOgoJICBTZXQgdGhlIG91dHB1dCB0cmFjayBhcyB0aGUgTUFTVEVSIHNvIHRoYXQgdGhlIGdub21lLXNldHRpbmdzLWRhZW1vbgoJICBrZXliaW5kaW5ncyBmb3IgY2hhbmdpbmcgdGhlIHZvbHVtZSB1c2luZyB0aGUga2V5Ym9hcmQgd29ya3MuCgkgIEZpeGVzICMzNTYxNDIuCgoyMDA2LTA5LTE1IDE2OjAxOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBGaXggZG9jdW1lbnRhdGlvbiwgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbnRyb2wgdGhlIGZyYW1lcmF0ZSBvZiBqcGVnZGVjIHVzaW5nIGZpbHRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICBGaXggZG9jdW1lbnRhdGlvbiwgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbnRyb2wgdGhlIGZyYW1lcmF0ZSBvZiBqcGVnZGVjCgkgIHVzaW5nIGZpbHRlcmVkIGNhcHMgeWV0LiBGaXhlcyAjMzU1MjEwLgoJICBSZXR1cm4gdGhlIGRvd25zdHJlYW0gR3N0Rmxvd1JldHVybiBpbnN0ZWFkIG9mIEdTVF9GTE9XX09LIHNvIHRoYXQgd2UKCSAgc3RvcCB3aGVuIHRoZXJlIGlzIGFuIGVycm9yLgoKMjAwNi0wOS0xNCAxMTowNTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IERvbid0IGludGVycHJldCBhIGZpcnN0IGJ1ZmZlciB3aXRoIGFuIG9mZnNldCBvZiBOT05FIGFzICdmcm9tIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbScsIGJ1dCBvbmx5IGEgZmlyc3QgYnVmZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluX3BhcnNlX3RhZyk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBEb24ndCBpbnRlcnByZXQgYSBmaXJzdCBidWZmZXIgd2l0aCBhbiBvZmZzZXQgb2YgTk9ORSBhcwoJICAnZnJvbSB0aGUgbWlkZGxlIG9mIHRoZSBzdHJlYW0nLCBidXQgb25seSBhIGZpcnN0IGJ1ZmZlcgoJICB0aGF0IGhhcyBhIHZhbGlkIGJ1ZmZlciBvZmZzZXQgdGhhdCdzIG5vbi16ZXJvIChzZWUgIzM0NTQ0OSkuCgoyMDA2LTA5LTE0IDEwOjM4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lio6IFdoZW4gd2UgbWVyZ2UvY29sbGVjdCBtdWx0aXBsZSBpbmNvbWluZyBidWZmZXJzIGZvciB0eXBlZmluZGluZyBwdXJwb3Nlcywga2VlcCBhbiBpbml0aWFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3Jlc2V0KSwKCSAgKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgV2hlbiB3ZSBtZXJnZS9jb2xsZWN0IG11bHRpcGxlIGluY29taW5nIGJ1ZmZlcnMgZm9yIHR5cGVmaW5kaW5nCgkgIHB1cnBvc2VzLCBrZWVwIGFuIGluaXRpYWwgMCBvZmZzZXQgb24gdGhlIGZpcnN0IG91dGdvaW5nIGJ1ZmZlcgoJICBhcyB3ZWxsIChvdGhlcndpc2UgaWQzZGVtdXggd29uJ3Qgd29yayByaWdodCkuIEZpeGVzICMzNDU0NDkuCgkgIEFsc28gTWFrZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgYnVmZmVyIGNhcHMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKHR5cGVmaW5kX3N1Y2NlZWQpLAoJICAoY2xlYW51cF9pY3lkZW11eCksIChwdXNoX2RhdGEpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoaWN5ZGVtdXhfc3VpdGUpOgoJICBTbWFsbCB0ZXN0IGNhc2UgZm9yIHRoZSBhYm92ZS4KCjIwMDYtMDktMTMgMTM6MjY6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTW9yZSBjb2RlIHJldXNlIGFuZCBiZXR0ZXIgbG9nZ2luZyBpbiBfcGVla19jaHVuaygpLiBSZWludHJvZHVjZSBjaGVjayBmb3IgY2h1bmsgc2l6ZXMgYmVmb3JlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmspLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zeW5jKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTW9yZSBjb2RlIHJldXNlIGFuZCBiZXR0ZXIgbG9nZ2luZyBpbiBfcGVla19jaHVuaygpLiBSZWludHJvZHVjZSBjaGVjawoJICBmb3IgY2h1bmsgc2l6ZXMgYmVmb3JlIHJlYWRpbmcgdGhlbSAoYXZvaWQgb29tKS4gQmV0dGVyIGhhbmRsaW5nIGZvcgoJICBpbnZhbGlkIGNodW5rc2l6ZXMgd2hlbiBzdHJlYW1pbmcuCgoyMDA2LTA5LTEyIDIwOjE4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fc3RhcnQpLCAoZ3N0X3NwZWN0cnVtX3N0b3ApLCAoZ3N0X3NwZWN0cnVtX2V2ZW50KToKCSAgSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlCgkgIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQgRU9TLgoKMjAwNi0wOS0xMSAyMDozODo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IEZpeCB0eXBlIG1peHVwIGluIGxldmVsLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIEZpeCB0eXBlIG1peHVwIGluIGxldmVsLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIFJlbsOpIFN0YWRsZXIKCjIwMDYtMDktMTEgMTg6MjM6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBSZW7DqSBTdGFkbGVyCgoyMDA2LTA5LTExIDE4OjAyOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogVXNlIG1vcmUgZGVmaW5lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWFpbik6CgkgIFVzZSBtb3JlIGRlZmluZXMKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgQXBwbHkgc29tZSBvZiB0aGUgc3BlY3RydW0gY2xlYW51cCBjaGFuZ2VzIHN1Z2dlc3RlZCBpbiAjMzQ4MDg1LgoKMjAwNi0wOS0wOCAxNjo0Nzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRG9jdW1lbnQgc2xvcHB5IGhhbmRsaW5nIG9mIHN1YnNhbXBsZWQgY2hyb21hIHBsYW5lcyBpZgoJICBsZWZ0L3RvcCBjcm9wcGluZyBpcyBhbiBvZGQgbnVtYmVyLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAoY2hlY2tfMXgxX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3Bfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBhbm90aGVyIHVuaXQgdGVzdCB0aGF0IGNyb3BzIHRoZSBpbnB1dCB0byAxeDEgKGFuZCBjaGVja3MKCSAgdGhhdCB0aGF0IHBpeGVsIGhhcyB0aGUgZXhwZWN0ZWQgdmFsdWVzIGluIGEgbnVtYmVyIG9mIGZvcm1hdHMpLgoKMjAwNi0wOS0wOCAxMTowNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvOiBTb21lIHF1aWNrIHRlc3RzIGluZGljYXRlIHRoYXQgaXQgZG9lc24ndCBtYWtlIGEgZ3JlYXQgZGVhbCBvZiBzZW5zZSB0byB1c2UgbGlib2lsIGhlcmUsIGF0IGxlYXN0IG5vdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hcik6CgkgIFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsCgkgIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90IGZvciB0aGUgbWVtY3B5KClzCgkgIHdlIGRvLCBzbyByZW1vdmUgbGlib2lsIHVzYWdlIHVudGlsIHRoZXJlIGlzIGNsZWFyIGV2aWRlbmNlCgkgIGl0IGFjdHVhbGx5IG1ha2VzIGEgcG9zaXRpdmUgZGlmZmVyZW5jZSBzb21ld2hlcmUuCgoyMDA2LTA5LTA2IDA5OjA1OjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFJldmVydCBvbmUgY2hhbmdlIHRvIGZpeCBzdHJlYW1pbmcgYXZpIChhZGFwdGVyIHNpemUgIT0gZGF0YSBzaXplKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIFJldmVydCBvbmUgY2hhbmdlIHRvIGZpeCBzdHJlYW1pbmcgYXZpIChhZGFwdGVyIHNpemUgIT0gZGF0YSBzaXplKS4KCjIwMDYtMDktMDQgMTY6MjE6MTcgKzAwMDAgIEZyw6lkw6lyaWMgUmlzcyA8ZnJlZGVyaWMucmlzc0BnbWFpbC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgc3VwcG9ydCBmb3IgVk9CU1VCIHN1YnRpdGxlIHRyYWNrcyBhbmQgemxpYi1jb21wcmVzc2VkIHRyYWNrcy4gTWFrZSBzdXJlIHdlIHN0YXJ0IG9uIGEga2V5ZnJhbWUgYWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcsOpZMOpcmljIFJpc3MgIDxmcmVkZXJpYy5yaXNzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfdHJhY2tfZnJlZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBWT0JTVUIgc3VidGl0bGUgdHJhY2tzIGFuZCB6bGliLWNvbXByZXNzZWQKCSAgdHJhY2tzLiBNYWtlIHN1cmUgd2Ugc3RhcnQgb24gYSBrZXlmcmFtZSBhZnRlciBhIHNlZWsuICgjMzQzMzQ4KQoKMjAwNi0wOS0wNCAxNTowNjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IG5vdCBwZXJmZWN0IHlldCB0aG91Z2gsIG5lZWRzIHNvbWUgdHdlYWtpbmcgaW4gZmxhY2RlYzsgYWxzbywgc2Vla2luZyBjb3VsZCBiZSBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfaGRyX2J1ZiksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9mbGFjX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGQgYmFzaWMgRkxBQyBzdXBwb3J0ICgjMzExNTg2KSwgbm90IHBlcmZlY3QgeWV0IHRob3VnaCwgbmVlZHMgc29tZQoJICB0d2Vha2luZyBpbiBmbGFjZGVjOyBhbHNvLCBzZWVraW5nIGNvdWxkIGJlIGJldHRlci4KCSAgRG8gYmV0dGVyIGJvdW5kcyBjaGVja2luZyB3aGVuIGRlc2VyaWFsaXNpbmcgdm9yYmlzIHN0cmVhbSBoZWFkZXJzCgkgIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBidWZmZXIgb24gYmFkIGlucHV0LgoKMjAwNi0wOS0wNCAwOTozNDoyNSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6IFNlZWtpbmcgYmFjayBpbiBhIGZpbGUgY29udGFpbmluZyBhIENNTUwgc3RyZWFtIGVycm9ycyBvdXQgaWYgdGhlIHNlZWsgZ29lcyBiYWNrIHVwIHRvIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiAoZ3N0X2NtbWxfZGVjX2NoYWluKToKCSAgU2Vla2luZyBiYWNrIGluIGEgZmlsZSBjb250YWluaW5nIGEgQ01NTCBzdHJlYW0gZXJyb3JzIG91dCBpZiB0aGUgc2VlawoJICBnb2VzIGJhY2sgdXAgdG8gdGhlIENNTUwgaGVhZGVycy4gVGhpcyBpcyBiZWNhdXNlIGFmdGVyIHRoZSBzZWVrIHRoZSB4bWwKCSAgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiA8P3htbCAuLi4/PiBpcyBzdWJtaXR0ZWQgdG8gdGhlIHhtbCBwYXJzZXIgYWdhaW4sCgkgIHdoaWNoIHJlc3VsdHMgaW4gYW4gZXJyb3IuIFRoZSBhdHRhY2hlZCBwYXRjaCBmaXhlcyB0aGUgcHJvYmxlbS4KCSAgRml4ZXMgIzM1MzkwOC4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgIEZpeCBhdXRob3JzIG5hbWUuCgoyMDA2LTA5LTAzIDEwOjQ2OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgIChidWZmZXJfcHJvYmVfY2IpLCAodGVzdF9jYXBzX3RyYW5zZm9ybSksICh0ZXN0X3Bhc3N0aHJvdWdoKSwKCSAgKG5vdGdzdF92YWx1ZV9saXN0X2dldF9udGhfaW50KSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluCgkgIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkIHZhbHVlcywgcmFuZ2VzIGFuZCBsaXN0cy4KCjIwMDYtMDktMDIgMTg6NDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBNb3ZlIGJvaWxlcnBsYXRlIHN0dWZmIGFuZCBzdHJ1Y3R1cmVzIGludG8gYSBoZWFkZXIgZmlsZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwKCSAgKHRlc3RfdW5pdF9zaXplcyksICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAodGVzdF9jcm9wcGluZyksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdmlkZW9jcm9wLgoKMjAwNi0wOS0wMiAxNTozMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb25fdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19jcm9wX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UKCSAgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCjIwMDYtMDktMDIgMTQ6NDU6MDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoKMjAwNi0wOS0wMiAxNDoyODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoKMjAwNi0wOC0zMCAxODowMTo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMzozMDoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTZW5kIG5ld19zZWdtZW50IGluIEdTVF9GT1JNQVRfVElNRSBpbnN0ZWFkIG9mIGluIEdTVF9GT1JNQVRfQllURVMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZW5kIG5ld19zZWdtZW50IGluIEdTVF9GT1JNQVRfVElNRSBpbnN0ZWFkIG9mIGluIEdTVF9GT1JNQVRfQllURVMuCgoyMDA2LTA4LTMwIDExOjM2OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDExOjI3OjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBSZW1vdmluZyBteXN0aWMgbW9kaWZpY2F0aW9ucyBmb3IgZ29vZC4KCjIwMDYtMDgtMzAgMTE6MDc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5IHRoZSBsYXN0IGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieQoJICB0aGUgbGFzdCBjb21taXQKCjIwMDYtMDgtMzAgMTA6NDM6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoKMjAwNi0wOC0yOSAyMDo1OTo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoKMjAwNi0wOC0yOCAxNzo0NzoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCjIwMDYtMDgtMjggMTY6NTk6MTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jIChnc3RfZHYxMzk0c3JjX2Zyb21fcmF3MTM5NGhhbmRsZSk6IE5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gbGVzc2VuIHRoZSBpZmRlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTI4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jIChnc3RfZHYxMzk0c3JjX2Zyb21fcmF3MTM5NGhhbmRsZSk6CgkgIE5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gbGVzc2VuIHRoZSBpZmRlZnMuCgkgIChHU1RfSU5GT19PQkpFQ1QpOgoJICAoZ3N0X2R2MTM5NHNyY19pc29fcmVjZWl2ZSk6IFVzZSBpdC4KCSAgKGdzdF9kdjEzOTRzcmNfY3JlYXRlKTogQWxzbyB1c2UgdGhlIGNvbnRyb2wgc29ja2V0cyBpbiBpZWM2MTg4MwoJICBtb2RlLgoJICAoZ3N0X2R2MTM5NHNyY19zdGFydCwgZ3N0X2R2MTM5NHNyY19zdG9wKTogQWx3YXlzIHVzZSBhIHNlcGFyYXRlCgkgIGhhbmRsZSBmb3IgQVZDIG9wZXJhdGlvbnM7IGZpeGVzICMzNDgyMzMuCgoyMDA2LTA4LTI4IDE0OjU5OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoKMjAwNi0wOC0yNyAxNzoxNDowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmVuYW1lIGFnYWluIChhdWRpb2Z4Z29vZCAtPiBhdWRpb2Z4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGdvb2QueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9meGdvb2QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgIFJlbmFtZSBhZ2FpbiAoYXVkaW9meGdvb2QgLT4gYXVkaW9meCkuCgoyMDA2LTA4LTI3IDEzOjEyOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEluaXRpYWx6ZSB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgSW5pdGlhbHplIHZhcmlhYmxlcy4KCjIwMDYtMDgtMjUgMTY6MjE6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IE1vcmUgYXR0ZW1wdHMgdG8gdHVybiB0aGlzIGludG8gcmVhZGFibGUgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5pdCksIChnc3RfYXZpX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9sYXN0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9sb29wKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pLCAoZ3N0X2F2aV9kZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIE1vcmUgYXR0ZW1wdHMgdG8gdHVybiB0aGlzIGludG8gcmVhZGFibGUgY29kZS4KCSAgRG9uJ3QgbGVhayBhZGFwdGVycy4KCSAgQ2FsY3VsYXRlIGR1cmF0aW9uIGFjY29yZGluZyB0byBpbmRleCBtb3JlIGVmZmljaWVudGx5LgoJICBEb24ndCB0cnkgdG8gYWN0IGxpa2Ugd2UgZHJpdmUgdGhlIHBpcGVsaW5lIGluIGNoYWluIG1vZGUuCgoyMDA2LTA4LTI1IDA5OjUzOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF9jbG9ja190aW1lX2Zyb21fbnB0KToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wOC0yNSAwOTo0Mjo0MyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6IERvIHNvbWUgZXh0cmEgc2FuaXR5IGNoZWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOiAoZ3N0X2Fubm9kZXhfZ3JhbnVsZV90b190aW1lKToKCSAgRG8gc29tZSBleHRyYSBzYW5pdHkgY2hlY2tzLgoJICBGaXhlcyAjMzUwMzQwLgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2NtbWxfZW5jX3BhcnNlX3RhZ19oZWFkKSwgKGdzdF9jbW1sX2VuY19wYXJzZV90YWdfY2xpcCksCgkgIChnc3RfY21tbF9lbmNfcHVzaF9jbGlwKSwgKGdzdF9jbW1sX2VuY19wdXNoKToKCSAgQ2hlY2sgaWYgY2xpcC0+c3RhcnRfdGltZSBpcyB2YWxpZCBiZWZvcmUgYWRkaW5nIHRoZSBjbGlwIHRvIHRoZQoJICB0cmFjayBsaXN0LgoJICBSZXNldCBlbmMtPnByZWFtYmxlIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZLgoJICBEb24ndCB1c2UgR1NUX0ZMT1dfVU5FWFBFQ1RFRCBmb3Igd3JvbmcgdXNhZ2Ugb2YgdGhlIGVsZW1lbnQsIGl0IGlzCgkgIG9ubHkgdXNlZCBmb3IgRU9TLgoJICBPbmx5IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiB3ZSB3ZXJlIHRoZSBvbmUgdGhhdCBjcmVhdGVkIHRoZSBmYXRhbAoJICBHc3RGbG93UmV0dXJuIHZhbHVlLgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfY2xvY2tfdGltZV9mcm9tX25wdCksCgkgIChnc3RfY21tbF9jbG9ja190aW1lX3RvX2dyYW51bGUpLCAoZ3N0X2NtbWxfdHJhY2tfbGlzdF9oYXNfY2xpcCk6CgkgIFBhcnNlIHRoZSBzZWNvbmRzIGZpZWxkIG9mIHRoZSBucHQtc2VjIHRpbWUgZm9ybWF0IHVzaW5nICVsbHUgcmF0aGVyIHRoYW4KCSAgJWQgYW5kIGNoZWNrIHRoYXQgdGhlIHZhbHVlIHNjYWxlZCBieSBHU1RfU0VDT05EIGRvZXNuJ3Qgb3ZlcmZsb3cuCgkgIFVzZSBndWludDY0KHMpIHRvIHJlcHJlc2VudCB0aGUga2V5aW5kZXggYW5kIGtleW9mZnNldCBmaWVsZHMgb2YgYSBncmFudWxlcG9zLgoJICBMb29rdXAgYSBjbGlwJ3MgdHJhY2sgd2l0aCBjbGlwLT50cmFjayByYXRoZXIgdGhhbiBjbGlwLT5pZCB3aGljaAoJICBtYWtlcyBubyBzZW5zZS4KCSAgSWRlbnRpZnkgYSBjbGlwIGJ5IGl0cyB0cmFjayBhbmQgc3RhcnQgdGltZSBhbmQgbm90IGl0cyB4bWwgaWQuCgkgIGRvIHNvbWUgbW9yZSBpbnB1dCBjaGVja2luZyBhbmQgbWFrZSBzdXJlIHdlIGRvbid0IGRvIHVuZGVmaW5lZCBzaGlmdHMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKSwgKGNoZWNrX291dHB1dF9idWZmZXJfaXNfZXF1YWwpLCAocHVzaF9kYXRhKSwKCSAgKGNtbWxfdGFnX21lc3NhZ2VfcG9wKSwgKGNoZWNrX2hlYWRlcnMpLCAocHVzaF9jbGlwX2Z1bGwpLAoJICAocHVzaF9jbGlwKSwgKHB1c2hfZW1wdHlfY2xpcCksIChjaGVja19vdXRwdXRfY2xpcCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChjbW1sZGVjX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpLCAoY2hlY2tfb3V0cHV0X2J1ZmZlcl9pc19lcXVhbCksIChwdXNoX2RhdGEpLAoJICAoY2hlY2tfaGVhZGVycyksIChwdXNoX2NsaXApLCAoY2hlY2tfY2xpcF90aW1lcyksIChjaGVja19jbGlwKSwKCSAgKGNoZWNrX2VtcHR5X2NsaXApLCAoR1NUX1NUQVJUX1RFU1QpLCAoY21tbGVuY19zdWl0ZSk6CgkgIEFkZGVkIHNvbWUgbW9yZSBjaGVja3MuCgoyMDA2LTA4LTI0IDE5OjAwOjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlIGFsc28gdGhlIHBhbi1wcm9wZXJ0eSBmbG9hdCAoc2F2ZXMgc2NhbGluZyBhbmQgeWllbGRzIGJldHRlciByZXNvbHV0aW9uKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfZmxvYXQpOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBNYWtlIGFsc28gdGhlIHBhbi1wcm9wZXJ0eSBmbG9hdCAoc2F2ZXMgc2NhbGluZyBhbmQgeWllbGRzIGJldHRlcgoJICByZXNvbHV0aW9uKQoKMjAwNi0wOC0yNCAxODoyMzoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogQ2hhbmdlTG9nIHN1cmdlcnkgdG8gYWRkIGN5bWF4J3MgcmVhbCBuYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfZmxvYXQpOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSB0byBhZGQgY3ltYXgncyByZWFsIG5hbWUKCjIwMDYtMDgtMjQgMTg6MTc6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLio6IEFkZGVkIGZsb2F0IHN1cHBvcnQgKHRoYW5rcyBjeW1heCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgIEFkZGVkIGZsb2F0IHN1cHBvcnQgKHRoYW5rcyBjeW1heCkKCjIwMDYtMDgtMjQgMTQ6MTY6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IEZpeCBkb2NzICYgZGVidWcgY2F0ZWdvcnkuIEFkZCBGaXhtZSBmb3Igdm9sdW1lIHBhbiBsZXZlbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6CgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20ycyk6CgkgIEZpeCBkb2NzICYgZGVidWcgY2F0ZWdvcnkuIEFkZCBGaXhtZSBmb3Igdm9sdW1lIHBhbiBsZXZlbHMuCgoyMDA2LTA4LTI0IDEzOjUxOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IHVuYnJlYWsgQVZJIGluZGV4IGhhbmRsaW5nLCBzb21lIG1vcmUgZGVidWcsIHJlbW92ZSBhbiBvYnNvbGV0ZSBhZGFwdGVyX2ZsdXNoIHRoYXQgY2F1c2VkIHN0cmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgdW5icmVhayBBVkkgaW5kZXggaGFuZGxpbmcsIHNvbWUgbW9yZSBkZWJ1ZywgcmVtb3ZlIGFuIG9ic29sZXRlCgkgIGFkYXB0ZXJfZmx1c2ggdGhhdCBjYXVzZWQgc3RyZWFtaW5nIHRvIHdhbmRlciBvZmYgaW4gdGhlIHdpbGQKCjIwMDYtMDgtMjQgMTE6MjE6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFNvbWUgbW9yZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfb2RtbCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFNvbWUgbW9yZSBjbGVhbnVwcy4KCSAgRml4IHRvdGFsRnJhbWVzIHBhcnNpbmcgaW4gT0RNTC4KCSAgRGlzYWJsZSB1c2Ugb2YgaW5kZXggZm9yIGxlbmd0aCBjYWxjdWxhdGlvbiBpbiBjYXNlIG9mIE9ETUwgYXMgdGhpcyBpcwoJICBicm9rZW4gbm93LgoKMjAwNi0wOC0yNCAxMDowMzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogVXNlIGxpYmdzdHRhZyBoZWxwZXIgZnVuY3Rpb24gaGVyZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY191cGRhdGVfbWV0YWRhdGEpOgoJICBVc2UgbGliZ3N0dGFnIGhlbHBlciBmdW5jdGlvbiBoZXJlIHRvby4KCjIwMDYtMDgtMjQgMDk6MjQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZvcndhcmQgcXVlcmllcyBpbiBvdGhlciBmb3JtYXRzIChCWVRFIGZvcm1hdCBpbiBwYXJ0aWN1bGFyKQoJICB1cHN0cmVhbTsgYWRkIFNlYmFzdGlhbiB0byBhdXRob3JzLgoKMjAwNi0wOC0yNCAwMDo0MDowNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoKMjAwNi0wOC0yMyAxNTozMzo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBJbml0aWFsIHN0cmVhbWluZyBzdXBwb3J0IGZvciBhdmlkZW11eCAoZml4ZXMgIzMzNjQ2NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5pdCksIChnc3RfYXZpX2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksIChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9wZWVrX2NodW5rX2luZm8pLCAoZ3N0X2F2aV9kZW11eF9wZWVrX2NodW5rKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXRfcHVzaCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0X3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoc29ydCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKHB1c2hfdGFnX2xpc3RzKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCksIChnc3RfYXZpX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9hdmlfZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfYXZpX2RlbXV4X2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgSW5pdGlhbCBzdHJlYW1pbmcgc3VwcG9ydCBmb3IgYXZpZGVtdXggKGZpeGVzICMzMzY0NjUpCgoyMDA2LTA4LTIzIDEwOjMwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZCBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZAoJICBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIFJlc3RvcmUgb3JpZ2luYWwgYXV0aG9yIChvbiBTZWJhc3RpYW4ncyByZXF1ZXN0KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIChzbyBmYXIgZW1wdHkpIHN1cHByZXNzaW9uIGZpbGUgZm9yIC1iYWQuIFJlbW92ZQoJICB3YXZwYWNrZW5jIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggbm93IHRoYXQgdGhlIGxlYWsKCSAgaXMgZml4ZWQuCgoyMDA2LTA4LTIzIDA5OjIyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZGVjX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tlbmNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKSwKCSAgKHNldHVwX3dhdnBhY2twYXJzZSksIChjbGVhbnVwX3dhdnBhY2twYXJzZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh3YXZwYWNrcGFyc2Vfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjMgMDg6NTI6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjIgMjA6Mzk6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgoyMDA2LTA4LTIyIDE3OjIwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6IFRoZXJlIGlzIG5vIHRhZ2xpYm11eCBlbGVtZW50IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVGhlcmUgaXMgbm8gdGFnbGlibXV4IGVsZW1lbnQgLi4uCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBVc2UgJyUnIHJhdGhlciB0aGFuICcmcGVyYzsnIGluIGd0ay1kb2MgYmx1cmIsIGRvY3MgYnVpbGQKCSAgd2FzIGNvbXBsYWluaW5nIGFib3V0IHVua25vd24gZW50aXR5IGhlcmUuCgoyMDA2LTA4LTIyIDE3OjAyOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBNYXJrIERJU0NPTlQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIE1hcmsgRElTQ09OVC4KCSAgUmVtb3ZlIG9sZCB1bnVzZWQgZmllbGRzIGFuZCByZW9yZGVyIHRoZSBzdHJ1Y3QgYSBiaXQuCgoyMDA2LTA4LTIyIDE2OjQ1OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgU21hbGwgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX29wZW4pLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpLCAoZ3N0X29zc19zaW5rX3VucHJlcGFyZSk6CgkgIFNtYWxsIGRvY3VtZW50YXRpb24gdXBkYXRlcy4KCjIwMDYtMDgtMjIgMTY6NDI6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFByZWNhbGMgbW9zdCBvZiB0aGUgZHVyYXRpb24gcXVlcnkgZm9yIGVhY2ggc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X2FnZ3JlZ2F0ZWRfZmxvdyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X2xvb3ApLAoJICAoZ3N0X2F2aV9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgUHJlY2FsYyBtb3N0IG9mIHRoZSBkdXJhdGlvbiBxdWVyeSBmb3IgZWFjaCBzdHJlYW0uCgkgIE1ha2Ugc2Vla2luZyBtb3JlIGNvcnJlY3QuCgkgIFVzZSBHc3RTZWdtZW50IHRvIHRyYWNrIHBvc2l0aW9uIGFuZCBkdXJhdGlvbi4KCSAgQ29kZSBjbGVhbnVwcyBhbmQgbGVhayBmaXhlcy4KCSAgQ2FsY3VsYXRlIGNvcnJlY3QgdG90YWwgZHVyYXRpb24gYmFzZWQgb24gaW5kZXggbGVuZ3RoLgoKMjAwNi0wOC0yMiAxMzo1MzozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogSWYgc3RyaW5ncyBpbiB0ZXh0IGZpZWxkcyBhcmUgbWFya2VkIElTTzg4NTktMSwgYnV0IGNvbnRhaW4gdmFsaWQgVVRGLTggYWxyZWFkeSwgdGhlbiBoYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpOgoJICBJZiBzdHJpbmdzIGluIHRleHQgZmllbGRzIGFyZSBtYXJrZWQgSVNPODg1OS0xLCBidXQgY29udGFpbgoJICB2YWxpZCBVVEYtOCBhbHJlYWR5LCB0aGVuIGhhbmRsZSB0aGVtIGFzIFVURi04IGFuZCBpZ25vcmUKCSAgdGhlIGVuY29kaW5nLiAoIzM1MTc5NCkKCjIwMDYtMDgtMjIgMTI6Mjg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IE1ha2UgZmxhYy1pbi1vZ2cgd29yayAoIzM1MjEwMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zY2FuX2dvdF9mcmFtZSksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpLCAoZ3N0X2ZsYWNfZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2ZsYWNfZGVjX2NoYWluKSwKCSAgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgTWFrZSBmbGFjLWluLW9nZyB3b3JrICgjMzUyMTAwKS4KCjIwMDYtMDgtMjIgMTI6MTA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiBEb24ndCB1bnJlZiBidWZmZXJzIG9mIHdoaWNoIHdlJ3ZlIGFscmVhZHkgZ2l2ZW4gYXdheSBvd25lcnNoaXAgdG8gdGhlIGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2NoYWluKToKCSAgRG9uJ3QgdW5yZWYgYnVmZmVycyBvZiB3aGljaCB3ZSd2ZSBhbHJlYWR5IGdpdmVuIGF3YXkKCSAgb3duZXJzaGlwIHRvIHRoZSBhZGFwdGVyLgoKMjAwNi0wOC0yMiAxMDozMjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBNYWtlIG1ldGFkYXRhIGV4dHJhY3Rpb24gYWN0dWFsbHkgd29yay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfY29tbWVudHMpOgoJICBNYWtlIG1ldGFkYXRhIGV4dHJhY3Rpb24gYWN0dWFsbHkgd29yay4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWV4ZW5jX2luaXQpLCAoZ3N0X3NwZWV4ZW5jX2NyZWF0ZV9tZXRhZGF0YV9idWZmZXIpLAoJICAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgRml4IG1ldGFkYXRhIHdyaXRpbmc6IHJlcGxhY2Ugb2xkIGNvZGUgd2hpY2ggd3JvdGUgY29tcGxldGVseQoJICBicm9rZW4gdGFncyB3aXRoIGxpYmdzdHRhZy1iYXNlZCBjb2RlLiBQbHVzIG1pc2NlbGxhbmVvdXMKCSAgY29kZSBjbGVhbnVwcyAodXNlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIGV0Yy4pIGFuZCBhIGJ1bmNoCgkgIG9mIGxlYWsgZml4ZXMuCgoyMDA2LTA4LTIxIDE5OjM0OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9wYW5vcmFtYS86IGRpZSEgZGllISBkaWUhIHlvdSBzaG91bGQgbmV2ZXIgaGF2ZSBiZWVuIHRoZXJlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL2F1ZGlvcGFub3JhbWEuYzoKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9hdWRpb3Bhbm9yYW1hLmg6CgkgIGRpZSEgZGllISBkaWUhIHlvdSBzaG91bGQgbmV2ZXIgaGF2ZSBiZWVuIHRoZXJlCgoyMDA2LTA4LTIxIDE2OjI0OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBGaXggc29tZSBwYWxldHRlZCBkYXRhIGZvcm1hdHMgYWdhaW4uCgkgIEZpeCB1bGF3L2FsYXcgaW4gcXQuCgkgIFNldCBjb3JyZWN0IGNhcHMgZm9yIHJhdyBSR0IuCgkgIEFkZCBzdXBwb3J0IGZvciB5dXYyLCB3aGljaCBpcyBsaWtlIFl1djIuCgkgIEFkZCBzdXBwb3J0IGZvciByYXcgYXVkaW8gd2l0aCB0aGUgTk9ORSBmb3VyY2MsIHdoaWNoIGlzIGxpa2UgcmF3LgoKMjAwNi0wOC0yMSAxMzo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrLzogTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8gcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgIE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvCgkgIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXRoICdHc3QnIHRvIG1ha2UgaXQgY2xlYXJlcgoJICB3aGVyZSB0aGV5IGNvbWUgZnJvbS4KCjIwMDYtMDgtMjEgMTM6MjY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKSBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KToKCSAgRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpCgkgIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2NjMpOyB1c2UgR1NUX1dBUk5JTkdfT0JKRUNUIGluc3RlYWQgb2YKCSAgR1NUX0VMRU1FTlRfV0FSTklORzsgc2ltcGxpZnkgcHVzaF9ibG9jaygpOyBkbyBzb21lIHNtYWxsCgkgIGNsZWFuLXVwcyBoZXJlIGFuZCB0aGVyZTsgZml4IG1lbWxlYWsgKCMzNTE2NjMpLgoKMjAwNi0wOC0yMSAxMzoxMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gYXVkaW9wYW5vcmFtYSB0ZXN0IHN1aXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gYXVkaW9wYW5vcmFtYSB0ZXN0IHN1aXRlLgoKMjAwNi0wOC0yMSAxMTozNDo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IGlnbm9yZSBidWlsdCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIGlnbm9yZSBidWlsdCBmaWxlCgoyMDA2LTA4LTIxIDEwOjQ2OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogRml4IHRoZSBidWlsZCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgRml4IHRoZSBidWlsZCBhZ2Fpbi4KCjIwMDYtMDgtMjEgMDk6MjE6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC86IHJlc3VibWl0IHdpdGggdGhlIGRlc2lyZWQgbmFtZSAqYWdhaW4qCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgIHJlc3VibWl0IHdpdGggdGhlIGRlc2lyZWQgbmFtZSAqYWdhaW4qCgoyMDA2LTA4LTIwIDEzOjA5OjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6CgkgIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoKMjAwNi0wOC0yMCAxMzowNjo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogY2xlYW51cCAtdW51c2VkLnR4dCB0byBtYWtlIGl0IHVzZWZ1bCwgYWRkIHByZXZpb3VzbHkgbWlzc2luZyBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4Z29vZC54bWw6CgkgIGNsZWFudXAgLXVudXNlZC50eHQgdG8gbWFrZSBpdCB1c2VmdWwsIGFkZCBwcmV2aW91c2x5IG1pc3NpbmcgZG9jcwoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL2VzZG1vbi5jOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICAqIGV4dC9lc2QvZ3N0ZXNkLmM6IChwbHVnaW5faW5pdCk6CgkgIHJlZmxvdyB0byBnZXQgcmlkIG9mIHR3byBleHRlcm5hbCBzeW1ib2xzCgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgcmUtYWRkCgoyMDA2LTA4LTIwIDEyOjA5OjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9meGdvb2QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYwoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoc2V0dXBfcGFub3JhbWFfbSksCgkgIChzZXR1cF9wYW5vcmFtYV9zKSwgKGNsZWFudXBfcGFub3JhbWEpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFub3JhbWFfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBhdWRpb2Z4Z29vZCBwbHVnaW4gd2l0aCBhdWRpb3Bhbm9yYW1hIGVsZW1lbnQKCjIwMDYtMDgtMTggMjE6Mzk6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZCB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9maW5kX21hcmtlciksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19hZGFwdGVyKToKCSAgRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQKCSAgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmV0d2VlbiBmcmFtZXMgaW4gcHVsbCBtb2RlIGFzIHdlbGwgaWYKCSAgbmVjZXNzYXJ5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCk7IHB1c2ggRU9TIGFuZAoJICBORVdTRUdNRU5UIGV2ZW50IGluIHJpZ2h0IGRpcmVjdGlvbiAoIzM1MTY1OSkuCgoyMDA2LTA4LTE4IDE3OjAwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBNb3JlIE9zcyBkb2NzIGZpeGFnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBNb3JlIE9zcyBkb2NzIGZpeGFnZS4KCjIwMDYtMDgtMTggMTY6NTI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgZXhwZXJpbWVudGFsIFNWUTMgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3N2M3ZfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9zdjN2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9zdjN2X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJICBBZGRlZCBleHBlcmltZW50YWwgU1ZRMyBkZXBheWxvYWRlci4KCjIwMDYtMDgtMTggMTM6MjU6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC4qOiBXaGVuIGhhbmRsaW5nIHNlZWsgcmVxdWVzdHMsIGRvbid0IHNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgZnJvbSB0aGUgY2FsbGluZyB0aHJlYWQuIEluc3RlYWQgc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9wdWxsX3NlZWspLAoJICAoZ3N0X2R2ZGVtdXhfbG9vcCksIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIFdoZW4gaGFuZGxpbmcgc2VlayByZXF1ZXN0cywgZG9uJ3Qgc2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBmcm9tIHRoZQoJICBjYWxsaW5nIHRocmVhZC4gSW5zdGVhZCBzYXZlIGl0IHNvIGl0IGNhbiBiZSBzZW50IGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQuCgoyMDA2LTA4LTE3IDE1OjUxOjUwICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEFjY2VwdCBsZWFkaW5nIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBib3VuZGFyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAobXVsdGlwYXJ0X3BhcnNlX2hlYWRlcik6CgkgIEFjY2VwdCBsZWFkaW5nIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBib3VuZGFyeQoJICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBkZW11eGVyIGFsbG93IHNvbWUgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIGFjdHVhbAoJICBib3VuZGFyeS4gVGhpcyBtYWtlcyB0aGUgZGVtdXhlciB3b3JrIHdpdGggdGhlIGBgb2xkJycgZ3N0cmVhbWVyCgkgIG11bHRpcGFydG11eGVyIGFnYWluICh3aGljaCBwbGFjZWQgYW4gZXh0cmEgXG4gYmVmb3JlIHRoZSBzdGFydAoJICBvZiB0aGUgc3RyZWFtKSBGaXhlcyAjMzQ5MDY4LgoKMjAwNi0wOC0xNyAxNTo0NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IEVycm9yIG91dCBvbiBub24taW1wbGVtZW50ZWQgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIEVycm9yIG91dCBvbiBub24taW1wbGVtZW50ZWQgc3R1ZmYuCgoyMDA2LTA4LTE2IDE2OjUwOjAwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBNYWtlIGxhZHNwYSBlbGVtZW50cyByZXVzYWJsZS4gRml4ZXMgIzM1MDAwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmR5IFdpbmdvIDx3aW5nbyBhdCBwb2JveCBkb3QgY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXR1cCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdGFydCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdG9wKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsZWFudXApLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIGxhZHNwYSBlbGVtZW50cyByZXVzYWJsZS4gRml4ZXMgIzM1MDAwNi4KCjIwMDYtMDgtMTYgMTU6MzM6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZSBuYW1lcyBhcyBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfYmFzZV9pbml0KToKCSAgQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUKCSAgbmFtZXMgYXMgcG9zc2libGUuCgoyMDA2LTA4LTE2IDE0OjQ3OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUgcGVuIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpOgoJICBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZQoJICBwZW4gYW55bW9yZS4KCjIwMDYtMDgtMTYgMTM6NDg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiBEb24ndCBsZWFrIGRldmljZSBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfZmluYWxpemUpOgoJICBEb24ndCBsZWFrIGRldmljZSBzdHJpbmcuCgoyMDA2LTA4LTE2IDEzOjAxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIENWUyBvZiBHU3RyZWFtZXIgY29yZSBhbmQgLWJhc2UgKGZvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgQ1ZTIG9mIEdTdHJlYW1lciBjb3JlIGFuZCAtYmFzZSAoZm9yCgkgIEdTVF9UQUdfRVhURU5ERURfQ09NTUVOVCBhbmQgZ3N0X3RhZ19wYXJzZV9leHRlbmRlZF9jb21tZW50KCkpLgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIFdyaXRlIGV4dGVuZGVkIGNvbW1lbnQgdGFncyBwcm9wZXJseSAoIzM0ODc2MikuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9jb21tZW50X2ZyYW1lKToKCSAgRXh0cmFjdCBDT01NIGZyYW1lcyBpbnRvIGV4dGVuZGVkIGNvbW1lbnRzLCB3aGljaCBtYWtlcyBpdAoJICBlYXNpZXIgdG8gcHJvcGVybHkgcmV0YWluIHRoZSBkZXNjcmlwdGlvbiBiaXQgb2YgdGhlIHRhZwoJICBhbmQgbWFpbnRhaW4gdGhpcyBpbmZvcm1hdGlvbiB3aGVuIHJlLXRhZ2dpbmcgKCMzNDg3NjIpLgoKMjAwNi0wOC0xNiAxMjowMjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEb24ndCB0cnkgdG8gcnVuIGFubm9kZXggdW5pdCB0ZXN0cyBpZiB0aGUgYW5ub2RleCBwbHVnaW4gaGFzIG5vdCBiZWVuIGJ1aWx0IChGaXhlcyAjMzUxMTE2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERvbid0IHRyeSB0byBydW4gYW5ub2RleCB1bml0IHRlc3RzIGlmIHRoZSBhbm5vZGV4CgkgIHBsdWdpbiBoYXMgbm90IGJlZW4gYnVpbHQgKEZpeGVzICMzNTExMTYpLgoKMjAwNi0wOC0xNiAxMDo1MzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogV2hlbiB3ZSBjYW4ndCBmaW5kIGEgdXNhYmxlIGF1ZGlvc2luaywgZG9uJ3QgZXJyb3Igb3V0LCBidXQgdXNlIGEgZmFrZSBzaW5rIGluc3RlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgIFdoZW4gd2UgY2FuJ3QgZmluZCBhIHVzYWJsZSBhdWRpb3NpbmssIGRvbid0IGVycm9yIG91dCwKCSAgYnV0IHVzZSBhIGZha2Ugc2luayBpbnN0ZWFkIGFuZCBwb3N0IGEgd2FybmluZyBtZXNzYWdlCgkgIG9uIHRoZSBidXMgKCMzNDEyNzgpLgoKMjAwNi0wOC0xNiAxMDo0MDowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19hZGFwdGVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0CgkgICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZGVyc2NvcmVzIGluCgkgIEdPYmplY3QgcHJvcGVydHkgbmFtZXMuCgoyMDA2LTA4LTE2IDEwOjIyOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IERvY3VtZW50IE9TUyBlbGVtZW50czsgYWRkIGd0ay1kb2MgYmx1cmIgd2l0aCAnU2luY2UgMC4xMC41JyBmb3Igb3NzbWl4ZXIncyBuZXcgZGV2aWNlIHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIERvY3VtZW50IE9TUyBlbGVtZW50czsgYWRkIGd0ay1kb2MgYmx1cmIgd2l0aCAnU2luY2UgMC4xMC41JyBmb3IKCSAgb3NzbWl4ZXIncyBuZXcgZGV2aWNlIHByb3BlcnR5LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgZG9jcyBmb3IgT1NTIGVsZW1lbnRzLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIHRvIENWUyB2ZXJzaW9uLgoKMjAwNi0wOC0xNiAxMDowNTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBDYXBzIGV4dHJhIHByb3BlcnRpZXMgbXVzdCBiZSBkZWZpbmVkIGFzIHN0cmluZ3MgZm9yIGRlcGF5bG9hZGVycyBiZWNhdXNlIHRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIGFuIFNEUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIENhcHMgZXh0cmEgcHJvcGVydGllcyBtdXN0IGJlIGRlZmluZWQgYXMgc3RyaW5ncyBmb3IKCSAgZGVwYXlsb2FkZXJzIGJlY2F1c2UgdGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gYW4gU0RQLgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfZmluYWxpemUpLCAoZGVjb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIEFkZGVkIGJhc2ljLCBub3QgY29tcGxldGVseSBmdW5jdGlvbmFsIFJGQyAzOTg0IEgyNjQgZGVwYXlsb2FkZXIuCgoyMDA2LTA4LTE2IDA5OjQ4OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IEFkZCBwYWRzIGFmdGVyIHNldHRpbmcgdGhlbSB1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2luaXQpLCAoZ3N0X3J0cGRlY19nZXRjYXBzKToKCSAgQWRkIHBhZHMgYWZ0ZXIgc2V0dGluZyB0aGVtIHVwLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19mcmVlX3N0cmVhbSksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfY29tYmluZV9mbG93cyksIChnc3RfcnRzcHNyY19sb29wKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggaW50ZXJsZWF2ZWQgbW9kZS4KCSAgLSBQcm90ZWN0IHN0cmVhbWluZyB3aXRoIGxvY2suCgkgIC0gQ29tYmluZSBmbG93cwoJICAtIHNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIC0gc3RyaXAgdHJhaWxpbmcgXDAgZnJvbSBkYXRhIHBhY2tldHMuCgkgIC0gQ29uZmlndXJlIFJUUC9SVENQIGluIHN0cmVhbS4KCSAgVXNlIERFQlVHX09CSkVDVCBtb3JlLgoKMjAwNi0wOC0xNiAwOToyOToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IFR1cm4gYSBnX3ByaW50IGludG8gYSBERUJVRyBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICBUdXJuIGEgZ19wcmludCBpbnRvIGEgREVCVUcgbGluZS4KCjIwMDYtMDgtMTYgMDk6MjU6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzLzogU21hbGwgY2xlYW51cHMuIEJldHRlciBlcnJvciByZXBvcnRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuYzogKGdzdF9vc3NtaXhlcl9vcGVuKSwgKGdzdF9vc3NtaXhlcl9uZXcpOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfaW5pdCksIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSAgU21hbGwgY2xlYW51cHMuIEJldHRlciBlcnJvciByZXBvcnRpbmcuCgkgIEFkZCBkZXZpY2UgcHJvcGVydHkgZm9yIHRoZSBtaXhlciBpbnN0ZWFkIG9mIHRoZSBoYXJkY29kZWQKCSAgL2Rldi9taXhlci4gRml4ZXMgIzM1MDc4NS4KCSAgQVBJOiBHc3RPc3NNaXhlckVsZW1lbnQ6OmRldmljZSBwcm9wZXJ0eQoKMjAwNi0wOC0xNSAyMjo0NDoyNyArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ2NvbmYvTWFrZWZpbGUuYW06IE1ha2UgLS1kaXNhYmxlLXNjaGVtYXMgd29yayByaWdodCAodGhleSBzdGlsbCBuZWVkIHRvIGJlIGNvcGllZCB0byB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwganVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdjb25mL01ha2VmaWxlLmFtOgoJICBNYWtlIC0tZGlzYWJsZS1zY2hlbWFzIHdvcmsgcmlnaHQgKHRoZXkgc3RpbGwgbmVlZAoJICB0byBiZSBjb3BpZWQgdG8gdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnksIGp1c3Qgbm90CgkgIGFwcGxpZWQpLiBGaXhlcyAjMzUxMzQ3IChhbHNvICMzNDQxMDApLgoKMjAwNi0wOC0xNSAyMDoyOTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLio6IE1ha2Ugd2F2cGFja3BhcnNlIGFsc28gd29yayBpbiBwdXNoLW1vZGUgKG5vdCBzZWVrYWJsZSB5ZXQgdGhvdWdoKTsgc29tZSBzbWFsbCBjbGVhbi11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgIE1ha2Ugd2F2cGFja3BhcnNlIGFsc28gd29yayBpbiBwdXNoLW1vZGUgKG5vdCBzZWVrYWJsZSB5ZXQgdGhvdWdoKTsKCSAgc29tZSBzbWFsbCBjbGVhbi11cHMgYWxvbmcgdGhlIHdheTsgYWRkIHN1cHBvcnQgZm9yIFNFRUtJTkcgcXVlcnkKCSAgYW5kIHF1ZXJ5IHR5cGVzIGZ1bmN0aW9uLiAoIzM1MTQ5NSkuCgoyMDA2LTA4LTE0IDExOjM3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgoyMDA2LTA4LTE0IDExOjE0OjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcmVsZWFzaW5nIDAuMTAuNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuNAoKMjAwNi0wOC0xNCAxMDowNjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlCgkgIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pbXVtIHJlcXVpcmVkCgkgIGJpdHJhdGUgaW5mb3JtYXRpb24gaWYgYXZhaWxhYmxlLiAoIzM1MDM5OSkKCjIwMDYtMDgtMTAgMTQ6MTA6MjggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCgkgIFNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgU2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgRml4ZXMgIzM0NzUyOQoKMjAwNi0wOC0xMCAxNDowMjo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGJ1bXBlZCBmb3IgcHJlcmVsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidW1wZWQgZm9yIHByZXJlbAoKMjAwNi0wOC0xMCAxMzoxMDozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMDYtMDgtMDggMTQ6NTU6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggc2lsbHkgdHlwby4KCjIwMDYtMDgtMDggMTQ6NDY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyBudW1iZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyBudW1iZXIKCjIwMDYtMDgtMDggMTQ6NDA6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy86IFJlZnVzZSBzaW5rIGNhcHMgaW4gdGhlIGVuY29kZXIgaWYgd2lkdGggb3IgaGVpZ2h0IGlzIG5vdCBhIG11bHRpcGxlIG9mIDE2LCB0aGUgZW5jb2RlciBkb2VzIG5vdCBzdXBwb3J0IHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19yZXN5bmMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgUmVmdXNlIHNpbmsgY2FwcyBpbiB0aGUgZW5jb2RlciBpZiB3aWR0aCBvciBoZWlnaHQgaXMgbm90IGEKCSAgbXVsdGlwbGUgb2YgMTYsIHRoZSBlbmNvZGVyIGRvZXMgbm90IHN1cHBvcnQgdGhhdCB5ZXQ7IGFsb25nIHRoZQoJICBzYW1lIGxpbmVzLCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBlbmNvZGVyIHNldHVwIGZ1bmN0aW9uOwoJICBhbHNvIHJlbW92ZSBzb21lIGRlYnVnIGxvZyBjbHV0dGVyLgoKMjAwNi0wOC0wNCAxMTozODo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZwoJICB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvciBrZWVwaW5nCgkgIHRyYWNrIG9mIGl0cyBzdGF0ZS4gQ2hhbmdlIHRoZSBGbG93UmV0dXJuIGluc3RhbmNlIHZhcmlhYmxlIGZyb20KCSAgInN0YXRlIiB0byAiZmxvd19zdGF0ZSIsIGFsbCBjYWxsZXJzIGNoYW5nZWQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdGFydCwgZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsZWFudXApOiBOZXcgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUKCSAgcHJvY2Vzc29yJ3Mgc3RhdGUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogc3RhcnQoKSBhcyB3ZWxsIGFzIHNldHVwKCkgaGVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOiBSZXNwZWN0IENBTl9QUk9DRVNTX0lOX1BMQUNFLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogU3RvcCBhbmQgY2xlYW51cCB0aGUKCSAgcHJvY2Vzc29yIGFzIHdlIGdvIHRvIE5VTEwuCgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYyAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOiBSZXVzZSBidWZmZXJzIGlmCgkgIElOUExBQ0VfQlJPS0VOIGlzIG5vdCBzZXQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6CgkgIERvIHRoZSBhbGxvY19idWZmZXIgaW4gYnl0ZXMsIG5vdCBmcmFtZXMuCgoyMDA2LTA4LTA0IDEwOjIxOjI2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6IEZpeCByZ2IgbWFza3Mgd2hlbiByZWNvcmRpbmcgaW4gPCAyNGJwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KToKCSAgRml4IHJnYiBtYXNrcyB3aGVuIHJlY29yZGluZyBpbiA8IDI0YnBwLgoKMjAwNi0wOC0wNCAwOToyMDoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBCUEIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6IEJQQgoKMjAwNi0wOC0wNCAwOTowNTo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91cGRhdGVfaW5wdXRzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2VzcywgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOiBSZW1vdmUgdGhlIGxhc3Qgb2YgdGhlIGNvZGUKCSAgdGhhdCBhc3N1bWVzIHRoYXQgd2UgcHJvY2VzcyB3aG9sZSBidWZmZXJzIGF0IGEgdGltZS4gRml4IHNvbWUKCSAgZGVidWdnaW5nLiBTZWVtcyB0byB3b3JrIG5vdyBpbiBzb21lIGNhc2VzLgoKMjAwNi0wNy0zMSAyMjoyNzoyMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogSW5pdCBwZW5kaW5nX2luIGFuZCBwZW5kaW5nX291dC4KCjIwMDYtMDctMzEgMjI6MDM6MDkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObyBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8KCSAgbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGF0IHRoZSBzYW1wbGUKCSAgcmF0ZSBhY3R1YWxseSBnZXRzIHNldC4gU29tZXRoaW5nIGZvciB0aGUgZnV0dXJlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IFNvbWUgcmVmY291bnQgZml4ZXMsIGZsb3cgZml4ZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCk6IFJlZmNvdW50IGZpeGVuLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IFB1bGwgdGhlIG51bWJlciBvZiBmcmFtZXMgdG8KCSAgcHJvY2VzcyBmcm9tIHRoZSBzaXplcyBvZiB0aGUgYnVmZmVycyBpbiB0aGUgaW5wdXQgcGVucy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpOiBSZW1vdmUgYW4gaW5jb3JyZWN0IEZJWE1FIDopCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyk6IEFkZCBhbiBuZnJhbWVzIGFyZ3VtZW50LCBhbmQgdXNlCgkgIGl0IGluc3RlYWQgb2YgYnVmZmVyX2ZyYW1lcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKTogUmVmY291bnQgZml4ZW4sIHBhc3MgbmZyYW1lcyBvbgoJICB0byBkb19wdWxscy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiAgUmVmY291bnQgZml4ZW4uCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogTm8gbW9yZSBidWZmZXJfZnJhbWVzLCB5YXkuCgoyMDA2LTA3LTMxIDE5OjQ0OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLCB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csCgkgIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OTE4OSkKCjIwMDYtMDctMzEgMTU6NTg6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRml4IGRvY3MuCgoyMDA2LTA3LTI5IDE2OjMyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIEZJWE1FIGNvbW1lbnRzLCBmaWxlZCAjMzQ5MTg5CgoyMDA2LTA3LTI5IDExOjIyOjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogU2V0IGNhcHMgb24gYnVmZmVyIGNvcnJlY3RseS4gIEZpeGVzIGJ1ZyAjMzQ5MTU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0yOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksIChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBTZXQgY2FwcyBvbiBidWZmZXIgY29ycmVjdGx5LiAgRml4ZXMgYnVnICMzNDkxNTUuCgoyMDA2LTA3LTI4IDE2OjE3OjE3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IFVzZXMgR3N0QWRhcHRlciBpbnN0ZWFkIG9mIG93biBidWZmZXJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfZmluYWxpemUpLCAoZ2V0X2xpbmVfZW5kKSwKCSAgKG11bHRpcGFydF9wYXJzZV9oZWFkZXIpLCAobXVsdGlwYXJ0X2ZpbmRfYm91bmRhcnkpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbiksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXVsdGlwYXJ0X3NldF9wcm9wZXJ0eSksIChnc3RfbXVsdGlwYXJ0X2dldF9wcm9wZXJ0eSk6CgkgIFVzZXMgR3N0QWRhcHRlciBpbnN0ZWFkIG9mIG93biBidWZmZXJpbmcuCgkgIEFjdHVhbGx5IHBhcnNlcyB0aGUgbWltZS10eXBlIGNvcnJlY3RseSAoSW4gdGVzdHMgdGhlIG1pbWUtdHlwZSB3YXMKCSAgYWx3YXlzICIiIHdpdGggdGhlIG9sZCB2ZXJzaW9uKS4KCSAgVXNlcyB0aGUgQ29udGVudC1sZW5ndGggaGVhZGVyIGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCB0aGluZ3MuCgkgIFJlbGlhYmx5IGF1dG9zY2FucyB0aGUgYm91bmRhcnkgbmFtZSBieSBkZWZhdWx0LgoJICBGaXhlcyAjMzQ5MDY4LgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBEb24ndCBzdGFydCB0aGUgc3RyZWFtIHdpdGggYSBcbi4KCjIwMDYtMDctMjggMDg6MzI6NDcgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiBPcGVuIHNvdXJjZSB3aXRoIE9fTk9OQkxPQ0sgKCMzNDkwMTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfb3Blbik6CgkgIE9wZW4gc291cmNlIHdpdGggT19OT05CTE9DSyAoIzM0OTAxNSkuCgoyMDA2LTA3LTI4IDA4OjIxOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFdoaXRlc3BhY2UgZml4ZXMgYW5kIG1vcmUgZGVidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFdoaXRlc3BhY2UgZml4ZXMgYW5kIG1vcmUgZGVidWcKCjIwMDYtMDctMjcgMTE6MjE6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IEdldCByaWQgb2Ygb2xkIGFuZCB1bnVzZWQgbWFnaWMgc291bmQtc2VydmVyIHByb3BlcnRpZXMgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY3JlYXRlX2VsZW1lbnRfd2l0aF9wcmV0dHlfbmFtZSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEdldCByaWQgb2Ygb2xkIGFuZCB1bnVzZWQgbWFnaWMgc291bmQtc2VydmVyIHByb3BlcnRpZXMgc3R1ZmYuCgkgIEFkZCBzdWZmaXggdG8gY2hpbGQgc2luaydzIG5hbWUgdGhhdCBtYWtlcyBpdCBlYXN5IHRvIHNlZSBmcm9tCgkgIHRoZSBuYW1lIGFsb25lIHdoaWNoIHR5cGUgaXQgYWN0dWFsbHkgaXMgKGFsc2EsIG9zcywgZXNkLCBldGMuKS4KCjIwMDYtMDctMjcgMTA6MDU6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBSZW5hbWUgImJ1ZmZlciIgdG8gImJ1ZmZlci1zaXplIiB0byBtYWtlIGNsZWFyIGl0IGlzIGEgc2l6ZSB3ZSBzZXQgYW5kIG5vdCBzb21lIHNvcnQgb2YgZmVhdHVyZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19zdGFydCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgUmVuYW1lICJidWZmZXIiIHRvICJidWZmZXItc2l6ZSIgdG8gbWFrZSBjbGVhciBpdCBpcyBhIHNpemUgd2Ugc2V0IGFuZAoJICBub3Qgc29tZSBzb3J0IG9mIGZlYXR1cmUgd2UgZW5hYmxlLgoKMjAwNi0wNy0yNyAxMDowMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFVzZSBDTE9TRV9TT0NLRVQoKSBoZXJlIGluc3RlYWQgb2YgY2xvc2UoKSB0byBtYWludGFpbiB3aW4zMiB3b3JraW5lc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgVXNlIENMT1NFX1NPQ0tFVCgpIGhlcmUgaW5zdGVhZCBvZiBjbG9zZSgpIHRvIG1haW50YWluCgkgIHdpbjMyIHdvcmtpbmVzcy4KCjIwMDYtMDctMjcgMDk6MDQ6NTEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkZWQgImJ1ZmZlciIgcHJvcGVydHkgdG8gY29udHJvbCB0aGUga2VybmVsIHJlY2VpdmUgYnVmZmVyIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanMgZG90IHZlcm1laXIgYXQgYmFyY28gZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBBZGRlZCAiYnVmZmVyIiBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBrZXJuZWwgcmVjZWl2ZSBidWZmZXIgc2l6ZS4KCSAgVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIFNtYWxsIGNsZWFudXBzLiBGaXhlcyAjMzQ4NzUyLgoJICBBUEk6IGJ1ZmZlciBwcm9wZXJ0eQoKMjAwNi0wNy0yNiAxNjozNjo1OSArMDAwMCAgS2FpIFZlaG1hbmVuIDxrdjIwMDRAZWNhLmN4PgoKCSAgZ3N0L3J0cC86IEZpeCB0aW1lc3RhbXAgY2FsY3VsYXRpb24gb24gb3V0Z29pbmcgUlRQIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogS2FpIFZlaG1hbmVuIDxrdjIwMDQgYXQgZWNhIGRvdCBjeD4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9wY21hX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9wY211X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRml4IHRpbWVzdGFtcCBjYWxjdWxhdGlvbiBvbiBvdXRnb2luZyBSVFAgcGFja2V0cy4KCSAgRml4ZXMgIzM0ODY3NS4KCjIwMDYtMDctMjYgMTA6MDc6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBpcyBzdGlsbCBzdWItb3B0aW1hbCB0aG91Z2gsIHNpbmNlIHdlIGRvbid0IHJldGFpbiBvciBleHRyYWN0IHRoZSBjb21tZW50IGRlc2NyaXB0aW9ucyBwcm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgRml4IHdyaXRpbmcgb2YgY29tbWVudCBmcmFtZXMgKHNob3VsZCBiZSBDT01NIG5vdCBUQ09NKSwKCSAgaXMgc3RpbGwgc3ViLW9wdGltYWwgdGhvdWdoLCBzaW5jZSB3ZSBkb24ndCByZXRhaW4gb3IKCSAgZXh0cmFjdCB0aGUgY29tbWVudCBkZXNjcmlwdGlvbnMgcHJvcGVybHkgKCMzMzQzNzUsCgkgIGFsc28gc2VlICMzMzQzNzUpLgoKMjAwNi0wNy0yNiAwOTowMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAjZGVmaW5lICdmYWN0JyBSSUZGIGNodW5rIGlmIHdlIGFyZSBub3QgY29tcGlsaW5nIGFnYWluc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgICNkZWZpbmUgJ2ZhY3QnIFJJRkYgY2h1bmsgaWYgd2UgYXJlIG5vdCBjb21waWxpbmcgYWdhaW5zdAoJICAtYmFzZSBDVlMgKHdlIGRvbid0IHdhbnQgdG8gZGVwZW5kIG9uIC1iYXNlIENWUyBmb3IgdGhpcwoJICBvbmUgZGVmaW5lIG9ubHksIGFuZCBhbHNvIG5vdCBmb3IgcmVsZWFzZSBvcmRlciByZWFzb25zKS4KCjIwMDYtMDctMjYgMDg6MTc6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBIYW5kbGUgbXVsdGlwbGUgdGFncyBvZiB0aGUgc2FtZSB0eXBlIHByb3Blcmx5LiBSZS1pbmplY3QgdW5wYXJzZWQgSUQzdjIgZnJhbWVzIHRoYXQgd2UgZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgSGFuZGxlIG11bHRpcGxlIHRhZ3Mgb2YgdGhlIHNhbWUgdHlwZSBwcm9wZXJseS4gUmUtaW5qZWN0CgkgIHVucGFyc2VkIElEM3YyIGZyYW1lcyB0aGF0IHdlIGdldCBhcyBiaW5hcnkgYmxvYnMgZnJvbQoJICBpZDNkZW11eCBpbnRvIHRoZSB0YWcgYWdhaW4gc28gd2UgZG9uJ3QgbG9zZSBpbmZvcm1hdGlvbgoJICB3aGVuIHJldGFnZ2luZyAoIzMzNDM3NSkuCgoyMDA2LTA3LTI1IDE3OjU0OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRG9jdW1lbnQgbmV3bHktYWRkZWQgcHJvcGVydGllcyBwcm9wZXJseSwgc28gdGhhdCB0aGVyZSBpcyBhICdTaW5jZTogMC4xMC40JyBpbiB0aGUgcGx1Z2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KToKCSAgRG9jdW1lbnQgbmV3bHktYWRkZWQgcHJvcGVydGllcyBwcm9wZXJseSwgc28gdGhhdCB0aGVyZSBpcyBhCgkgICdTaW5jZTogMC4xMC40JyBpbiB0aGUgcGx1Z2luIGRvY3MuIENvbnZlcnQgc29tZSBwcm9wZXJ0eQoJICBuYW1lcyBpbnRvIGNhbm9uaWNhbCBHT2JqZWN0IHN0eWxlIChHT2JqZWN0IHdpbGwgZG8gdGhhdAoJICBpbnRlcm5hbGx5IGFueXdheSkuCgoyMDA2LTA3LTI1IDE2OjQ3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogRXh0cmFjdCBmcmFtZXMgZm9yIElEM3YyIHZlcnNpb25zIHByaW9yIHRvIElEM3YyLjMuMCBwcm9wZXJseSBhcyB3ZWxsLCBhbmQgYWRkIHRoZSB2ZXJzaW9uIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIChpZDNkZW11eF9hZGRfaWQzdjJfZnJhbWVfYmxvYl90b190YWdsaXN0KToKCSAgRXh0cmFjdCBmcmFtZXMgZm9yIElEM3YyIHZlcnNpb25zIHByaW9yIHRvIElEM3YyLjMuMCBwcm9wZXJseSBhcwoJICB3ZWxsLCBhbmQgYWRkIHRoZSB2ZXJzaW9uIHRvIHRoZSBibG9iJ3MgYnVmZmVyIGNhcHMsIHNpbmNlIHRoYXQKCSAgaW5mb3JtYXRpb24gd2lsbCBiZSBuZWVkZWQgZm9yIGRlc2VyaWFsaXNhdGlvbiBsYXRlciBvbiAoIzM0ODY0NCkuCgoyMDA2LTA3LTI1IDEzOjE0OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1vdmVkIHdpbjMyIHZhcmlhbnQgb2YgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiB0byBnc3RpbmZvLmguIEZpeGVkIGluZGVudGF0aW9uIGFuZCBzcGFjaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlcyksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgIE1vdmVkIHdpbjMyIHZhcmlhbnQgb2YgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiB0byBnc3RpbmZvLmguIEZpeGVkCgkgIGluZGVudGF0aW9uIGFuZCBzcGFjaW5nLgoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wNy0yNCAxNToyNTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBmaWxlcyB0byBDVlMvUHJlcmVsZWFzZSB2ZXJzaW9uLCBhZGQgZXNkc2luayBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSBmaWxlcyB0byBDVlMvUHJlcmVsZWFzZSB2ZXJzaW9uLCBhZGQgZXNkc2luayBkb2NzLgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICBBZGQgZ3RrLWRvYyBibHVyYi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgRml4IHR5cG8gaW4gZWxlbWVudCBkZXNjcmlwdGlvbi4KCjIwMDYtMDctMjQgMTQ6NTQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggU3RlZmFuJ3MgZS1tYWlsIGFkZHJlc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggU3RlZmFuJ3MgZS1tYWlsIGFkZHJlc3MKCjIwMDYtMDctMjQgMTQ6NDk6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogUHJldmVudCBsaWJlc2QgZnJvbSBhdXRvLXNwYXduaW5nIGEgc291bmQgZGFlbW9uIGlmIGl0IGlzIG5vdCBhbHJlYWR5IHJ1bm5pbmcuIE5vdyB0aGF0IHdlIGRvbid0IGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19vcGVuKSwKCSAgKGdzdF9lc2RzaW5rX2ZhY3RvcnlfaW5pdCk6CgkgIFByZXZlbnQgbGliZXNkIGZyb20gYXV0by1zcGF3bmluZyBhIHNvdW5kIGRhZW1vbiBpZiBpdAoJICBpcyBub3QgYWxyZWFkeSBydW5uaW5nLiBOb3cgdGhhdCB3ZSBkb24ndCBkbyBldmlsIHN0dWZmCgkgIGxpa2UgdGhhdCBhbnkgbG9uZ2VyIHdlIGNhbiBnaXZlIGVzZHNpbmsgYSByYW5rIHNvIHRoYXQKCSAgYXV0b2F1ZGlvc2luayB3aWxsIHRyeSBpdCBhcyB3ZWxsIGlmIGFsbCBvdGhlciBhdWRpbwoJICBzaW5rcyBmYWlsICgjMzQzMDUxKS4KCjIwMDYtMDctMjQgMTQ6NDI6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL01ha2VmaWxlLmFtOiBPb3BzLCBuZWVkIHRvIHJlbW92ZSBSRUFETUUgZnJvbSBFWFRSQV9ESVNUIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgIE9vcHMsIG5lZWQgdG8gcmVtb3ZlIFJFQURNRSBmcm9tIEVYVFJBX0RJU1QgYXMgd2VsbC4KCjIwMDYtMDctMjQgMTQ6Mzc6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL1JFQURNRTogUmVtb3ZlLCBpdCBjb250YWlucyBub3RoaW5nIHVzZWZ1bCBhbnl3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvUkVBRE1FOgoJICBSZW1vdmUsIGl0IGNvbnRhaW5zIG5vdGhpbmcgdXNlZnVsIGFueXdheS4KCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2luaXQpLCAoZ3N0X2VzZHNpbmtfcHJlcGFyZSksCgkgIChnc3RfZXNkc2lua19kZWxheSk6CgkgIFNvbWUgc21hbGwgY2xlYW4tdXBzOyB1c2UgR1NUX0JPSUxFUlBMQVRFIGV0Yy4KCjIwMDYtMDctMjQgMTQ6MTY6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogRml4IG5lZ290aWF0aW9uIHRvIGRlYWwgd2l0aCBBTlkvRU1QVFkgY2FwcyBpbnN0ZWFkIG9mIGxlYWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGFsYXdkZWNfZ2V0Y2Fwcyk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoYWxhd2VuY19nZXRjYXBzKSwgKGdzdF9hbGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfZ2V0Y2Fwcyk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKG11bGF3ZW5jX2dldGNhcHMpOgoJICBGaXggbmVnb3RpYXRpb24gdG8gZGVhbCB3aXRoIEFOWS9FTVBUWSBjYXBzIGluc3RlYWQgb2YgbGVha2luZy4KCjIwMDYtMDctMjQgMTM6NDA6NTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBVc2UgaW5mb3JtYXRpb24gZnJvbSAnZmFjdCcgY2h1bmsgZm9yIGxlbmd0aCBjYWxjdWxhdGlvbiBvZiBjb21wcmVzc2VkIHNhbXBsZXMuIENhbGN1bGF0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2Vfb3RoZXIpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2VfZ2V0X3Vwc3RyZWFtX3NpemUpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFVzZSBpbmZvcm1hdGlvbiBmcm9tICdmYWN0JyBjaHVuayBmb3IgbGVuZ3RoIGNhbGN1bGF0aW9uIG9mIGNvbXByZXNzZWQKCSAgc2FtcGxlcy4gQ2FsY3VsYXRlIGJwcyBpZiBib2d1cyB2YWx1ZSBpcyBmb3VuZCBpbiB3YXYgaGVhZGVyIChlbWJlZGVkCgkgIG1wMi9tcDMpLgoKMjAwNi0wNy0yNCAxMTo0ODowMyArMDAwMCAgSm9uaSBWYWx0YW5lbiA8am9uaS52YWx0YW5lbkBtb3ZpYWwuZmk+CgoJICBQb3J0IHVkcCBwbHVnaW4gdG8gd2luMzIgKCMzNDUyODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEpvbmkgVmFsdGFuZW4gIDxqb25pIGRvdCB2YWx0YW5lbiBhdCBtb3ZpYWwgZmk+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19pbml0KSwKCSAgKGdzdF9keW51ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9keW51ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZmluYWxpemUpLCAoZ3N0X211bHRpdWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2luaXQpLCAoZ3N0X3VkcHNyY19jcmVhdGUpLAoJICAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9uZXRfdXRpbHNfd2luMzJfaW5ldF9hdG9uKSwKCSAgKGdzdF91ZHBfbmV0X3V0aWxzX3dpbjMyX3dzYV9zdGFydHVwKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIFBvcnQgdWRwIHBsdWdpbiB0byB3aW4zMiAoIzM0NTI4OCkuCgoyMDA2LTA3LTI0IDExOjAwOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogUmVtb3ZlIHVud2FudGVkIERFQlVHIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fc2VuZCk6CgkgIFJlbW92ZSB1bndhbnRlZCBERUJVRyBsaW5lLgoKMjAwNi0wNy0yMyAxMTozMzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IE9uIHNlY29uZCB0aG91Z2h0LCBpdCBtaWdodCBiZSB3aXNlciBhbmQgbW9yZSBlZmZpY2llbnQgbm90IHRvIGRvIHRhZyByZWdpc3RyYXRpb24gZnJvbSBhIHN0cmVhbWluZyB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAoaWQzZGVtdXhfYWRkX2lkM3YyX2ZyYW1lX2Jsb2JfdG9fdGFnbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgT24gc2Vjb25kIHRob3VnaHQsIGl0IG1pZ2h0IGJlIHdpc2VyIGFuZCBtb3JlIGVmZmljaWVudAoJICBub3QgdG8gZG8gdGFnIHJlZ2lzdHJhdGlvbiBmcm9tIGEgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDYtMDctMjMgMTA6NTY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBQdXQgSUQzdjIgZnJhbWVzIHdlIGNhbid0IHBhcnNlIGFzIGJpbmFyeSBibG9icyBpbnRvIHByaXZhdGUgdGFncywgc28gdGhhdCB0aGV5IGFyZSBub3QgbG9zdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKGlkM2RlbXV4X2FkZF9pZDN2Ml9mcmFtZV9ibG9iX3RvX3RhZ2xpc3QpLAoJICAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgUHV0IElEM3YyIGZyYW1lcyB3ZSBjYW4ndCBwYXJzZSBhcyBiaW5hcnkgYmxvYnMgaW50byBwcml2YXRlCgkgIHRhZ3MsIHNvIHRoYXQgdGhleSBhcmUgbm90IGxvc3Qgd2hlbiByZXRhZ2dpbmcsIGF0IGxlYXN0IG9uY2UKCSAgaWQzdjJtdXggaGFzIGJlZW4gdGF1Z2h0IHRvIHJlLWluamVjdCB0aG9zZSBmcmFtZXMgYWdhaW4uCgkgIFNlZSBidWcgIzMzNDM3NS4KCjIwMDYtMDctMjEgMTA6NTc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBzb21lIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIEZpeCBzb21lIGxlYWtzLgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICBEb24ndCB1c2UgXG4gaW4gZGVidWcgbGluZXMuCgoyMDA2LTA3LTIwIDE4OjQ4OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgYW5ub2RleCBhbmQgaWN5ZGVtdXgsIGNsZWFudXAgdGhlIHNlY3Rpb25zIGEgYml0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgYW5ub2RleCBhbmQgaWN5ZGVtdXgsIGNsZWFudXAgdGhlIHNlY3Rpb25zIGEgYml0CgoyMDA2LTA3LTE5IDE0OjM2OjAwICswMDAwICBNYXJ0aW4gU3p1bGVja2kgPGNvbXBpekBzdWtpbWFzaGl0YS5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdCBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJ0aW4gU3p1bGVja2kKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlcik6CgkgIElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdAoJICBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnRhaW4gdGhpcwoJICBpbmZvcm1hdGlvbiAoIzM0MjQ5NCkuCgoyMDA2LTA3LTE5IDExOjUyOjUzICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogV3JpdGUgR1NUX1RBR19FTkNPREVSIGFuZCBHU1RfVEFHX0VOQ09ERVJfVkVSU0lPTiBhcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXggTGFuY2FzdGVyIDxhbGV4bCBhdCB1c2VycyBzb3VyY2Vmb3JnZSBuZXQ+CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgV3JpdGUgR1NUX1RBR19FTkNPREVSIGFuZCBHU1RfVEFHX0VOQ09ERVJfVkVSU0lPTiBhcwoJICBJRDN2MiBUU1NFIGZyYW1lcyAoIzM0Nzg5OCkuCgoyMDA2LTA3LTE5IDA3OjQwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBmaXhlZCBidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBtZW50aW9uIGZpeGVkIGJ1ZwoKMjAwNi0wNy0xOCAxOTo1OTowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogUmVzcGVjdCBtcGVndmVyc2lvbiBmb3IgInZpZGVvL21wZWciIGFuZCBnaXZlIG1lc3NhZ2UgaW4gY2FzZSBvZiB1bmhhbmRsZWQgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKToKCSAgUmVzcGVjdCBtcGVndmVyc2lvbiBmb3IgInZpZGVvL21wZWciIGFuZCBnaXZlIG1lc3NhZ2UgaW4gY2FzZSBvZgoJICB1bmhhbmRsZWQgdmVyc2lvbnMuCgoyMDA2LTA3LTE4IDE4OjA1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBRdWV1ZSBpbmNvbWluZyBldmVudHMgaWYgdGhlcmUncyBubyBzb3VyY2UgcGFkIHlldCBhbmQKCSAgc2VuZCB0aGVtIGRvd25zdHJlYW0gbGF0ZXIgd2hlbiB0aGUgcGFkIGlzIHRoZXJlLgoKMjAwNi0wNy0xOCAxNjo0NzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0CgkgIHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHV0IHNhbXBsZXMgd2l0aCAyMS0yNCBiaXQgZGVwdGgKCSAgd2l0aCAzMiBiaXQgd2lkdGggKG1ha2VzIHRoaW5ncyBlYXNpZXIgZm9yIHVzKS4KCjIwMDYtMDctMTggMTU6NTM6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbgoJICBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlciBnZXRzIGltcGxlbWVudGVkIGEgbG90IG9mIHN0dWZmCgkgIHdpbGwgaGF2ZSB0byBiZSByZXdyaXR0ZW4gYW55d2F5OyByZWRvIGNoYWluIGZ1bmN0aW9uLCBtb3ZlCgkgIGVycm9ycyB0byBlbmQsIGVycm9yIG91dCBpbnN0ZWFkIG9mIGdfYXNzZXJ0KClpbmcuIEFsc28gcmVuYW1lCgkgIG92ZXJseSBsb25nIHZhcmlhYmxlICd3YXZwYWNrZGVjJyB0byBqdXN0ICdkZWMnOyBtaXNjZWxsYW5lb3VzCgkgIG90aGVyIHNtYWxsIHN0dWZmLgoKMjAwNi0wNy0xOCAxNDowODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmIG5lY2Vzc2FyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmCgkgIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IChnc3Rfd2F2cGFja19yZWFkX2hlYWRlciksCgkgIChnc3Rfd2F2cGFja19yZWFkX21ldGFkYXRhKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19kZWNfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSAgUG9ydCB0byBuZXcvb2ZmaWNpYWwgd2F2cGFjayBBUEksIGRvbid0IHVzZSBBUEkgdGhhdCB3YXMgZXhwb3J0ZWQKCSAgaW4gd2F2cGFjayBoZWFkZXIgZmlsZXMgYW5kIGluIHRoZSBsaWIgYnV0IG1lYW50IHRvIGJlIHByaXZhdGUsIGF0CgkgIGxlYXN0IG5vdCBmb3IgcmVjZW50IHdhdnBhY2sgdmVyc2lvbnM7IG1pc2MuICdjbGVhbnVwcycgKCMzNDc0NDMpLgoKMjAwNi0wNy0xNyAxMDoyNTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBXaGVuIHdlIGRvIGEga2V5ZnJhbWUgc2VlayBhbmQgdGhlIHJlcXVlc3RlZCB0aW1lIGlzIGF0IHRoZQoJICBrZXlmcmFtZSwgZG9uJ3Qgc2VlayBiYWNrIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGtleWZyYW1lLgoJICBGaXhlcyAjMzQ3NDM5LgoKMjAwNi0wNy0xNyAxMDoyMjo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IFVzZSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBzZWdtZW50IGluc3RlYWQgb2YgbGVha2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksIChidWZmZXJfY2xpcCksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY190YXNrKSwKCSAgKGdzdF9wbmdkZWNfY2hhaW4pLCAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9wbmdkZWNfbGlicG5nX2luaXQpLCAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3BuZ2RlY19zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIFVzZSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBzZWdtZW50IGluc3RlYWQgb2YgbGVha2luZy4KCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgRml4IGZsdXNoIGFuZCBzZWVrIGhhbmRsaW5nLgoKMjAwNi0wNy0xNiAxNDozMTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBzaW1wbGUgZ2VuZXJpYyBtcGVnNCBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXA0Z19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCk6CgkgIEFkZGVkIHNpbXBsZSBnZW5lcmljIG1wZWc0IGRlcGF5bG9hZGVyLgoJICBGaXggZ2VuZXJpYyBtcGVnNCBwYXlsb2FkZXIuCgoyMDA2LTA3LTE1IDE1OjI1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCB0cnkgZG9pbmcgc3RhdGUgY2hhbmdlcyBvbiBhIE5VTEwgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3N0YXRlKToKCSAgRG9uJ3QgdHJ5IGRvaW5nIHN0YXRlIGNoYW5nZXMgb24gYSBOVUxMIHBvaW50ZXIuCgoyMDA2LTA3LTE1IDExOjUwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCjIwMDYtMDctMTQgMTM6MzM6NTQgKzAwMDAgIFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MkB5YWhvby5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuKjogcnRwYW1yZGVjIGlzbid0IGEgc3ViY2xhc3Mgb2YgR3N0QmFzZVJ0cERlcGF5bG9hZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDIgYXQgeWFob28gZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYW1yX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgIHJ0cGFtcmRlYyBpc24ndCBhIHN1YmNsYXNzIG9mIEdzdEJhc2VSdHBEZXBheWxvYWQuCgkgIEZpeGVzICMzMjExOTEKCjIwMDYtMDctMTQgMTI6MDE6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggc2VnZmF1bHQgd2hlbiBtb3ZpbmcgbW91c2UgcG9pbnRlciB0byB0aGUgYm90dG9tIHJpZ2h0IGNvcm5lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMTQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlX3NyY19nZXRfY2FwcyksIChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KToKCSAgRml4IHNlZ2ZhdWx0IHdoZW4gbW92aW5nIG1vdXNlIHBvaW50ZXIgdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCgoyMDA2LTA3LTEzIDE1OjIyOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgoyMDA2LTA3LTEyIDA5OjM0OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIG1wZWcyIFRTIGRlcGF5bG9hZGVyLiBDbG9zaW5nICMzNDcyMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wMnRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkgIEFkZGVkIG1wZWcyIFRTIGRlcGF5bG9hZGVyLiBDbG9zaW5nICMzNDcyMzQuCgoyMDA2LTA3LTEyIDA5OjI4OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoKMjAwNi0wNy0xMSAyMjo0Njo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IFJlbW92ZSBnX2Fzc2VydCB0aGF0IHNob3VsZG4ndCBiZSB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX2Nsb3NlKToKCSAgUmVtb3ZlIGdfYXNzZXJ0IHRoYXQgc2hvdWxkbid0IGJlIHRoZXJlLgoKMjAwNi0wNy0xMCAyMDoxMTozNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogRG9uJ3QgcHVzaCB0YWcgZXZlbnRzIGZvdW5kIGJ5IGdzdF9yaWZmX3BhcnNlX2luZm8oKSBiZWZvcmUgb3V0cHV0dGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChwdXNoX3RhZ19saXN0cyk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBEb24ndCBwdXNoIHRhZyBldmVudHMgZm91bmQgYnkgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIGJlZm9yZSBvdXRwdXR0aW5nCgkgIEdTVF9FVkVOVF9ORVdTRUdNRU5ULgoKMjAwNi0wNy0xMCAxNjo0MTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogcmVwbGFjZWQgY2xvc2Vzb2NrZXQgYW5kIGNsb3NlIGluIGNvZGUgd2l0aCBvbmUgQ0xPU0VfU09DS0VULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICByZXBsYWNlZCBjbG9zZXNvY2tldCBhbmQgY2xvc2UgaW4gY29kZSB3aXRoIG9uZSBDTE9TRV9TT0NLRVQuCgkgIFNvbWUgbW9yZSBjbGVhbnVwcy4gRml4ZXMgIzM0NTMwMS4KCjIwMDYtMDctMTAgMTU6MjY6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IEZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgRml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcy4KCjIwMDYtMDctMTAgMTQ6NDk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCjIwMDYtMDctMTAgMTQ6NDI6MTUgKzAwMDAgIE1hdGhpcyBIb2ZlciA8bWF0aGlzLmhvZmVyQGRyZWFtbGFiLm5ldD4KCgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXRoaXMgSG9mZXIgPG1hdGhpcyBkb3QgaG9mZXIgYXQgZHJlYW1sYWIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldF9jYXBzKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfZGlzcG9zZSksIChnc3RfaWlyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9pbml0KSwgKGlpcl9zZXRfY2FwcyksCgkgIChpaXJfdHJhbnNmb3JtX2lwKSwgKGlpcl9zZXRfcHJvcGVydHkpLCAoaWlyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXRfY2FwcyksIChscHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCjIwMDYtMDctMTAgMTA6MjE6NTcgKzAwMDAgIFJvYiBUYXlsb3IgPHJvYnRheWxvckBmbG9vcGlseS5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBJZiBhIGRlc3RpbmF0aW9uIGlzIGFkZGVkIGJlZm9yZSB0aGUgc3RyZWFtIGlzIHNldCB0byBQQVVTRUQsIHRoZSBtdWx0aWNhc3QgZ3JvdXAgaXMgbm90IGouLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2IgVGF5bG9yIDxyb2J0YXlsb3IgYXQgZmxvb3BpbHkgZG90IG9yZz4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoam9pbl9tdWx0aWNhc3QpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICBJZiBhIGRlc3RpbmF0aW9uIGlzIGFkZGVkIGJlZm9yZSB0aGUgc3RyZWFtIGlzIHNldCB0byBQQVVTRUQsIHRoZQoJICBtdWx0aWNhc3QgZ3JvdXAgaXMgbm90IGpvaW5lZCBhcyB0aGUgc29ja2V0IGlzIG5vdCBjcmVhdGVkIHlldC4KCSAgQWxzbyBUVEwgYW5kIExPT1Agc2hvdWxkIGFsc28gYmUgc2V0LiBGaXhlcyAjMzQ2OTIxLgoKMjAwNi0wNy0xMCAwOTo1NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCjIwMDYtMDctMTAgMDk6NDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKToKCSAgRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoKMjAwNi0wNy0wOCAyMjo0MToyNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLio6IEZpeCB1c2UtZGFtYWdlIHByb3BlcnR5IHRvIGFjdHVhbGx5IHdvcmsgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMDkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZV9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfaW5pdCk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgRml4IHVzZS1kYW1hZ2UgcHJvcGVydHkgdG8gYWN0dWFsbHkgd29yayA6KQoJICBBZGQgc3RhcnR4LCBzdGFydHksIGVuZHgsIGVuZHkgcHJvcGVydGllcyBzbyBzY3JlZW5jYXN0cyBvdGhlciB0aGFuIGZ1bGwKCSAgc2NyZWVuIG9uZXMgY2FuIHdvcmsuCgoyMDA2LTA3LTA4IDE5OjAzOjU0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuKjogQWRkIHVzZV9kYW1hZ2UgcHJvcGVydHkgdG8gb2ZmZXIgYWJpbGl0eSB0byBjaG9vc2Ugd2hldGhlciB0byB1c2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMDggIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZV9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3hpbWFnZV9zcmNfaW5pdCk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgQWRkIHVzZV9kYW1hZ2UgcHJvcGVydHkgdG8gb2ZmZXIgYWJpbGl0eSB0byBjaG9vc2Ugd2hldGhlciB0byB1c2UKCSAgWERhbWFnZSBvciBub3QuCgoyMDA2LTA3LTA3IDE1OjA0OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZmlsdGVycy5jOiBBdm9pZCBnb29tIGNvcmVkdW1waW5nIGJ5IGNsZWFyaW5nIG1lbW9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlclNldFJlc29sdXRpb24pOgoJICBBdm9pZCBnb29tIGNvcmVkdW1waW5nIGJ5IGNsZWFyaW5nIG1lbW9yeS4KCSAgRml4ZXMgMzQ1Njc5LgoKMjAwNi0wNy0wNyAxNDozMDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCjIwMDYtMDctMDUgMjA6MjE6MDIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6IEFkZCBhIGxpbmsgdG8gbGliZ3N0dGFnLTAuMTAubGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICBBZGQgYSBsaW5rIHRvIGxpYmdzdHRhZy0wLjEwLmxpYi4KCjIwMDYtMDctMDUgMTQ6NTI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBEb24ndCByZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYSBidWZmZXIgaXMgYmVmb3JlIHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtICh3aGljaCBtaWdodCBoYXBwZW4gd2l0aCBsYXJnZSBJRDMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfdGFnX2RlbXV4X3JlYWRfcmFuZ2UpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKToKCSAgRG9uJ3QgcmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGEgYnVmZmVyIGlzIGJlZm9yZQoJICB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSAod2hpY2ggbWlnaHQgaGFwcGVuIHdpdGgKCSAgbGFyZ2UgSUQzdjIgdGFncyBpZiB0aGUgdGFnIHJlYWRpbmcgd2FzIGRvbmUgcHVsbHJhbmdlCgkgIGJhc2VkIGFuZCB3ZSB0aGVuIHN3aXRjaGVkIHRvIHB1c2ggbW9kZSBsYXRlciBvbikuCgkgIEZpeGVzIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjb21taXQgZnJvbSBKdW5lIDI5dGguCgoyMDA2LTA3LTA1IDEwOjE0OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogTWFrZSBVVEYtOCB0aGUgZGVmYXVsdCBlbmNvZGluZyB3aGVuIHdyaXRpbmcgc3RyaW5nIHRhZ3MgKGJlZm9yZSwgb3VyIFVURi04IHN0cmluZ3Mgd291bGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIE1ha2UgVVRGLTggdGhlIGRlZmF1bHQgZW5jb2Rpbmcgd2hlbiB3cml0aW5nIHN0cmluZwoJICB0YWdzIChiZWZvcmUsIG91ciBVVEYtOCBzdHJpbmdzIHdvdWxkIGF1dG9tYXRpY2FsbHkKCSAgYmUgY29udmVydGVkIHRvIElTTy04ODU5LTEgYnkgdGFnbGliIGFuZCB3cml0dGVuIGFzCgkgIElTTy04ODU5LTEgZmllbGRzIGlmIHRoYXQgd2FzIHBvc3NpYmxlKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodXRmOF9zdHJpbmdfaW5fYnVmKSwKCSAgKHRlc3RfdGFnbGliX2lkM211eF9jaGVja190YWdfYnVmZmVyKSwgKGlkZW50aXR5X2NiKSwKCSAgKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICBBZGQgdGVzdCBjYXNlIHRoYXQgbWFrZXMgc3VyZSBvdXIgVVRGLTggc3RyaW5ncyBoYXZlCgkgIGFjdHVhbGx5IGJlZW4gd3JpdHRlbiBpbnRvIHRoZSB0YWcgYXMgVVRGLTguCgoyMDA2LTA3LTA0IDE2OjAwOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBMZXQncyB0cnkgdGhhdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBMZXQncyB0cnkgdGhhdCBhZ2Fpbi4KCjIwMDYtMDctMDQgMTU6NDA6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgbW9ub3Njb3BlIHBsdWdpbiBmb3Igbm93IHVudGlsIGl0IGZ1bGZpbGxzIGFsbCB0aGUgcmVxdWlyZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgbW9ub3Njb3BlIHBsdWdpbiBmb3Igbm93IHVudGlsIGl0IGZ1bGZpbGxzCgkgIGFsbCB0aGUgcmVxdWlyZW1lbnRzLgoKMjAwNi0wNy0wMyAyMDozNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgbW9ub3Njb3BlIHZpc3VhbGlzYXRpb24gdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfYmFzZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfY2xhc3NfaW5pdCksIChnc3RfbW9ub3Njb3BlX2luaXQpLAoJICAoZ3N0X21vbm9zY29wZV9maW5hbGl6ZSksIChnc3RfbW9ub3Njb3BlX3Jlc2V0KSwKCSAgKGdzdF9tb25vc2NvcGVfc2lua19zZXRjYXBzKSwgKGdzdF9tb25vc2NvcGVfc3JjX3NldGNhcHMpLAoJICAoZ3N0X21vbm9zY29wZV9zcmNfbmVnb3RpYXRlKSwgKGdldF9idWZmZXIpLCAoZ3N0X21vbm9zY29wZV9jaGFpbiksCgkgIChnc3RfbW9ub3Njb3BlX3NpbmtfZXZlbnQpLCAoZ3N0X21vbm9zY29wZV9zcmNfZXZlbnQpLAoJICAoZ3N0X21vbm9zY29wZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkgIFBvcnQgbW9ub3Njb3BlIHZpc3VhbGlzYXRpb24gdG8gMC4xMC4KCjIwMDYtMDctMDMgMjA6MDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBJVjQxIGZvdXJjYyAoc2VlIGJ1ZyAjMTcxMTExKTsgZG9uJ3Qgb3V0cHV0IGNvbmZ1c2luZwoJICBkZWJ1ZyBtZXNzYWdlIHdoZW4gc2tpcHBpbmcgYXRvbXMuCgoyMDA2LTA3LTAzIDE2OjQzOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUsIG5vdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIFJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLCBub3QKCSAgRkxPV19FUlJPUi4gRml4ZXMgJ2ludGVybmFsIHN0cmVhbSBlcnJvcicgZXJyb3JzIHRoYXQKCSAgd291bGQgc29tZXRpbWVzIG9jY3VyIGluIHRvdGVtIHdoZW4gc2NydWJiaW5nIHRvIHRoZQoJICBlbmQgb2YgYW4gSUQzdjEgdGFnZ2VkIG1wMyBmaWxlLgoKMjAwNi0wNy0wMyAxNTozMToyMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IEltcGxlbWVudCBidWZmZXIgY2xpcHBpbmcvZHJvcHBpbmcgdXNpbmcgR3N0U2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksICh1c2VyX2luZm9fY2FsbGJhY2spLAoJICAoYnVmZmVyX2NsaXApLCAodXNlcl9lbmRfY2FsbGJhY2spLCAoZ3N0X3BuZ2RlY19jaGFpbiksCgkgIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIEltcGxlbWVudCBidWZmZXIgY2xpcHBpbmcvZHJvcHBpbmcgdXNpbmcgR3N0U2VnbWVudC4KCSAgVGhpcyBwcm92aWRlcyBhY2N1cmF0ZSBzZWVraW5nLgoKMjAwNi0wNy0wMyAxNToyODo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogUHJvcGVyIGFnZ3JlZ2F0aW9uIG9mIGVhY2ggc3RyZWFtJ3MgR3N0Rmxvd1JldHVybiBpbiBvcmRlciB0byBmaWd1cmUgb3V0IHdoZXRoZXIgdGhlIHRhc2sgc2hvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9hZ2dyZWdhdGVkX2Zsb3cpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAocHVzaF90YWdfbGlzdHMpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgUHJvcGVyIGFnZ3JlZ2F0aW9uIG9mIGVhY2ggc3RyZWFtJ3MgR3N0Rmxvd1JldHVybiBpbiBvcmRlciB0byBmaWd1cmUgb3V0CgkgIHdoZXRoZXIgdGhlIHRhc2sgc2hvdWxkIHN0b3Agb3Igbm90LgoJICBEb24ndCBzZW5kIGlubGluZSBldmVudHMgYmVmb3JlIHB1c2hpbmcgb3V0IGEgTkVXX1NFR01FTlQsIG1vcmUKCSAgc3BlY2lmaWNhbGx5IGZvciBHU1RfVEFHX0VWRU5ULgoJICBDaGFuZ2UgYSBHU1RfRVJST1IgdG8gYSBHU1RfV0FSTklORyBmb3IgYSBub24tZmF0YWwgc2l0dWF0aW9uIGluIHJlYWRpbmcKCSAgc3ViLWluZGV4ZXMuCgoyMDA2LTA2LTMwIDA3OjExOjI0ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzogTW92ZSAiTW9uaXRvciIgc2xpZGVyIHRvIGlucHV0IHRhYiBzbyBpdCB3b3JrcyBtb3JlIGxpa2Ugc2R0YXVkaW9jb250cm9sLCB3aGljaCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpOgoJICBNb3ZlICJNb25pdG9yIiBzbGlkZXIgdG8gaW5wdXQgdGFiIHNvIGl0IHdvcmtzIG1vcmUgbGlrZQoJICBzZHRhdWRpb2NvbnRyb2wsIHdoaWNoIGlzIHdoYXQgcGVvcGxlIG9uIFNvbGFyaXMgYXJlIHVzZWQKCSAgdG8gdXNpbmcgZm9yIHRoZWlyIG1peGVyIHByb2dyYW0gKCMzNDYyNTkpLgoKMjAwNi0wNi0yOSAxNDo1MDoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiBmaXggYSBsZWFrLCBjbGVhbiB1cCBhdCB0aGUgZW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGZpeCBhIGxlYWssIGNsZWFuIHVwIGF0IHRoZSBlbmQKCjIwMDYtMDYtMjkgMTE6NDE6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBTZW5kIHRhZyBldmVudCBhZnRlciBuZXdzZWdtZW50IGV2ZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBTZW5kIHRhZyBldmVudCBhZnRlciBuZXdzZWdtZW50IGV2ZW50LgoKMjAwNi0wNi0yOSAxMToxMTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBNYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIEdTVF9GTE9XX09LIHdpdGggYSBOVUxMIGJ1ZmZlciBpbiBjZXJ0YWluIGNhc2VzIHdoZXJlIGEgcmVhZCBiZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSk6CgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gR1NUX0ZMT1dfT0sgd2l0aCBhIE5VTEwgYnVmZmVyIGluCgkgIGNlcnRhaW4gY2FzZXMgd2hlcmUgYSByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlIGlzCgkgIHJlcXVlc3RlZC4gRml4ZXMgIzM0NTkzMC4KCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF90YWdfZGVtdXhfcmVhZF9yYW5nZSk6CgkgIEZpeCBzYW1lIGlzc3VlIGhlcmUgYXMgd2VsbC4KCjIwMDYtMDYtMjkgMTE6MDU6MTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggaHlwb3RoZXRpY2FsIGNyYXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0yOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgRml4IGh5cG90aGV0aWNhbCBjcmFzaC4KCjIwMDYtMDYtMjggMDg6MzY6MzAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogRG8gbm90IG1vZGlmeSB0aGUgcG9ydHMgdmFsdWUuIElmIHRoZSB1c2VyIGhhcyB0dXJuZWQgb2ZmIHRoZSBidWlsdC1pbiBzcGVha2VycywgdGhlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpOgoJICBEbyBub3QgbW9kaWZ5IHRoZSBwb3J0cyB2YWx1ZS4gSWYgdGhlIHVzZXIgaGFzIHR1cm5lZCBvZmYgdGhlCgkgIGJ1aWx0LWluIHNwZWFrZXJzLCB0aGVuIHdlIHNob3VsZCBub3QgcmVzZXQgaXQgaW4gdGhlIHByZXBhcmUKCSAgZnVuY3Rpb24sIHNpbmNlIHRoaXMgY2F1c2VzIHRoZSBidWlsdC1pbiBzcGVha2VycyB0byB0dXJuCgkgIGJhY2sgb24gYW55dGltZSB0aGUgdXNlciBjaGFuZ2VzIGEgdHJhY2sgaW4gdG90ZW0sIHJoeXRobWJveCwKCSAgZXRjLiAoIzM0NjA2NikuCgoyMDA2LTA2LTIzIDA5OjM1OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS5jOiBGaXggZG91YmxlIGNhcHMgdW5yZWYgd2hlbiBuZWdvdGlhdGlvbiBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSk6CgkgIEZpeCBkb3VibGUgY2FwcyB1bnJlZiB3aGVuIG5lZ290aWF0aW9uIGZhaWxzLgoKMjAwNi0wNi0yMiAxOTozMTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBwbHVzIHR3byBtaW5vciBtYWNybyBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykKCSAgcGx1cyB0d28gbWlub3IgbWFjcm8gZml4ZXMuCgoyMDA2LTA2LTIyIDE2OjI3OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogVHJ5IHRvIGZpeCB1cCBicm9rZW4gbWF0cm9za2EgZmlsZXMgY29udGFpbmluZyBzdWJ0aXRsZSBzdHJlYW1zIHdpdGggbm9uLVVURjggY2hhcmFjdGVyIGVuY29kaW5ncyAoY291Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfc3VidGl0bGVfY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBUcnkgdG8gZml4IHVwIGJyb2tlbiBtYXRyb3NrYSBmaWxlcyBjb250YWluaW5nIHN1YnRpdGxlCgkgIHN0cmVhbXMgd2l0aCBub24tVVRGOCBjaGFyYWN0ZXIgZW5jb2RpbmdzIChjb3VydGVzeSBvZgoJICBta3ZtZXJnZSkgdXNpbmcgZWl0aGVyIHRoZSBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhlCgkgIEdTVF9TVUJUSVRMRV9FTkNPRElORyBlbnZpcm9ubWVudCB2YXJpYWJsZSBvciB0aGUKCSAgY3VycmVudCBsb2NhbGUncyBjaGFyYWN0ZXIgc2V0IGlmIGl0IGlzIG5vbi1VVEY4LgoJICBGaXhlcyAjMzM3MDc2LgoKMjAwNi0wNi0yMiAxMjoxNzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBTZXQgaW1hZ2UgdHlwZSBmcm9tIEFQSUMgZnJhbWUgYXMgImltYWdlLXR5cGUiIGZpZWxkIG9mIEdTVF9UQUdfSU1BR0UgYnVmZmVyIGNhcHMgKCMzNDQ2MDUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBTZXQgaW1hZ2UgdHlwZSBmcm9tIEFQSUMgZnJhbWUgYXMgImltYWdlLXR5cGUiIGZpZWxkCgkgIG9mIEdTVF9UQUdfSU1BR0UgYnVmZmVyIGNhcHMgKCMzNDQ2MDUpLgoKMjAwNi0wNi0yMCAxOTo0MDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjLzogU3VwcG9ydCBjaGFpbi1iYXNlZCBvcGVyYXRpb24sIHNob3VsZCBtYWtlIGZsYWMtb3Zlci1EQUFQIHdvcmsgKCMzNDA0OTIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfcmVzZXRfZGVjb2RlcnMpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwgKGdzdF9mbGFjX2RlY19maW5hbGl6ZSksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrX3NlZWthYmxlKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFja19zdHJlYW0pLAoJICAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFja19zZWVrYWJsZSksCgkgIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2tfc3RyZWFtKSwgKGdzdF9mbGFjX2RlY19yZWFkX3NlZWthYmxlKSwKCSAgKGdzdF9mbGFjX2RlY19yZWFkX3N0cmVhbSksIChnc3RfZmxhY19kZWNfd3JpdGUpLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlX3NlZWthYmxlKSwgKGdzdF9mbGFjX2RlY193cml0ZV9zdHJlYW0pLAoJICAoZ3N0X2ZsYWNfZGVjX2xvb3ApLCAoZ3N0X2ZsYWNfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ZsYWNfZGVjX2NoYWluKSwgKGdzdF9mbGFjX2RlY19jb252ZXJ0X3NpbmspLAoJICAoZ3N0X2ZsYWNfZGVjX2dldF9zaW5rX3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbGFjX2RlY19zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9mbGFjX2RlY19nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9mbGFjX2RlY19zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9mbGFjX2RlY19zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2ZsYWNfZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZmxhY19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFN1cHBvcnQgY2hhaW4tYmFzZWQgb3BlcmF0aW9uLCBzaG91bGQgbWFrZSBmbGFjLW92ZXItREFBUAoJICB3b3JrICgjMzQwNDkyKS4KCjIwMDYtMDYtMjAgMTU6MzU6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogRG9jIHVwZGF0ZXMsIG1lcmdlIHNvbWUgdW51c2VkIHN5bWJvbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBEb2MgdXBkYXRlcywgbWVyZ2Ugc29tZSB1bnVzZWQgc3ltYm9scy4KCjIwMDYtMDYtMjAgMTQ6NTc6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgcnRzcCBwbHVnaW4uIEZpeGVzICMzNDUzOTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHJ0c3AgcGx1Z2luLiBGaXhlcyAjMzQ1MzkzLgoKMjAwNi0wNi0yMCAxMjoxMDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFVzZSBiZXR0ZXIgR19PU18qIG1hY3Jvcy4gRml4ZXMgIzM0NTMwMSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChpbmV0X2F0b24pLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKSwgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgVXNlIGJldHRlciBHX09TXyogbWFjcm9zLiBGaXhlcyAjMzQ1MzAxIHNvbWUgbW9yZS4KCjIwMDYtMDYtMjAgMTA6MzU6NDggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEFkZCBhIFN1bkF1ZGlvIHNvdXJjZSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KSwgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfbmV3KSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfbGlzdF90cmFja3MpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF9tdXRlKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3JlY29yZCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfaW5pdCksIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19iYXNlX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zdW5hdWRpb3NyY19nZXRjYXBzKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19vcGVuKSwgKGdzdF9zdW5hdWRpb3NyY19jbG9zZSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcHJlcGFyZSksIChnc3Rfc3VuYXVkaW9zcmNfdW5wcmVwYXJlKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19yZWFkKSwgKGdzdF9zdW5hdWRpb3NyY19kZWxheSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcmVzZXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBBZGQgYSBTdW5BdWRpbyBzb3VyY2UgcGx1Z2luLgoJICBTdXBwb3J0IHN0ZXJlbyBhbmQgcmlnaHQvbGVmdCBjaGFubmVsIGdhaW4gaW4gdGhlIG1peGVyIHBsdWdpbi4KCSAgU3VwcG9ydCB0aGUgUkVDT1JEIGZsYWcgc28gdGhhdCB5b3UgY2FuIHN3aXRjaCBiZXR3ZWVuIGxpbmUtaW5wdXQgYW5kCgkgIG1pY3JvcGhvbmUgaW4gZ25vbWUtdm9sdW1lLWNvbnRyb2wuCgkgIENvZGUgY2xlYW51cHMgbGlrZSB1c2luZyBhbiBlbnVtZXJhdG9yIGZvciB0cmFjayBudW1iZXIgaW5zdGVhZCBvZiBhbgoJICBpbnRlZ2VyLiBGaXhlcyAjMzQ0OTIzLgoKMjAwNi0wNi0yMCAxMDozMTo0MSArMDAwMCAgSm9uaSBWYWx0YW5lbiA8am9uaS52YWx0YW5lbkBtb3ZpYWwuZmk+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBNYWtlIFJUU1AgcGx1Z2luIGNvbXBpbGUgb24gd2luZG93cy4gRml4ZXMgIzM0NTMwMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25pIFZhbHRhbmVuIDxqb25pIGRvdCB2YWx0YW5lbiBhdCBtb3ZpYWwgZG90IGZpPgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChpbmV0X2F0b24pLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgTWFrZSBSVFNQIHBsdWdpbiBjb21waWxlIG9uIHdpbmRvd3MuIEZpeGVzICMzNDUzMDEuCgkgIFNvbWUgY2hhbmdlcyB0byBvcmlnaW5hbCBwYXRjaCB0byBjYXRjaCBlcnJvcnMgYmV0dGVyLgoJICB1c2UgaWZkZWYgV0lOMzIgaW5zdGVhZCBvZiBpZm5kZWYuCgoyMDA2LTA2LTE5IDEwOjAwOjE4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgY29uZmlndXJlLmFjOiBJZiB3ZSBoYXZlIGxpYnJhdzEzOTQgPj0gMS4yLjEsIHRoZW4gd2UgbmVlZCBsaWJpZWM2MTg4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMTkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIElmIHdlIGhhdmUgbGlicmF3MTM5NCA+PSAxLjIuMSwgdGhlbiB3ZSBuZWVkIGxpYmllYzYxODgzLgoKMjAwNi0wNi0xOCAxNDowMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWZ0ZXIgYSBmYWlsZWQgYnVmZmVyIGFsbG9jLCB3ZSBuZWVkIHRvIGFib3J0IHRoZSBqcGVnIGRlY29kaW5nIChpdCBzdGFydGVkIHdoZW4gcGFyc2luZyBoZWFkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBBZnRlciBhIGZhaWxlZCBidWZmZXIgYWxsb2MsIHdlIG5lZWQgdG8gYWJvcnQgdGhlIGpwZWcgZGVjb2RpbmcgKGl0CgkgIHN0YXJ0ZWQgd2hlbiBwYXJzaW5nIGhlYWRlcnMgdG8gZmlndXJlIG91dCBob3cgbWFueSBieXRlcyB3ZSBuZWVkCgkgIHRvIHJlcXVlc3QgZG93bnN0cmVhbSkuCgoyMDA2LTA2LTE4IDEyOjM3OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICgjMzQ1MjMyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspOgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAoIzM0NTIzMikuCgoyMDA2LTA2LTE3IDE0OjM1OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksICMzNDM2MDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwKCSAgIzM0MzYwMikuCgoyMDA2LTA2LTE2IDEyOjM1OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTE2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgoyMDA2LTA2LTE2IDEwOjU2OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9QTFVHSU5fRE9DUywgLS1lbmFibGUtcGx1Z2luLWRvY3MgZXRjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX1BMVUdJTl9ET0NTLCAtLWVuYWJsZS1wbHVnaW4tZG9jcyBldGMuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICBBZGQvZml4IGFwZXYybXV4IGRvY3MuCgoyMDA2LTA2LTE2IDA5OjQ5OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl93aW5kb3dfZGVzdHJveSksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgcG9ydCB0byBkZXJpdmUgZnJvbSBiYXNldHJhbnNmb3JtIGFuZCBzZW5kIHJlc3VsdHMgdmlhIG1lc3NhZ2VzCgkgIChsaWtlIGxldmVsIGVsZW1lbnQpCgoyMDA2LTA2LTE1IDE1OjU4OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoKMjAwNi0wNi0xNSAwODo1MDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBGaXhlcyAjMzQ0OTQ0LgoKMjAwNi0wNi0xNCAxNTo1OTo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy5jOiBSZXNldCBzZWdtZW50IGluZm8gb24gZmx1c2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2R2ZGVjX2luaXQpLAoJICAoZ3N0X2R2ZGVjX2ZpbmFsaXplKSwgKGdzdF9kdmRlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICBSZXNldCBzZWdtZW50IGluZm8gb24gZmx1c2guCgkgIEFsbG9jIHNlZ21lbnQgaW4gX2luaXQsIGZyZWUgaW4gX2ZpbmFsaXplLgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfcHVsbF9zZWVrKToKCSAgRG9uJ3Qgc2VuZCBzZWdtZW50cyB0d2ljZS4KCjIwMDYtMDYtMTQgMTU6MDc6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBSZXNwZWN0IHNlZ21lbnQuc3RvcC4gRml4ZXMgIzM0MjU5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgUmVzcGVjdCBzZWdtZW50LnN0b3AuIEZpeGVzICMzNDI1OTIuCgoyMDA2LTA2LTE0IDExOjI4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IE5vIGxhbmd1YWdlIHNwZWNpZmllZCBtZWFucyB0aGUgaW1wbGllZCBsYW5ndWFnZSBpcyBFbmdsaXNoIGFjY29yZGluZyB0byB0aGUgbWF0cm9za2EgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pOgoJICBObyBsYW5ndWFnZSBzcGVjaWZpZWQgbWVhbnMgdGhlIGltcGxpZWQgbGFuZ3VhZ2UgaXMgRW5nbGlzaAoJICBhY2NvcmRpbmcgdG8gdGhlIG1hdHJvc2thIHNwZWMgKHBhcnRpYWxseSBmaXhlcyAjMzQ0NzA4KTsKCSAgYWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQuCgoyMDA2LTA2LTE0IDA5OjMyOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3CgkgIGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90aGVyIHN0dWZmLiBTZXQgZHVyYXRpb24KCSAgdG8gJ3Vua25vd24nIGluIGluaXRpYWwgaGVhZGVyIGFuZCByZXNlbmQgaGVhZGVyIHdpdGggcHJvcGVyCgkgIGR1cmF0aW9uIG9uIEVPUzsgdXBkYXRlIFNlYmFzdGlhbidzIGUtbWFpbCBhZGRyZXNzLgoKMjAwNi0wNi0xNCAwODowNjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBXaGVuIG9wZXJhdGluZyBjaGFpbi1iYXNlZCwgZG9uJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMgYWJvdXQgdGhlIGNodW5raW5nIG9mIHRoZSBpbmNvbWluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLAoJICAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgIFdoZW4gb3BlcmF0aW5nIGNoYWluLWJhc2VkLCBkb24ndCBtYWtlIGFueSBhc3N1bXB0aW9ucyBhYm91dCB0aGUKCSAgY2h1bmtpbmcgb2YgdGhlIGluY29taW5nIGRhdGEgYW5kIG1ha2Ugc3RyZWFtaW5nIHdvcmsgb24gZGF5cyBvdGhlcgoJICB0aGFuIHRoZSBzZWNvbmQgVGh1cnNkYXkgYWZ0ZXIgYSBmdWxsIG1vb24uIEFsc28gZml4IHVwIGRlYnVnCgkgIG1lc3NhZ2VzIGhlcmUgYW5kIHRoZXJlIGFuZCBtYWtlIHVzZSBvZiB0aGUgbW9zdCBleGNlbGxlbnQgbmV3CgkgIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHV0aWxpdHkgZnVuY3Rpb24uCgkgIFNraXAgYW55ICdiZXh0JyBjaHVua3MgaW4gZnJvbnQgb2YgdGhlICdmbXQgJyBjaHVuay4gRml4ZXMgIzM0MzgzNy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgUmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGFmdGVyIGxhc3QgZW51bSB2YWx1ZSwgc29tZSBjb21waWxlcnMgZG9uJ3QKCSAgbGlrZSB0aGF0LgoKMjAwNi0wNi0xMyAxNzowNToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgcHJlbWF0dXJlIEVPUyBncmFjZWZ1bGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIEhhbmRsZSBwcmVtYXR1cmUgRU9TIGdyYWNlZnVsbHkuCgoyMDA2LTA2LTEzIDA5OjU0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQcmV2ZW50IG91dCBvZiBib3VuZHMgYXJyYXkgYWNjZXNzIHdoZW4gc2NydWJiaW5nIHRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgZmlsZSBiZXR3ZWVuIHRoZSBsYXN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICBQcmV2ZW50IG91dCBvZiBib3VuZHMgYXJyYXkgYWNjZXNzIHdoZW4gc2NydWJiaW5nIHRvd2FyZHMKCSAgdGhlIGVuZCBvZiB0aGUgZmlsZSBiZXR3ZWVuIHRoZSBsYXN0IGluZGV4IGVudHJ5IGFuZCB0aGUKCSAgZW5kLiBGaXhlcyBvY2Nhc2lvbmFsICdzdGFydCA8PSBzdG9wJyBuZXdzZWdtZW50IGV2ZW50CgkgIGFzc2VydGlvbnMgd2hlbiBzY3J1YmJpbmcgaW4gTUpQRUcgZmlsZXMuCgoyMDA2LTA2LTEyIDExOjEzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQW5kIGFub3RoZXIgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBbmQgYW5vdGhlciBvbmUuCgoyMDA2LTA2LTEyIDExOjA0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA2LTA2LTEyIDEwOjUzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RpcmVjdGRyYXdzaW5rX2luaXQpOgoJICBDb21tZW50IG91dCB1bnVzZWQgZ2xvYmFsIGluc3RhbmNlIHZhcmlhYmxlLgoKMjAwNi0wNi0xMSAxOTozMToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBFeHRyYWN0IGltYWdlcyBmcm9tIElEM3YyIHRhZ3MgKEFQSUMgZnJhbWVzKS4gRml4ZXMgIzMzOTcwNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChzY2FuX2VuY29kZWRfc3RyaW5nKSwgKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBFeHRyYWN0IGltYWdlcyBmcm9tIElEM3YyIHRhZ3MgKEFQSUMgZnJhbWVzKS4gRml4ZXMgIzMzOTcwNC4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSA+PSAwLjEwLjggKGZvciBHU1RfVEFHX0lNQUdFIGFuZAoJICBHU1RfVEFHX1BQRVZJRVdfSU1BR0UgdXNlZCBpbiB0aGUgcGF0Y2ggYWJvdmUpLgoKMjAwNi0wNi0xMSAxODo1NjoyNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvcmF3MTM5NC8uZ2l0aWdub3JlOgoJKiBleHQvdGFnbGliLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNi0wNi0xMSAxODo1MjoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogZ3JhdHVpdG91cyBjb21tZW50IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKToKCSAgZ3JhdHVpdG91cyBjb21tZW50IGNoYW5nZXMKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBmaXggbGV2ZWwgdGVzdCBsZWFrcwoKMjAwNi0wNi0xMSAxODo0NDo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDYtMTEgMTg6MjA6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBVc2UgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgdXRpbGl0eSBmdW5jdGlvbiBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2dldF91cHN0cmVhbV9zaXplKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGlkM2RlbXV4X2dldF91cHN0cmVhbV9zaXplKToKCSAgVXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHV0aWxpdHkgZnVuY3Rpb24gaGVyZS4KCjIwMDYtMDYtMTEgMTM6NTc6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogcmVxdWlyZSBhbTE3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIHJlcXVpcmUgYW0xNwoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIGNsZWFuIHVwIGJ1aWxkIGZ1cnRoZXIKCjIwMDYtMDYtMTEgMTM6NTU6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlCgoyMDA2LTA2LTEwIDE1OjMzOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBleHQvd2F2cGFjay86IEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZT4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Zvcm1hdF9zYW1wbGVzKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9tZDUuYzoKCSAgKiBleHQvd2F2cGFjay9tZDUuaDoKCSAgQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCjIwMDYtMDYtMDkgMjA6MzY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnY29uZi9NYWtlZmlsZS5hbTogSG9ub3VyIC0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwgY29uZmlndXJlIG9wdGlvbi4gRml4ZXMgIzM0NDEwMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIEhvbm91ciAtLWRpc2FibGUtc2NoZW1hcy1pbnN0YWxsIGNvbmZpZ3VyZSBvcHRpb24uIEZpeGVzICMzNDQxMDAuCgoyMDA2LTA2LTA5IDE4OjMzOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06IEFkZCAtbG0gdG8gTElCUyBmb3IgcG93KCkgZnVuY3Rpb24sIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyIGRlcGVuZGVuY2llcyAoc3VjaCBhcyBsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJICBBZGQgLWxtIHRvIExJQlMgZm9yIHBvdygpIGZ1bmN0aW9uLCBkb24ndCBhc3N1bWUgb25lIG9mIG91cgoJICBkZXBlbmRlbmNpZXMgKHN1Y2ggYXMgbGlieG1sLTIuMCkgZHJhZ3MgaXQgaW4gYXV0b21hdGljYWxseQoJICAoIzM0MzYwMykuCgoyMDA2LTA2LTA5IDE4OjE3OjIzICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogV2Ugc2hvdWxkIHVzZSAkU0VEIGFuZCBub3QgJChTRUQpIGluIGNvbmZpZ3VyZS5hYyAoIzM0MzY3OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIHNob3VsZCB1c2UgJFNFRCBhbmQgbm90ICQoU0VEKSBpbiBjb25maWd1cmUuYWMgKCMzNDM2NzgpLgoKMjAwNi0wNi0wOSAxNzozODoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIEdTVF9MSUJTLCBmaXhlcyBidWlsZCBvbiBjeWd3aW4gKCMzNDM4NjYpLgoKMjAwNi0wNi0wOSAxNzoyOTowOCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogQXR0YWNoZWQgZmluZCBhIHBhdGNoIHRoYXQgZml4ZXMgYSBudW1iZXIgb2YgYnVncyB3aXRoIHRoZSBTdW5BdWRpbyBtaXhlciBwbHVnaW4gYW5kIGZpeGVzICMzNDQxMDE6IDEuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX29wZW4pLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfbmV3KSwgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF9tdXRlKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19pbml0KSwgKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3dyaXRlKToKCSAgQXR0YWNoZWQgZmluZCBhIHBhdGNoIHRoYXQgZml4ZXMgYSBudW1iZXIgb2YgYnVncyB3aXRoIHRoZSBTdW5BdWRpbyBtaXhlcgoJICBwbHVnaW4gYW5kIGZpeGVzICMzNDQxMDE6CgkgIDEuIFRoZSBnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3Qga2VwdCBhcHBlbmRpbmcgdGhlIHNhbWUgMyB0cmFja3Mgb250bwoJICB0aGUgdHJhY2tsaXN0IGNhdXNpbmcgZ25vbWUtdm9sdW1lLWNvbnRyb2wncyBwcmVmZXJlbmNlcyBkaWFsb2cgdG8gYmUgbWVzc2VkCgkgIHVwIGFuZCB3b3VsZCBjb3JlIGR1bXAgaWYgeW91IGNoZWNrZWQvdW5jaGVja2VkIGFueSBpdGVtLgoJICAyLiBXZSB3ZXJlbid0IHByZXZpb3VzbHkgc2V0dGluZyB0aGUgTVVURSBmbGFnIHByb3Blcmx5LiAgRml4aW5nIHRoaXMgbWFrZXMKCSAgZ25vbWUtdm9sdW1lLWNvbnRyb2wgd29yayBiZXR0ZXIuCgkgIDMuIE5vdyB3ZSBwcm9wZXJseSBkZWZpbmUgdGhlIGlucHV0IHRyYWNrIHRvIGJlIEdTVF9NSVhFUl9UUkFDS19JTlBVVCBhbmQKCSAgdGhlIG1vbml0b3IgdG8gYmUgR1NUX01JWEVSX1RSQUNLX09VVFBVVCwgc28gdGhhdCBtYWtlcyBnbm9tZS12b2x1bWUtY29udHJvbAoJICBsb29rIGJldHRlci4KCSAgQWxzbyBzb21lIG1pbm9yIGNsZWFudXAgaW4gZ3N0c3VuYXVkaW9zaW5rLmMuCgoyMDA2LTA2LTA5IDE3OjEyOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy4qOiBBUEk6IEFkZGVkIElEQ1QgbWV0aG9kIHByb3BlcnR5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9pZGN0X21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfanBlZ19kZWNfY2xhc3NfaW5pdCksIChnc3RfanBlZ19kZWNfaW5pdCksCgkgIChnc3RfanBlZ19kZWNfZGVjb2RlX2luZGlyZWN0KSwgKGdzdF9qcGVnX2RlY19kZWNvZGVfZGlyZWN0KSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbiksIChnc3RfanBlZ19kZWNfc2lua19ldmVudCksCgkgIChnc3RfanBlZ19kZWNfc2V0X3Byb3BlcnR5KSwgKGdzdF9qcGVnX2RlY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgQVBJOiBBZGRlZCBJRENUIG1ldGhvZCBwcm9wZXJ0eQoJICBTbWFsbCBjbGVhbnVwcy4KCSAgQXZvaWQgZHluYW1pYyBhbGxvY2F0aW9uIG9mIHRyaXZpYWwgZml4ZWQgc3RydWN0dXJlLgoJICBBbGxvY2F0ZSBlbm91Z2ggc3BhY2UgZm9yIHRlbXAgNDo0OjQgWVVWIGJ1ZmZlcnMuIEZpeGVzICMzNDM2NjEuCgoyMDA2LTA2LTA3IDA5OjI1OjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgY29uZmlndXJlLmFjOiBXZSBub3cgcmVxdWlyZSBsaWJyYXcxMzk0ID49IDEuMS4wIGFuZCB0aGF0IHZlcnNpb24gb253YXJkcyBhbGwgaGF2ZSAucGMgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBub3cgcmVxdWlyZSBsaWJyYXcxMzk0ID49IDEuMS4wIGFuZCB0aGF0IHZlcnNpb24gb253YXJkcyBhbGwKCSAgaGF2ZSAucGMgZmlsZXMuCgoyMDA2LTA2LTAyIDE1OjAyOjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiBUcnlpbmcgdG8gZ2V0IGl0ZW1zIGZyb20gYW4gQU5ZIG9yIEVNUFRZIGNhcHMgaXMgLi4uIHN0dXBpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoYWxhd2RlY19nZXRjYXBzKToKCSAgVHJ5aW5nIHRvIGdldCBpdGVtcyBmcm9tIGFuIEFOWSBvciBFTVBUWSBjYXBzIGlzIC4uLiBzdHVwaWQuCgoyMDA2LTA2LTAyIDExOjMzOjE4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLio6IEFkZGVkIEdzdFNlZ21lbnQgaGFuZGxpbmcsIG5vdyBpbXBsZW1lbnRzIGRyb3BwaW5nL2NsaXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KSwgKGdzdF9kdmRlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlY19jaGFpbiksIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgQWRkZWQgR3N0U2VnbWVudCBoYW5kbGluZywgbm93IGltcGxlbWVudHMgZHJvcHBpbmcvY2xpcHBpbmcuCgoyMDA2LTA2LTAxIDIyOjAwOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDYtMDEgMjE6MDc6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICAqIGV4dC9lc2QvZXNkbW9uLmg6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmg6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5oOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5oOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5oOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmg6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdGZkc2luay5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5oOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmg6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA1LTMxIDE2OjIzOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS4qOiBIYW5kbGUgUW9TLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLAoJICAoZ3N0X2dvb21fZmluYWxpemUpLCAoZ3N0X2dvb21fcmVzZXQpLCAoZ3N0X2dvb21fc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwgKGdzdF9nb29tX3NyY19ldmVudCksCgkgIChnc3RfZ29vbV9zaW5rX2V2ZW50KSwgKGdldF9idWZmZXIpLCAoZ3N0X2dvb21fY2hhaW4pLAoJICAoZ3N0X2dvb21fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIEhhbmRsZSBRb1MuCgkgIEhhbmRsZSBmbHVzaGluZywgZGlzY29udCBhbmQgZXZlbnRzLgoJICBGaXggdGltZXN0YW1wcyBhbmQgdmFyaW91cyBvdGhlciBjbGVhbnVwcy4KCjIwMDYtMDUtMzEgMTU6Mzc6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogRml4IGJ1cyByZXNldCB3aGVuIHVzaW5nIGxpYmllYzYxODgzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCk6CgkgIEZpeCBidXMgcmVzZXQgd2hlbiB1c2luZyBsaWJpZWM2MTg4MwoKMjAwNi0wNS0zMSAxMDozMToyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRGV0ZWN0IGxpYmllYzYxODgzIGFuZCBzZXQgbmVjZXNzYXJ5IENGTEFHUyBhbmQgTElCUyBmb3IgZHYxMzk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGV0ZWN0IGxpYmllYzYxODgzIGFuZCBzZXQgbmVjZXNzYXJ5IENGTEFHUyBhbmQgTElCUyBmb3IgZHYxMzk0LgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICBBZGQgQ0ZMQUdTLgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19pZWM2MTg4M19yZWNlaXZlKSwKCSAgTmV3IG1ldGhvZCwgdG8gcmVjZWl2ZSB1c2luZyBsaWJpZWM2MTg4My4KCSAgKGdzdF9kdjEzOTRzcmNfaXNvX3JlY2VpdmUpLAoJICAjaWZkZWYnZCBvdXQgaWYgbGliaWVjNjE4ODMgaXMgcHJlc2VudC4KCSAgKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KSwKCSAgR2V0IHVzZXJkYXRhIGNvcnJlY3RseSBpZiB1c2luZyBsaWJpZWM2MTg4My4KCSAgKGdzdF9kdjEzOTRzcmNfY3JlYXRlKSwKCSAgV2hlbiB1c2luZyBsaWJpZWM2MTg4Mywgb25seSBwb2xsIG9uZSBmZCBhbmQgbm8gbmVlZCB0byByZWFkLgoJICAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSksCgkgIFJlcGxhY2UgZ193YXJuaW5ncy4KCSAgKGdzdF9kdjEzOTRzcmNfc3RhcnQpLAoJICBDcmVhdGUgbmV3IGhhbmRsZSB3aGVuIHdlIGtub3cgd2hpY2ggZHYgcG9ydC4gIE1vcmUgcmVsaWFibGUKCSAgdGhhbiBzZXR0aW5nIHBvcnQgb24gYW4gZXhpc3RpbmcgaGFuZGxlLiAgSW5pdGlhbGlzZSBsaWJpZWM2MTg4My4KCSAgKGdzdF9kdjEzOTRzcmNfc3RvcCk6CgkgIElmIHVzaW5nIGxpYmllYzYxODgzLCB0aGVuIGNsZWFudXAgaXRzIGhhbmRsZSBwcm9wZXJseS4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgQWRkIGxpYmllYzYxODgzIGhhbmRsZS4KCjIwMDYtMDUtMzAgMjE6MDc6MzggKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogYWRkIGFuIGV4cGxpY2l0IGRsbCBpbXBvcnRlZCBkZWNsYXJhdGlvbiBmb3IgR1NUX0NBVF9FVkVOVCtXSU4zMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGFkZCBhbiBleHBsaWNpdCBkbGwgaW1wb3J0ZWQgZGVjbGFyYXRpb24gZm9yIEdTVF9DQVRfRVZFTlQrV0lOMzIKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgc29ydCBmaWxlIGxpc3RpbmcKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgYWRkIGdzdGF2aW11eC5jIHRvIHRoZSBwcm9qZWN0CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgYWRkIGxpbmsgdG8gemxpYiBsaWJyYXJ5CgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgYWRkIG1hdHJvc2thLWlkcy5jIHRvIHRoZSBwcm9qZWN0CgoyMDA2LTA1LTMwIDE0OjM1OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBBZGQgYXBldjJtdXggZWxlbWVudCAoIzM0MzEyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZSA+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgQWRkIGFwZXYybXV4IGVsZW1lbnQgKCMzNDMxMjIpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkgICh0ZXN0X3RhZ2xpYl9hcGV2Mm11eF9jcmVhdGVfdGFncyksCgkgICh0ZXN0X3RhZ2xpYl9hcGV2Mm11eF9jaGVja190YWdzKSwgKGZpbGxfbXAzX2J1ZmZlciksIChnb3RfYnVmZmVyKSwKCSAgKGRlbXV4X3BhZF9hZGRlZCksICh0ZXN0X3RhZ2xpYl9hcGV2Mm11eF9jaGVja19vdXRwdXRfYnVmZmVyKSwKCSAgKHRlc3RfdGFnbGliX2FwZXYybXV4X3dpdGhfdGFncyksIChHU1RfU1RBUlRfVEVTVCksCgkgIChhcGV2Mm11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXBldjJtdXggZWxlbWVudC4KCjIwMDYtMDUtMjggMTc6MzM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBHU1RfUFRSX0ZPUk1BVCBzaG91bGQgYmUgdXNlZCB0byBwcmludCBjYXBzIGluIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX3VwZGF0ZV9jYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpOgoJICBHU1RfUFRSX0ZPUk1BVCBzaG91bGQgYmUgdXNlZCB0byBwcmludCBjYXBzIGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTA1LTI4IDE0OjM4OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0B1YnVudHUuY29tPgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBTb21lIGNsZWFuLXVwcyBhbmQgYWRkaXRpb25zOiBtYXAgQVBFICdmaWxlJyB0YWcgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW8gYXQgdWJ1bnR1IGRvdCBjb20+CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiAoYXBlX2RlbXV4X2dldF9nc3RfdGFnX2Zyb21fdGFnKSwKCSAgKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgU29tZSBjbGVhbi11cHMgYW5kIGFkZGl0aW9uczogbWFwIEFQRSAnZmlsZScgdGFnIHRvCgkgIEdTVF9UQUdfTE9DQVRJT04gKCMzNDMxMjMpOyBhZGQgc3VwcG9ydCBmb3IgZXh0cmFjdGluZwoJICB0aGUgdHJhY2sgY291bnQgYW5kIGNsZWFuIHVwIHBhcnNpbmcgYSBiaXQgKCMzNDMxMjcpLgoKMjAwNi0wNS0yOCAxMzo0OToxMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogSW5pdGlhbGl6ZSBzZWdtZW50IHRvIEdTVF9GT1JNQVRfVU5ERUZJTkVEIGluIFJFQURZLT5QQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBJbml0aWFsaXplIHNlZ21lbnQgdG8gR1NUX0ZPUk1BVF9VTkRFRklORUQgaW4gUkVBRFktPlBBVVNFRC4KCjIwMDYtMDUtMjggMTM6MzA6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IENsaXAgb3V0Z29pbmcgYnVmZmVycyBhY2NvcmRpbmcgdG8gY3VycmVudGx5IGNvbmZpZ3VyZWQgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9qcGVnX2RlY19pbml0KSwgKGdzdF9qcGVnX2RlY19jaGFpbiksCgkgIChnc3RfanBlZ19kZWNfc2lua19ldmVudCksIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIENsaXAgb3V0Z29pbmcgYnVmZmVycyBhY2NvcmRpbmcgdG8gY3VycmVudGx5IGNvbmZpZ3VyZWQgc2VnbWVudC4KCjIwMDYtMDUtMjggMTA6Mzk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBIYW5kbGUgIHdyaXRpbmcgb2YgdHJhY2stY291bnQgb3IgYWxidW0tdm9sdW1lLWNvdW50IHdpdGhvdXQgdHJhY2stbnVtYmVyIG9yIGFsYnVtZS12b2x1bWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgSGFuZGxlICB3cml0aW5nIG9mIHRyYWNrLWNvdW50IG9yIGFsYnVtLXZvbHVtZS1jb3VudCB3aXRob3V0CgkgIHRyYWNrLW51bWJlciBvciBhbGJ1bWUtdm9sdW1lLW51bWJlciAoaW4gdGhpcyBjYXNlIHRoZSBudW1iZXIKCSAgd2lsbCBqdXN0IGJlIHNldCB0byAwKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodGVzdF90YWdsaWJfaWQzbXV4X2NoZWNrX3RhZ3MpOgoJICBJdCB3b3VsZCBiZSBuaWNlIGlmIHdlIGFjdHVhbGx5IGNoZWNrZWQgdGhlIHZhbHVlcyByZWNlaXZlZCBmb3IKCSAgdHJhY2svYWxidW0tdm9sdW1lIG51bWJlci9jb3VudCBpbiAgX2NoZWNrX3RhZ3MoKSwgcmF0aGVyIHRoYW4KCSAgc2V0dGluZyB0aGVtIGFnYWluIC4uLgoKMjAwNi0wNS0yOCAxMDowNTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBBIHRyYWNrL3ZvbHVtZSBudW1iZXIgb3IgY291bnQgb2YgMCBkb2VzIG5vdCBtYWtlIHNlbnNlLCBqdXN0IGlnbm9yZSBpdCBhbG9uZyB3aXRoIG5lZ2F0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgQSB0cmFjay92b2x1bWUgbnVtYmVyIG9yIGNvdW50IG9mIDAgZG9lcyBub3QgbWFrZSBzZW5zZSwKCSAganVzdCBpZ25vcmUgaXQgYWxvbmcgd2l0aCBuZWdhdGl2ZSBudW1iZXJzIChhIHRhZyBtaWdodAoJICBvbmx5IGNvbnRhaW4gYSB0cmFjayBjb3VudCB3aXRob3V0IGEgdHJhY2sgbnVtYmVyKS4KCjIwMDYtMDUtMjcgMTM6MTE6MzcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFib3J0IGRlY29tcHJlc3Npb24gd2hlbiByZWNlaXZpbmcgRkxVU0hfU1RPUC4gVGhpcyBzaG91bGQgYXZvaWQgaXNzdWVzIHdoZW4gaW50ZXJydXB0aW5nIGRlY28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpOgoJICBBYm9ydCBkZWNvbXByZXNzaW9uIHdoZW4gcmVjZWl2aW5nIEZMVVNIX1NUT1AuIFRoaXMgc2hvdWxkIGF2b2lkCgkgIGlzc3VlcyB3aGVuIGludGVycnVwdGluZyBkZWNvZGluZyB3aXRoIGZsdXNoZXMuCgoyMDA2LTA1LTI3IDEyOjEwOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhYy5jOiBEb24ndCAjaW5jbHVkZSBmaWxlIHdlIGRvbid0IGRpc3QgYW55IGxvbmdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJICBEb24ndCAjaW5jbHVkZSBmaWxlIHdlIGRvbid0IGRpc3QgYW55IGxvbmdlci4KCjIwMDYtMDUtMjcgMTE6Mjc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSRUFETUU6IFJlcGxhY2UgY3VycmVudCBSRUFETUUgKGNvbnRhaW5pbmcgdGhlIHJlbGVhc2Ugbm90ZXMgZnJvbSBzb21lIDAuOS54IHZlcnNpb24pIHdpdGggYSBwcm9wZXIgUkVBRE1FIHRha2VuIGZyb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVBRE1FOgoJICBSZXBsYWNlIGN1cnJlbnQgUkVBRE1FIChjb250YWluaW5nIHRoZSByZWxlYXNlIG5vdGVzIGZyb20KCSAgc29tZSAwLjkueCB2ZXJzaW9uKSB3aXRoIGEgcHJvcGVyIFJFQURNRSB0YWtlbiBmcm9tIHRoZSBjb3JlLgoKMjAwNi0wNS0yNiAyMjozNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG9uX2ZyZXF1ZW5jeV9jaGFuZ2VkKSwKCSAgKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGZpeCB0eXBvCgoyMDA2LTA1LTI2IDEzOjE2OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcAoJICB0aW1lLgoKMjAwNi0wNS0yNiAxMTo0ODo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgoyMDA2LTA1LTI0IDE2OjAzOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogSW1wbGVtZW50IEVPUyBjb3JyZWN0bHkgYnkgZWl0aGVyIHBvc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2xvb3ApOgoJICBJbXBsZW1lbnQgRU9TIGNvcnJlY3RseSBieSBlaXRoZXIgcG9zdGluZwoJICBTRUdNRU5UX0RPTkUgb3IgcHVzaGluZyBhbiBFT1MgbWVzc2FnZSBkZXBlbmRpbmcKCSAgb24gdGhlIHNlZWsgdHlwZS4gRml4ZXMgIzM0MjU5MgoKMjAwNi0wNS0yNCAxMTo1Njo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgoyMDA2LTA1LTI0IDEwOjAwOjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IFNvbWUgY2xlYW51cHMgaW4gdGhlIGNoYWluIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfY2hhaW4pOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgU29tZSBjbGVhbnVwcyBpbiB0aGUgY2hhaW4gZnVuY3Rpb25zLgoJICBSZW1vdmUgc29tZSBHU3RyZWFtZXIgMC4wLjIgYml0cy4KCjIwMDYtMDUtMjMgMjA6MTU6MDQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IGdzdF9jb2xsZWN0X3BhZHNfc3RvcCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBjbGFzcyAoIzM0MjcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIGdzdF9jb2xsZWN0X3BhZHNfc3RvcCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgY2hhaW5pbmcgdXAKCSAgdG8gdGhlIHBhcmVudCBjbGFzcyAoIzM0MjczNCkuCgoyMDA2LTA1LTIzIDE2OjQ1OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvOiBSZW1vdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgY3J1ZnQgZm9yIGRlYWxpbmcgd2l0aCBGTEFDIEFQSSBjaGFuZ2VzIGluIHRoZSAxLjAueCBzZXJpZXMgLSB3ZSByZXF1aXJlIDEuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL2ZsYWNfY29tcGF0Lmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIFJlbW92ZSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBjcnVmdCBmb3IgZGVhbGluZyB3aXRoIEZMQUMgQVBJCgkgIGNoYW5nZXMgaW4gdGhlIDEuMC54IHNlcmllcyAtIHdlIHJlcXVpcmUgMS4xLjEgb3IgbmV3ZXIgdGhlc2UgZGF5cy4KCjIwMDYtMDUtMjMgMTM6NDQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIHRoZW9yYSB2aWRlbyAoIzM0MjQ0ODsgdG9vIGJhZCBub25lIG9mIHRoZSB1c3VhbCBsaW51eCBwbGF5ZXJzIGNhbiBhY3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoeGlwaDNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgICh2b3JiaXNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgICh0aGVvcmFfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcvZGVtdXhpbmcgdGhlb3JhIHZpZGVvICgjMzQyNDQ4OyB0b28gYmFkCgkgIG5vbmUgb2YgdGhlIHVzdWFsIGxpbnV4IHBsYXllcnMgY2FuIGFjdHVhbGx5IHBsYXkgdGhpcykuIFBsYXliYWNrCgkgIGluIEdTdHJlYW1lciB3aWxsIHJlcXVpcmUgYWRkaXRpb25hbCBjaGFuZ2VzIHRvIHRoZW9yYWRlYyBpbiAtYmFzZS4KCSAgUmVmYWN0b3Igc3RyZWFtaGVhZGVycyA8PT4gQ29kZWNQcml2YXRlRGF0YSBjb2RlIGEgYml0OyBzb21lIHNtYWxsCgkgIGNsZWFudXBzLgoKMjAwNi0wNS0yMiAxODowMDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogcG8vUE9URklMRVMuaW46CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksIChwbHVnaW5faW5pdCk6CgkgIHBvL1BPVEZJTEVTLmluOgoJICBUaHJvdyBhbiBlcnJvciB3aGVuIHRoZSBmaWxlIGlzIGVuY3J5cHRlZC4gTW92ZSBwbHVnaW5faW5pdCBzdHVmZgoJICB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLCBhZGQgc3R1ZmYgZm9yIGkxOG4sIG1ha2UgZGVidWcgY2F0ZWdvcnkKCSAgc3RhdGljLgoKMjAwNi0wNS0yMiAxNToyMzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogRml4IGNyYXNoZXMgd2hlbiB0aGUgaG9yaXpvbnRhbCBzdWJzYW1wbGluZyBpcyAxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChocmVzYW1wbGVjcHkxKSwKCSAgKGdzdF9qcGVnX2RlY19kZWNvZGVfaW5kaXJlY3QpLCAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgRml4IGNyYXNoZXMgd2hlbiB0aGUgaG9yaXpvbnRhbCBzdWJzYW1wbGluZyBpcyAxLgoJICBGaXhlcyAjMzQyMDk3LgoKMjAwNi0wNS0yMiAxNDo1NjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgIGNvdmVyIHVwIHRoZSBkaXJ0eSB0cnV0aAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY292ZXIgdXAgdGhlIGRpcnR5IHRydXRoCgoyMDA2LTA1LTIyIDEzOjUzOjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogLSBhZGQgb2RtbCAobGFyZ2UgZmlsZSkgaW5kZXggc3VwcG9ydAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9maW5hbGl6ZSksIChnc3RfYXZpX211eF9pbml0KSwKCSAgKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpLCAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2FwcyksCgkgIChnc3RfYXZpX211eF93cml0ZV90YWcpLCAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdml4X2hlYWRlciksIChnc3RfYXZpX211eF93cml0ZV9hdml4X2luZGV4KSwKCSAgKGdzdF9hdmlfbXV4X2FkZF9pbmRleCksIChnc3RfYXZpX211eF9iaWdmaWxlKSwKCSAgKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpLCAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKSwKCSAgKGdzdF9hdmlfbXV4X2hhbmRsZV9ldmVudCksIChnc3RfYXZpX211eF9kb19hdWRpb19idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfZG9fdmlkZW9fYnVmZmVyKSwgKGdzdF9hdmlfbXV4X2RvX29uZV9idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBTb21lIGVuaGFuY2VtZW50cyBmb3IgYXZpbXV4ICgjMzQyNTI2KToKCSAgLSBhZGQgb2RtbCAobGFyZ2UgZmlsZSkgaW5kZXggc3VwcG9ydAoJICAtIHN0b3JlIGNvZGVjIGluaXQgZGF0YSAoZS5nLiBodWZmeXV2KQoJICAtIG1pc2NlbGxhbmVvdXMgb3RoZXIgZml4ZXMvY2xlYW51cHMKCjIwMDYtMDUtMjIgMTM6NTE6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBmaXggZGVzY3JpcHRpb25zIGFuZCBsaWNlbnNlIGJsb2NrcyBjdXQgYW5kIHBhc3RlIGFueW9uZSA/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGVzY3JpcHRpb25zIGFuZCBsaWNlbnNlIGJsb2NrcwoJICBjdXQgYW5kIHBhc3RlIGFueW9uZSA/CgoyMDA2LTA1LTIxIDE2OjQxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgoyMDA2LTA1LTIxIDE2OjIzOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06IExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgdXNlIG5ldyB0aHJlc2hob2xkIHByb3BlcnR5CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbiksCgkgIChnc3Rfc3BlY3RydW1fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGdzdF9hZGFwdGVyLCBzdXBwb3J0IG11bHRpcGxlLWNoYW5uZWxzLCBhZGQgdGhyZXNob2xkIHByb3BlcnR5IGZvcgoJICByZXN1bHQsIGFkZCBkb2NzLCBmaXggcmVzdWx0aW5nIHNwZWN0cnVtIHJhbmdlICh3YXMgaW5jbHVkaW5nIG1pcnJvcmVkCgkgIHJlc3VsdHMpCgoyMDA2LTA1LTIwIDIyOjQyOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzogKGdzdF9zcGVjdHJ1bV9maXhfZG90KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9nZXRfdHlwZSksCgkgIChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgoyMDA2LTA1LTE5IDE4OjU4OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgoyMDA2LTA1LTE5IDE4OjMxOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTkgMTQ6MDU6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IERvbid0IG91dHB1dCBhbnkgdGFnIHdoZW4gd2UgZW5jb3VudGVyIGEgbmVnYXRpdmUgdHJhY2sgbnVtYmVyIC0gdGhlIHRhZyB0eXBlIGlzIHVpbnQsIHNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBEb24ndCBvdXRwdXQgYW55IHRhZyB3aGVuIHdlIGVuY291bnRlciBhIG5lZ2F0aXZlIHRyYWNrIG51bWJlciAtIHRoZQoJICB0YWcgdHlwZSBpcyB1aW50LCBzbyB3ZSBlbmQgdXAgb3V0cHV0dGluZyBodWdlIHBvc2l0aXZlIG51bWJlcnMKCSAgaW5zdGVhZC4gKEZpeGVzOiAjMzQyMDI5KQoKMjAwNi0wNS0xOCAyMzowNDo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IHVwZGF0ZSBmb3IgbmV3IEdTVFBCX1BMVUdJTlNfRElSCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgdXBkYXRlIGZvciBuZXcgR1NUUEJfUExVR0lOU19ESVIKCjIwMDYtMDUtMTggMTk6MzQ6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFgxMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYMTEKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaWZhY2Vfc3VwcG9ydGVkKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgQ29kZSBjbGVhbnVwcywgZml4IGRlYnVnIG1hY3JvcwoKMjAwNi0wNS0xOCAxNDo0NTozMyArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIHJ0cC9nc3QvZ3N0cnRwaDI2M3BheS5jOiBQcm9wZXJseSBzZXQgc3RhdGljIGNhcHMgZm9yIEgyNjMgYXQgMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTE4ICBQaGlsaXBwZSBLYWxhZiAgPHBoaWxpcHBlLmthbGFmIGF0IGNvbGxhYm9yYS5jby51az4KCSAgKiBydHAvZ3N0L2dzdHJ0cGgyNjNwYXkuYzoKCSAgUHJvcGVybHkgc2V0IHN0YXRpYyBjYXBzIGZvciBIMjYzIGF0IDM0LgoKMjAwNi0wNS0xOCAxMjo0NjowOCArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogTWVyZ2UgZXZlbnQgdGFncyBhbmQgdGFnIHNldHRlciB0YWdzIGNvcnJlY3RseSAoIzMzOTkxOCkuIEFsc28sIGRvbid0IGxlYWsgdGFnbGlzdCBpbiBjYXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFtZXMgIkRvYyIgTGl2aW5nc3RvbiAgPGRvY2xpdmluZ3N0b24gZ21haWwgY29tPgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IChnc3RfdGFnX2xpYl9tdXhfcmVuZGVyX3RhZyk6CgkgIE1lcmdlIGV2ZW50IHRhZ3MgYW5kIHRhZyBzZXR0ZXIgdGFncyBjb3JyZWN0bHkgKCMzMzk5MTgpLiBBbHNvLAoJICBkb24ndCBsZWFrIHRhZ2xpc3QgaW4gY2FzZSBvZiBhbiBlcnJvci4KCjIwMDYtMDUtMTcgMTg6MDk6MDYgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBGaXhlZCBjYXBzIGZvciBIMjYzIChub3QgdGhlIHNhbWUgYXMgSDI2MyspCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBjYXBzIGZvciBIMjYzIChub3QgdGhlIHNhbWUgYXMgSDI2MyspCgoyMDA2LTA1LTE3IDEyOjM2OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogV2UgY2FuIG9ubHkgZG8gY2FwcyBpbnRlcnNlY3Rpb24gaWYgdGhlIG90aGVyY2FwcyBhcmUgbm9uLWVtcHR5IGFuZCBub3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX2dldGNhcHMpOgoJICBXZSBjYW4gb25seSBkbyBjYXBzIGludGVyc2VjdGlvbiBpZiB0aGUgb3RoZXJjYXBzIGFyZSBub24tZW1wdHkgYW5kIG5vdAoJICBBTlkuIEVsc2Ugd2UgcmV0dXJuIHRoZSBwYWQgdGVtcGxhdGUgKGJhc2VfY2FwcykuCgoyMDA2LTA1LTE3IDExOjIwOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBGaXggY3Jhc2ggd2hlbiBvdXRwdXR0aW5nIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBmb3IgY2VydGFpbiBwaWN0dXJlcyAoYWx3YXlzIGdvb2QgdG8gdXNlIHRoZSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEZpeCBjcmFzaCB3aGVuIG91dHB1dHRpbmcgZGVidWdnaW5nIGluZm9ybWF0aW9uIGZvciBjZXJ0YWluCgkgIHBpY3R1cmVzIChhbHdheXMgZ29vZCB0byB1c2UgdGhlIHJpZ2h0IHN0cnVjdCBtZW1iZXIgZm9yCgkgIHRoZSBudW1iZXIgb2YgcmVjb3JkcyBpbiBhbiBhcnJheSkuCgoyMDA2LTA1LTE3IDA4OjEwOjMxICswMDAwICBKaW5kcmljaCBNYWtvdmlja2EgPGppbmRyaWNoLm1ha2l2aWNrYUBpdG9uaXMudHY+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IERvbid0IGNyZWF0ZSB1bm5lY2Vzc2FyeSBzdWItYnVmZmVycyBhbGwgdGhlIHRpbWUuIERyYW1hdGljYWxseSBpbXByb3ZlcyBwZXJmb3JtYW5jZSB3aXRoIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKaW5kcmljaCBNYWtvdmlja2EgIDxqaW5kcmljaC5tYWtpdmlja2EgYXQgaXRvbmlzIHR2PgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX3B1bGxfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcmVhZF9idWZmZXIpLAoJICAoZ3N0X2VibWxfcmVhZF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX3VpbnQpLCAoZ3N0X2VibWxfcmVhZF9zaW50KSwKCSAgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLCAoZ3N0X2VibWxfcmVhZF9hc2NpaSksCgkgIChnc3RfZWJtbF9yZWFkX2JpbmFyeSk6CgkgIERvbid0IGNyZWF0ZSB1bm5lY2Vzc2FyeSBzdWItYnVmZmVycyBhbGwgdGhlIHRpbWUuIERyYW1hdGljYWxseQoJICBpbXByb3ZlcyBwZXJmb3JtYW5jZSB3aXRoIG11bHRpcGxlIGNvbmN1cnJlbnRseSBydW5uaW5nCgkgIG1hdHJvc2thZGVtdXggaW5zdGFuY2VzICgjMzQxODE4KSAoYW5kIGF2b2lkcyBkb2luZwoJICB1bm5lY2Vzc2FyaWx5IGluZWZmaWNpZW50IHRoaW5ncyBpbiB0aGUgZ2VuZXJhbCBjYXNlKS4KCjIwMDYtMDUtMTYgMTc6MjA6MDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiBJbiBzbmFwc2hvdCBtb2RlLCB3ZSBhbHdheXMgcmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgd2hhdGV2ZXIgdGhlIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2hhaW4pOgoJICBJbiBzbmFwc2hvdCBtb2RlLCB3ZSBhbHdheXMgcmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgd2hhdGV2ZXIgdGhlCgkgIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX3B1c2hfZXZlbnQoKS4KCjIwMDYtMDUtMTYgMTQ6MDc6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBNYWtlIHRoZSBuYW1lIG9mIHRoZSBjaGlsZCBlbGVtZW50IGJlIGJhc2VkIG9uIHRoZSBuYW1lIG9mIHRoZSBwYXJlbnQsIHNvIHRoYXQgZGVidWcgb3V0cHV0IGlzIG1vcmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCk6CgkgIE1ha2UgdGhlIG5hbWUgb2YgdGhlIGNoaWxkIGVsZW1lbnQgYmUgYmFzZWQgb24gdGhlIG5hbWUgb2YgdGhlCgkgIHBhcmVudCwgc28gdGhhdCBkZWJ1ZyBvdXRwdXQgaXMgbW9yZSB1c2VmdWwuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChmaW5kX3V0ZjE2X2JvbSksCgkgIChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKSwgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBSZXdvcmsgc3RyaW5nIHBhcnNpbmcgdG8gYWx3YXlzIHdhbGsgb3ZlciBCT00gbWFya2VycyBpbiBVVEYxNgoJICBzdHJpbmdzLCB1c2luZyB0aGUgZW5kaWFubmVzcyBpbmRpY2F0ZWQgYnkgdGhlIGlubmVybW9zdCBvbmUsCgkgIHRoZW4gdHJ5aW5nIHRoZSBvcHBvc2l0ZSBlbmRpYW5uZXNzIGlmIHRoYXQgZmFpbHMgdG8gY29udmVydAoJICB0byB2YWxpZCBVVEYtOC4gRml4ZXMgIzM0MTc3NAoKMjAwNi0wNS0xNiAxMzozMTowMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06IEFkZCBMSUJQTkdfQ0ZMQUdTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0xNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICBQYXRjaCBmcm9tOiBNYXR0aGlldSA8bWF0dGhpZXUgYXQgZmx1ZW5kbyBkb3QgY29tPgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgIEFkZCBMSUJQTkdfQ0ZMQUdTLgoKMjAwNi0wNS0xNSAxMToyMDoyMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDYtMDUtMTUgMDk6MDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBpbWFnZXMgKEFQSUMgZnJhbWVzKSBpbnRvIElEM3YyIHRhZ3MgKHBpY3R1cmUgdHlwZSBhbHdheXMgc2V0IHRvICcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgaW1hZ2VzIChBUElDIGZyYW1lcykgaW50byBJRDN2MgoJICB0YWdzIChwaWN0dXJlIHR5cGUgYWx3YXlzIHNldCB0byAnb3RoZXInIGZvciBub3cgdGhvdWdoKS4KCjIwMDYtMDUtMTQgMTI6NTA6MDcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVcGRhdGUgZG9jczsgd2F2cGFyc2UgaW1wbGVtZW50cyBwdXNoIGFuZCBwdWxsIG1vZGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgVXBkYXRlIGRvY3M7IHdhdnBhcnNlIGltcGxlbWVudHMgcHVzaCBhbmQgcHVsbCBtb2Rlcy4KCjIwMDYtMDUtMTIgMTg6MTA6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE9vb3BzLCBiaXR0ZW4gYnkgdGhlIGNvcHktYW5kLXBhc3RlIGRlc2lnbiBwYXJhZGlnbSwgZml4ZXMgc2VlayBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgT29vcHMsIGJpdHRlbiBieSB0aGUgY29weS1hbmQtcGFzdGUgZGVzaWduIHBhcmFkaWdtLCBmaXhlcwoJICBzZWVrIGFnYWluLgoKMjAwNi0wNS0xMiAxODowNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogU29tZSBjbGVhbnVwcywgcHJlcGFyZSB0byB1c2UgR3N0U2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBTb21lIGNsZWFudXBzLCBwcmVwYXJlIHRvIHVzZSBHc3RTZWdtZW50LgoJICBGaXggZXJyb3IgaW4gZW50cnkgd2Fsa2luZyBjb2RlLgoJICBGaXggVkJSIGRldGVjdGlvbi4KCSAgU21hcnRlciB0aW1lc3RhbXAgY2FsY3VsYXRpb24gY29kZS4KCSAgVW5pZm9ybSBlcnJvci9lb3MgaGFuZGxpbmcuCgoyMDA2LTA1LTEyIDE3OjQ0OjE1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHVzZSBvZiB1bmluaXRpYWxpc2VkIHZhbHVlcyBpZiB3ZSdyZSBOT1Qgc2Vla2luZyBpbiByZWFkeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZm10KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgRml4IHVzZSBvZiB1bmluaXRpYWxpc2VkIHZhbHVlcyBpZiB3ZSdyZSBOT1Qgc2Vla2luZyBpbiByZWFkeS4KCSAgRml4IHR5cG9zLgoKMjAwNi0wNS0xMiAwODoyMzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbTogQWRkIENGTEFHUyBhbmQgTElCUyBmb3IgbGliZ3N0YmFzZSwgZml4ZXMgYnVpbGQgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgQ0ZMQUdTIGFuZCBMSUJTIGZvciBsaWJnc3RiYXNlLCBmaXhlcyBidWlsZCBvbgoJICBDeWd3aW4gKCMzNDE0ODkpLgoKMjAwNi0wNS0xMiAwODoyMTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBTb21lIG1vcmUgZGVidWcgaW5mby4gTm8gbmVlZCB0byBjaGVjayB3aGV0aGVyIHRoZSBzdHJpbmcgcmV0dXJuZWQgYnkgZ19jb252ZXJ0KCkgaXMgcmVhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpOgoJICBTb21lIG1vcmUgZGVidWcgaW5mby4gTm8gbmVlZCB0byBjaGVjayB3aGV0aGVyIHRoZSBzdHJpbmcKCSAgcmV0dXJuZWQgYnkgZ19jb252ZXJ0KCkgaXMgcmVhbGx5IFVURi04IC0gZWl0aGVyIGl0IGlzIG9yCgkgIHdlIGdldCBOVUxMIHJldHVybmVkLgoKMjAwNi0wNS0xMSAxNzo1OTo1OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTExIDA5OjA5OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZSBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUKCSAgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbmFsIGVzZHMgYm94LiBQcm9tb3RlIHRoZQoJICBkZWZhdWx0IEFBQyB0byBtcDMgd2hlbiBpbmRpY2F0ZWQuIEZpeGVzICMzMzA2MzIuCgoyMDA2LTA1LTEwIDE3OjQ0OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQYXJzZSB2ZXJzaW9uIDIgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X2R1bXBfdW5rbm93biksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBQYXJzZSB2ZXJzaW9uIDIgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgRG9uJ3QgI2RlZmluZSBnc3RfdXRpbF9kdW1wX21lbSgpLCB1c2Ugc29tZXRoaW5nIG1vcmUKCSAgc3BlY2lmaWMgaW5zdGVhZCB0byBhdm9pZCBjb25mdXNpb24uCgoyMDA2LTA1LTEwIDEzOjUxOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBGaXggcGFyc2luZyBvZiBudW1lcmljIGdlbnJlIHN0cmluZ3Mgc29tZSBtb3JlLCBieSBlbnN1cmluZyB0aGF0IHdlIG9ubHkgdHJ5IGFuZCBwYXJzZSBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KToKCSAgRml4IHBhcnNpbmcgb2YgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIHNvbWUgbW9yZSwgYnkgZW5zdXJpbmcgdGhhdAoJICB3ZSBvbmx5IHRyeSBhbmQgcGFyc2Ugc3RyaW5ncyB0aGF0IGEpIFN0YXJ0IHdpdGggJygnIGFuZCBiKSBDb25zaXN0CgkgIG9ubHkgb2YgZGlnaXRzLgoJICBBbHNvLCB3aGVuIGZpbmRpbmcgYW4gZXNjYXBpbmcgJygoJyBzZXF1ZW5jZSwgYnVzdCBpdCBiYWNrIHRvICcoJyBieQoJICBzd2FsbG93aW5nIHRoZSBmaXJzdCBwYXJlbnRoZXNpcwoKMjAwNi0wNS0xMCAxMToxNzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvZXNkc2luay4qOiBNb3ZlIHRoZSBlc2RfZ2V0X3NlcnZlcl9pbmZvKCkgaW50byBnc3RfZXNkc2lua19vcGVuKCkgYW5kIGZhaWwgd2l0aCBhIGRlY2VudCBlcnJvciBtZXNzYWdlIG9uIGVyci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2ZpbmFsaXplKSwgKGdzdF9lc2RzaW5rX2dldGNhcHMpLAoJICAoZ3N0X2VzZHNpbmtfb3BlbiksIChnc3RfZXNkc2lua19jbG9zZSk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgIE1vdmUgdGhlIGVzZF9nZXRfc2VydmVyX2luZm8oKSBpbnRvIGdzdF9lc2RzaW5rX29wZW4oKSBhbmQgZmFpbAoJICB3aXRoIGEgZGVjZW50IGVycm9yIG1lc3NhZ2Ugb24gZXJyb3JzLgoKMjAwNi0wNS0xMCAxMDoyOTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENvbnN0LWlmeSBHRW51bVZhbHVlIGFycmF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzogKGdzdF9lc2Rtb25fZGVwdGhzX2dldF90eXBlKSwKCSAgKGdzdF9lc2Rtb25fY2hhbm5lbHNfZ2V0X3R5cGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX3Byb2ZpbGVfZ2V0X3R5cGUpOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfbWV0aG9kX2dldF90eXBlKToKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiAoZ3N0X2NhY2FzaW5rX2RpdGhlcl9nZXRfdHlwZSk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX3Byb3RvY29sX2dldF90eXBlKToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9tZXRob2RfZ2V0X3R5cGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfaWxiY19tb2RlX2dldF90eXBlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9wcm90b19nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2ZpbGxfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb19mbGlwX21ldGhvZF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvX21peGVyX2JhY2tncm91bmRfZ2V0X3R5cGUpOgoJICBDb25zdC1pZnkgR0VudW1WYWx1ZSBhcnJheXMuCgoyMDA2LTA1LTA5IDE0OjA4OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFdvcmsgYXJvdW5kIGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpIGJ1ZyB0aGF0IHJlc3VsdHMgaW4gYXZpbXV4IG1hcmtpbmcgYWxsIGZyYW1lcyBpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJldD4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZG9fYXVkaW9fYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2RvX3ZpZGVvX2J1ZmZlcik6CgkgIFdvcmsgYXJvdW5kIGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpIGJ1ZyB0aGF0CgkgIHJlc3VsdHMgaW4gYXZpbXV4IG1hcmtpbmcgYWxsIGZyYW1lcyBpbiB0aGUgaW5kZXggYXMKCSAga2V5ZnJhbWVzICgjMzQwODU5KS4KCjIwMDYtMDUtMDggMTk6MjE6MTggKzAwMDAgIE1hcnRpbiBSdWJsaSA8bWFydGluX3J1YmxpQGxvZ2l0ZWNoLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCjIwMDYtMDUtMDggMTU6MjA6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNhdXNlIHNpZGUgZWZmZWN0cyBpbiBhIGRlYnVnZ2luZyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChxdGRlbXV4X2R1bXBfbXZoZCk6CgkgIERvbid0IGNhdXNlIHNpZGUgZWZmZWN0cyBpbiBhIGRlYnVnZ2luZyBmdW5jdGlvbi4KCSAgQWxzbyByZXBvcnQgZHVyYXRpb24gaW4gcHVzaCBtb2RlIHNpbmNlIHdlIGNhbi4KCjIwMDYtMDUtMDggMTQ6MzU6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdXJsLmM6IE1ha2UgcGFyc2luZyBvZiB1cmxzIHN1Y2sgc2xpZ2h0bHkgbGVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICBNYWtlIHBhcnNpbmcgb2YgdXJscyBzdWNrIHNsaWdodGx5IGxlc3MuCgoyMDA2LTA1LTA4IDExOjUzOjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgYXV0b2dlbi5zaDogbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDogKENPTkZJR1VSRV9ERUZfT1BUKToKCSAgbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZS4KCjIwMDYtMDUtMDggMTA6NTk6MDUgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEM4OSBjb21wbGlhbmNlIGZpeGVzLiBGaXhlcyAjMzQwOTgwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Rpc3Bvc2UpOgoJICBDODkgY29tcGxpYW5jZSBmaXhlcy4gRml4ZXMgIzM0MDk4MAoKMjAwNi0wNS0wNiAwOTowMTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogSGFuZGxlIHNlZ21lbnQgc2Vla3MgdGhhdCBpbmNsdWRlIHRoZSBlbmQgb2YgdGhlIGZpbGUgYXMgc3RvcCBwb2ludCBwcm9wZXJseTogd2hlbiB0aGUgZGVjb2Rlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBIYW5kbGUgc2VnbWVudCBzZWVrcyB0aGF0IGluY2x1ZGUgdGhlIGVuZCBvZiB0aGUgZmlsZSBhcyBzdG9wIHBvaW50CgkgIHByb3Blcmx5OiB3aGVuIHRoZSBkZWNvZGVyIGhpdHMgRU9TIHdlIHdhbnQgdG8gc2VuZCBhIFNFR01FTlRfRE9ORQoJICBtZXNzYWdlIGluc3RlYWQgb2YgYW4gRU9TIGV2ZW50IGluIGNhc2Ugd2UncmUgaW4gc2VnbWVudCBzZWVrCgkgIG1vZGUgKGZpeGVzICMzNDA2OTkpLgoKMjAwNi0wNS0wNiAwMDoxNDowOSArMDAwMCAgTWFjaWVqIEthdGFmaWFzeiA8bWF0aHJpY2tAbWF0aHJpY2sub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoKMjAwNi0wNS0wNSAyMDoxMjo1OSArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGVjdGlvbi4KCjIwMDYtMDUtMDQgMTc6Mjc6MjcgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IERvbid0IGxlYWsgY2FwcyB3aGVuIGZyZWVpbmcgdGhlIHN0cmVhbSBjb250ZXh0ICgjMzQwNjIzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwgZG90IGJlbmVzIGF0IHhlcmlzIGRvdCBjej4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCk6CgkgIERvbid0IGxlYWsgY2FwcyB3aGVuIGZyZWVpbmcgdGhlIHN0cmVhbSBjb250ZXh0ICgjMzQwNjIzKS4KCjIwMDYtMDUtMDQgMTU6NDA6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgo9PT0gcmVsZWFzZSAwLjEwLjMgPT09CgoyMDA2LTA1LTA0IDE1OjM2OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMwoKMjAwNi0wNS0wNCAxNToyODo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCjIwMDYtMDUtMDQgMTU6MDU6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuMwoKMjAwNi0wNS0wMyAxODo0NDozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMDUtMDMgMTg6NDE6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IERvbid0IHN0cmNtcCgpIE5VTEwgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9zdHJlYW1faXNfdm9yYmlzX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBEb24ndCBzdHJjbXAoKSBOVUxMIHN0cmluZ3MuCgkgIE9ubHkgc3RhcnQgbmV3IGNsdXN0ZXJzIG9uIHZpZGVvIGtleWZyYW1lcywgbm90IG9uIGFueQoJICByYW5kb20gYXVkaW8gYnVmZmVyIHRoYXQgZG9lc24ndCBoYXZlIHRoZSBERUxUQV9VTklUCgkgIGZsYWcgc2V0IChmaXhlcyAnbWFrZSBjaGVjaycgYWdhaW4pLgoKMjAwNi0wNS0wMyAxNDo1MTo1MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRG9uJ3QgbWlzaW50ZXJwcmV0IEdTVF9DTE9DS19USU1FX05PTkUgYXMgdmVyeSBoaWdoIHRpbWVzdGFtcCB2YWx1ZSBhbmQgdGhlbiBkZWFkLWxvY2sgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdHJlYW1faXNfdm9yYmlzX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBEb24ndCBtaXNpbnRlcnByZXQgR1NUX0NMT0NLX1RJTUVfTk9ORSBhcyB2ZXJ5IGhpZ2ggdGltZXN0YW1wCgkgIHZhbHVlIGFuZCB0aGVuIGRlYWQtbG9jayB3aGVuIG11eGluZyB2b3JiaXMgYXVkaW8gc3RyZWFtcwoJICAodGhlIHRocmVlIHZvcmJpcyBoZWFkZXIgYnVmZmVycyBjYXJyeSBubyB0aW1lc3RhbXAsIGFuZCBpdAoJICB3b3VsZCB0cnkgdG8gbXV4IHRoZXNlIGFmdGVyIGFsbCB2aWRlbyBidWZmZXJzKS4gRml4ZXMgIzM0MDM0Ni4KCSAgSW1wcm92ZSBjbHVzdGVyaW5nOiBzdGFydCBhIG5ldyBjbHVzdGVyIGFsc28gd2hlbmV2ZXIgd2UgZ2V0CgkgIGEga2V5ZnJhbWUuCgoyMDA2LTA1LTAzIDE0OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYSBkZWFkIGNvZGUgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEKCSAgZGVhZCBjb2RlIGJsb2NrLgoKMjAwNi0wNS0wMyAxNDoyODo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgd2luMzIgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgYWRkIHdpbjMyIHN0dWZmCgoyMDA2LTA1LTAzIDE0OjI2OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCB3aW4zMiBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBhZGQgd2luMzIgc3R1ZmYKCjIwMDYtMDUtMDIgMjI6MzQ6NTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiBGaXggdGltZW92ZXJsYXkgZm9yIG5vbi1tdWx0aXBsZS1vZi00IHdpZHRocy4gVGhpcyBmb3VyY2MgY3JhcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdHJhbnNmb3JtKToKCSAgRml4IHRpbWVvdmVybGF5IGZvciBub24tbXVsdGlwbGUtb2YtNCB3aWR0aHMuIFRoaXMgZm91cmNjIGNyYXAKCSAgU1VDS1MuCgoyMDA2LTA1LTAyIDIxOjUyOjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoKMjAwNi0wNS0wMiAxODo1MDoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogZG9uJ3QgbGVhayBjYXBzLXN0cmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl91cGRhdGVfY2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKToKCSAgZG9uJ3QgbGVhayBjYXBzLXN0cmluZwoKMjAwNi0wNS0wMiAxNTo0NjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBMZXQgY29yZSBpbnNlcnQgZGVmYXVsdCBlcnJvciBtZXNzYWdlIGZvciBUWVBFX05PVF9GT1VORCBlcnJvcnMsIGl0J3MganVzdCBhcyBnb29kIGFzIG91ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIExldCBjb3JlIGluc2VydCBkZWZhdWx0IGVycm9yIG1lc3NhZ2UgZm9yIFRZUEVfTk9UX0ZPVU5ECgkgIGVycm9ycywgaXQncyBqdXN0IGFzIGdvb2QgYXMgb3VyIG93biBhbmQgaGFzIHRoZSBhZGRlZAoJICBib251cyBvZiBiZWluZyB0cmFuc2xhdGVkLgoKMjAwNi0wNS0wMiAxNTo0MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYW5kIHdlcmUgbm90IGFibGUgdG8gZmluZCBvdXQgdGhlIHR5cGUgb2Ygc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2luaXQpLAoJICAoZ3N0X3RhZ19kZW11eF9zaW5rX2V2ZW50KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9pbml0KSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2V2ZW50KToKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBhbmQgd2VyZSBub3QKCSAgYWJsZSB0byBmaW5kIG91dCB0aGUgdHlwZSBvZiBzdHJlYW0uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKGZpbGxfbXAzX2J1ZmZlciksIChnb3RfYnVmZmVyKSwKCSAgKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICBEZWNyZWFzZSBudW0tYnVmZmVycyB0byAxNiBwZXIgaXRlcmF0aW9uIGFnYWluLCBvdGhlcndpc2UgdGhlCgkgIG1hbnkgbWVtY3B5KClzIGFuZCByZWFsbG9jYXRpb25zIGluIHRoZSB0ZXN0IHdpbGwgaGFtbWVyIHNsb3cKCSAgQ1BVcyBjb21wbGV0ZWx5IGFuZCBtYWtlIHRoZSB0ZXN0IHRpbWVvdXQuCgoyMDA2LTA1LTAyIDEzOjI0OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZmlndXJlIG91dCB3aGVyZSBwbHVnaW5zLWJhc2UgcGx1Z2lucyBhcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBmaWd1cmUgb3V0IHdoZXJlIHBsdWdpbnMtYmFzZSBwbHVnaW5zIGFyZQoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB1c2UgcGx1Z2lucy1iYXNlIHBsdWdpbnMsIHNvIHdlIGhhdmUgdHlwZWZpbmQgZnVuY3Rpb25zCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICBpbmNyZWFzZSBudW0tYnVmZmVycywgdGhpcyBtYWtlcyBzdXJlIHRoZSB0ZXN0IGVycm9ycyBvdXQgaW5zdGVhZAoJICBvZiB0aW1pbmcgb3V0IHdoZW4gbm8gdHlwZWZpbmQgZnVuY3Rpb25zIGFyZSBwcmVzZW50CgoyMDA2LTA1LTAyIDEzOjAxOjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBmaXggZG9jcyBmb3Igd2F2cGFyc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkb2NzIGZvciB3YXZwYXJzZQoKMjAwNi0wNS0wMSAyMTozNzo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgoyMDA2LTA1LTAxIDExOjQ2OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogYWxzbyBjaGVjayAuY2MgZmlsZXMgZm9yIGd0ay1kb2MgbWFya3VwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgYWxzbyBjaGVjayAuY2MgZmlsZXMgZm9yIGd0ay1kb2MgbWFya3VwCgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6IChpZDN2Mm11eF9zdWl0ZSksIChtYWluKToKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICBtb3ZlIHRhZ2xpYi1iYXNlZCBpZDN2Mm11eGVyIHRvIC1nb29kLiAgRml4ZXMgIzMzNjExMC4KCjIwMDYtMDUtMDEgMTE6NDU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgYWRkIGljeWRlbXV4IGluc3BlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBpY3lkZW11eCBpbnNwZWN0aW9uCgoyMDA2LTA1LTAxIDExOjQzOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIGFkZCB4aW1hZ2VzcmMgZm9yIHRyYW5zbGF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgeGltYWdlc3JjIGZvciB0cmFuc2xhdGlvbgoKMjAwNi0wNC0zMCAxNjoxNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMzAgMTU6MzI6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgZml4IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkb2NzCgoyMDA2LTA0LTMwIDE0OjU1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgoyMDA2LTA0LTI5IDE4OjQ2OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KSBjYXNlIG9mIGFuIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpCgkgIGNhc2Ugb2YgYW4gZXJyb3IuCgoyMDA2LTA0LTI5IDE4OjE4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8gaXRzIG93biBzdWJjbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvCgkgIGl0cyBvd24gc3ViY2xhc3MuCgoyMDA2LTA0LTI5IDE2OjE0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IC4uLiBhbmQgZml4IG11bHRpY2hhbm5lbC9XQVZGT1JNQVRFWCBzdXBwb3J0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIC4uLiBhbmQgZml4IG11bHRpY2hhbm5lbC9XQVZGT1JNQVRFWCBzdXBwb3J0IGFnYWluLgoKMjAwNi0wNC0yOCAyMzowOToxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEFkZCBwdXNoIChzdHJlYW1pbmcpIG1vZGUgdG8gd2F2cGFyc2UgKGZpeGVzICMzMzc2MjUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2FkdGwpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2N1ZXMpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLCAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEFkZCBwdXNoIChzdHJlYW1pbmcpIG1vZGUgdG8gd2F2cGFyc2UgKGZpeGVzICMzMzc2MjUpCgoyMDA2LTA0LTI4IDIxOjQzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGVsZW1lbnQgcmVuYW1lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZWxlbWVudCByZW5hbWVkCgoyMDA2LTA0LTI4IDE5OjIyOjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBhZGQgcGx1Z2luIGRvY3MgZm9yIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHBsdWdpbiBkb2NzIGZvciB4aW1hZ2VzcmMKCjIwMDYtMDQtMjggMTk6MTU6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIHhpbWFnZXNyYyBpY2xlcyB0ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgYWRkIHhpbWFnZXNyYyBpY2xlcyB0ZXN0CgoyMDA2LTA0LTI4IDE4OjU3OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIE1vdmUgeGltYWdlc3JjIHBsdWctaW4gdG8gZ29vZCBhZnRlciByZXZpZXcuICBGaXhlcyAjMzM2NzU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9jbW1sX2VuY19wdXNoX2NsaXApOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIE1vdmUgeGltYWdlc3JjIHBsdWctaW4gdG8gZ29vZCBhZnRlciByZXZpZXcuICBGaXhlcyAjMzM2NzU2LgoKMjAwNi0wNC0yOCAxNjo1MTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICBib3JnaWZ5IG5hbWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeSBuYW1pbmcKCjIwMDYtMDQtMjggMTY6NDY6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZG9jIHR3ZWFrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHR3ZWFrcwoKMjAwNi0wNC0yOCAxNjoxNToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCjIwMDYtMDQtMjggMTU6MzM6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgcGVkYW50aWMgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBlZGFudGljIGNsZWFudXBzCgoyMDA2LTA0LTI4IDE0OjU3OjU3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguKjogRml4IGV2ZW50IGhhbmRsaW5nOiBjYWNoZSBldmVudHMgd2hlbiB0eXBlZmluZGluZyBhbmQgZm9yd2FyZCBsYXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfcmVzZXQpLCAgICAgICAgIChnc3RfaWN5ZGVtdXhfaW5pdCksIChnc3RfaWN5ZGVtdXhfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9pY3lkZW11eF9hZGRfc3JjcGFkKSwgKGdzdF9pY3lkZW11eF9wYXJzZV9hbmRfc2VuZF90YWdzKSwKCSAgKGdzdF9pY3lkZW11eF9oYW5kbGVfZXZlbnQpLCAoZ3N0X2ljeWRlbXV4X3NlbmRfY2FjaGVkX2V2ZW50cyksCgkgIChnc3RfaWN5ZGVtdXhfdHlwZWZpbmRfb3JfZm9yd2FyZCksIChnc3RfaWN5ZGVtdXhfYWRkX21ldGEpLAoJICAoZ3N0X2ljeWRlbXV4X2NoYWluKSwgKGdzdF9pY3lkZW11eF9zZW5kX3RhZ19ldmVudCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgIEZpeCBldmVudCBoYW5kbGluZzogY2FjaGUgZXZlbnRzIHdoZW4gdHlwZWZpbmRpbmcgYW5kIGZvcndhcmQgbGF0ZXIuCgoyMDA2LTA0LTI4IDE0OjU1OjIwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiBSZWdpc3RlciBvc3hhdWRpb3NyYyB0byB0aGUgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0yOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKHBsdWdpbl9pbml0KToKCSAgUmVnaXN0ZXIgb3N4YXVkaW9zcmMgdG8gdGhlIHBsdWdpbi4KCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX29zeGVsZW1lbnRfZG9faW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19iYXNlX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfY3JlYXRlX3JpbmdidWZmZXIpLCAoZ3N0X29zeF9hdWRpb19zcmNfaW9fcHJvYyksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19vc3hlbGVtZW50X2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBQb3J0IG9mIG9zeGF1ZGlvc3JjIHRvIDAuMTAuCgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBBZGQgb3N4YXVkaW9zcmMKCjIwMDYtMDQtMjggMTI6MDA6MzkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIGNvbW1pdCBDaGFuZ2Vsb2cgZm9yIHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWl0IENoYW5nZWxvZyBmb3IgcHJldmlvdXMgY29tbWl0CgoyMDA2LTA0LTI4IDExOjU3OjM5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgRm9yZ290IHRvIGNvbW1pdCwgcXVpY2sgY29tbWl0IGJlNCBhcHBsZSBkaWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGb3Jnb3QgdG8gY29tbWl0LCBxdWljayBjb21taXQgYmU0IGFwcGxlIGRpZXMKCjIwMDYtMDQtMjggMTE6Mzc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUmVjb2duaXNlIGFuZCBza2lwIGFueSBieXRlIG9yZGVyIG1hcmtlciAoQk9NKSBpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGhhc191dGYxNl9ib20pLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIFJlY29nbmlzZSBhbmQgc2tpcCBhbnkgYnl0ZSBvcmRlciBtYXJrZXIgKEJPTSkgaW4KCSAgVVRGLTE2IHN0cmluZ3MuCgoyMDA2LTA0LTI3IDE2OjA1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGRvY3MgZm9yIGJvdGggYXZpZGVtdXggYW5kIGF2aW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBBZGQgZG9jcyBmb3IgYm90aCBhdmlkZW11eCBhbmQgYXZpbXV4LgoKMjAwNi0wNC0yNyAxNDo1MTowNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvOiBQb3J0IEFWSSBtdXhlciB0byBHU3RyZWFtZXItMC4xMCAoIzMzMjAzMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9nc3RhdmkuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2F2aV9tdXhfYmFzZV9pbml0KSwgKGdzdF9hdmlfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9hdmlfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2F2aV9tdXhfaW5pdCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2F2aV9tdXhfcGFkX2xpbmspLCAoZ3N0X2F2aV9tdXhfcGFkX3VubGluayksCgkgIChnc3RfYXZpX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2F2aV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfdGFnKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpeF9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfdmlkZW9faGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F1ZGlvX2hlYWRlciksIChnc3RfYXZpX211eF9hZGRfaW5kZXgpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfaW5kZXgpLCAoZ3N0X2F2aV9tdXhfYmlnZmlsZSksCgkgIChnc3RfYXZpX211eF9zdGFydF9maWxlKSwgKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSksCgkgIChnc3RfYXZpX211eF9yZXN0YXJ0X2ZpbGUpLCAoZ3N0X2F2aV9tdXhfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9hdmlfbXV4X2ZpbGxfcXVldWUpLCAoZ3N0X2F2aV9tdXhfc2VuZF9wYWRfZGF0YSksCgkgIChnc3RfYXZpX211eF9zdHJpcF9idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fYXVkaW9fYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2RvX3ZpZGVvX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19vbmVfYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2xvb3ApLCAoZ3N0X2F2aV9tdXhfY29sbGVjdF9wYWRzKSwKCSAgKGdzdF9hdmlfbXV4X2dldF9wcm9wZXJ0eSksIChnc3RfYXZpX211eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F2aV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBQb3J0IEFWSSBtdXhlciB0byBHU3RyZWFtZXItMC4xMCAoIzMzMjAzMSkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgQVZJIG11eGVyLgoKMjAwNi0wNC0yNiAyMToyOTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IHJldmVydGVkIHBhdGNoICMzMzc2MjUgZm9yIHRoZSBwcmljZSBvZiAxIGhvdXIgc2xlZXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfaW5pdCksIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICByZXZlcnRlZCBwYXRjaCAjMzM3NjI1IGZvciB0aGUgcHJpY2Ugb2YgMSBob3VyIHNsZWVwCgoyMDA2LTA0LTI2IDIwOjExOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogY29ycmVjdCBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHB1c2ggbW9kZSAoZnJvbSBteSBsYXN0IGNvbW1pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfaW5pdCksIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfYWR0bCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfY3VlcyksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBjb3JyZWN0IHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgcHVzaCBtb2RlCgkgIChmcm9tIG15IGxhc3QgY29tbWl0KQoKMjAwNi0wNC0yNiAxNzozNzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBGaXggY29tcGlsZSBwcm9ibGVtIGJ5IGRlZmluaW5nIEVTRF9NQVhfV1JJVEVfU0laRSBpZiBpdCBpcyBub3QgaW4gZXNkLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgIEZpeCBjb21waWxlIHByb2JsZW0gYnkgZGVmaW5pbmcgRVNEX01BWF9XUklURV9TSVpFIGlmCgkgIGl0IGlzIG5vdCBpbiBlc2QuaAoKMjAwNi0wNC0yNiAxNzowODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuKjogUmV3cml0ZSBhdXBhcnNlIHRvIHN1Y2sgYSBsaXR0bGUgYml0IGxlc3M6IG1ha2Ugc291cmNlIHBhZCBkeW5hbWljLCBzbyBkZWNvZGViaW4vcGxheWJpbiB3by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hdV9wYXJzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9yZXNldCksIChnc3RfYXVfcGFyc2VfYWRkX3NyY3BhZCksCgkgIChnc3RfYXVfcGFyc2VfcmVtb3ZlX3NyY3BhZCksIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwKCSAgKGdzdF9hdV9wYXJzZV9jaGFpbiksIChnc3RfYXVfcGFyc2Vfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2F1X3BhcnNlX3NyY19xdWVyeSksIChnc3RfYXVfcGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F1X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X2F1X3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfYXVfcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFJld3JpdGUgYXVwYXJzZSB0byBzdWNrIGEgbGl0dGxlIGJpdCBsZXNzOiBtYWtlIHNvdXJjZSBwYWQKCSAgZHluYW1pYywgc28gZGVjb2RlYmluL3BsYXliaW4gd29yayB3aXRoIG5vbi1yYXcgZm9ybWF0cwoJICBsaWtlIGFsYXcvbXVsYXc7IGFkZCBxdWVyeSBmdW5jdGlvbiBmb3IgZHVyYXRpb24vcG9zaXRpb24KCSAgcXVlcmllczsgY2hlY2sgd2hldGhlciB3ZSBoYXZlIGVub3VnaCBkYXRhIGJlZm9yZSBhdHRlbXB0aW5nCgkgIHRvIHBhcnNlIHRoZSBoZWFkZXIgKGluc3RlYWQgb2YgY3Jhc2hpbmcgd2hlbiB0aGF0IGlzIG5vdCB0aGUKCSAgY2FzZSk7IHdvcmsgYXJvdW5kIGF1ZGlvY29udmVydCBzdWNraW5nIGJ5IHN3YXBwaW5nIGVuZGlhbm5lc3MKCSAgdG8gdGhlIG5hdGl2ZSBlbmRpYW5uZXNzIG91cnNlbHZlcyBmb3IgZmxvYXQgZm9ybWF0czsgc2VuZAoJICBpbml0aWFsIG5ld3NlZ21lbnQgZXZlbnQuIEZpeGVzICMxNjE3MTIuCgoyMDA2LTA0LTI2IDE2OjI5OjM4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL29zeGF1ZGlvLzogUG9ydCBvZiBvc3hhdWRpb3NpbmsgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0yNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgIChnc3Rfb3N4X2F1ZGlvX2VsZW1lbnRfZ2V0X3R5cGUpLAoJICAoZ3N0X29zeF9hdWRpb19lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3Npbmtfb3N4ZWxlbWVudF9kb19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19iYXNlX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9vc3hfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlciksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfaW9fcHJvYyksIChnc3Rfb3N4X2F1ZGlvX3Npbmtfb3N4ZWxlbWVudF9pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIFBvcnQgb2Ygb3N4YXVkaW9zaW5rIHRvIDAuMTAKCjIwMDYtMDQtMjYgMDg6NTU6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogQWx3YXlzIHdyaXRlIEVTRF9CVUZfU0laRSBieXRlcyBhbmQgdXNlIEVTRF9NQVhfV1JJVEVfU0laRSBhcyB0aGUgc2l6ZSBvZiB0aGUgcmluZ2J1ZmZlci4gVGhpcyBzaG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19wcmVwYXJlKSwgKGdzdF9lc2RzaW5rX2RlbGF5KToKCSAgQWx3YXlzIHdyaXRlIEVTRF9CVUZfU0laRSBieXRlcyBhbmQgdXNlIEVTRF9NQVhfV1JJVEVfU0laRSBhcwoJICB0aGUgc2l6ZSBvZiB0aGUgcmluZ2J1ZmZlci4gVGhpcyBzaG91bGQgZml4IGhhbmdzIHdpdGggb2xkZXIKCSAgZXNkIHNvdW5kIHNlcnZlcnMuCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMjUgMjE6Mzk6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfaW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzogKGdzdF9nYW1tYV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSAgKGdzdF92aWRlb3RlbXBsYXRlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwKCSAgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0yNSAxNzo1NzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogU291cmNlIHBhZCBoYXMgZml4ZWQgY2Fwcy4gSWYgd2UgZG9uJ3Qgc2V0IHRoaXMsIGJhZCB0aGluZ3MgaGFwcGVuIHdoZW4gdGhlIHdpbmRvdyBpcyByZXNpemVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBTb3VyY2UgcGFkIGhhcyBmaXhlZCBjYXBzLiBJZiB3ZSBkb24ndCBzZXQgdGhpcywgYmFkCgkgIHRoaW5ncyBoYXBwZW4gd2hlbiB0aGUgd2luZG93IGlzIHJlc2l6ZWQuCgoyMDA2LTA0LTI1IDE2OjM4OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogSGFuZGxlIGNhc2Ugd2hlcmUgdGhlIFRyYWNrVHlwZSBlYm1sIGNodW5rIGRvZXMgbm90IGNvbWUgYmVmb3JlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfdmlkZW9fY29udGV4dCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9hdWRpb19jb250ZXh0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3N1YnRpdGxlX2NvbnRleHQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfY29tcGxleF9jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEhhbmRsZSBjYXNlIHdoZXJlIHRoZSBUcmFja1R5cGUgZWJtbCBjaHVuayBkb2VzIG5vdCBjb21lIGJlZm9yZSB0aGUKCSAgVHJhY2tJbmZvQXVkaW8gb3IgVHJhY2tJbmZvVmlkZW8gZWJtbCBjaHVuayAoIzMzOTQ0NikuIElnbm9yZSBRb1MKCSAgZXZlbnRzLgoKMjAwNi0wNC0yNSAxNjowOTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBJdCdzIGNvZGVjX2RhdGEsIG5vdCBjb2RlY19pbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBJdCdzIGNvZGVjX2RhdGEsIG5vdCBjb2RlY19pbmZvLgoKMjAwNi0wNC0yNSAxMTo0NTowMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgY29kZWNfZGF0YSBmb3IgVmZXIGNvbXBhdGliaWxpdHkgY29kZWMgSURzICgjMzM5NDUxKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgSGFuZGxlIGNvZGVjX2RhdGEgZm9yIFZmVyBjb21wYXRpYmlsaXR5IGNvZGVjIElEcyAoIzMzOTQ1MSkKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgU2FtZSBoZXJlLCBoYW5kbGUgY29kZWNfZGF0YSBhbmQgYWRkIGFkZGl0aW9uYWwgY2FwcyB3ZSBjYW4gaGFuZGxlCgkgIG5vdyB0byB0aGUgcGFkIHRlbXBsYXRlIChodWZmeXV2LCBkdiBhbmQgaDI2MyB2aWRlbykgKCMzMzk0NTEpCgoyMDA2LTA0LTI1IDExOjA5OjI0ICswMDAwICBKb3NlZiBabG9tZWsgPGpvc2VmLnpsb21la0BpdG9uaXMudHY+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCB0aW1lc3RhbXBpbmcgb2YgQi1mcmFtZXMsIHVzZSBzaWduZWQgaW50ZWdlcnMsIGRvIHNvbWUgcm91bmRpbmcgKCMzMzk2NzgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VmIFpsb21layAgPGpvc2VmIGRvdCB6bG9tZWsgYXQgaXRvbmlzIGRvdCB0dj4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV9idWZmZXJfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIEZpeCB0aW1lc3RhbXBpbmcgb2YgQi1mcmFtZXMsIHVzZSBzaWduZWQgaW50ZWdlcnMsIGRvCgkgIHNvbWUgcm91bmRpbmcgKCMzMzk2NzgpLgoKMjAwNi0wNC0yNCAxODozMDo1NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgIGp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCjIwMDYtMDQtMjMgMTU6NTU6MzAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggYSBiYWQgY29udmVyc2lvbiB1c2luZyBnc3RfZ3VpbnQ2NF90b19nZG91YmxlLiBmYWJzICgoZ2RvdWJsZSkgZGVtdXgtPmluZGV4W2VudHJ5XS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspOgoJICBGaXggYSBiYWQgY29udmVyc2lvbiB1c2luZyBnc3RfZ3VpbnQ2NF90b19nZG91YmxlLgoJICBmYWJzICgoZ2RvdWJsZSkgZGVtdXgtPmluZGV4W2VudHJ5XS50aW1lIC0gKGdkb3VibGUpIHNlZWtfcG9zKSBjYW4gbm90IGJlCgkgIHJlcGxhY2VkIGJ5IGZhYnMgKGdzdF9ndWludDY0X3RvX2dkb3VibGUgKGRlbXV4LT5pbmRleFtlbnRyeV0udGltZSAtIHNlZWtfcG9zKSkgYXMgdGhlCgkgIGRpZmZlcmVuY2UgY291bGQgYmUgbmVnYXRpdmUuIGZhYnMgKGdzdF9ndWludDY0X3RvX2dkb3VibGUgKGRlbXV4LT5pbmRleFtlbnRyeV0udGltZSkgLQoJICBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIChzZWVrX3BvcykpIGlzIHRoZSBnb29kIHNvbHV0aW9uLiBUaGFua3MgdG8gVGltIHdobyBoYXMgc2VlbiBteQoJICBtaXN0YWtlLgoKMjAwNi0wNC0yMiAxNTozMjo0OCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspOgoJICBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbnMKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGljeWRlbXV4LmRzcDoKCSAgQWRkIGEgcHJvamVjdCBmaWxlIGZvciBpY3lkZW11eAoKMjAwNi0wNC0yMSAxODowNzoxMCArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogV2hlbiBzcGxpdHRpbmcgYXVkaW8gY2h1bmtzLCB0aGUgYmxvY2sgYWxpZ25tZW50IGlzIG5vdCB0YWtlbiBpbiBjb25zaWRlcmF0aW9uLCBzbyB0aGUgc21hbGxlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgIFdoZW4gc3BsaXR0aW5nIGF1ZGlvIGNodW5rcywgdGhlIGJsb2NrIGFsaWdubWVudCBpcyBub3QgdGFrZW4gaW4KCSAgY29uc2lkZXJhdGlvbiwgc28gdGhlIHNtYWxsZXIgY2h1bmtzIGNvdWxkIGJlIG9mIHNpemUgd2hpY2ggaXMKCSAgbm90IGEgbXVsdGlwbGUgb2YgdGhlIGJsb2NrIGFsaWdubWVudC4gRml4ZXMgIzMzNjkwNAoKMjAwNi0wNC0yMSAxNzo1OTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBVc2Ugc2NhbGUgZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19jb252ZXJ0KToKCSAgVXNlIHNjYWxlIGZ1bmN0aW9ucwoKMjAwNi0wNC0yMSAxNzoyNzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdi9nc3Rkdi5jOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICBGaXggYnVpbGQuCgoyMDA2LTA0LTIxIDE3OjE1OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IEFkZCAnZm9ybWF0JyBwcm9wZXJ0eSB0byBmb3JjZSBxdWVyeWluZyB0byBhIHBhcnRpY3VsYXIgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfZmluYWxpemUpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9jbGFzc19pbml0KSwgKGdzdF9wcm9ncmVzc19yZXBvcnRfaW5pdCksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2RvX3F1ZXJ5KSwgKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfZ2V0X3Byb3BlcnR5KToKCSAgQWRkICdmb3JtYXQnIHByb3BlcnR5IHRvIGZvcmNlIHF1ZXJ5aW5nIHRvIGEgcGFydGljdWxhciBmb3JtYXQuCgoyMDA2LTA0LTIxIDE1OjUwOjI4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZHYvZ3N0ZHYuYyAocGx1Z2luX2luaXQpOiBsaWJkdiBpcyBhIG1hcmdpbmFsIGRlY29kZXIsIGF0IGJlc3QsIG9uIGJpZyBlbmRpYW4gc3lzdGVtcy4gRHJvcCBpdHMgcmFuayBpbiB0aGF0IGNhc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMjEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2LmMgKHBsdWdpbl9pbml0KTogbGliZHYgaXMgYSBtYXJnaW5hbCBkZWNvZGVyLCBhdAoJICBiZXN0LCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMuIERyb3AgaXRzIHJhbmsgaW4gdGhhdCBjYXNlLiBPVE9IIG9uCgkgIHg4NiBpdCdzIHF1aXRlIGZpbmUuIFNlZSBjaGFuZ2VzIGZyb20gdG9kYXkgaW4gZ3N0LWZmbXBlZyBhcyB3ZWxsLgoKMjAwNi0wNC0yMSAwOToyNzoxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGljeWRlbXV4LCBhbmQgdGVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2ljeWRlbXV4X2Jhc2VfaW5pdCksIChnc3RfaWN5ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfaWN5ZGVtdXhfcmVzZXQpLCAoZ3N0X2ljeWRlbXV4X2luaXQpLAoJICAoZ3N0X2ljeWRlbXV4X3Npbmtfc2V0Y2FwcyksIChnc3RfaWN5ZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfaWN5ZGVtdXhfYWRkX3NyY3BhZCksIChnc3RfaWN5ZGVtdXhfcmVtb3ZlX3NyY3BhZCksCgkgICh1bmljb2RpZnkpLCAoZ3N0X2ljeWRlbXV4X3VuaWNvZGlmeSksCgkgIChnc3RfaWN5ZGVtdXhfcGFyc2VfYW5kX3NlbmRfdGFncyksCgkgIChnc3RfaWN5ZGVtdXhfdHlwZWZpbmRfb3JfZm9yd2FyZCksIChnc3RfaWN5ZGVtdXhfYWRkX21ldGEpLAoJICAoZ3N0X2ljeWRlbXV4X2NoYWluKSwgKGdzdF9pY3lkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2ljeWRlbXV4X3NlbmRfdGFnX2V2ZW50KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAodHlwZWZpbmRfc3VjY2VlZCksCgkgIChwbHVnaW5faW5pdCksIChpY3lkZW11eF9mb3VuZF9wYWQpLCAoY3JlYXRlX2ljeWRlbXV4KSwKCSAgKGNsZWFudXBfaWN5ZGVtdXgpLCAocHVzaF9kYXRhKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGljeWRlbXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgaWN5ZGVtdXgsIGFuZCB0ZXN0cy4KCjIwMDYtMDQtMjAgMTc6NDg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFBvc3QgU0VHTUVOVF9ET05FIG1lc3NhZ2UgaW4gVElNRSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKToKCSAgUG9zdCBTRUdNRU5UX0RPTkUgbWVzc2FnZSBpbiBUSU1FIGZvcm1hdC4KCjIwMDYtMDQtMjAgMTc6Mjk6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCjIwMDYtMDQtMjAgMTY6MzM6NTUgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBpbmRleCBjcmVhdGlvbiB3aGVuIHdlIGhhdmUgdG8gc2NhbiB0aGUgZmlsZSB0byBjcmVhdGUgYW4gaW5kZXguIFRoZXJlIG1heSBiZSBvdGhlciB0eXBlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpICA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBGaXggaW5kZXggY3JlYXRpb24gd2hlbiB3ZSBoYXZlIHRvIHNjYW4gdGhlIGZpbGUgdG8gY3JlYXRlCgkgIGFuIGluZGV4LiBUaGVyZSBtYXkgYmUgb3RoZXIgdHlwZXMgb2YgUklGRiAnTElTVCcgY2h1bmtzIHRoYW4KCSAgJ21vdmknIGFuZCB3ZSBuZWVkIHRvIHNraXAgdGhlbSBwcm9wZXJseSBhcyB3ZWxsIG9yIHdlJ2xsIGVuZCB1cAoJICByZWFkaW5nIGdhcmJhZ2UgKCMzMzY4ODkpLiBTb21lIG90aGVyIGNvc21ldGljIGNoYW5nZXMuCgoyMDA2LTA0LTIwIDE0OjIxOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBZGQgc3VwcG9ydCBmb3Igc2VnbWVudCBzZWVrcyAoZml4ZXMgIzMzODI5MCkuIEFsc28gZGVtb3RlIHNvbWUgcmVjdXJyaW5nIGRlYnVnIG1lc3NhZ2UgZnJvbSBELi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKSwKCSAgKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCk6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzIChmaXhlcyAjMzM4MjkwKS4gQWxzbyBkZW1vdGUKCSAgc29tZSByZWN1cnJpbmcgZGVidWcgbWVzc2FnZSBmcm9tIERFQlVHIHRvIExPRyBsZXZlbC4KCjIwMDYtMDQtMjAgMTM6MjM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBTZXQgRElTQ09OVCBmbGFnIG9uIGZpcnN0IGJ1ZmZlciBhZnRlciBhIGRpc2NvbnRpbnVpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2VlayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgU2V0IERJU0NPTlQgZmxhZyBvbiBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBkaXNjb250aW51aXR5LgoJICBGaXggbmV3c2VnbWVudCBldmVudHMgc2VudCB3aGVuIHNlZWtpbmcgYW5kIGhvbm91ciBLRVlfVU5JVAoJICBzZWVrIGZsYWcuIENyZWF0ZSBwYWQgd2l0aCBib2d1cyBjYXBzIGlmIHdlIGRvbid0IHJlY29nbmlzZQoJICB0aGUgc3RyZWFtIGNvZGVjIGlkLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA2LTA0LTIwIDExOjAwOjE2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBlbmQgb2Ygc2VnbWVudCBwcm9wZXJseSB3aGVuIHNldDsgZG9uJ3QgZGVhZC1sb2NrIHdoZW4gcG9zdGluZyBzdGFydCBvZiBzZWdtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgSGFuZGxlIGVuZCBvZiBzZWdtZW50IHByb3Blcmx5IHdoZW4gc2V0OyBkb24ndCBkZWFkLWxvY2sgd2hlbgoJICBwb3N0aW5nIHN0YXJ0IG9mIHNlZ21lbnQgbWVzc2FnZSB3aGVuIGRvaW5nIGEgc2VnbWVudCBzZWVrLgoJICBGaXhlcyAjMzM4ODEwLgoKMjAwNi0wNC0yMCAwOTo0ODowNSArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIEFkZCBxdGRydyBtaW1lIHR5cGUuCgkgIEZpeGVzICMzMzkwNDEKCjIwMDYtMDQtMjAgMDk6MTE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogTWFrZSBtcGVnMiBhYWMgYXVkaW8gd29yazogY3JlYXRlIGFydGlmaWNpYWwgcHJpdmF0ZSBjb2RlYyBkYXRhIGNodW5rIHdoaWNoIGZhYWQyIHNlZW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGx1Z2luX2luaXQpOgoJICBNYWtlIG1wZWcyIGFhYyBhdWRpbyB3b3JrOiBjcmVhdGUgYXJ0aWZpY2lhbCBwcml2YXRlIGNvZGVjIGRhdGEKCSAgY2h1bmsgd2hpY2ggZmFhZDIgc2VlbXMgdG8gcmVxdWlyZSwganVzdCBhcyB3ZSBkbyBmb3IgbXBlZzQgYWFjLgoJICBBbHNvIGNhbGwgZ3N0X3JpZmZfaW5pdCgpLiBQYXJ0aWFsbHkgZml4ZXMgIzMzODc2Ny4KCjIwMDYtMDQtMTkgMTU6MTY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy4qOiBTZXQgY2FwcyBvbiBmaXJzdCBvdXRnb2luZyBidWZmZXIsIHNvIHRoYXQgaXQgZG9lc24ndCBlcnJvciBvdXQgaW1tZWRpYXRlbHkgd2l0aCBhIG5vbi1uZWdvdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZlbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2ZW5jX2luaXQpLAoJICAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksIChnc3Rfd2F2ZW5jX3B1c2hfaGVhZGVyKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdldF9pZF9mcm9tX25hbWUpLCAoZ3N0X3dhdmVuY19ldmVudCksCgkgIChnc3Rfd2F2ZW5jX2NoYWluKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBTZXQgY2FwcyBvbiBmaXJzdCBvdXRnb2luZyBidWZmZXIsIHNvIHRoYXQgaXQgZG9lc24ndCBlcnJvciBvdXQKCSAgaW1tZWRpYXRlbHkgd2l0aCBhIG5vbi1uZWdvdGlhdGVkIGVycm9yICgjMzM4NzE2KS4gUmV3cml0ZSBhbmQKCSAgY2xlYW4gdXAgYSBiaXQ7IGZpeCBzZXRjYXBzIGZ1bmN0aW9uIHRvIHBhcnNlIHRoaW5ncyBwcm9wZXJseTsKCSAgZml4IHNpbmsgY2FwcyAoOGJpdCBhdWRpbyBpcyB1bnNpZ25lZCBhbmQgZG9lc24ndCBoYXZlIGRlcHRoKTsKCSAgdXNlIGJvaWxlcnBsYXRlIG1hY3JvczsgcmVtb3ZlIHVudXNlZCBwcm9wZXJ0aWVzIHN0dWZmLgoKMjAwNi0wNC0xOSAwOToyNzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBGaXhlcyAjMzM4OTM1LgoKMjAwNi0wNC0xOCAxODoxNDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBMZWF2ZSBKUEVHIGRlY29kaW5nIHRvIG91ciBqcGVnZGVjIHBsdWdpbi4gZ2RrcGl4YnVmZGVjIGNhbm5vdCBoYW5kbGUgTUpQRUcgc3RyZWFtcyBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgTGVhdmUgSlBFRyBkZWNvZGluZyB0byBvdXIganBlZ2RlYyBwbHVnaW4uIGdka3BpeGJ1ZmRlYyBjYW5ub3QKCSAgaGFuZGxlIE1KUEVHIHN0cmVhbXMgYW5kIG1pZ2h0IGJlIGF1dG9wbHVnZ2VkIGZvciB0aG9zZSBpZiB0aGUKCSAgdXNlciBkb2Vzbid0IGhhdmUganBlZ2RlYyBpbnN0YWxsZWQgKHJlc3VsdGluZyBpbiBhIGNyeXB0aWMgZXJyb3IKCSAgbWVzc2FnZSBhYm91dCBodWZmbWFuIHRhYmxlcykuIEJldHRlciB0byBkaXNhYmxlIEpQRUcgZGVjb2RpbmcgaGVyZQoJICBhbmQgbGV0IHRoZSB1c2VyIGZpZ3VyZSBvdXQgdGhhdCBzaGUgbmVlZHMgdG8gaW5zdGFsbCBqcGVnZGVjLgoKMjAwNi0wNC0xOCAxODowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi4qOiBNYWtlIHdvcmsgd2l0aCBwYWNrZXRpc2VkL2ZyYW1lZCBpbnB1dCAoZS5nLiBwbmctaW4tcXVpY2t0aW1lKS4gVXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksIChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgIE1ha2Ugd29yayB3aXRoIHBhY2tldGlzZWQvZnJhbWVkIGlucHV0IChlLmcuIHBuZy1pbi1xdWlja3RpbWUpLiBVc2UKCSAgR1NUX0VMRU1FTlRfRVJST1Igd2hlbiB3ZSByZXR1cm4gR1NUX0ZMT1dfRVJST1IuIEFkZCBzb21lCgkgIEdTVF9ERUJVR19GVU5DUFRSIGhlcmUgYW5kIHRoZXJlLiBVc2UgR1NUX0xPRyBmb3IgcmVjdXJyaW5nCgkgIGRlYnVnIG1lc3NhZ2VzLiBGaXggYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0wNC0xOCAxNzoyOTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBObyBuZWVkIHRvIHNwZWNpYWwtY2FzZSBmb3IgR2RrLTIuMCBhbnkgbG9uZ2VyLCB3ZSByZXF1aXJlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfZ2V0X2NhcHNsaXN0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NldF9wcm9wZXJ0eSksIChnc3RfZ2RrX3BpeGJ1Zl9nZXRfcHJvcGVydHkpOgoJICBObyBuZWVkIHRvIHNwZWNpYWwtY2FzZSBmb3IgR2RrLTIuMCBhbnkgbG9uZ2VyLCB3ZSByZXF1aXJlCgkgIEdkayAyLjIgb3IgbmV3ZXI7IG1pbm9yIGNsZWFuLXVwcy4KCjIwMDYtMDQtMTggMTc6MTc6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZXdyaXRlIGEgYml0OiB1c2UgR3N0QmFzZVNpbms6OnN0YXJ0IGFuZCBzdG9wIGluc3RlYWQgb2YgYSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IHVzZSBHU1RfRUxFTUVOVF9FUlJPUiBmb3IgZXJyb3IgcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2Jhc2VfaW5pdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KSwgKGdzdF9zaG91dDJzZW5kX2luaXQpLAoJICAoc2V0X3Nob3V0X21ldGFkYXRhKSwgKGdzdF9zaG91dDJzZW5kX3NldF9tZXRhZGF0YSksCgkgIChnc3Rfc2hvdXQyc2VuZF9ldmVudCksIChnc3Rfc2hvdXQyc2VuZF9zdGFydCksCgkgIChnc3Rfc2hvdXQyc2VuZF9jb25uZWN0KSwgKGdzdF9zaG91dDJzZW5kX3N0b3ApLAoJICAoZ3N0X3Nob3V0MnNlbmRfcmVuZGVyKSwgKGdzdF9zaG91dDJzZW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2hvdXQyc2VuZF9nZXRfcHJvcGVydHkpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0Y2FwcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgUmV3cml0ZSBhIGJpdDogdXNlIEdzdEJhc2VTaW5rOjpzdGFydCBhbmQgc3RvcCBpbnN0ZWFkIG9mIGEgc3RhdGUKCSAgY2hhbmdlIGZ1bmN0aW9uOyB1c2UgR1NUX0VMRU1FTlRfRVJST1IgZm9yIGVycm9yIHJlcG9ydGluZywgbm90CgkgIGdfZXJyb3IoKSBvciBHU1RfRVJST1IoKTsgZG9uJ3QgdW5yZWYgY2FwcyBpbiBzZXRjYXBzIGZ1bmN0aW9uLAoJICB3aWxsIGNhdXNlIGNyYXNoZXMgb3IgYXNzZXJ0aW9uIGZhaWx1cmVzOyByZW1vdmUgKHVudXNlZCkgInN5bmMiCgkgIHByb3BlcnR5LCBiYXNlc2luayBhbHJlYWR5IGhhcyBzdWNoIGEgcHJvcGVydHk7IG1pc2MuIG90aGVyCgkgIG1pbm9yIGZpeGVzIGFuZCBjbGVhbnVwcy4KCjIwMDYtMDQtMTggMTQ6MTU6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgdHJhbnNsYXRhYmxlIGVycm9yIG1lc3NhZ2UgZm9yIHdoZW4gd2UgY2Fubm90IGNvbm5lY3QgdG8gdGhlIHNvdW5kIHNlcnZlciwgYXMgIkNhbm5vdCBvcGVuIHJlc291cmNlIGZvciB3cml0aW5nIiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19vcGVuKSwgKGdzdF9lc2RzaW5rX3ByZXBhcmUpOgoJICAqIGV4dC9lc2QvZ3N0ZXNkLmM6IChwbHVnaW5faW5pdCk6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCB0cmFuc2xhdGFibGUgZXJyb3IgbWVzc2FnZSBmb3Igd2hlbiB3ZSBjYW5ub3QKCSAgY29ubmVjdCB0byB0aGUgc291bmQgc2VydmVyLCBhcyAiQ2Fubm90IG9wZW4gcmVzb3VyY2UKCSAgZm9yIHdyaXRpbmciIGlzbid0IHJlYWxseSBhbiBhY2NlcHRhYmxlIG1lc3NhZ2UgdG8gc2hvdwoJICB0byB0aGUgdXNlciBpbiB0aGlzIGNhc2UuCgoyMDA2LTA0LTE4IDEzOjMyOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3QtaTE4bi1wbHVnaW4uaDogUmVtb3ZlIGJvZ3VzIGZpbGUgdGhhdCBkb2Vzbid0IGJlbG9uZyBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdC1pMThuLXBsdWdpbi5oOgoJICBSZW1vdmUgYm9ndXMgZmlsZSB0aGF0IGRvZXNuJ3QgYmVsb25nIGhlcmUuCgoyMDA2LTA0LTE3IDE5OjU3OjEwICswMDAwICBQaGlsaXBwZSBWYWxlbWJvaXMgPGxlcGhpbG91c29waGVAdXNlcnMuc2YubmV0PgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuKjogSGFuZGxlIHRhZ3MgYmVpbmcgcmVjZWl2ZWQgYmVmb3JlIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgaXMgZXN0YWJsaXNoZWQgcHJvcGVybHkgKHNlZSAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGhpbGlwcGUgVmFsZW1ib2lzCgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfc2V0X21ldGFkYXRhKSwgKGdzdF9zaG91dDJzZW5kX2V2ZW50KSwKCSAgKGdzdF9zaG91dDJzZW5kX3JlbmRlciksIChnc3Rfc2hvdXQyc2VuZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIEhhbmRsZSB0YWdzIGJlaW5nIHJlY2VpdmVkIGJlZm9yZSB0aGUgY29ubmVjdGlvbiB0bwoJICB0aGUgc2VydmVyIGlzIGVzdGFibGlzaGVkIHByb3Blcmx5IChzZWUgIzMzODYzNikuCgoyMDA2LTA0LTE3IDE5OjQzOjMyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoKMjAwNi0wNC0xNyAxOToxMjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IERvbid0IGNyYXNoIGluIGNhc2UgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBmYWlsczogZG9uJ3Qgc2V0IHBvaW50ZXIgdG8gTlVMTCBieSBhc3NpZ25pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfcmVuZGVyKToKCSAgRG9uJ3QgY3Jhc2ggaW4gY2FzZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGZhaWxzOgoJICBkb24ndCBzZXQgcG9pbnRlciB0byBOVUxMIGJ5IGFzc2lnbmluZyBGQUxTRTsgZXJyb3Igb3V0CgkgIHByb3Blcmx5IGJ5IHVzaW5nIEdTVF9FTEVNRU5UX0VSUk9SIGFuZCByZXR1cm5pbmcKCSAgR1NUX0ZMT1dfRVJST1IgKGZpeGVzICMzMzg2MzYpLiBMYXN0bHksIGZyZWUgY29ubmVjdGlvbgoJICBiZWZvcmUgcmVzZXR0aW5nIHRoZSBwb2ludGVyLgoKMjAwNi0wNC0xNyAxMDowMTo1MSArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsYW5AZmVkb3JhcHJvamVjdC5vcmc+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoRml4ZXMgIzMzODcxMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgUmVjb2duaXNlIFRDTyAoR2VucmUpIHRhZ3MgaW4gSUQzdjIuMi4gUGF0Y2ggYnkgQWxleCBMYW5jYXN0ZXIKCSAgKEZpeGVzICMzMzg3MTMpCgoyMDA2LTA0LTEzIDIxOjQ1OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCjIwMDYtMDQtMTMgMDk6MTU6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIHJldmVydGluZyBydHAgcGF0Y2hlcyB0byBmaXggZnJlZXplIGJyZWFrIG9uIC1iYXNlIGFzIGV4cGxhaW5lZCBvbiB0aGUgbGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2ZXJ0aW5nIHJ0cCBwYXRjaGVzIHRvIGZpeCBmcmVlemUgYnJlYWsgb24gLWJhc2UgYXMgZXhwbGFpbmVkIG9uIHRoZSBsaXN0CgoyMDA2LTA0LTEzIDA5OjAxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cC86IEZpeCBHT2JqZWN0IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA2LTA0LTEzIDAzOjQyOjUxICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cC86IFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0xMiBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJICBBZGRlZCBuZXcgaUxCQyBwYXlsb2FkZXIvZGVwYXlsb2FkZXIuIFBheWxvYWRlciB1c2VzIG5ldyBhdWRpbyBwYXlsb2FkIGJhc2UKCSAgY2xhc3MuCgoyMDA2LTA0LTEyIDIxOjU3OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCjIwMDYtMDQtMTIgMDk6NDI6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfZ2V0X2NhcHNsaXN0KSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfZmx1c2gpLCAoZ3N0X2dka19waXhidWZfc2lua19ldmVudCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgIFNvbWUgY2xlYW51cHMuCgkgIEFkZGVkIFJHQkEgYXMgYSBwb3NzaWJsZSBvdXRwdXQgZm9ybWF0LgoJICBDb3JyZWN0bHkgZnJlZSB0aGUgc3VwcG9ydGVkIG1pbWV0eXBlcy4KCSAgZGVwcmVjYXRlIHNpbGVudCBhcmcsIGl0J3Mgbm90IHVzZWQuCgkgIFJldHVybiByZXN1bHQgZnJvbSBfYWxsb2NfYnVmZmVyIHRvIHBlZXIuCgoyMDA2LTA0LTExIDE4OjAzOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogRG9uJ3QgbGVhayBtZW1vcnkgYWxsb2NhdGVkIGJ5IGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIGJ5IG92ZXJ3cml0aW5nIEdTVF9CVUZGRVJfTUFMTE9DLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGxlYWsgbWVtb3J5IGFsbG9jYXRlZCBieSBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSBieQoJICBvdmVyd3JpdGluZyBHU1RfQlVGRkVSX01BTExPQ0RBVEEuCgoyMDA2LTA0LTExIDE1OjI3OjMxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGZpeCB2ZXJzaW9uIG51bWJlciBtYWNybwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHZlcnNpb24gbnVtYmVyIG1hY3JvCgoyMDA2LTA0LTExIDA5OjM1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogSGFuZGxlIG1vcmUgdGhhbiBvbmUgZnJhbWUgaWYgdGhlIGNvbnRlbnQgaXMgZnJhbWVkLCBsaWtlIHdpdGggcG5nLWluLXF1aWNrdGltZSAoIzMzMTkxNykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLAoJICAodXNlcl9lbmRyb3dfY2FsbGJhY2spLCAodXNlcl9lbmRfY2FsbGJhY2spLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwgKGdzdF9wbmdkZWNfY2hhaW4pLAoJICAoZ3N0X3BuZ2RlY19zaW5rX3NldGNhcHMpLCAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9wbmdkZWNfbGlicG5nX2NsZWFyKSwgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBIYW5kbGUgbW9yZSB0aGFuIG9uZSBmcmFtZSBpZiB0aGUgY29udGVudCBpcyBmcmFtZWQsCgkgIGxpa2Ugd2l0aCBwbmctaW4tcXVpY2t0aW1lICgjMzMxOTE3KS4KCjIwMDYtMDQtMTAgMTk6NTU6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgc3lzL29zcy86IC0gdGhlIHVzZXItdmlzaWJsZSBlcnJvciBzdHJpbmdzIHdlcmUgaW4gdGhlIHdyb25nIGNhdGVnb3J5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9jb21tb24uaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19pbml0KSwgKGdzdF9vc3Nfc2lua19vcGVuKSwKCSAgKGdzdF9vc3Nfc2lua19wcmVwYXJlKSwgKGdzdF9vc3Nfc2lua191bnByZXBhcmUpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19wcmVwYXJlKSwKCSAgKGdzdF9vc3Nfc3JjX3VucHJlcGFyZSk6CgkgIC0gdGhlIHVzZXItdmlzaWJsZSBlcnJvciBzdHJpbmdzIHdlcmUgaW4gdGhlIHdyb25nIGNhdGVnb3J5CgkgIC0gYW5kIHRoZSBtZXNzYWdlcyB3ZXJlIG5vdCBtYXJrZWQgZm9yIHRyYW5zbGF0aW9uCgkgIC0gd2hpY2ggaXMgYWN0dWFsbHkgYSBnb29kIHRoaW5nLCBiZWNhdXNlIHRoZXkgd2VyZSBleGFjdGx5CgkgIHRoZSBraW5kIG9mIG1lc3NhZ2UgeW91IHdvdWxkIG5ldmVyIHdhbnQgYW55b25lIHRvIHNlZQoJICAtIHRoZSBtYWNyb3Mgd2VyZSB1c2luZyB2YXJpYWJsZXMgdGhhdCBkaWRuJ3QgZXhpc3QgaW4gdGhlIG1hY3JvCgkgIGFyZ3VtZW50cwoJICAtIGFuZCB0aGV5IHdlcmUgb2J2aW91c2x5IGNvcGllZCBmcm9tIGVhY2ggb3RoZXIgYW5kIHRoZW4gbW9kaWZpZWQKCSAgLSBzbyBhIGNvbW1vbiBoZWFkZXIgbWFrZXMgc2Vuc2UKCjIwMDYtMDQtMTAgMTc6MTY6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCjIwMDYtMDQtMTAgMTY6MDk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IERvbid0IHRyeSB0byBtb2RpZnkgcmVhZC1vbmx5IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIERvbid0IHRyeSB0byBtb2RpZnkgcmVhZC1vbmx5IGRhdGEuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgIEZpeCBjb21tZW50ICh3b24ndCBjcmFzaCBhbnkgbG9uZ2VyIG5vdykuCgoyMDA2LTA0LTEwIDE1OjQ4OjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IFVzZSBjb3BpZXMgb2YgaGVhZGVyIGJ1ZmZlcnMgZm9yIGNhcHMgdG8gYXZvaWQgY2lyY3VsYXIgcmVmY291bnRpbmcgcHJvYmxlbXMgKGFzIGluIHRoZW9yYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX3NldF9oZWFkZXJfb25fY2Fwcyk6CgkgIFVzZSBjb3BpZXMgb2YgaGVhZGVyIGJ1ZmZlcnMgZm9yIGNhcHMgdG8gYXZvaWQgY2lyY3VsYXIgcmVmY291bnRpbmcKCSAgcHJvYmxlbXMgKGFzIGluIHRoZW9yYWRlYywgdm9yYmlzZGVjKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBhIHR5cG8gaW4gdGVzdCB0aGF0IG1lYW50IGl0IHdhcyB0ZXN0aW5nIHRoZSB3cm9uZyB0aGluZy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChjaGVja19oZWFkZXJzKToKCSAgRml4IHJlZmNvdW50IGNoZWNrcyBub3cgdGhhdCB3ZSB1c2UgYnVmZmVyLWNvcGllcyBmb3IgY2Fwcy4KCjIwMDYtMDQtMTAgMTU6NDM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogVXNlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIHdpdGggQU5ZIGNhcHMgZm9yIGF1ZGlvIGFuZCB2aWRlbyBzb3VyY2UgcGFkcyBhbmQgZ2V0IHJpZCBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGx1Z2luX2luaXQpOgoJICBVc2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgd2l0aCBBTlkgY2FwcyBmb3IgYXVkaW8gYW5kIHZpZGVvCgkgIHNvdXJjZSBwYWRzIGFuZCBnZXQgcmlkIG9mIGEgbG90IG9mIHVubmVjZXNzYXJ5IChhbmQgcGFydGlhbGx5CgkgIGJyb2tlbikgY29kZSBmb3IgdGhlIHRlbXBsYXRlIGNhcHMuIENsZWFuIHVwIGNhcHMgZmluZGluZwoJICBmdW5jdGlvbnMuIEZpeGVzIHBsYXliYWNrIG9mIGF1ZGlvIGZpbGVzL3N0cmVhbXMgdGhhdCBkbyBub3QKCSAgY29udGFpbiB0aGUgc2FtcGxlIHJhdGUgYW5kL29yIG51bWJlciBvZiBjaGFubmVscyBpbiB0aGUgYXVkaW8KCSAgY29udGV4dCAoaGFwcGVucyBhIGxvdCB3aXRoIHZvcmJpcy9tcDMgLm1rYSBmaWxlcyBpdCBzZWVtcykuCgkgIEZpeGVzICMzMzcxODMuCgkgIEFsc28gYWRkIG15c2VsZiB0byBjb3B5cmlnaHQgaG9sZGVycy4KCjIwMDYtMDQtMTAgMTU6Mjk6MjEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiBVc2UgZ19saXN0X2RlbGV0ZV9saW5rICgpIGluc3RlYWQgb2YgZ19saXN0X3JlbW92ZV9saW5rICgpIHNvIHRoYXQgd2UgZnJlZSB0aGUgbGluayBhcyB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX3RyYWNrX2xpc3RfZGVsX2NsaXApOgoJICBVc2UgZ19saXN0X2RlbGV0ZV9saW5rICgpIGluc3RlYWQgb2YgZ19saXN0X3JlbW92ZV9saW5rICgpIHNvIHRoYXQKCSAgd2UgZnJlZSB0aGUgbGluayBhcyB3ZWxsIGFzIHRoZSBjb250YWluZWQgZGF0YS4KCjIwMDYtMDQtMTAgMTQ6MjA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCjIwMDYtMDQtMTAgMTA6MTA6NTUgKzAwMDAgIFJ5YW4gTG9ydGllIChkZXNydCkgPGRlc3J0QGRlc3RyLmNhPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggc29tZSBjcmFzaGVycyB3aXRoIGVtcHR5IGNodW5rcy4gKEZpeGVzICMzMzc3NDkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUnlhbiBMb3J0aWUgKGRlc3J0KSA8ZGVzcnQgYXQgZGVzdHIgZG90IGNhPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcik6CgkgIEZpeCBzb21lIGNyYXNoZXJzIHdpdGggZW1wdHkgY2h1bmtzLiAoRml4ZXMgIzMzNzc0OSkKCjIwMDYtMDQtMTAgMDg6MzE6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoKMjAwNi0wNC0wOSAxODozMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogcmVtb3ZlIGF0b2xsIGJ5IHVzaW5nIGdfYXNjaWlfc3RydG91bGwgKGF0b2xsIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0lOMzIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KToKCSAgcmVtb3ZlIGF0b2xsIGJ5IHVzaW5nIGdfYXNjaWlfc3RydG91bGwgKGF0b2xsIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0lOMzIpCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRvbmUgc29tZSBjbGVhbnMgaW4gc291cmNlcwoJICAqIHdpbjMyL3ZzNjoKCSAgYWRkIHByb2plY3QgZmlsZXMgZm9yIG5lb24sIHF0ZGVtdXgKCjIwMDYtMDQtMDkgMTc6MzE6MzcgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiB1c2UgR19HSU5UNjRfQ09OU1RBTlQgZm9yIElOVDY0IGNvbnN0YW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfY2FwcyksKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICB1c2UgR19HSU5UNjRfQ09OU1RBTlQgZm9yIElOVDY0IGNvbnN0YW50cwoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgZGVmaW5lIHJpbnQgZm9yIFdJTjMyICNkZWZpbmUgcmludCh4KSAoZmxvb3IoKHgpKzAuNSkpCgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgIGFkZCBtaXNzaW5nIGxpYnJhcmllcyBmb3IgdGhlIGxpbmsgYW5kIHJlbW92ZSBhdmltdXguYyBmcm9tCgkgIHRoZSBwcm9qZWN0IGFzIGl0IGlzbid0IHBvcnRlZCB0byAwLjEwIHlldAoKMjAwNi0wNC0wOSAxNDowMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogRXZlbiBiZXR0ZXIgd291bGQgYmUgaWYgd2UgYWN0dWFsbHkgZGlkIHRoZSByaWdodCB0aGluZyBoZXJlIChhbHNvLCBHX0dVSU5UNjRfQ09OU1RBTlQgb25seS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NpbnQpOgoJICBFdmVuIGJldHRlciB3b3VsZCBiZSBpZiB3ZSBhY3R1YWxseSBkaWQgdGhlIHJpZ2h0IHRoaW5nCgkgIGhlcmUgKGFsc28sIEdfR1VJTlQ2NF9DT05TVEFOVCBvbmx5IGV4aXN0cyBzaW5jZSBHTGliLTIuMTApLgoKMjAwNi0wNC0wOSAxMzo1MjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogQ2FuJ3QganVzdCByZXBsYWNlIDFMTCB3aXRoIDFMIGhlcmUganVzdCBiZWNhdXNlIE1TVkMgZG9lc24ndCBzdXBwb3J0IGl0LCBhcyBpdCBtaWdodCBsZWFkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NpbnQpOgoJICBDYW4ndCBqdXN0IHJlcGxhY2UgMUxMIHdpdGggMUwgaGVyZSBqdXN0IGJlY2F1c2UgTVNWQyBkb2Vzbid0CgkgIHN1cHBvcnQgaXQsIGFzIGl0IG1pZ2h0IGxlYWQgdG8gaW5jb3JyZWN0IHJlc3VsdHMgd2hlbiBkb2luZyB0aGUKCSAgYml0c2hpZnRpbmcgaGVyZS4gVXNpbmcgR0xpYidzIEdfR1VJTlQ2NF9DT05TVEFOVCgpIG1hY3JvIHRvCgkgIGZvcmNlIGEgNjQtYml0IGNvbnN0YW50IGluIGEgd2F5IHRoYXQgYWxsIGNvbXBpbGVycyBhcmUgaGFwcHkgd2l0aC4KCjIwMDYtMDQtMDggMjE6NDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAoZ3N0X2FydHNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9jbGFzc19pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9jbGFzc19pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAoZ3N0X2ljZWNhc3RzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfY2xhc3NfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6IChnc3RfdGFya2luZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKGdzdF9zeXN0ZW1fZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wMXZpZGVvcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAoZ3N0X3J0anBlZ2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAoZ3N0X3J0anBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKGdzdF94c2hhcnBlbl9jbGFzc19pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9jbGFzc19pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgIChnc3RfdjRsMl9jb2xvcl9iYWxhbmNlX2NoYW5uZWxfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jaGFubmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbm9ybV9jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDggMjE6MjE6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzogKGdzdF9jYWNhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ2RlY19jbGFzc19pbml0KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOiAoZ3N0X21uZ2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jbGFzc19pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzogKGdzdF9tZWRpYW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBMMTZwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6IChnc3RfcnRwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6IChnc3RfcnRwX2dzbV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6IChnc3RfcnRwX2gyNjNfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzogKGdzdF9ydHBfbXBhX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOiAoZ3N0X3J0cF9wY21hX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9jbGFzc19pbml0KToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jbGFzc19pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOiAoZ3N0X29zc2RtYWJ1ZmZlcl9jbGFzc19pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgIChnc3Rfb3N4YXVkaW9lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogKGdzdF9vc3hhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6IChnc3Rfb3N4YXVkaW9zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDggMTk6MDY6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5oOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6NDE6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjI1OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjIzOjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX3N0c3opLAoJICAocXRkZW11eF9kdW1wX3N0Y28pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgRml4IHRpbWVzdGFtcHMgZm9yIEFNUiBhbmQgSU1BNC4gIEZpeGVzICgjMzM3NDM2KS4KCSAgQ3JlYXRlIGEgZHVtbXkgc2VnbWVudCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gZWRpdCBsaXN0LgoKMjAwNi0wNC0wOCAxMzowOTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRG9uJ3QgdHJ5IHRvIHNlZWsgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKHdvdWxkIG9jY2FzaW9uYWxseSBkaXNwbGF5IGVycm9yIGRpYWxvZ3MgaW4gdG90ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBEb24ndCB0cnkgdG8gc2VlayBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAod291bGQKCSAgb2NjYXNpb25hbGx5IGRpc3BsYXkgZXJyb3IgZGlhbG9ncyBpbiB0b3RlbSB3aGVuIHNlZWtpbmcKCSAgdG8gdGhlIGVuZCkgKCMzMzU4NjkpLiBXaWxsIHN0aWxsIHRocm93IGFuIGVycm9yIHRob3VnaAoJICBpZiB0aGUgZmlsZSBpcyB0cnVuY2F0ZWQgYW5kIHRoZSB0b3RhbF9zYW1wbGVzIHZhbHVlIGluCgkgIHRoZSBzdHJlYW0gaGVhZGVyIGlzIHdyb25nLgoKMjAwNi0wNC0wNyAxODoxNTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogSWYgdGhlIHN0cmVhbSBoZWFkZXIgZG9lc24ndCBjb250YWluIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcywgc2VhcmNoIGZvciB0aGUgbGFzdCBmbGFjIGZyYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19jYWxjdWxhdGVfY3JjOCksCgkgIChnc3RfZmxhY19kZWNfc2Nhbl9nb3RfZnJhbWUpLCAoZ3N0X2ZsYWNfZGVjX3NjYW5fZm9yX2xhc3RfYmxvY2spLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIElmIHRoZSBzdHJlYW0gaGVhZGVyIGRvZXNuJ3QgY29udGFpbiB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMsCgkgIHNlYXJjaCBmb3IgdGhlIGxhc3QgZmxhYyBmcmFtZSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlIGFuZCBjYWxjdWxhdGUKCSAgdGhlIHRvdGFsIGR1cmF0aW9uIGZyb20gdGhhdCBmcmFtZSdzIG9mZnNldCAoZml4ZXMgIzMzNzYwOSkuCgoyMDA2LTA0LTA3IDE1OjUzOjQzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvIDI1ZnBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvCgkgIDI1ZnBzCgoyMDA2LTA0LTA3IDE1OjQ3OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKG1haW4pOgoJICBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCjIwMDYtMDQtMDcgMTU6Mjc6NDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChjb21wb3NpdGVfcGl4ZWwpLCAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMDcgMTA6NDg6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IHVucmVmIHRoZSBHc3RQYWRUZW1wbGF0ZSByZXR1cm5lZCBieSBnc3RfZWxlbWVudF9jbGFzc19nZXRfcGFkX3RlbXBsYXRlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgRG9uJ3QgdW5yZWYgdGhlIEdzdFBhZFRlbXBsYXRlIHJldHVybmVkIGJ5CgkgIGdzdF9lbGVtZW50X2NsYXNzX2dldF9wYWRfdGVtcGxhdGUoKS4KCjIwMDYtMDQtMDYgMTk6MTY6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9maW5kX2luZGV4KSwKCSAgKGdzdF9xdGRlbXV4X2ZpbmRfa2V5ZnJhbWUpLCAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtKSwgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIEF2b2lkIG92ZXJmbG93cyBpbiBwcm9sb2d1ZSBpbWFnZSBkZXRlY3Rpb24gY29kZS4KCSAgQXZvaWQgcm91bmRvZmYgZXJyb3JzIGluIHRpbWVzdGFtcCBjYWxjdWxhdGlvbnMuCgoyMDA2LTA0LTA2IDExOjM1OjI2ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeICA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgoyMDA2LTA0LTA2IDA5OjE0OjMwICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLio6IFVzZSBzcGVjLT5zZWdzaXplIGFuZCBzcGVjLT5zZWd0b3RhbCBpbiB0aGUgcHJlcGFyZSBmdW5jdGlvbiB0byBpbml0aWFsaXNlIHRoZSByaW5nIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSksIChnc3Rfc3VuYXVkaW9zaW5rX3dyaXRlKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIFVzZSBzcGVjLT5zZWdzaXplIGFuZCBzcGVjLT5zZWd0b3RhbCBpbiB0aGUgcHJlcGFyZSBmdW5jdGlvbgoJICB0byBpbml0aWFsaXNlIHRoZSByaW5nIGJ1ZmZlciBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBidWZmZXItdGltZQoJICBwcm9wZXJ0eSAoIzMzNzQyMSkuCgoyMDA2LTA0LTA2IDA4OjUyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgd2hpY2ggaXMgdXNlZCBieSBzcGVleGRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkKCSAgd2hpY2ggaXMgdXNlZCBieSBzcGVleGRlYy4KCjIwMDYtMDQtMDUgMTg6Mjc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvOiBGaXggc2Vla2luZyBhbmQgZHVyYXRpb24gcXVlcmllcyAoIzMzNzAzMyk7IGNsZWFuIHVwIGFuZCByZWZhY3RvciBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChnc3Rfc3BlZXhfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWV4X2RlY19yZXNldCksIChnc3Rfc3BlZXhfZGVjX2luaXQpLCAoc3BlZXhfZGVjX2NvbnZlcnQpLAoJICAoc3BlZXhfZ2V0X3NpbmtfcXVlcnlfdHlwZXMpLCAoc3BlZXhfZGVjX3NpbmtfcXVlcnkpLAoJICAoc3BlZXhfZ2V0X3NyY19xdWVyeV90eXBlcyksIChzcGVleF9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHNwZWV4X2RlY19zcmNfZXZlbnQpLCAoc3BlZXhfZGVjX3NpbmtfZXZlbnQpLAoJICAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2hlYWRlciksIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfY29tbWVudHMpLAoJICAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpLCAoc3BlZXhfZGVjX2NoYWluKSwKCSAgKGdzdF9zcGVleF9kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVleF9kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKHNwZWV4X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBGaXggc2Vla2luZyBhbmQgZHVyYXRpb24gcXVlcmllcyAoIzMzNzAzMyk7IGNsZWFuIHVwIGFuZAoJICByZWZhY3RvciBhIGJpdC4KCjIwMDYtMDQtMDUgMTI6NDE6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IGRpc3Rpbmd1aXNoIGJldHdlZW4gZGV2aWNlIG5vdCBmb3VuZCBhbmQgY291bGQgbm90IG9wZW4gZm9yIHJlYWRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIGRpc3Rpbmd1aXNoIGJldHdlZW4gZGV2aWNlIG5vdCBmb3VuZCBhbmQgY291bGQgbm90IG9wZW4gZm9yCgkgIHJlYWRpbmcKCjIwMDYtMDQtMDUgMDg6MzY6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcyBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCk6CgkgIFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcwoJICBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIEFsc28gcGVyZm9ybSBFT1Mgd2hlbiB3ZSBydW4gcGFzdCB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNi0wNC0wNCAxMToyMDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgTWFyayBkaXNjb250aW51aXRpZXMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgUG9zdCBiZXR0ZXIgZXJyb3JzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIEhhbmRsZSBFT1MgYW5kIHNlZ21lbnQgZW5kIHByb3Blcmx5LgoKMjAwNi0wNC0wNCAwODozMToxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKHBsdWdpbl9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIEltcGxlbWVudCBjb3JyZWN0IGFjY3VyYXRlIGFuZCBrZXlmcmFtZSBzZWVraW5nLgoJICBVc2UgX0RFQlVHX09CSkVDVCB3aGVuIHBvc3NpYmxlLgoKMjAwNi0wNC0wMyAxMzoyOToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDQtMDMgMTM6Mjg6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBmaXggZGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3QKCjIwMDYtMDQtMDMgMDk6MDI6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIGEgLnBjIGZpbGUgc28gb3RoZXIgbW9kdWxlcyBjYW4gdXNlIGdvb2QgcGx1Z2lucyBpbiB0ZXN0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogcGtnY29uZmlnLy5jdnNpZ25vcmU6CgkgICogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLXVuaW5zdGFsbGVkLnBjLmluOgoJICBhZGQgYSAucGMgZmlsZSBzbyBvdGhlciBtb2R1bGVzIGNhbiB1c2UgZ29vZCBwbHVnaW5zIGluIHRlc3RzCgoyMDA2LTA0LTAxIDE2OjUwOjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgoyMDA2LTA0LTAxIDE1OjMwOjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgZGlzYWJsZSB1c2Ugb2YgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsgY29ycmVjdGx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXNhYmxlIHVzZSBvZiBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkKCjIwMDYtMDQtMDEgMTQ6MDM6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgYWRkaW5nIGluc3BlY3QgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBpbnNwZWN0IGZpbGVzCgoyMDA2LTA0LTAxIDEwOjE1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCjIwMDYtMDQtMDEgMTA6MTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHJlbmFtZSB0ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW5hbWUgdGVzdAoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTA0LTAxIDA5OjU2OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogY2xlYW4gdXAsIHVzZSBBU19WRVJTSU9OIGFuZCBBU19OQU5PCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgY2xlYW4gdXAsIHVzZSBBU19WRVJTSU9OIGFuZCBBU19OQU5PCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgIHVzZSBQQUNLQUdFX1ZFUlNJT04gZGVmaW5lCgkgICogcG8vYWYucG86CgkgICogcG8vYXoucG86CgkgICogcG8vY3MucG86CgkgICogcG8vZW5fR0IucG86CgkgICogcG8vaHUucG86CgkgICogcG8vaXQucG86CgkgICogcG8vbmIucG86CgkgICogcG8vbmwucG86CgkgICogcG8vb3IucG86CgkgICogcG8vc3EucG86CgkgICogcG8vc3IucG86CgkgICogcG8vc3YucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIHVwZGF0ZWQKCjIwMDYtMDMtMzEgMTc6NTI6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKHRlcm1pbmF0ZV9wbGF5YmFjayksIChtYWluKToKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE2OjMyOjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogQWRkIGRvY3MgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgQWRkIGRvY3MgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE1OjIxOjM1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy86IEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubyB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vCgkgIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoKMjAwNi0wMy0zMCAyMzo0Njo0MiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1dG9kZXRlY3QuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RlZmZlY3R2LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0anBlZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtZWRpYW4uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bHRpcGFydC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzcGVleC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9mbGlwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2ZW5jLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKioqIGVtcHR5IGxvZyBtZXNzYWdlICoqKgoKMjAwNi0wMy0zMCAyMzozNzoxNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0XGpwZWdcc21va2Vjb2RlYy5jOiB1c2Ugb2YgR1NUX0RFQlVHIGluc3RlYWQgb2YgREVCVUcoYS4uLikgZm9yIFdJTjMyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dFxqcGVnXHNtb2tlY29kZWMuYzoKCSAgdXNlIG9mIEdTVF9ERUJVRyBpbnN0ZWFkIG9mIERFQlVHKGEuLi4pIGZvciBXSU4zMgoJICAqIGV4dFxzcGVleFxnc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX3NldF9oZWFkZXJfb25fY2Fwcyk6CgkgIG1vdmUgZmlyc3QgaW5zdHJ1Y3Rpb24gYWZ0ZXIgYWxsIHZhcmlhYmxlcyBkZWNsYXJhdGlvbnMKCSAgKiBnc3RcYWxwaGFcZ3N0YWxwaGEuYzoKCSAgKiBnc3RcZWZmZWN0dlxnc3RzaGFnYWRlbGljLmM6CgkgICogZ3N0XHNtcHRlXHBhaW50LmM6CgkgICogZ3N0XHZpZGVvZmlsdGVyXGdzdHZpZGVvYmFsYW5jZS5jOgoJICBkZWZpbmUgTV9QSSBpZiBpdCdzIG5vdCBkZWZpbmVkIChpdCdzIG5vdCBkZWZpbmVkIG9uIFdJTjMyKQoJICAqIGdzdFxjdXR0ZXJcZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKToKCSAgKiBnc3RcaWQzZGVtdXhcaWQzdjJmcmFtZXMuYzogKHBhcnNlX3JlbGF0aXZlX3ZvbHVtZV9hZGp1c3RtZW50X3R3byk6CgkgICogZ3N0XGxldmVsXGdzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X3Byb3BlcnR5KSwgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdFxtYXRyb3NrYVxtYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdFxtYXRyb3NrYVxtYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICAqIGdzdFx3YXZwYXJzZVxnc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgdXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb25zCgkgICogZ3N0XGdvb21cZmlsdGVycy5jOiAoc2V0UGl4ZWxSR0JfKToKCSAgZml4IGEgZGVidWcgd2hpY2ggd2FzIHVzaW5nIHVuZGVmaW5lZCB2YXJpYWJsZQoJICAqIGdzdFxsZXZlbFxnc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9jYXBzKSwgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdFxtYXRyb3NrYVxlYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIHJlcGxhY2UgTEwgc3VmZml4IHdpdGggTCBzdWZmaXggKExMIGlzbid0IHN1cHBvcnRlZCBieSBNU1ZDNi4wKQoJICAqIHdpbjMyL3ZzNjoKCSAgYWRkIHZzNiBwcm9qZWN0cyBmaWxlcyBmb3IgbW9zdCBvZiBwbHVnaW5zLWdvb2QKCjIwMDYtMDMtMzAgMTU6Mzc6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBiZXR0ZXIvdW5pZmllZCBsb25nIGRlc2NyaXB0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuYzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6IChnc3RfZ2FtbWFfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkgIChnc3RfdmlkZW90ZW1wbGF0ZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCk6CgkgIGJldHRlci91bmlmaWVkIGxvbmcgZGVzY3JpcHRpb25zCgkgIEZpeGVkICMzMzY2MDIKCSAgU29tZSBjbGVhbnVwcyB0byBhdXBhcnNlLCBkb24ndCBzZW5kIG11bHRpcGxlIG5ld3NlZ21lbnRzLgoKMjAwNi0wMy0yOSAxNjowNjo1MCArMDAwMCAgTWljaGFlbCBEb21pbmljIEsgPG1ka0BtZGsub3JnLnBsPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguKjogU2VlayBpbiBSRUFEWSBwYXRjaC4gT25seSB3b3JrcyBmb3IgcHVsbCBiYXNlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRnJvbSBhIHBhdGNoIGJ5OiBNaWNoYWVsIERvbWluaWMgSy4gPG1kayBhdCBtZGsgZG90IG9yZyBkb3QgcGw+CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfcmVzZXQpLCAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc2VuZF9ldmVudCksIChnc3RfZHZkZW11eF9mbHVzaCksIChnc3RfZHZkZW11eF9sb29wKSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIFNlZWsgaW4gUkVBRFkgcGF0Y2guIE9ubHkgd29ya3MgZm9yIHB1bGwgYmFzZWQgbW9kZS4KCSAgRml4ZXMgIzMyMzg4MAoKMjAwNi0wMy0yNyAxNzowNjo0NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCjIwMDYtMDMtMjcgMTQ6MDk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogRml4IHR3byBjcmFzaGVyczogZG9uJ3QgdW5yZWYgdGhlIHNhbWUgY2FwcyB0d2ljZSwgYW5kIHNldCBwaXhidWYgbG9hZGVyIHRvIE5VTEwgYWZ0ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9ldmVudCk6CgkgIEZpeCB0d28gY3Jhc2hlcnM6IGRvbid0IHVucmVmIHRoZSBzYW1lIGNhcHMgdHdpY2UsIGFuZAoJICBzZXQgcGl4YnVmIGxvYWRlciB0byBOVUxMIGFmdGVyIGZyZWVpbmcgaXQuCgoyMDA2LTAzLTI3IDE0OjAwOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLio6IERvbid0IGxlYWsgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlZXhlbmNfZmluYWxpemUpLCAoZ3N0X3NwZWV4ZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBEb24ndCBsZWFrIGFkYXB0ZXIuCgkgIEEgcHVzaCAqYWx3YXlzKiB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlciwgZXZlbiBvbgoJICBlcnJvcnMuCgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNi0wMy0yNiAxOTo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLio6IEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0bwoJICBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSBjYW4ndAoJICBhZGp1c3Qgb2Zmc2V0cyB5ZXQgd2hlbiB3ZSBnZXQgaXQsIGFzIHdlIGRvbid0CgkgIGtub3cgdGhlIHNpemUgb2YgdGhlIHRhZyB5ZXQgZm9yIHN1cmUgYXQgdGhhdCBwb2ludC4KCSAgQWxzbyBkbyBzb21lIG1pbm9yIGNsZWFuaW5nIHVwIGhlcmUgYW5kIHRoZXJlIGFuZCBhZGQKCSAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0wMy0yNiAxMjoyNDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBDcmVhdGUgc291cmNlIHBhZCB3aXRob3V0IGxlYWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpOgoJICBDcmVhdGUgc291cmNlIHBhZCB3aXRob3V0IGxlYWtpbmcuCgoyMDA2LTAzLTI1IDIxOjU3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91cgoJICBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaWQzIGNhcHM7IGFsc28sCgkgIGRvbid0IHVzZSBhbHJlYWR5LWZyZWVkIHN0cmluZ3MgaW4gZGVidWcgbWVzc2FnZXM7CgkgIGZpbmFsbHksIGFkanVzdCBidWZmZXIgb2Zmc2V0cyBvbiBidWZmZXJzIHNlbnQgb3V0LgoKMjAwNi0wMy0yNSAxMzowMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LCBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwKCSAgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGZpeGVkIHByb3Blcmx5IChhbmQgbWFrZQoJICBidWlsZGJvdHMgaGFwcHkpLgoKMjAwNi0wMy0yNSAwNTozMToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgoyMDA2LTAzLTI0IDE5OjQxOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvOiBTcGlmaWZ5IGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIFNwaWZpZnkgYSBiaXQuCgkgIEZpeCBkZWFkbHkgbG9jayBvcmRlciBlcnJvciBpbiBzZWVraW5nIGNvZGUsIFNUUkVBTV9MT0NLCgkgIGNhbm5vdCBiZSB0YWtlbiB3aXRoaW4gTE9DSyBhbmQgdGhlIHN0cmVhbWluZyB2YXJpYWJsZXMgYXJlCgkgIHByb3RlY3RlZCB3aXRoIHRoZSBTVFJFQU1fTE9DSyBhbnl3YXkuCgoyMDA2LTAzLTI0IDE4OjU2OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiB0aGlzIHBhdGNoIGNvbWJpbmVzIHRoZSBnbG9iYWwgaW5pdF9mcmFtZXMgd2l0aCB0aGUgc3RyZWFtIGluaXRfZnJhbWVzLiBSYXRpb25hbGUgYmVpbmcgdGhhdCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIHRoaXMgcGF0Y2ggY29tYmluZXMgdGhlIGdsb2JhbCBpbml0X2ZyYW1lcyB3aXRoIHRoZSBzdHJlYW0KCSAgaW5pdF9mcmFtZXMuIFJhdGlvbmFsZSBiZWluZyB0aGF0IHRoZSBnbG9iYWwgZGVsYXkgc2hvdWxkCgkgIGJlIHN1YnRyYWN0ZWQgZnJvbSBhbnkgc3RyZWFtIGRlbGF5LgoJICBGaXhlcyAjMzM1ODU4LgoKMjAwNi0wMy0yNCAxNzoxMTo1NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogdXNlIERFQlVHX0ZVTkNQVFIgZm9yIGNvbGxlY3RwYWRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpOgoJICB1c2UgREVCVUdfRlVOQ1BUUiBmb3IgY29sbGVjdHBhZHMKCjIwMDYtMDMtMjQgMDk6NTQ6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZW5jLmM6IERvbid0IGNyYXNoIHdoZW4gZW5jb2RpbmcgaW1hZ2VzIHdoZXJlIHRoZSBudW1iZXIgb2Ygcm93cyBpc24ndCBhIG11bHRpcGxlIG9mIDIqRENUU0laRS4gQWRkIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfaW5pdCksIChnc3RfanBlZ2VuY19jaGFpbik6CgkgIERvbid0IGNyYXNoIHdoZW4gZW5jb2RpbmcgaW1hZ2VzIHdoZXJlIHRoZSBudW1iZXIgb2Ygcm93cyBpc24ndAoJICBhIG11bHRpcGxlIG9mIDIqRENUU0laRS4gQWRkIHNvbWUgR1NUX0RFQlVHX0ZVTkNQVFIuCgoyMDA2LTAzLTIzIDIxOjI4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTW9yZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgTW9yZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZml4ZXMuCgoyMDA2LTAzLTIzIDIwOjEyOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLio6IEZpeCBlc2QgY2hvcHB5IHBsYXliYWNrIGJ5IGNvbmZpZ3VyaW5nIGF1ZGlvc2luayBjb3JyZWN0bHkuIEZpeGVzICMzMjUxOTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9lc2RzaW5rX2dldGNhcHMpLCAoZ3N0X2VzZHNpbmtfb3BlbiksIChnc3RfZXNkc2lua19jbG9zZSksCgkgIChnc3RfZXNkc2lua19wcmVwYXJlKSwgKGdzdF9lc2RzaW5rX3VucHJlcGFyZSksCgkgIChnc3RfZXNkc2lua19kZWxheSksIChnc3RfZXNkc2lua19yZXNldCk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgIEZpeCBlc2QgY2hvcHB5IHBsYXliYWNrIGJ5IGNvbmZpZ3VyaW5nIGF1ZGlvc2luawoJICBjb3JyZWN0bHkuIEZpeGVzICMzMjUxOTEKCjIwMDYtMDMtMjMgMTk6NTc6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBNYWtlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtc2FmZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXNhZmUuCgoyMDA2LTAzLTIzIDE2OjUwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IERvbid0IHRyeSB0byByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlIGp1c3QgYmVjYXVzZSB0aGUgaGVhZGVyIGNsYWltcyBhIGJpZ2dlciBzaXplLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2dldF91cHN0cmVhbV9zaXplKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBEb24ndCB0cnkgdG8gcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSBqdXN0IGJlY2F1c2UKCSAgdGhlIGhlYWRlciBjbGFpbXMgYSBiaWdnZXIgc2l6ZSAobGlrZSB3aXRoIHRydW5jYXRlZCBmaWxlcykuCgoyMDA2LTAzLTIzIDE1OjM2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IERlbGF5IHNvdXJjZSBwYWQgY3JlYXRpb24gdW50aWwgd2UgaGF2ZSB0aGUgZmlyc3QgY2h1bmsgb2YgbWVkaWEgZGF0YSwgc28gdGhlIHdlIGNhbiBleGFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIERlbGF5IHNvdXJjZSBwYWQgY3JlYXRpb24gdW50aWwgd2UgaGF2ZSB0aGUgZmlyc3QgY2h1bmsgb2YKCSAgbWVkaWEgZGF0YSwgc28gdGhlIHdlIGNhbiBleGFtaW5lIHRoZSBkYXRhIGFuZCBhZGp1c3QgdGhlCgkgIGNhcHMgYWNjb3JkaW5nbHkgaWYgcmVxdWlyZWQuIFRoaXMgbWFrZXMgcGxheWJhY2sgb2YgLndhdgoJICBmaWxlcyB3aXRoIERUUy1kZWNsYXJlZC1hcy1QQ00gY29udGVudCB3b3JrICgjMzEzMjY2KS4KCjIwMDYtMDMtMjIgMTk6NTA6NTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHZpZGVvYmFsYW5jZSBwbHVnbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHZpZGVvYmFsYW5jZSBwbHVnbgoKMjAwNi0wMy0yMiAxMzowMjoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIG1lbnRpb24gZml4ZWQgYnVnIG51bWJlciBpbiB0aGUgY2hhbmdlbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtZW50aW9uIGZpeGVkIGJ1ZyBudW1iZXIgaW4gdGhlIGNoYW5nZWxvZwoKMjAwNi0wMy0yMiAxMzowMDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBEb24ndCBhdHRlbXB0IHR5cGVmaW5kaW5nIG9uIHRvby1zaG9ydCBidWZmZXJzIHRoYXQgaGF2ZSBiZWVuIGNvbXBsZXRlbHkgdHJpbW1lZCBhd2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIERvbid0IGF0dGVtcHQgdHlwZWZpbmRpbmcgb24gdG9vLXNob3J0IGJ1ZmZlcnMgdGhhdCBoYXZlIGJlZW4KCSAgY29tcGxldGVseSB0cmltbWVkIGF3YXkuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKToKCSAgSW1wcm92ZSB0aGUgZGVidWcgb3V0cHV0CgoyMDA2LTAzLTIxIDE4OjEyOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfY2xhc3NfaW5pdCksIChnc3RfZXNkc2lua19pbml0KSwKCSAgKGdzdF9lc2RzaW5rX2ZpbmFsaXplKSwgKGdzdF9lc2RzaW5rX2dldGNhcHMpLCAoZ3N0X2VzZHNpbmtfb3BlbiksCgkgIChnc3RfZXNkc2lua19jbG9zZSksIChnc3RfZXNkc2lua19wcmVwYXJlKSwgKGdzdF9lc2RzaW5rX3dyaXRlKSwKCSAgKGdzdF9lc2RzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfZXNkc2lua19nZXRfcHJvcGVydHkpOgoJICBTb21lIGNsZWFudXBzLgoJICBSZXNldCBmZCB0byAtMSB3aGVuIHdlIGNsb3NlIHRoZW0uCgoyMDA2LTAzLTIxIDE2OjE5OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiB0aGUgT1BUSU9OUyByZXF1ZXN0IHJlc3VsdCBpcyBvcHRpb25hbCBzbyBkb24ndCBmYWlsIG9uIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgdGhlIE9QVElPTlMgcmVxdWVzdCByZXN1bHQgaXMgb3B0aW9uYWwgc28gZG9uJ3QKCSAgZmFpbCBvbiBpdC4KCjIwMDYtMDMtMjEgMTQ6NTM6MzYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBnY2MgNC4xIHVucmVmZXJlbmNlZCBwb2ludGVyIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3Jlc2V0KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZXNldCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgIGdjYyA0LjEgdW5yZWZlcmVuY2VkIHBvaW50ZXIgZml4ZXMuCgoyMDA2LTAzLTIxIDEzOjA3OjMxICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBibG9jayBhbGlnbm1lbnQgY2FsY3VsYXRpb24uIEFsaWdubWVudCBzaG91bGQgYmUgZG9uZSBiZWZvcmUgYWRkaW5nIHRoZSBieXRlIG9mZnNldCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspOgoJICBGaXggYmxvY2sgYWxpZ25tZW50IGNhbGN1bGF0aW9uLiBBbGlnbm1lbnQgc2hvdWxkIGJlIGRvbmUgYmVmb3JlCgkgIGFkZGluZyB0aGUgYnl0ZSBvZmZzZXQgd2hlcmUgdGhlIGRhdGEgc3RhcnRzICgjMzM1MjMxKS4KCjIwMDYtMDMtMjAgMTg6MzQ6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogRW5zdXJlIHRoYXQgd2Ugc2V0IGNvcnJlY3QgY2FwcyBvbiBidWZmZXJzIHRoYXQgYXJlIHRyYW5zZmVycmVkIGRpcmVjdCBmcm9tIHRoZSBpbnB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfcHVzaCk6CgkgIEVuc3VyZSB0aGF0IHdlIHNldCBjb3JyZWN0IGNhcHMgb24gYnVmZmVycyB0aGF0IGFyZSB0cmFuc2ZlcnJlZAoJICBkaXJlY3QgZnJvbSB0aGUgaW5wdXQuCgoyMDA2LTAzLTIwIDE3OjM4OjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tLzogRnJlZSBmaWx0ZXIgZGF0YSB3aGVuIGNsZWFuaW5nIHVwLiAoRml4ZXM6ICMzMzQ5OTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJEZXN0cm95KToKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGdvb21fY2xvc2UpOgoJICBGcmVlIGZpbHRlciBkYXRhIHdoZW4gY2xlYW5pbmcgdXAuIChGaXhlczogIzMzNDk5NSkKCjIwMDYtMDMtMjAgMDg6NTk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCjIwMDYtMDMtMTcgMTY6MzQ6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgoyMDA2LTAzLTE3IDE1OjMzOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBjb21waWxlIHVkcCBhbmQgcnRzcCBwbHVnaW5zIG9uIHdpbjMyIChtaW5ndykgb3Igb3RoZXIgc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgPHN5cy9zb2NrZXQuaD4gZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgY29tcGlsZSB1ZHAgYW5kIHJ0c3AgcGx1Z2lucyBvbiB3aW4zMiAobWluZ3cpIG9yIG90aGVyCgkgIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIDxzeXMvc29ja2V0Lmg+IGZvciBzb21lIHJlYXNvbiAoIzMxNjIwMykuCgoyMDA2LTAzLTE2IDE3OjI4OjA3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIENoYW5nZSBidXMgcmVzZXQgaGFuZGxlciBzbyBpdCByZXBvcnRzIHVzZWZ1bCBpbmZvcm1hdGlvbiBzdWNoIGFzIHdoZXRoZXIgdGhlIGRldmljZSBiZWluZyB1c2VkIGNvbm5lY3RlZCBvciBkaXNjb25uZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlIGJ1cyByZXNldCBoYW5kbGVyIHNvIGl0IHJlcG9ydHMgdXNlZnVsIGluZm9ybWF0aW9uIHN1Y2ggYXMKCSAgd2hldGhlciB0aGUgZGV2aWNlIGJlaW5nIHVzZWQgY29ubmVjdGVkIG9yIGRpc2Nvbm5lY3RlZAoKMjAwNi0wMy0xNiAxNjowNjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBXZSBvbmx5IGNhcmUgYWJvdXQgZ2FpbiBhbmQgcGVhayBkYXRhIGZvciB0aGUgbWFzdGVyIHZvbHVtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIChwYXJzZV9yZWxhdGl2ZV92b2x1bWVfYWRqdXN0bWVudF90d28pOgoJICBXZSBvbmx5IGNhcmUgYWJvdXQgZ2FpbiBhbmQgcGVhayBkYXRhIGZvciB0aGUgbWFzdGVyIHZvbHVtZS4KCjIwMDYtMDMtMTYgMTM6MjI6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUmVhZCByZXBsYXkgZ2FpbiB0YWdzICgjMzIzNzIxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9pZF9zdHJpbmcpLCAocGFyc2VfdW5pcXVlX2ZpbGVfaWRlbnRpZmllciksCgkgIChwYXJzZV9yZWxhdGl2ZV92b2x1bWVfYWRqdXN0bWVudF90d28pLCAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBSZWFkIHJlcGxheSBnYWluIHRhZ3MgKCMzMjM3MjEpLgoKMjAwNi0wMy0xNSAyMzoxOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gZ3N0LXBsdWdpbnMtYmFzZSBDVlMgYmVjYXVzZSBvZiBidWdneSBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCkgaW4gMC4xMC41LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGJlY2F1c2UKCSAgb2YgYnVnZ3kgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpIGluIDAuMTAuNS4KCjIwMDYtMDMtMTUgMjI6MzA6MjQgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgIEZpeGVkIG9uZSBvZiB0aGUgY2FwcyBpbiB0aGUgY29kZSBmcm9tIG11bGF3IHRvIGFsYXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBvbmUgb2YgdGhlIGNhcHMgaW4gdGhlIGNvZGUgZnJvbSBtdWxhdyB0byBhbGF3LgoKMjAwNi0wMy0xNSAxNjoyMTozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IEVuc3VyZSB0aGF0IHdlIHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHdlIHBhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICBFbnN1cmUgdGhhdCB3ZSBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB3ZSBwYXNzLgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgRW5zdXJlIHRoYXQgd2Ugc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgd2UgcGFzcy4KCSAgVXNlIFNUUkVBTSwgVFlQRV9OT1RfRk9VTkQgYXMgdGhlIGVycm9yIGNsYXNzIHdoZW4KCSAgdHlwZWZpbmRpbmcgZmFpbHMuCgoyMDA2LTAzLTE1IDE2OjE3OjEyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgRml4IG1lbWxlYWsgd2l0aCBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2luaXQpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9pbml0KSwgKGdzdF9kdmRlbXV4X2FkZF9wYWRzKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19zZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfaW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdkZWNfaW5pdCksCgkgIChnc3RfbW5nZGVjX3NyY19nZXRjYXBzKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfaW5pdCk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2RfaW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChnc3Rfc3BlZXhfZGVjX2luaXQpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2luaXQpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9pbml0KToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2luaXQpLCAoZ3N0X2VmZW5jZV9nZXRyYW5nZSksCgkgIChnc3RfZWZlbmNlX2NoZWNrZ2V0cmFuZ2UpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX2luaXQpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2luaXQpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBMMTZwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOiAoZ3N0X3J0cF9kZXBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfaW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCk6CgkgIEZpeCBtZW1sZWFrIHdpdGggZ3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0KCkuCgkgIFRoaXMgdXNlcyBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpIGluc3RlYWQuCgkgIEZpeGVzICMzMzM1MTIKCjIwMDYtMDMtMTUgMTU6MDg6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kaXNwb3NlKToKCSAgTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgoyMDA2LTAzLTE1IDE0OjM5OjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcXRkZW11eF9pbml0KSwgKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgLSBVbnJlZiB0aGUgR3N0QWRhcHRlciBpbiBmaW5hbGl6ZS4KCSAgLSBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSwgc2hvcnRlciBhbmQgc2FmZXIuCgkgIC0gRnJlZSB1bnVzZWQgUXREZW11eFN0cmVhbSB3aGVuIG5vdCB1c2VkLgoKMjAwNi0wMy0xNCAxNzo1NjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCAtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjUgZm9yIGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSwgdXNlZCBieSBpZDNkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIC1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuNSBmb3IgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpLAoJICB1c2VkIGJ5IGlkM2RlbXV4LgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfdXNlcl90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKHBhcnNlX3VuaXF1ZV9maWxlX2lkZW50aWZpZXIpOgoJICBBZGQgc3VwcG9ydCBmb3IgVUZJRCBhbmQgVFhYWCBmcmFtZXMgYW5kIGV4dHJhY3QgbXVzaWNicmFpbnogdGFncy4KCjIwMDYtMDMtMTQgMTc6MjQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLCBtb3ZpbmcgaXQgZnJvbSBfY2xhc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwKCSAgbW92aW5nIGl0IGZyb20gX2NsYXNzX2luaXQoKSB0byBiZWdpbm5pbmcgb2YgX2Jhc2VfaW5pdCgpLgoKMjAwNi0wMy0xNCAxNToyODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ2F0Y2ggc2hvcnQgcmVhZHMsIGxpa2UgdGhleSBtaWdodCBoYXBwZW4gd2l0aCB0cnVuY2F0ZWQgZmlsZXMgKHNlZSAjMzA1Mjc5KTsgcmVtb3ZlIHVubmVjZXNzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIENhdGNoIHNob3J0IHJlYWRzLCBsaWtlIHRoZXkgbWlnaHQgaGFwcGVuIHdpdGggdHJ1bmNhdGVkCgkgIGZpbGVzIChzZWUgIzMwNTI3OSk7IHJlbW92ZSB1bm5lY2Vzc2FyeSBpbmRlbnRhdGlvbi4KCjIwMDYtMDMtMTQgMTQ6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBESUIgaW1hZ2UgaW52ZXJzaW9uIGZvciBwaWN0dXJlcyB3aXRoIGEgZGVwdGggIT0gOCAoIzMwNTI3OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KToKCSAgRml4IERJQiBpbWFnZSBpbnZlcnNpb24gZm9yIHBpY3R1cmVzIHdpdGggYQoJICBkZXB0aCAhPSA4ICgjMzA1Mjc5KS4KCjIwMDYtMDMtMTQgMDk6MjM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IEZpeCBkdXJhdGlvbnMgb24gb3V0Z29pbmcgYnVmZmVycyBhZnRlciBzZWVraW5nIGluIE1KUEVHIGZpbGVzICgjMzM0MDgzKTsgc29tZSBtaW5vciBjbGVhbi11cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbiksIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIEZpeCBkdXJhdGlvbnMgb24gb3V0Z29pbmcgYnVmZmVycyBhZnRlciBzZWVraW5nCgkgIGluIE1KUEVHIGZpbGVzICgjMzM0MDgzKTsgc29tZSBtaW5vciBjbGVhbi11cHMuCgoyMDA2LTAzLTEzIDE4OjI4OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEltcGxlbWVudCBzZWVrIGluIFJFQURZIChyZS1maXhlcyAjMzI3NjU4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgSW1wbGVtZW50IHNlZWsgaW4gUkVBRFkgKHJlLWZpeGVzICMzMjc2NTgpCgoyMDA2LTAzLTEzIDE3OjIyOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZCBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQKCSAgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIG9mIHRoZSBwbHVnaW4gKHRhZ2xpYm11eCA9PiB0YWdsaWIpCgoyMDA2LTAzLTEzIDE1OjQ5OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY2xvc2UgIzMzMzc4NCB1bnJlZiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfZ2V0X3BhcmVudCgpIGJ5OiBDaHJpc3RvcGhlIEZlcmdlYXUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKToKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9nZXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19nZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19nZXRjYXBzKSwKCSAgKGdzdF9qcGVnZW5jX3NldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdkZWNfc2lua2xpbmspLAoJICAoZ3N0X21uZ2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzogKGdzdF9tbmdlbmNfc2lua2xpbmspLAoJICAoZ3N0X21uZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2Rfc3JjbGluayk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY29udmVydCksCgkgIChzcGVleF9kZWNfc3JjX2V2ZW50KSwgKHNwZWV4X2RlY19jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfdmlkc2lua2Nvbm5lY3QpLAoJICAoZ3N0X2F2aW11eF9hdWRzaW5rY29ubmVjdCksIChnc3RfYXZpbXV4X2hhbmRsZV9ldmVudCk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fZ2V0Y2FwcyksCgkgIChnc3RfbmVnb3RpYXRpb25fcGFkX2xpbmspLCAoZ3N0X25lZ290aWF0aW9uX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfcXVlcnlfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9zaW5rX2xpbmspLAoJICAoZGVpbnRlcmxlYXZlX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAobXVsYXdlbmNfc2V0Y2Fwcyk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzogKGdzdF9tZWRpYW5fbGluayk6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfc3JjY29ubmVjdCksCgkgIChnc3RfbW9ub3Njb3BlX2NoYWluKToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cEwxNnBheV9zaW5rY29ubmVjdCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IChnc3Rfb3N4YXVkaW9zaW5rX2NoYWluKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzogKGdzdF9vc3hhdWRpb3NyY19nZXQpOgoJICBjbG9zZSAjMzMzNzg0IHVucmVmIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF9nZXRfcGFyZW50KCkKCSAgYnk6IENocmlzdG9waGUgRmVyZ2VhdS4KCjIwMDYtMDMtMTMgMTA6MDU6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoKMjAwNi0wMy0xMiAxNTozMzowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldCBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX3Bvb2xfZnJlZSk6CgkgIGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQKCSAgaW5zdGVhZC4KCjIwMDYtMDMtMTIgMTU6MjU6NTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQwoJICBidWlsZGJvdCBoYXBweS4KCSAgSSB3aWxsIGp1c3QgdXNlIHRoZSBzYW1lIGNvbW1lbnQgUm9uYWxkIHVzZWQgd2hlbiBoZSBhZGRlZCB0aGVzZSBsaW5lczoKCSAgWWV0IEFub3RoZXIgSGFjayAodG0pIGZvciBrZXJuZWwgaGVhZGVyIGJvcmtlZG5lc3MuCgoyMDA2LTAzLTEyIDE1OjAyOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgoyMDA2LTAzLTEyIDE0OjQzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBQUEMtYnVpbGRib3QgaGFwcHkuCgoyMDA2LTAzLTExIDIyOjUwOjAzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCjIwMDYtMDMtMTEgMTA6NTg6MDggKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bGFuQGZlZG9yYXByb2plY3Qub3JnPgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIFBhdGNoIGJ5OiBBbGV4IExhbmNhc3RlcgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBmaXggd3JpdGluZyBvZiBUUE9TIHRhZ3MgKGFsYnVtIG51bWJlciksCgkgIGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoKMjAwNi0wMy0wOSAyMDowMjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCjIwMDYtMDMtMDkgMTc6NDQ6MTcgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJICBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTA5ICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgcmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoKMjAwNi0wMy0wOSAxMTo0NzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEhhbmRsZSBldmVudHMgaW4gcHVzaCBtb2RlIGJldHRlciwgY2FuIG5vdyBkbyBub24tZmx1c2hpbmcgc2Vla3MgaW4gcHVzaCBtb2RlIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZHZkZW11eF9jb252ZXJ0X3NlZ21lbnQpLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICBIYW5kbGUgZXZlbnRzIGluIHB1c2ggbW9kZSBiZXR0ZXIsIGNhbiBub3cgZG8gbm9uLWZsdXNoaW5nCgkgIHNlZWtzIGluIHB1c2ggbW9kZSBhcyB3ZWxsLgoKMjAwNi0wMy0wOCAxMjoxNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZSAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlCgkgICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgZm9yIHRoYXQKCSAgKGZpeGVzICMzMzIwNjYpLgoKMjAwNi0wMy0wNyAxNzozMTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiBBcHBsaWVkIHBhdGNoIGZyb20gS2FpIFZlaG1hbmVuLCBmaXhlcyAjMzMzNjI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2NsYXNzX2luaXQpOgoJICBBcHBsaWVkIHBhdGNoIGZyb20gS2FpIFZlaG1hbmVuLCBmaXhlcyAjMzMzNjI0LgoKMjAwNi0wMy0wNiAyMjoyMjo0NSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBJbXBsZW1lbnQgcGFsZXR0ZWQgYW5kIGdyYXlzY2FsZSBwbmcgZmlsZXMgaGFuZGxpbmcuICgjMTUwMzYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KToKCSAgSW1wbGVtZW50IHBhbGV0dGVkIGFuZCBncmF5c2NhbGUgcG5nIGZpbGVzIGhhbmRsaW5nLgoJICAoIzE1MDM2MykuCgoyMDA2LTAzLTA2IDAwOjEwOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBmaXggYSB0YWcgbGlzdCBhc3NlcnQgZm9sbG93IGdzdC1wbHVnaW5zLWJhc2UvZXh0L29nZy9SRUFETUU7IHNldCBPRkZTRVQgYW5kIE9GRlNFVF9FTkQuICBNdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19zZXRfaGVhZGVyX29uX2NhcHMpLAoJICAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgZml4IGEgdGFnIGxpc3QgYXNzZXJ0CgkgIGZvbGxvdyBnc3QtcGx1Z2lucy1iYXNlL2V4dC9vZ2cvUkVBRE1FOyBzZXQgT0ZGU0VUCgkgIGFuZCBPRkZTRVRfRU5ELiAgTXV4ZXMgY29ycmVjdGx5IHdpdGggZ3N0LXBsdWdpbnMtYmFzZQoJICA+IDAuOS4zCgoyMDA2LTAzLTA1IDEzOjAzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCjIwMDYtMDMtMDQgMjA6MTE6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBVc2UgbmV3IHR5cGVmaW5kIGhlbHBlciBmdW5jdGlvbnMgaGVyZSBhcyB3ZWxsLCBhbmQgZG8gdHlwZWZpbmRpbmcgaW4gcHVsbC1tb2RlIGlmIHVwc3RyZWFtIHN1cHBvcnRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpLAoJICAoZ3N0X2lkM2RlbXV4X2NoYWluKSwgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgVXNlIG5ldyB0eXBlZmluZCBoZWxwZXIgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCwgYW5kCgkgIGRvIHR5cGVmaW5kaW5nIGluIHB1bGwtbW9kZSBpZiB1cHN0cmVhbSBzdXBwb3J0cyB0aGF0LgoKMjAwNi0wMy0wNCAxODo1NzozNyArMDAwMCAgQmVuamFtaW4gUGluZWF1IDxiZW4ucGluZWF1QGdtYWlsLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzLCBicmVha3MgYnVpbGQgZnJvbSBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcywgYnJlYWtzIGJ1aWxkIGZyb20gQ1ZTCgkgIHdpdGggLVdlcnJvciAoIzMzMzM5MiwgcGF0Y2ggYnk6IEJlbmphbWluIFBpbmVhdSkKCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDMtMDMgMTg6MzY6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCB3YXZwYXJzZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZGVkIHdhdnBhcnNlIGRvY3MuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBJbXBsZW1lbnQgc2VlayBpbiBSRUFEWSAoZml4ZXMgIzMyNzY1OCkKCSAgQWRkZWQgZG9jcyBhbmQgZGlkIHNvbWUgY2xlYW51cHMuCgoyMDA2LTAzLTAzIDE3OjUxOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBJZiB3ZSBoYXZlIGFuIGluZGV4LCB1c2UgYSBkdXJhdGlvbiBiYXNlZCBvbiB0aGUgaW5kZXggaW5zdGVhZCBvZiBibGluZGx5IHRydXN0aW5nIHRoZSBpbmZvcm1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIElmIHdlIGhhdmUgYW4gaW5kZXgsIHVzZSBhIGR1cmF0aW9uIGJhc2VkIG9uIHRoZSBpbmRleCBpbnN0ZWFkCgkgIG9mIGJsaW5kbHkgdHJ1c3RpbmcgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBzdHJlYW0gaGVhZGVycwoJICAoZml4ZXMgIzMzMTgxNykuCgoyMDA2LTAzLTAzIDE1OjUwOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgc21va2UgYW5kIGpwZWcgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkZWQgc21va2UgYW5kIGpwZWcgdG8gdGhlIGRvY3MuCgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvZ3N0anBlZy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfaW5pdCksCgkgIChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgKiBleHQvanBlZy9zbW9rZWNvZGVjLmg6CgkgIFBvcnQgc21va2VkZWMgKGZpeGVzICMzMzE5MDUpLgoJICBBZGRlZCBzb21lIGRvY3MuCgkgIFNvbWUgY2xlYW51cHMuCgoyMDA2LTAzLTAzIDE0OjM5OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgdmlkZW9iYWxhbmNlIGFuZCB2aWRlb2ZsaXAgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkZWQgdmlkZW9iYWxhbmNlIGFuZCB2aWRlb2ZsaXAgdG8gdGhlIGRvY3MuCgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKGdzdF92aWRlb19iYWxhbmNlX3VwZGF0ZV90YWJsZXNfcGxhbmFyNDExKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2lzX3Bhc3N0aHJvdWdoKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3VwZGF0ZV9wcm9wZXJ0aWVzKSwgKG9pbF90YWJsZWxvb2t1cF91OCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9wbGFuYXI0MTFfaXApLCAoZ3N0X3ZpZGVvX2JhbGFuY2Vfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19iYWxhbmNlX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9maW5hbGl6ZSksIChnc3RfdmlkZW9fYmFsYW5jZV9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2luaXQpLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2VfbGlzdF9jaGFubmVscyksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2Vfc2V0X3ZhbHVlKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9nZXRfdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19iYWxhbmNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9nZXRfdHlwZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICBQb3J0ZWQgdG8gMC4xMC4gKEZpeGVzICMzMjYxNjApCgkgIEFkZGVkIGRvY3MuCgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgQWRkZWQgZG9jcy4KCjIwMDYtMDMtMDMgMTE6MDc6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcyB3aGVuIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zCgkgIHdoZW4gcGFyc2luZy4KCSAgQWxzbyBsZXQncyBiZSBhIGJpdCBsZXNzIHZ1bGdhciBpbiBvdXIgd2FybmluZyBtZXNzYWdlcyA6KQoKMjAwNi0wMy0wMiAxNToxNDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gY3VycmVudCBjb3JlIGFuZCAtYmFzZSBDVlMgKGNvcmUgZm9yIG5ldyB0eXBlZmluZCBoZWxwZXIgQVBJLCBhbmQgLWJhc2UgZm9yIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGN1cnJlbnQgY29yZSBhbmQgLWJhc2UgQ1ZTCgkgIChjb3JlIGZvciBuZXcgdHlwZWZpbmQgaGVscGVyIEFQSSwgYW5kIC1iYXNlIGZvciB0aGUKCSAgV0FWRk9STUFURVggc3VwcG9ydCB0aGF0IHdhcyBhZGRlZCB0byBsaWJnc3RyaWZmIGFuZAoJICBpcyBuZWVkZWQgYnkgd2F2cGFyc2UpLgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbiksCgkgIChnc3RfdGFnX2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBVc2UgbmV3IHR5cGVmaW5kIGhlbHBlcnMgZm9yIHR5cGVmaW5kaW5nIGluc3RlYWQgb2Ygb3VyCgkgIGhvbWUtZ3Jvd24gc3R1ZmY7IGFsc28sIGRvIHR5cGVmaW5kaW5nIGluIHB1bGwtbW9kZSBpZgoJICB1cHN0cmVhbSBzdXBwb3J0cyB0aGF0LgoKMjAwNi0wMi0yOCAxMTo1OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2YKCSAgc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoc2VlICMzMjcwODMpCgoyMDA2LTAyLTI4IDEwOjQwOjAxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIHJlbW92ZSBjb25mbGljdCBpbmRpY2F0b3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBjb25mbGljdCBpbmRpY2F0b3IKCjIwMDYtMDItMjggMTA6Mzk6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgYWRkIG1pc3NpbmcgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGVudHJ5CgoyMDA2LTAyLTI4IDEwOjI5OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVzZSBERUJVR19PQkpFQ1QgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgIFVzZSBERUJVR19PQkpFQ1QgbW9yZS4KCjIwMDYtMDItMjggMTA6MjI6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCBkdmRlYyBhbmQgZHZkZW11eCB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZGVkIGR2ZGVjIGFuZCBkdmRlbXV4IHRvIGRvY3MuCgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfYmFzZV9pbml0KSwgKGdzdF9kdmRlY19jaGFpbik6CgkgIEFkZGVkIGRvY3MuCgkgIENoZWNrIGZyYW1lIHNpemVzIHNvIHdlIGRvbid0IGNyYXNoIHdoZW4gZG9uJ3QgaGF2ZSBlbm91Z2gKCSAgZGF0YS4KCSAgU2VuZCBuaWNlIGVycm9yIG1lc3NhZ2VzIG9uIGVycm9yLgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfZHZkZW11eF9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X2ZpbmFsaXplKSwgKGdzdF9kdmRlbXV4X3Jlc2V0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9kdmRlbXV4X3NpbmtfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLCAoZ3N0X2R2ZGVtdXhfc2lua19xdWVyeSksCgkgIChnc3RfZHZkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc3JjX3BhaXIpLCAoZ3N0X2R2ZGVtdXhfY29udmVydF9zaW5rX3BhaXIpLAoJICAoZ3N0X2R2ZGVtdXhfY29udmVydF9zcmNfdG9fc2luayksIChnc3RfZHZkZW11eF9oYW5kbGVfcHVzaF9zZWVrKSwKCSAgKGdzdF9kdmRlbXV4X2RvX3NlZWspLCAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1bGxfc2VlayksCgkgIChnc3RfZHZkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2RlbXV4X2F1ZGlvKSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X3ZpZGVvKSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSwKCSAgKGdzdF9kdmRlbXV4X2ZsdXNoKSwgKGdzdF9kdmRlbXV4X2NoYWluKSwgKGdzdF9kdmRlbXV4X2xvb3ApLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgQWRkZWQgZG9jcy4KCSAgSW1wbGVtZW50IHB1bGwgbW9kZS4KCSAgRml4IG1lbWxlYWtzLgoJICBSZWR1Y2UgbWVtY3B5IGZvciB0aGUgdmlkZW8gZGVtdXhpbmcuCgoyMDA2LTAyLTI4IDA5OjIxOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9hbm5vZGV4LzogQWRkIGEgbGl0dGxlIGV4dHJhIGRlYnVnLiBNYWtlIHRoZSBkZWNvZGVyIG5vdCByZXR1cm4gTk9UX0xJTktFRCwgYXMgd2Ugd2FudCB0byBjb250aW51ZSBkZWNvZGluZyBhbGwgQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6IChnc3RfY21tbF9kZWNfc2lua19ldmVudCksCgkgIChnc3RfY21tbF9kZWNfbmV3X2J1ZmZlciksIChnc3RfY21tbF9kZWNfcGFyc2VfcHJlYW1ibGUpLAoJICAoZ3N0X2NtbWxfZGVjX3BhcnNlX2hlYWQpLCAoZ3N0X2NtbWxfZGVjX3B1c2hfY2xpcCk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOiAoZ3N0X2NtbWxfcGFyc2VyX3BhcnNlX2NodW5rKToKCSAgQWRkIGEgbGl0dGxlIGV4dHJhIGRlYnVnLiBNYWtlIHRoZSBkZWNvZGVyIG5vdCByZXR1cm4gTk9UX0xJTktFRCwKCSAgYXMgd2Ugd2FudCB0byBjb250aW51ZSBkZWNvZGluZyBhbGwgQ01NTCBhbmQgZW1pdHRpbmcgdGFncy4KCjIwMDYtMDItMjcgMTQ6Mzc6MjkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGFubm9kZXggcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYW5ub2RleCBwbHVnaW4KCjIwMDYtMDItMjcgMTQ6MDA6MTggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuKjogRGVsZXRlZDsgdGhlc2UgZmlsZXMgYXJlbid0IHVzZWQgYW55IG1vcmUgZWl0aGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5oOgoJICBEZWxldGVkOyB0aGVzZSBmaWxlcyBhcmVuJ3QgdXNlZCBhbnkgbW9yZSBlaXRoZXIuCgoyMDA2LTAyLTI1IDIwOjM3OjI5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRml4IGRpc3QtY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBGaXggZGlzdC1jaGVjay4KCjIwMDYtMDItMjUgMTk6MzY6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiBGaXggYW5vdGhlciBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19wdXNoX2NsaXApOiBGaXggYW5vdGhlcgoJICBtZW1sZWFrLgoKMjAwNi0wMi0yNSAxOTowNzo0MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYSBtZW1sZWFrIGluIGdzdF9jbW1sX3RyYWNrX2xpc3RfYWRkX2NsaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgIEZpeCBhIG1lbWxlYWsgaW4gZ3N0X2NtbWxfdHJhY2tfbGlzdF9hZGRfY2xpcC4KCSAgSGFuZGxlIG92ZXJmbG93cyBpbiBjbGlwJ3Mgc3RhcnQgYW5kIGVuZCB0aW1lcy4KCSAgQWRkIHRoZSAiZW5jb2RlZCIgcGFyYW1ldGVyIHRvIGNtbWxkZWMgYW5kIGNtbWxlbmMgY2Fwcy4KCSAgRG8gbm90IHBhcnNlIGp1bmsgYXQgdGhlIGVuZCBvZiBhIENNTUwgcHJlYW1ibGUgYnVmZmVyLgoJICBSZWdpc3RlciBhIGxpYnhtbCBlcnJvciBoYW5kbGVyIHRvIG5vdCBwcmludCBzdHVmZiBvbiBzdGRlcnIuCgkgIENoZWNrIGZvciBiYWQgY2xpcCBzdGFydCBhbmQgZW5kIHRpbWVzIGluIHRoZSB0ZXN0c3VpdGVzLgoKMjAwNi0wMi0yNSAxMTozNzoxMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvYW5ub2RleC86IEZpeCBwb3NzaWJsZSBtZW1sZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6IChnc3RfY21tbF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfY21tbF9kZWNfZmluYWxpemUpLCAoZ3N0X2NtbWxfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NtbWxfZW5jX2ZpbmFsaXplKSwgKGdzdF9jbW1sX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfdHJhY2tfbGlzdF9kZXN0cm95KTogRml4CgkgIHBvc3NpYmxlIG1lbWxlYWtzLgoKMjAwNi0wMi0yNCAyMzo1MjoyOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEZpeCB0ZXN0cyBzbyB0aGF0IHRoZXkgdXNlIHRoZSBwbHVnaW5zLWJhc2UgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiBGaXggdGVzdHMgc28gdGhhdCB0aGV5IHVzZQoJICB0aGUgcGx1Z2lucy1iYXNlIHRhZ3MuCgoyMDA2LTAyLTI0IDIzOjM2OjU4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogUmUtZW5hYmxlIG1vZHVsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IFJlLWVuYWJsZSBtb2R1bGUuCgoyMDA2LTAyLTI0IDIzOjMyOjE0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gcmVtb3ZlIHRoYXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRm9yZ290IHRvIHJlbW92ZSB0aGF0IHRlc3QuCgoyMDA2LTAyLTI0IDIzOjMxOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFRyeSB0byBmaXggQW5ub2RleCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NrZWxkZWMuYzogVHJ5IHRvIGZpeCBBbm5vZGV4IHBsdWdpbi4KCjIwMDYtMDItMjQgMjM6MDY6MjcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhvc2UgY2hlY2tzIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhvc2UgY2hlY2tzIGFzIHdlbGwuCgoyMDA2LTAyLTI0IDIyOjQ5OjI5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRGlzYWJsZSBhbm5vZGV4IGZvciBub3cgdW50aWwgd2UgZmlndXJlIG91dCBob3cgdG8gbWFrZSBpdCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IERpc2FibGUgYW5ub2RleCBmb3Igbm93IHVudGlsIHdlIGZpZ3VyZSBvdXQKCSAgaG93IHRvIG1ha2UgaXQgYnVpbGQuCgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06IE5vdGUgZm9yIFRob21hcyA6CgkgIEFkZCBhIHJ1bGUgdG8geW91ciBjaGVja2xpc3QgOiAicGxlYXNlIHRyeSB0byBhdCBsZWFzdCBidWlsZAoJICB3aGF0IHlvdSBhcmUgZ29pbmcgdG8gY29tbWl0IGludG8gLWdvb2QsIG9yIGlmIHlvdSBhcmUgdG9vIGxhenkKCSAgdG8gZG8gdGhhdCwgcGxlYXNlIGNoZWNrIHRoYXQgdGhlIGJ1aWxkYm90cyBhcmUgbm90IGNyeWluZyBiZWNhdXNlCgkgIG9mIHlvdXIgY29tbWl0LiIKCjIwMDYtMDItMjQgMTk6NTE6MjkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdka3BpeGJ1ZiBwb3J0ZWQgZnJvbSAwLjggdG8gMC4xMCBieSBSZW5hdG8gRmlsaG8gPHJlbmF0by5maWxob0BpbmR0Lm9yZy5icj4uIGdzdF9sb2FkZXIgYW5kIGdka3BpeGJ1ZmFuaW1hdGlvbiBzdGlsbCBuZWVkIHBvcnQuCgoyMDA2LTAyLTI0IDE5OjQ5OjMyICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBwYXRjaCBieTogRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgoyMDA2LTAyLTI0IDE5OjA3OjEwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgQW5ub2RleCBlbGVtZW50cyBmcm9tIEFsZXNzZW5kcm8gRGVjaW5hOiBza2VsZXRvbiBhbmQgQ01NTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2tlbGRlYy5jOgoJICBBZGQgQW5ub2RleCBlbGVtZW50cyBmcm9tIEFsZXNzZW5kcm8gRGVjaW5hOiBza2VsZXRvbiBhbmQgQ01NTC4KCSAgSW5jbHVkZXMgdGVzdHMgJiBkb2NzLCBvaCBteSEgUGFzc2VzIFRob21hcydzIC1nb29kIGNoZWNrbGlzdAoJICBlbnRpcmVseS4gV293LgoKMjAwNi0wMi0yNCAxNzowOTo1NiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgYXV0b2dlbi5zaDogQ2hlY2sgZm9yIGF1dG9tYWtlIDEuOSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBDaGVjayBmb3IgYXV0b21ha2UgMS45IGFzIHdlbGwuCgoyMDA2LTAyLTI0IDE0OjQ5OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBDaGFuZ2UgbWluLiBzYW1wbGUgcmF0ZSB0byA4a0h6IHRvIG1hdGNoIGZsYWNkZWMncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBDaGFuZ2UgbWluLiBzYW1wbGUgcmF0ZSB0byA4a0h6IHRvIG1hdGNoIGZsYWNkZWMncy4KCjIwMDYtMDItMjMgMjA6MDg6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby9NYWtlZmlsZS5hbTogQWRkIEdTVF9CQVNFX0NGTEFHUyBhbmQgR1NUX0JBU0VfTElCUyAoc2VlbXMgdG8gYmUgcmVxdWlyZWQgZm9yIEN5Z3dpbiwgc2VlICMzMTcwNDgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQkFTRV9MSUJTIChzZWVtcyB0byBiZQoJICByZXF1aXJlZCBmb3IgQ3lnd2luLCBzZWUgIzMxNzA0OCkKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICBDeWd3aW4gaGFzIGluY2x1ZGVzIGZvciBib3RoIHRoZSB1bml4IG5ldHdvcmsgc29ja2V0IEFQSQoJICBhbmQgdGhlIHdpbmRvd3MgQVBJLCBidXQgb25seSBvbmUgY2FuIGJlIGluY2x1ZGVkLCBzbyBmaXgKCSAgaW5jbHVkZXMgdG8gb25seSB1c2Ugb25lIG9yIHRoZSBvdGhlciwgcHJlZmVyaW5nIHRoZSB1bnhpCgkgIG9uZSAoIzMxNzA0OCkuCgoyMDA2LTAyLTIzIDEyOjIxOjI1ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgcnRwL2dzdC86IFNlcGFyYXRlZCB0aGUgRzcxMSBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycyBpbnRvIHNlcGFyYXRlIGVsZW1lbnRzIGZvciBtdWxhdy9hbGF3LiBBbHNvIHJlbW92ZWQgdGhlIG9sZCBnNzExLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTIzICBQaGlsaXBwZSBLYWxhZiAgPHBoaWxpcHBlLmthbGFmIGF0IGNvbGxhYm9yYS5jby51az4KCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkgICogcnRwL2dzdC9nc3Rnc3RydHBwY21hcGF5LmM6CgkgICogcnRwL2dzdC9nc3Rnc3RydHBwY21hcGF5Lmg6CgkgICogcnRwL2dzdC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVkZXBheS5oOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdXBheS5oOgoJICAqIHJ0cC9nc3QvTWFrZWZpbGUuYW06CgkgICogcnRwL2dzdC9nc3RydHAuYzoKCSAgKiBydHAvZ3N0L1JFQURNRToKCSAgU2VwYXJhdGVkIHRoZSBHNzExIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzIGludG8gc2VwYXJhdGUgZWxlbWVudHMgZm9yCgkgIG11bGF3L2FsYXcuIEFsc28gcmVtb3ZlZCB0aGUgb2xkIGc3MTEgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMuCgoyMDA2LTAyLTIyIDIwOjIyOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2LzogVWViZXIgc3BpZmZpZnkgc29tZSBtb3JlLCBhZGRlZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfYmFzZV9pbml0KSwgKGdzdF9kdmRlY19pbml0KSwKCSAgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2R2ZGVtdXhfaW5pdCksCgkgIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksIChnc3RfZHZkZW11eF9zaW5rX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwgKGdzdF9kdmRlbXV4X3NpbmtfcXVlcnkpLAoJICAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpLAoJICAoZ3N0X2R2ZGVtdXhfZmx1c2gpLCAoZ3N0X2R2ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBVZWJlciBzcGlmZmlmeSBzb21lIG1vcmUsIGFkZGVkIGRlYnVnIGNhdGVnb3J5LgoJICBVc2UgX3NjYWxlLgoJICBVc2Ugc2VnbWVudHMsIHJlc3BlY3QgcGxheWJhY2sgcmF0ZSBmcm9tIG5ld3NlZ21lbnQuCgkgIEZpeCByZWZjb3VudCBpc3N1ZS4KCjIwMDYtMDItMjIgMDk6MzM6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnkgOiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIEFkZCBpbWFnZS9wbmcgZm9yIGZvdXJjYyAncG5nICcKCjIwMDYtMDItMjAgMjE6MTk6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZXR1cm5fYnVmKSwKCSAgKGdzdF94aW1hZ2VzcmNfb3Blbl9kaXNwbGF5KSwgKGdzdF94aW1hZ2VzcmNfc3RhcnQpLAoJICAoZ3N0X3hpbWFnZXNyY19zdG9wKSwgKGdzdF94aW1hZ2VzcmNfdW5sb2NrKSwKCSAgKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwgKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLAoJICAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZXNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19jbGVhcl9idWZwb29sKSwgKGdzdF94aW1hZ2VzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZGlzcG9zZSksIChnc3RfeGltYWdlc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19zZXRfY2FwcyksCgkgIChnc3RfeGltYWdlc3JjX2ZpeGF0ZSksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF9oYW5kbGVfeGVycm9yKSwKCSAgKHhpbWFnZXV0aWxfY2hlY2tfeHNobV9jYWxscyksICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCksCgkgICh4aW1hZ2V1dGlsX3hjb250ZXh0X2NsZWFyKSwKCSAgKHhpbWFnZXV0aWxfY2FsY3VsYXRlX3BpeGVsX2FzcGVjdF9yYXRpbyksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfeGltYWdlX2J1ZmZlcl9mcmVlKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2luaXQpLCAoZ3N0X3hpbWFnZXNyY19idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9nZXRfdHlwZSksIChnc3RfeGltYWdldXRpbF94aW1hZ2VfbmV3KSwKCSAgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9kZXN0cm95KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgo9PT0gcmVsZWFzZSAwLjEwLjEgPT09CgoyMDA2LTAyLTIwIDE5OjEyOjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTIwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoKMjAwNi0wMi0yMCAxMzowODo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0IGVuYWJsZWQgZm9yIHRoZSBidWlsZCwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0CgkgIGVuYWJsZWQgZm9yIHRoZSBidWlsZCwgYnV0IGl0IGhlbHBzIG1lIHdpbiB0aGUgZmVhdHVyZS1jb3VudAoJICBjb21wZXRpdGlvbnMgb29oIHllYWguCgoyMDA2LTAyLTE5IDE2OjAyOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBVc2Ugc2NhbGluZyBjb2RlIGZvciBhZGRlZCBwcmVjaXNzaW9uIGFuZCBtb3JlIGNvcnJlY3Qgc3RvcCBwb3NpdGlvbiBpbiBjYXNlIHNjYWxlPT0wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9maWxlX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfYXZpaCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBVc2Ugc2NhbGluZyBjb2RlIGZvciBhZGRlZCBwcmVjaXNzaW9uIGFuZCBtb3JlIGNvcnJlY3Qgc3RvcAoJICBwb3NpdGlvbiBpbiBjYXNlIHNjYWxlPT0wLgoKMjAwNi0wMi0xOSAxMjowOToxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLio6IEltcGxlbWVudCBEVVJBVElPTiBxdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfc3JjX3F1ZXJ5X2hhbmRsZXIpLAoJICAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgSW1wbGVtZW50IERVUkFUSU9OIHF1ZXJ5LgoKMjAwNi0wMi0xOSAxMTo1Nzo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHgvOiBTZXQgTUFMTE9DREFUQSBmb3IgdGhlIHRlbXAgYnVmZmVycyBzbyB3ZSBkb24ndCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2ZseF9jb2xvci5oOgoJICAqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2luaXQpLAoJICAoZ3N0X2ZseGRlY19zcmNfcXVlcnlfaGFuZGxlciksIChmbHhfZGVjb2RlX2NvbG9yKSwKCSAgKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIFNldCBNQUxMT0NEQVRBIGZvciB0aGUgdGVtcCBidWZmZXJzIHNvIHdlIGRvbid0IGxlYWsuCgkgIFNvbWUgZGVidWcgY2xlYW51cHMuCgkgIENvbnN1bWUgYWxsIGRhdGEgaW4gdGhlIGFkYXB0ZXIgYmVmb3JlIGxlYXZpbmcgdGhlIGNoYWluCgkgIGZ1bmN0aW9uLiBGaXhlcyAjMzMwNjc4LgoKMjAwNi0wMi0xOCAyMDo0ODowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvOiBIYW5kbGUgMCBkYXRhIHNpemUgaW4gb3RoZXJ3aXNlIHZhbGlkIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCk6CgkgIEhhbmRsZSAwIGRhdGEgc2l6ZSBpbiBvdGhlcndpc2UgdmFsaWQgZnJhbWVzLgoJICBIYW5kbGUgbnVtZXJpYyBzdHJpbmdzIGluIDIuNC4wIGV2ZW4gd2hlbiBub3QgaW4gcGFyZW50aGVzZXMKCjIwMDYtMDItMTggMTc6MjA6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBSZWNvZ25pc2UgU1NBL0FTUyBhbmQgVVNGIHN1YnRpdGxlIGZvcm1hdHMgYW5kIHNldCBwcm9wZXIgY2FwcyB3aGVuIHRoZXkgYXJlIGZvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBSZWNvZ25pc2UgU1NBL0FTUyBhbmQgVVNGIHN1YnRpdGxlIGZvcm1hdHMgYW5kCgkgIHNldCBwcm9wZXIgY2FwcyB3aGVuIHRoZXkgYXJlIGZvdW5kLgoKMjAwNi0wMi0xNyAxODoyNTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXggZW50cmllcyAoIzMzMTU4MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleAoJICBlbnRyaWVzICgjMzMxNTgyKS4KCjIwMDYtMDItMTcgMTc6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgZm9yIHNvbWUgb2RkLXNpemVkIGltYWdlcyAoc2VlIGltYWdlIGNvbnRhaW5lZCBpbiBxdWlja3RpbWUgc3RyZWFtIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2RlY29kZV9kaXJlY3QpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBmb3Igc29tZSBvZGQtc2l6ZWQgaW1hZ2VzCgkgIChzZWUgaW1hZ2UgY29udGFpbmVkIGluIHF1aWNrdGltZSBzdHJlYW0gaW4gIzMyNzA4Myk7CgkgIHVzZSBnX21hbGxvYygpIGluc3RlYWQgb2YgZ19hbGxvY2EoKS4KCjIwMDYtMDItMTcgMTY6Mjg6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZQoJICBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0aGF0LgoJICBGaXhlcyAjMzMxNTQzLgoKMjAwNi0wMi0xNyAxNTozNzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSwgZml4ZXMgIzMxOTg4NAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jaGFpbik6CgkgIFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUsIGZpeGVzICMzMTk4ODQKCjIwMDYtMDItMTcgMTE6MTk6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby9nc3RjZGlvLmM6IEluaXQgZGVidWcgY2F0ZWdvcnkgKCMzMzEyNTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgIEluaXQgZGVidWcgY2F0ZWdvcnkgKCMzMzEyNTMpLgoKMjAwNi0wMi0xNyAxMDo1MzozOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L2djb25mL2djb25mLmM6CgkqIGV4dC9nY29uZi9nY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkqIGdjb25mL2dzdHJlYW1lci5zY2hlbWFzLmluOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBKdXJnJ3MgcGF0Y2ggZm9yIG11bHRpZGV2aWNlIHN1cHBvcnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBKdXJnJ3MgcGF0Y2ggZm9yIG11bHRpZGV2aWNlIHN1cHBvcnQKCjIwMDYtMDItMTYgMjA6MzA6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUGFzcyBleHRyYV9kYXRhIHRvIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb19jYXBzKCksIHNvIHRoYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBQYXNzIGV4dHJhX2RhdGEgdG8gZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX2NhcHMoKSwgc28gdGhhdAoJICBXQVZFRk9STUFURVggc3R1ZmYgd29ya3MuIFBvc3QgYXVkaW8gY29kZWMgbmFtZSBhbmQgcG9zdAoJICBpdCBhcyB0YWdsaXN0IG9uIHRoZSBidXMuIEFsbG93IHVwIHRvIDggY2hhbm5lc2wgZm9yIHJhdwoJICBQQ00gaW4gdGhlIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2Fwcy4KCjIwMDYtMDItMTYgMTY6NTM6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEFwcGxpZWQgIzMxODY2My4gR2l2ZXMgcXVpdGUgYSBmZXcgZmFsc2UgcG9zaXRpdmVzIGluIGF1dG9zY2FuIG1vZGUsIGJ1dCBpdCdzIGJldHRlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tdWx0aXBhcnRfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXBhcnRfZ2V0X3Byb3BlcnR5KToKCSAgQXBwbGllZCAjMzE4NjYzLiBHaXZlcyBxdWl0ZSBhIGZldyBmYWxzZSBwb3NpdGl2ZXMgaW4KCSAgYXV0b3NjYW4gbW9kZSwgYnV0IGl0J3MgYmV0dGVyIHRoYW4gbm90aGluZy4gTm90IGNsb3NpbmcgeWV0LgoKMjAwNi0wMi0xNiAxNDoxMzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgRml4IGFyZ3MuCgoyMDA2LTAyLTE2IDE0OjAyOjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoKMjAwNi0wMi0xNiAxMDo1ODoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBJRDMgMi4zLjAgdXNlZCBzeW5jaC1zYWZlIGludGVnZXJzIGZvciB0aGUgdGFnIHNpemUsIGJ1dCBub3QgZm9yIHRoZSBmcmFtZSBzaXplLiAoRml4ZXMgIzMzMTM2OCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgIElEMyAyLjMuMCB1c2VkIHN5bmNoLXNhZmUgaW50ZWdlcnMgZm9yIHRoZSB0YWcgc2l6ZSwgYnV0IG5vdCBmb3IgdGhlCgkgIGZyYW1lIHNpemUuIChGaXhlcyAjMzMxMzY4KQoKMjAwNi0wMi0xNiAxMDo0MjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1JFQURNRTogVXBkYXRlZCBSRUFETUUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1JFQURNRToKCSAgVXBkYXRlZCBSRUFETUUuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgTWFrZSBzdXJlIHRoZSBSVFAgcG9ydCBpcyBhbiBldmVuIHBvcnQgYW4gdHJ5IHRvIGFsbG9jYXRlCgkgIGFub3RoZXIgaWYgbm90LgoJICBBZGRlZCByZXRyeSBwcm9wZXJ0eSB0byBjb250cm9sIG1heCByZXRyaWVzIGZvciBwb3J0IGFsbG9jYXRpb24uCgkgIE1ha2Ugc3VyZSBSVENQIHBvcnQgaXMgUlRQIHBvcnQrMS4KCSAgQ2xlYW51cCB3aGVuIHBvcnQgYWxsb2NhdGlvbiBmYWlscy4KCSAgRml4ZXMgIzMxOTE4My4KCjIwMDYtMDItMTYgMDk6MTc6NTggKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBrYW5nYXJvb3QubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhLmM6IERvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgb2YgdGhlIHBhcmVudCBjbGFzcydzIHN0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgb2YgdGhlIHBhcmVudCBjbGFzcydzIHN0YXRlCgkgIGNoYW5nZSBmdW5jdGlvbiAoIzMzMTM4NSwgcGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4pLgoKMjAwNi0wMi0xNSAxMjoxNzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBIQUwgc291bmQgZGV2aWNlIHdyYXBwZXIgcGx1Z2lucy4gQ2xvc2VzICMzMjkxMDYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoZ3N0X2hhbF9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmg6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zcmNfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGdzdF9oYWxfYXVkaW9fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaGFsX2F1ZGlvX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2hhbF9hdWRpb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmg6CgkgICogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuaDoKCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfc3RyaW5nKSwKCSAgKGdzdF9oYWxfcmVuZGVyX2Jpbl9mcm9tX3VkaSksIChnc3RfaGFsX2dldF9hdWRpb19zaW5rKSwKCSAgKGdzdF9oYWxfZ2V0X2F1ZGlvX3NyYyk6CgkgICogZXh0L2hhbC9oYWwuaDoKCSAgQWRkIEhBTCBzb3VuZCBkZXZpY2Ugd3JhcHBlciBwbHVnaW5zLiBDbG9zZXMgIzMyOTEwNgoKMjAwNi0wMi0xNSAxMjoxMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoKMjAwNi0wMi0xNSAxMDoxNTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQWRkIGNvbW1lbnQgaW4gYSBmdWx0aWxlIGF0dGVtcHQgdG8gc3RvcCB0aGUgY29weS1hbmQtcGFzdGUgcGFyYWRpZ20gbGVhZGluZyB0byBkdXBsaWNhdGlvbiBvZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBBZGQgY29tbWVudCBpbiBhIGZ1bHRpbGUgYXR0ZW1wdCB0byBzdG9wIHRoZSBjb3B5LWFuZC1wYXN0ZQoJICBwYXJhZGlnbSBsZWFkaW5nIHRvIGR1cGxpY2F0aW9uIG9mIGJhZCBjb2RlLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKToKCSAgTWltZSBwYXJhbWV0ZXJzIGhhdmUgdG8gYmUgY2hlY2tlZCBjYXNlIGluc2Vuc2l0aXZlCgoyMDA2LTAyLTE1IDA5OjQ1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcwoJICBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwNi0wMi0xNCAyMzoyMzowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBBZHZhbmNlIHN0cmVhbSB0aW1lIGZvciBsYWdnaW5nIHN1YnRpdGxlIHN0cmVhbXMgYnkgc2VuZGluZyBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpOgoJICBBZHZhbmNlIHN0cmVhbSB0aW1lIGZvciBsYWdnaW5nIHN1YnRpdGxlIHN0cmVhbXMgYnkgc2VuZGluZwoJICBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHRoZSB1cGRhdGUgZmxhZyBzZXQuCgoyMDA2LTAyLTE0IDE4OjUwOjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIERvbid0IGFuc3dlciBkdXJhdGlvbiBxdWVyeS4gVGhpcyBzaG91bGQgYmUgdHJhbnNmb3JtZWQgaW50byByZXBseWluZwoJICBGQUxTRSB0byBzZWVrIGV2ZW50cy4KCjIwMDYtMDItMTQgMTY6NTg6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFRoZXJlIGNhbiBiZSBib2d1cyBkYXRhIGJlZm9yZSB0aGUgaGRybCBMSVNUIHRhZyBpbiB0aGUgUklGRiBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcik6CgkgIFRoZXJlIGNhbiBiZSBib2d1cyBkYXRhIGJlZm9yZSB0aGUgaGRybCBMSVNUIHRhZyBpbiB0aGUgUklGRiBoZWFkZXIuCgkgIEl0J3MgaGFyZCB0byBzYXkgaWYgaXQncyBub3QgcmVzcGVjdGluZyB0aGUgQVZJIHNwZWNpZmljYXRpb25zIG9yIG5vdCwKCSAgYnV0IHNpbmNlIEdvb2dsZSBWaWRlbyBpcyBwcm9kdWNpbmcgQVZJcyBsaWtlIHRoYXQgYW5kIHRoZSBvdGhlciBwbGF5ZXIKCSAgZG9uJ3Qgc2VlbSB0byBjb21wbGFpbiwgSSBndWVzcyB3ZSBzaG91bGQgZG8gdGhlIHNhbWUuCgoyMDA2LTAyLTE0IDExOjI0OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBFcnJvcnMgb3V0IGdyYWNlZnVsbHkuCgoyMDA2LTAyLTEzIDIyOjA0OjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBJdCBzdGlsbCBuZWVkcyBzb21lIGxvdmUgZm9yIHNlZWtpbmcuCgoyMDA2LTAyLTEzIDEyOjAwOjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBBZGQgbW9yZSB2YWxpZGF0aW9uIHRvIGVuc3VyZSB0aGF0IGEgY2hhciBlbmNvZGluZyBjb252ZXJzaW9uIHByb2R1Y2VkIGEgdmFsaWQgVVRGLTggc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEFkZCBtb3JlIHZhbGlkYXRpb24gdG8gZW5zdXJlIHRoYXQgYSBjaGFyIGVuY29kaW5nIGNvbnZlcnNpb24KCSAgcHJvZHVjZWQgYSB2YWxpZCBVVEYtOCBzdHJpbmcuCgoyMDA2LTAyLTEzIDEwOjQzOjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQcm9wZXJseSBoYW5kbGUgZW5kIG9mIHNlZ21lbnQuIENsb3NlcyAjMzMwODg1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBQcm9wZXJseSBoYW5kbGUgZW5kIG9mIHNlZ21lbnQuIENsb3NlcyAjMzMwODg1LgoKMjAwNi0wMi0xMyAxMDozNjoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOiBGb3IgZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIEZvciBnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoKMjAwNi0wMi0xMiAxODo1OTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS4qOiBNYWtlIG1vcmUgdGhpbmdzIHdvcmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfaW5pdCksIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX3ZpZGVvX2NvbmZpZyksIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgTWFrZSBtb3JlIHRoaW5ncyB3b3JrLgoJICBIYW5kbGUgQUNDIGNvbmZpZyBzdHJpbmdzLgoKMjAwNi0wMi0xMiAxMzoxMDoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiBzZXQgdGltZXN0YW1wcyBpZiBubyBpbmNvbWluZyB0aW1lc3RhbXBzIHNldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBzZXQgdGltZXN0YW1wcyBpZiBubyBpbmNvbWluZyB0aW1lc3RhbXBzIHNldAoKMjAwNi0wMi0xMSAxMzo1NDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogLi4uIGFuZCBmaXggdGhlIHZlcnkgc2FtZSBsZWFrcyBpbiBHc3RUYWdEZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3RfdGFnX2RlbXV4X2RvX3R5cGVmaW5kKToKCSAgLi4uIGFuZCBmaXggdGhlIHZlcnkgc2FtZSBsZWFrcyBpbiBHc3RUYWdEZW11eC4KCjIwMDYtMDItMTEgMTM6MzU6MTMgKzAwMDAgIEpvbiBUcm93YnJpZGdlIDx0cm93QHhpbWlhbi5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChpZDNkZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3RfaWQzZGVtdXhfZG9fdHlwZWZpbmQpOgoJICBGaXggYSBjb3VwbGUgb2YgbWVtIGxlYWtzLiAoUGF0Y2ggYnkgSm9uYXRoYW4gTWF0dGhldwoJICA8am9uYXRoYW4gYXQga2FvbGluIGRvdCB3aDkgZG90IG5ldD4pCgoyMDA2LTAyLTEwIDE3OjM3OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IEZpcnN0IHNldCBvcHRpb25zLCB0aGVuIHNldCBjYXBzIG9yIGVsc2UgdGhlIGJhc2VjbGFzcyB3aWxsIG5vdCBrbm93IGFib3V0IHRoZSBvcHRpb25zLCBkdWguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgRmlyc3Qgc2V0IG9wdGlvbnMsIHRoZW4gc2V0IGNhcHMgb3IgZWxzZSB0aGUgYmFzZWNsYXNzCgkgIHdpbGwgbm90IGtub3cgYWJvdXQgdGhlIG9wdGlvbnMsIGR1aC4KCjIwMDYtMDItMTAgMTc6MTY6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRG9uJ3Qgd2FzdGUgdGltZSBsb29raW5nIGZvciBhIGNvbmZpZyBzdHJpbmcgaWYgd2UgaGF2ZSBjb2RlY19pbmZvIG9uIHRoZSBpbmNvbW1pbmcgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgRG9uJ3Qgd2FzdGUgdGltZSBsb29raW5nIGZvciBhIGNvbmZpZyBzdHJpbmcgaWYgd2UgaGF2ZSBjb2RlY19pbmZvCgkgIG9uIHRoZSBpbmNvbW1pbmcgY2Fwcy4KCjIwMDYtMDItMTAgMTY6NDA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogU2F5IHNvbWV0aGluZyBhYm91dCBjYXNlLXNlbnNpdGl2aXR5IG9mIGNhcHMgdnMgbWltZS1hdHRyaWJ1dGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgU2F5IHNvbWV0aGluZyBhYm91dCBjYXNlLXNlbnNpdGl2aXR5IG9mIGNhcHMgdnMgbWltZS1hdHRyaWJ1dGVzLgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX21wNGdfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9pbml0KSwgKGdzdF9ydHBfbXA0Z19wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCksIChnc3RfcnRwX21wNGdfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9tcDRnX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIEFkZGVkIGJlZ2lubmluZ3Mgb2YgbXBlZzQtZ2VuZXJpYyBwYXlsb2FkZXIgKFJGQyAzNjQwKQoKMjAwNi0wMi0wOSAxNDoyMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUmVzdXJlY3RlZCBydHBkZWMgdG8gbWFrZSBydHNwc3JjIGhhcHB5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cGRlY19jbGFzc19pbml0KSwgKGdzdF9ydHBkZWNfaW5pdCksIChnc3RfcnRwZGVjX2dldGNhcHMpLAoJICAoZ3N0X3J0cGRlY19jaGFpbl9ydHApLCAoZ3N0X3J0cGRlY19jaGFpbl9ydGNwKSwKCSAgKGdzdF9ydHBkZWNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBkZWNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfZHVtcCk6CgkgIFJlc3VyZWN0ZWQgcnRwZGVjIHRvIG1ha2UgcnRzcHNyYyBoYXBweSBhZ2Fpbi4KCSAgU2tpcCBhdHRyaWJ1dGVzIGZyb20gdGhlIHNlc3Npb24gaWQuCgkgIERvbid0IGNyYXNoIHdoZW4gZHVtcGluZyBhIG1lc3NhZ2Ugd2l0aCBhbiBlbXB0eSBib2R5LgoKMjAwNi0wMi0wOSAxNDoxNDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogQWRkZWQgbW9yZSBtZWFuaW5nZnVsbCB3YXJuaW5ncyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jaGFpbik6CgkgIEFkZGVkIG1vcmUgbWVhbmluZ2Z1bGwgd2FybmluZ3Mgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgQ2xlYXIgRiBiaXQgb24gb3V0Z29pbmcgQU1SIHBhY2tldHMuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgQWRkZWQgZGVidWdnaW5nIGNhdGVnb3J5CgkgIFN1cHBvcnQgcGF5bG9hZGluZyBvZiBtdWx0aXBsZSBBTVIgZnJhbWVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9kZXBheV9kYXRhKToKCSAgQWRkZWQgc29tZSBkZWJ1Z2dpbmcuCgoyMDA2LTAyLTA5IDExOjI1OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoKPT09IHJlbGVhc2UgMC4xMC4yID09PQoKMjAwNi0wMi0wOSAxMToyMjozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBSZWxlYXNpbmcgMC4xMC4yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNpbmcgMC4xMC4yCgoyMDA2LTAyLTA4IDE3OjM1OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0wMi0wOCAxNzoxODoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE9vcHMsIGp1bXBpbmcgdGhlIGd1biB3aXRoIHRoZSBDaGFuZ2VMb2cgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE9vcHMsIGp1bXBpbmcgdGhlIGd1biB3aXRoIHRoZSBDaGFuZ2VMb2cgZW50cnkKCjIwMDYtMDItMDggMTc6MTY6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUgYW5kIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjIuMiBmb3IgQVBJIGFkZGl0aW9ucyAoYW5kIDEgbWlncmF0aW9uIG9mIGdzdF9iaW5fZmluZF91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlIGFuZCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yLjIKCSAgZm9yIEFQSSBhZGRpdGlvbnMgKGFuZCAxIG1pZ3JhdGlvbiBvZiBnc3RfYmluX2ZpbmRfdW5jb25uZWN0ZWRfcGFkKQoKMjAwNi0wMi0wOCAxNzoxMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IFJlZ2lzdGVyIG11c2ljYnJhaW56IHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogKHBsdWdpbl9pbml0KToKCSAgUmVnaXN0ZXIgbXVzaWNicmFpbnogdGFncy4KCjIwMDYtMDItMDcgMTg6MzE6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICByZW1vdmUgdW51c2VkIHZhcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCjIwMDYtMDItMDcgMTg6MDE6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZSB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlCgkgIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGJ1ZywgYW5kIG1ha2VzCgkgIHRoZSBkdW1wIG9mIG9mZnNldHMgY29tcGFyYWJsZSB0byBvdGhlciB0b29scwoKMjAwNi0wMi0wNyAxNzo1NDo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZwoJICBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCjIwMDYtMDItMDcgMTY6MjM6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvZ2NvbmYuaDogUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgIFJlbW92ZSBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiB0aGF0IG5vIGxvbmdlciBleGlzdHMuCgoyMDA2LTAyLTA3IDEzOjM5OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogTWFrZSBzaG91dDIgd29yayBmb3Igbm9uIG9nZyBzdHJlYW1zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX3JlbmRlciksCgkgIChnc3Rfc2hvdXQyc2VuZF9zZXRjYXBzKSwgKGdzdF9zaG91dDJzZW5kX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2Ugc2hvdXQyIHdvcmsgZm9yIG5vbiBvZ2cgc3RyZWFtcwoKMjAwNi0wMi0wNiAxNzoyNjo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IFVwZGF0ZWQgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSksIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBVcGRhdGVkIGRvY3MuCgkgIEFkZGVkIHByb3BlcnRpZXMgYnl0ZXMtc2VydmVkLCBieXRlc190b19zZXJ2ZS4KCSAgUG9zdCBwcm9wZXIgZXJyb3IgbWVzc2FnZXMsCgkgIEVtaXQgY2xpZW50IGFkZGVkIHNpZ25hbCB0b28uCgoyMDA2LTAyLTA2IDE1OjQxOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIEhhbmRsZSBzZWVraW5nIGluIGEgbGVzcyBicm9rZW4gd2F5LgoJICBGaXggQU1SIGNhcHMgdG8gbWF0Y2ggdGhlIEFNUiBkZWNvZGVyLgoJICBTZXQgZmlyc3QgdGltZXN0YW1wIG9uIEFNUiBzYW1wbGVzIHRvIDAgZm9yIG5vdy4KCSAgUmVtb3ZlIHNvbWUgXG4gaW4gREVCVUcgc3RyaW5ncy4KCSAgVXNlIF9zY2FsZV9pbnQgZm9yIG1heGltdW0gcHJlY2lzaW9uLgoKMjAwNi0wMi0wNiAxNTozMToxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIGFkZGluZyBkb2NzIGZvciBtdWx0aXVkcHNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBkb2NzIGZvciBtdWx0aXVkcHNpbmsKCjIwMDYtMDItMDYgMTU6Mjg6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IHBlYWsgYmVsb3cgZGVjYXkgaXMgbm90IG5lY2Vzc2FyaWx5IGFuIGVycm9yLCBzbyBkb24ndCBFUlJPUiBsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgcGVhayBiZWxvdyBkZWNheSBpcyBub3QgbmVjZXNzYXJpbHkgYW4gZXJyb3IsIHNvIGRvbid0IEVSUk9SIGxvZwoKMjAwNi0wMi0wNiAxNToyNzowNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgY3ZzIHZlcnNpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjdnMgdmVyc2lvbnMKCjIwMDYtMDItMDYgMTQ6MjU6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS4qOiBNYWtlIHN1cmUgd2Ugc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgaW4gQllURVMgZm9ybWF0IGJlZm9yZSBzZW5kaW5nIGJ1ZmZlcnMgKCMzMjg1MzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfcmVzZXQpLAoJICAoZ3N0X2VibWxfd3JpdGVfZmx1c2hfY2FjaGUpLCAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9wdXNoKSwKCSAgKGdzdF9lYm1sX3dyaXRlX3NlZWspOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIE1ha2Ugc3VyZSB3ZSBzZW5kIGEgbmV3c2VnbWVudCBldmVudCBpbiBCWVRFUyBmb3JtYXQKCSAgYmVmb3JlIHNlbmRpbmcgYnVmZmVycyAoIzMyODUzMSkuCgoyMDA2LTAyLTA2IDEyOjE4OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUGFzcyB1bmhhbmRsZWQgcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIGp1c3QgZHJvcHBpbmcgdGhlbSAoIzMyNjQ0NikuIFVwZGF0ZSBxdWVyeSB0eXBlIGFycmF5cyBoZXJlIGFuZCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfZHZkZW11eF9zaW5rX3F1ZXJ5KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2dldF9xdWVyeV90eXBlcyksCgkgIChzcGVleF9kZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19zcmNfcXVlcnkpLAoJICAoZ3N0X3NwZWV4ZW5jX3NpbmtfcXVlcnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpOgoJICBQYXNzIHVuaGFuZGxlZCBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YganVzdCBkcm9wcGluZwoJICB0aGVtICgjMzI2NDQ2KS4gVXBkYXRlIHF1ZXJ5IHR5cGUgYXJyYXlzIGhlcmUgYW5kIHRoZXJlLgoKMjAwNi0wMi0wNiAxMTo1Nzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IENvbGxlY3RwYWRzIGluIGNvcmUgZ290IGNoYW5nZWQgYW5kIG5vdyBhbHNvIGhvbGRzIGEgcmVmZXJlbmNlIHRvIGFueSBwYWQgdGhhdCBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCk6CgkgIENvbGxlY3RwYWRzIGluIGNvcmUgZ290IGNoYW5nZWQgYW5kIG5vdyBhbHNvIGhvbGRzIGEKCSAgcmVmZXJlbmNlIHRvIGFueSBwYWQgdGhhdCBpcyBwYXJ0IG9mIGl0LiBGaXggcmVmY291bnQKCSAgY2hlY2tzIGluIHRlc3QgY2FzZSBhY2NvcmRpbmdseS4KCjIwMDYtMDItMDYgMTE6NDE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6IEZpeCBpbmNsdWRlLCBmb3Igbm93IEdzdFRhZ0RlbXV4IGlzIGluIHRoZSBhcGV0YWcgZGlyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkgIEZpeCBpbmNsdWRlLCBmb3Igbm93IEdzdFRhZ0RlbXV4IGlzIGluIHRoZSBhcGV0YWcgZGlyLgoKMjAwNi0wMi0wNiAxMTozNDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBjZGlvIHBsdWdpbiB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICBBZGQgY2RpbyBwbHVnaW4gdG8gZG9jcy4KCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICBBZGQgZ3RrLWRvYyBibHVyYi4KCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgIFRoZSBwbHVnaW4gaXMgY2FsbGVkICdjZGlvJyBub3QgJ2NkZGlvJy4KCjIwMDYtMDItMDYgMTA6NTY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgQVBFIHRhZyBkZW11eGVyICgjMzI1NjQ5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguaDoKCSAgQWRkIEFQRSB0YWcgZGVtdXhlciAoIzMyNTY0OSkuCgoyMDA2LTAyLTA1IDIyOjIyOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi86IElnbm9yZSBjaGFuZ2luZyB0aGUgR0NvbmYga2V5IHRvICIiLiBJZ25vcmUgR0NvbmYga2V5IHVwZGF0ZXMgdGhhdCBkb24ndCBhY3R1YWxseSBjaGFuZ2UgdGhlIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfYXVkaW9fc2luayksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfdmlkZW9fc2luayksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfYXVkaW9fc3JjKSwKCSAgKGdzdF9nY29uZl9nZXRfZGVmYXVsdF92aWRlb19zcmMpOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc2lua19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBJZ25vcmUgY2hhbmdpbmcgdGhlIEdDb25mIGtleSB0byAiIi4gSWdub3JlIEdDb25mIGtleSB1cGRhdGVzCgkgIHRoYXQgZG9uJ3QgYWN0dWFsbHkgY2hhbmdlIHRoZSBzdHJpbmcuCgkgIEZvciBub3csIGlnbm9yZSB0aGUgR0NvbmYga2V5IHdoZW4gdGhlIHN0YXRlIGlzID4gUkVBRFksIGFzCgkgIGl0IGJyZWFrcyBzdHJlYW1pbmcuIFNvbWV0aW1lIGl0IHdpbGwgYmUgbmljZSB0byBicmluZyB0aGUKCSAgbmV3IHNpbmsgb25saW5lIGV2ZW4gbWlkLXN0cmVhbSwgYnkgc2VuZGluZyBORVdTRUdNRU5UIGluZm8KCSAgYW5kIHBvc3NpYmx5IHByZXJvbGxpbmcuCgkgIChGaXhlcyAjMzI2NzM2KQoKMjAwNi0wMi0wNSAyMDo0Mzo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS86IE1ha2UgZ29vbSByZWVudHJhbnQgYnkgbW92aW5nIGFsbCBpbXBvcnRhbnQgc3RhdGljIHZhcmlhYmxlcyBpbnRvIGluc3RhbmNlIHN0cnVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJOZXcpLCAoY2FsY3VsYXRlUFhhbmRQWSksCgkgIChzZXRQaXhlbFJHQiksIChzZXRQaXhlbFJHQl8pLCAoZ2V0UGl4ZWxSR0IpLCAoZ2V0UGl4ZWxSR0JfKSwKCSAgKHpvb21GaWx0ZXJTZXRSZXNvbHV0aW9uKSwgKHpvb21GaWx0ZXJEZXN0cm95KSwKCSAgKHpvb21GaWx0ZXJGYXN0UkdCKSwgKHBvaW50RmlsdGVyKToKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX2luaXQpLCAoZ29vbV9zZXRfcmVzb2x1dGlvbiksCgkgIChnb29tX3VwZGF0ZSksIChnb29tX2Nsb3NlKToKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkgICogZ3N0L2dvb20vZ3JhcGhpYy5jOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksCgkgIChnc3RfZ29vbV9kaXNwb3NlKSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgICogZ3N0L2dvb20vbGluZXMuYzogKGdvb21fbGluZXMpOgoJICAqIGdzdC9nb29tL2xpbmVzLmg6CgkgIE1ha2UgZ29vbSByZWVudHJhbnQgYnkgbW92aW5nIGFsbCBpbXBvcnRhbnQgc3RhdGljIHZhcmlhYmxlcwoJICBpbnRvIGluc3RhbmNlIHN0cnVjdHVyZXMuCgkgIChGaXhlcyAjMzI5MTgxKQoKMjAwNi0wMi0wNCAxNTo0MTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogVGhpcmQgYXR0ZW1wdCwgdXNlIGdzdF9wYWRfaXNfbGlua2VkKCkgdGhpcyB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2FsbF9zb3VyY2VfcGFkc191bmxpbmtlZCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBUaGlyZCBhdHRlbXB0LCB1c2UgZ3N0X3BhZF9pc19saW5rZWQoKSB0aGlzIHRpbWUuCgoyMDA2LTAyLTA0IDEzOjMwOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBBZGp1c3QgZm9yIGRhdGEgbGVuZ3RoIGluZGljYXRvcnMgd2hlbiBwYXJzaW5nIChGaXhlcyAjMzI5ODEwKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBBZGp1c3QgZm9yIGRhdGEgbGVuZ3RoIGluZGljYXRvcnMgd2hlbiBwYXJzaW5nIChGaXhlcyAjMzI5ODEwKQoJICBGaXggc3R1cGlkIGJ1ZyBwYXJzaW5nIFVURi04IHRhZyB0ZXh0LgoJICBPdXRwdXQgdGFnIHN0cmluZ3Mgd2l0aCBtdWx0aXBsZSBmaWVsZHMgYXMgbXVsdGlwbGUgdGFncywgc28gdGhlCgkgIGFwcCBnZXRzIGFsbCB0aGUgZGF0YS4KCjIwMDYtMDItMDMgMjA6MDU6MjAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBGaXhlZCBhIGJ1ZyBhZGQgaW4gbGFzdCBjb21taXQsIHdoZXJlIG5vIGV2ZW50IGlzIHNlbmQuIFRoYW5rcyBUaW0gdG8gc2hvdyBtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGEgYnVnIGFkZCBpbiBsYXN0IGNvbW1pdCwgd2hlcmUgbm8gZXZlbnQgaXMgc2VuZC4gVGhhbmtzIFRpbSB0byBzaG93IG1lLgoKMjAwNi0wMi0wMyAxODowNzozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgSnVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoKMjAwNi0wMi0wMyAxNjo1NTo0MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA2LTAyLTAzIDEzOjA2OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBOZXZlciBvdXRwdXQgYSB0YWcgd2l0aCBhIG51bGwgY29udGVudHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpLCAoaWQzdjJfZ2VucmVfc3RyaW5nX3RvX3RhZ2xpc3QpLAoJICAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpOgoJICBOZXZlciBvdXRwdXQgYSB0YWcgd2l0aCBhIG51bGwgY29udGVudHMgc3RyaW5nLgoKMjAwNi0wMi0wMiAyMTowMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogT25seSBwYXVzZSBpZiBhbGwgcGFkcyBhcmUgdW5saW5rZWQgQU5EIHdlJ3ZlIHRyaWVkIHRvIHNlbmQgZGF0YSBvbiBhbGwgb2YgdGhlbSBhdCBsZWFzdCBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2FsbF9zb3VyY2VfcGFkc191bmxpbmtlZCk6CgkgIE9ubHkgcGF1c2UgaWYgYWxsIHBhZHMgYXJlIHVubGlua2VkIEFORCB3ZSd2ZSB0cmllZCB0byBzZW5kIGRhdGEKCSAgb24gYWxsIG9mIHRoZW0gYXQgbGVhc3Qgb25jZS4KCjIwMDYtMDItMDIgMTI6Mjk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1ha2UgbG9vcCBmdW5jdGlvbi90YXNrIHBhdXNlIGl0c2VsZiB3aGVuIGFsbCBzb3VyY2UgcGFkcyBhcmUgdW5saW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYWxsX3NvdXJjZV9wYWRzX3VubGlua2VkKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE1ha2UgbG9vcCBmdW5jdGlvbi90YXNrIHBhdXNlIGl0c2VsZiB3aGVuIGFsbCBzb3VyY2UgcGFkcyBhcmUKCSAgdW5saW5rZWQuCgoyMDA2LTAyLTAyIDEwOjQ3OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyBmdW5jdGlvbnMgZnJvbSBjb3JlIHRvIHJlbmRlciBhIGJpbiBmcm9tIGEgc3RyaW5nLiBGaXhlcyBidWlsZC4gVXAgcmVxdWlyZW1lbnRzIHRvIGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl9mcm9tX2tleSk6CgkgIFVzZSBuZXcgZnVuY3Rpb25zIGZyb20gY29yZSB0byByZW5kZXIgYSBiaW4gZnJvbSBhCgkgIHN0cmluZy4gRml4ZXMgYnVpbGQuIFVwIHJlcXVpcmVtZW50cyB0byBjb3JlIENWUy4KCjIwMDYtMDItMDEgMTE6MDE6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IERvbid0IHB1c2ggYnVmZmVycyBpbnRvIHRoZSBhZGFwdGVyIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHB1c2ggZG93bnN0cmVhbSBhZ2FpbiB3aXRob3V0IGZyYW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgRG9uJ3QgcHVzaCBidWZmZXJzIGludG8gdGhlIGFkYXB0ZXIgdGhhdCB3ZSBhcmUgZ29pbmcgdG8KCSAgcHVzaCBkb3duc3RyZWFtIGFnYWluIHdpdGhvdXQgZnJhbWluZyBhbnl3YXkuIEFsc28sIHRoZQoJICBhZGFwdG9yIHRha2VzIG93bmVyc2hpcCBvZiBidWZmZXJzIHB1dCBpbnRvIGl0IChmaXhlcwoJICBhdXBhcnNlIHB1c2hpbmcgaW52YWxpZCBidWZmZXJzIGZvciAuYXUgZmlsZXMgd2l0aAoJICBBRFBDTSBjb250ZW50cykuIEZpbmFsbHksIHNldCBjYXBzIG9uIGFsbCBvdXRnb2luZyBidWZmZXJzLgoKMjAwNi0wMS0zMCAyMzoxMzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvOiBTb21lb25lIHNob3VsZCBraWNrIG15IGJ1dHQuIFJlbW92ZSBJRDN2MSB0YWdzIGZyb20gdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfaWQzdjEpLCAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2lkM2RlbXV4X3NlbmRfdGFnX2V2ZW50KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2MV90YWcpOgoJICBTb21lb25lIHNob3VsZCBraWNrIG15IGJ1dHQuIFJlbW92ZSBJRDN2MSB0YWdzIGZyb20gdGhlIGVuZCBvZiB0aGUKCSAgZmlsZS4KCSAgSW1wcm92ZSBlcnJvciBtZXNzYWdlcy4gU2VuZCB0aGUgVEFHIG1lc3NhZ2UgYXMgc29vbiBhcyB3ZSBjb21wbGV0ZQoJICB0eXBlZmluZGluZywgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsIHdlIHNlbmQgdGhlIGZpcnN0IGJ1ZmZlci4KCSAgRG93bnN0cmVhbSB0YWcgZXZlbnQgaXMgc3RpbGwgc2VudCBiZWZvcmUgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMDYtMDEtMjkgMjA6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfc2V0Y2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcKCSAgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9sYXN0X2VudHJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFJld3JpdGUgYSBiaXQsIG1vc3RseSB0byBmaXggZmxvdyBsb2dpYyBhbmQgdG8gbWFrZSBzZWVraW5nIHdvcmsuCgkgIEZpeCBidWZmZXIvZXZlbnQgcmVmY291bnRpbmcuIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuIEFkZAoJICB3aWR0aCBvZiAzMiB0byBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMuIFVzZSBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTAxLTI3IDEyOjE3OjU2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZHYvOiBDYWxsIGR2X3NldF9lcnJvcl9sb2cgKGR2X2RlY29kZXJfdCAqLCBOVUxMKTsgYWZ0ZXIgZHZfZGVjb2Rlcl9uZXcgdG8gbm90IGhhdmUgd2FyaW5ncyBmbG9vZGluZyBzdGRlcnIuIHRoaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMjcgIEphbiBHZXJiZXIgIDxqQGJvb3RsYWIub3JnPgoJICBSZXZpZXdlZCBieTogQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBDYWxsIGR2X3NldF9lcnJvcl9sb2cgKGR2X2RlY29kZXJfdCAqLCBOVUxMKTsgYWZ0ZXIgZHZfZGVjb2Rlcl9uZXcKCSAgdG8gbm90IGhhdmUgd2FyaW5ncyBmbG9vZGluZyBzdGRlcnIuIHRoaXMgaXMgdGhlIHN1Z2dlc3RlZCB3YXkKCSAgYWxzbyB1c2VkIGluIGR2Z3JhYiBhbmQga2luby4gKCMzMjgzMzYpCgoyMDA2LTAxLTI3IDAxOjQzOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBGcmVlIHRoZSBkZXZpY2UgbmFtZSBzdHJpbmcgd2hlbiBmaW5hbGlzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zaW5rX2luaXQpLCAoZ3N0X29zc19zaW5rX2ZpbmFsaXNlKToKCSAgRnJlZSB0aGUgZGV2aWNlIG5hbWUgc3RyaW5nIHdoZW4gZmluYWxpc2VkLgoKMjAwNi0wMS0yNiAxNjoyMzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCjIwMDYtMDEtMjUgMjI6MDU6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgcHV0IGZ1bmN0aW9uIGNhbGxzIGluIGdfcmV0dXJuX2lmX2ZhaWwoKSBzdGF0ZW1lbnRzLCBvciB0aGV5J2xsIGJlIHJlcGxhY2VkIHdpdGggTk8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVtb3ZlX3NyY3BhZCk6CgkgIERvbid0IHB1dCBmdW5jdGlvbiBjYWxscyBpbiBnX3JldHVybl9pZl9mYWlsKCkgc3RhdGVtZW50cywKCSAgb3IgdGhleSdsbCBiZSByZXBsYWNlZCB3aXRoIE5PT1BzIGlmIHNvbWVvbmUgY29tcGlsZXMgd2l0aAoJICBHX0RJU0FCTEVfQ0hFQ0tTIGRlZmluZWQuCgoyMDA2LTAxLTI1IDIwOjMzOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgY2hhbmdlbG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNoYW5nZWxvZyBzdXJnZXJ5CgoyMDA2LTAxLTI1IDE4OjIzOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBOZXZlciB0cnVzdCBBTlkgaW5mb3JtYXRpb24gZW5jb2RlZCBpbiBhIG1lZGlhIGZpbGUsIGVzcGVjaWFsbHkgd2hlbiBpdCdzIGdpdmluZyB5b3Ugc2l6ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgTmV2ZXIgdHJ1c3QgQU5ZIGluZm9ybWF0aW9uIGVuY29kZWQgaW4gYSBtZWRpYSBmaWxlLCBlc3BlY2lhbGx5CgkgIHdoZW4gaXQncyBnaXZpbmcgeW91IHNpemVzLiAoRml4ZXMgIzMyODQ1MikKCjIwMDYtMDEtMjQgMTg6MDM6NDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIHdyaXR0ZW4gYnkgS2FpIFZlaG1hbmVuIDxrYWkudmVobWFuZW5Abm9raWEuY29tPiBhcHBsaWVkLiBTZWUgYnVnICMzMjUxNDguCgoyMDA2LTAxLTI0IDExOjU4OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBJZiBzYW1wbGVfc2l6ZSBpcyBhdmFpbGFibGUsIHVzZSB0aGF0IGZvciB0aGUgc2FtcGxlcycgZHVyYXRpb24gaW4KCSAgdGhlIGluZGV4LiBUaGlzIGVuYWJsZXMgc2luZ2xlIGZyYW1lIHN0cmVhbXMgdG8gd29yayAoYW5kIEkgaW1hZ2luZQoJICBmaXhlcyBzb21lIG90aGVyIGNhc2VzKS4KCSAgVGVzdGVkIG9uIHRlc3RzdWl0ZSwgbm8gcmVncmVzc2lvbi4KCjIwMDYtMDEtMjMgMTg6Mzk6MzEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBBZGRlZCByZWNvZ25pdGlvbiBvZiBSZWFsIEF1ZGlvIGFuZCBWaWRlbyBzdHJlYW1zIGluIG1hdHJvc2thIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZGVkIHJlY29nbml0aW9uIG9mIFJlYWwgQXVkaW8gYW5kIFZpZGVvIHN0cmVhbXMgaW4gbWF0cm9za2EgZGVtdXhlci4KCjIwMDYtMDEtMjMgMTU6MTA6NTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjogXyBWUDMxIDogdmlkZW8veC12cDMgXyBBVkRKIDogaW1hZ2UvanBlZyBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6CgkgIF8gVlAzMSA6IHZpZGVvL3gtdnAzCgkgIF8gQVZESiA6IGltYWdlL2pwZWcKCSAgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kdiwgc3lzdGVtc3RyZWFtPShib29sZWFuKWZhbHNlCgkgIF8gMHg2ZDczMDAxNyA6IGF1ZGlvL3gtYWRwY20sIGxheW91dD0oc3RyaW5nKXF1aWNrdGltZQoKMjAwNi0wMS0yMyAxNDozMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUmVtb3ZlIGVycmFudCBicmVhayBzdGF0ZW1lbnQsIGFuZCBmaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBHQ0MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBSZW1vdmUgZXJyYW50IGJyZWFrIHN0YXRlbWVudCwgYW5kIGZpeCBjb21waWxhdGlvbiB3aXRoCgkgIG9sZGVyIEdDQy4KCjIwMDYtMDEtMjMgMTI6MDQ6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBNZW50aW9uIHRoYXQgbXkgbGFzdCBjb21taXQgZml4ZXMgIzMyODI0MQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVudGlvbiB0aGF0IG15IGxhc3QgY29tbWl0IGZpeGVzICMzMjgyNDEKCjIwMDYtMDEtMjMgMTE6MDY6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvc3VuYXVkaW8vOiBFeHBvcnQgZnVuY3Rpb25zIHRoYXQgYXJlIG5lZWRlZCBpbiBvdGhlciBwYXJ0cyBvZiB0aGUgY29kZSwgbWFrZXMgdGhlIG1peGVyIGFjdHVhbGx5IHdvcms7IGFkanVzdCBtYWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19pbml0KToKCSAgRXhwb3J0IGZ1bmN0aW9ucyB0aGF0IGFyZSBuZWVkZWQgaW4gb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUsCgkgIG1ha2VzIHRoZSBtaXhlciBhY3R1YWxseSB3b3JrOyBhZGp1c3QgbWFnaWMgbWluaW11bSBidWZmZXItdGltZQoJICB2YWx1ZSBmcm9tIDNtcyB0byA1bXMgdG8gd29yayBhcm91bmQgc3R1dHRlcmluZyBkdXJpbmcgbXAzCgkgIHBsYXliYWNrICgjMzI3NzY1KS4KCjIwMDYtMDEtMjMgMTA6NDQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBwb3NzaWJsZSBkZWFkbG9jayBpbiBtYXRyb3NrYSBtdXhlciAoIzMyNzgyNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgRml4IHBvc3NpYmxlIGRlYWRsb2NrIGluIG1hdHJvc2thIG11eGVyICgjMzI3ODI1KS4KCjIwMDYtMDEtMjMgMDk6NTk6MDMgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEM4OSBmaXhlczogZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfcmVuZGVyKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19nZXRfc3RhdHMpOgoJICBDODkgZml4ZXM6IGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBhbmQKCSAgbWFrZSBnY2MtMi45eCBoYXBweSAoIzMyODI2NDsgcGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyCgkgIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+KS4KCjIwMDYtMDEtMjMgMDk6MjI6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4LzogUmV3cml0ZSBwYXJzaW5nIG9mIHRleHQgdGFncyB0byBoYW5kbGUgbXVsdGlwbGUgTlVMTCB0ZXJtaW5hdGVkIHN0cmluZ3MuIFBhcnNlIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9yZWFkX2lkM3YyX3RhZyk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2NvbW1lbnRfZnJhbWUpLCAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChpZDN2Ml90YWdfdG9fdGFnbGlzdCksIChpZDN2Ml9hcmVfZGlnaXRzKSwKCSAgKGlkM3YyX2dlbnJlX3N0cmluZ190b190YWdsaXN0KSwgKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpLCAoZnJlZV90YWdfc3RyaW5ncyk6CgkgIFJld3JpdGUgcGFyc2luZyBvZiB0ZXh0IHRhZ3MgdG8gaGFuZGxlIG11bHRpcGxlIE5VTEwgdGVybWluYXRlZAoJICBzdHJpbmdzLiBQYXJzZSBudW1lcmljIGdlbnJlIHN0cmluZ3MgYW5kIElEM3YyIHR5cGUKCSAgIigzKSg2KUFsdGVybmF0aXZlIiBzdHlsZSBnZW5yZSBzdHJpbmdzLgoJICBQYXJzZSBkYXRlcyB0aGF0IGFyZSBvbmx5IFlZWVkgb3IgWVlZWS1tbSBmb3JtYXQuCgoyMDA2LTAxLTIxIDExOjQzOjUzICswMDAwICBGYWJyaXppbyA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBGaXggOGJpdCBjYXNlICgjMzI3MTMzLCBiYXNlZCBvbiBwYXRjaCBieTogRmFicml6aW8KCSAgR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgkgIEFsc28sICJHX0xJVFRMRV9FTkRJQU4iIGFuZCAiR19CSUdfRU5ESUFOIiBhcmUgbm90CgkgIHZhbGlkIGxpdGVyYWxzIGZvciBlbmRpYW5uZXNzIGluIGNhcHMgc3RyaW5ncywKCSAgb25seSAiTElUVExFX0VORElBTiIgYW5kICJCSUdfRU5ESUFOIiBhcmUgdmFsaWQuCgoyMDA2LTAxLTIwIDE1OjA2OjI4ICswMDAwICBDaHJpc3RvcGggQnVyZ2hhcmR0IDxoYXdrZXNAd2ViLmRlPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IERvbid0IGZvcmdldCB0byBpbml0aWFsaXplIGxpYm9pbCwgb3RoZXJ3aXNlIG91ciBvaWwgZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KToKCSAgRG9uJ3QgZm9yZ2V0IHRvIGluaXRpYWxpemUgbGlib2lsLCBvdGhlcndpc2Ugb3VyIG9pbCBmdW5jdGlvbnMKCSAgd2lsbCBjcmFzaCAoZml4ZXMgIzMyNzg3MTsgcGF0Y2ggYnk6IENocmlzdG9waCBCdXJnaGFyZHQKCSAgPGhhd2tlcyBhdCB3ZWIgZG90IGRlPikuCgoyMDA2LTAxLTE5IDIxOjQ2OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSAobGFzdCBlbnRyeSBtYXkgaGF2ZSBiZWVuIHNsaWdodGx5IG1pc2xlYWRpbmcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSAobGFzdCBlbnRyeSBtYXkgaGF2ZSBiZWVuIHNsaWdodGx5IG1pc2xlYWRpbmcpCgoyMDA2LTAxLTE5IDIxOjAwOjUwICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBjb25maWd1cmUuYWM6IGp1c3QgbGlrZSBpbiB0aGUgY29yZSBhbmQgZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVpbGQgb24gU29sYXJpcyAoZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgcGxhaW4gQVNfTElCVE9PTF9UQUdTIGluc3RlYWQgb2YgQVNfTElCVE9PTF9UQUdTKFtDWFhdKSwganVzdAoJICBsaWtlIGluIHRoZSBjb3JlIGFuZCBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWlsZCBvbiBTb2xhcmlzIChmaXhlcwoJICAjMzI2NjgzOyBwYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+KQoKMjAwNi0wMS0xOSAwMDoxMDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvLzogRml4IGJ1aWxkIGZvciBsaWJjZGlvIHZlcnNpb25zID49IDc2OyBnaXZlIHNsaWdodGx5IGxvd2VyIHJhbmsgdGhhbiBjZHBhcmFub2lhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6IChnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX2dldF9jZHRleHQpOgoJICBGaXggYnVpbGQgZm9yIGxpYmNkaW8gdmVyc2lvbnMgPj0gNzY7IGdpdmUgc2xpZ2h0bHkgbG93ZXIgcmFuawoJICB0aGFuIGNkcGFyYW5vaWEuCgoyMDA2LTAxLTE4IDE5OjMwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBsaWJjZGlvIGNkZGEgc291cmNlLCBmb3JtZXJseSBrbm93biBhcyBjZGRhc3JjLCBub3cga25vd24gYXMgY2Rpb2NkZGFzcmMgKGZpeGVzICMzMjMzMjcpLiBTaG91bGQgYWxzbyByZWFkIENELVRFLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmg6CgkgIFBvcnQgbGliY2RpbyBjZGRhIHNvdXJjZSwgZm9ybWVybHkga25vd24gYXMgY2RkYXNyYywgbm93IGtub3duIGFzCgkgIGNkaW9jZGRhc3JjIChmaXhlcyAjMzIzMzI3KS4gU2hvdWxkIGFsc28gcmVhZCBDRC1URVhUIGlmIGF2YWlsYWJsZSwKCSAgYnV0IHRoYXQncyBub3QgdGVzdGVkIChmaXhlcyAjMzE3NjU4KS4KCjIwMDYtMDEtMTggMTk6MDg6MDggKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IGNvbnZlcnNpb24gZnJvbSBUSU1FIHRvIEJZVEVTIGZvcm1hdCAoZml4ZXMgIzMyNjg2NDsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpOgoJICBGaXggY29udmVyc2lvbiBmcm9tIFRJTUUgdG8gQllURVMgZm9ybWF0IChmaXhlcyAjMzI2ODY0OwoJICBwYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPikKCjIwMDYtMDEtMTggMTg6NTQ6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUm9uYWxkJ3MgcGF0Y2ggYXBwbGllZC4gc2VlIGJ1ZyAjMzI2MzE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUm9uYWxkJ3MgcGF0Y2ggYXBwbGllZC4gc2VlIGJ1ZyAjMzI2MzE4LgoKMjAwNi0wMS0xNyAxNjo0NTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZSBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9zZW5kX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUKCSAgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgoyMDA2LTAxLTE2IDEwOjIzOjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSB3aXRoIGxvdmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB3aXRoIGxvdmUKCjIwMDYtMDEtMTUgMjA6MjE6NDggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRml4IGNvbXBpbGF0aW9uIG9mIGlkM2RlbXV4IHdoZW4gemxpYiBpcyBub3QgcHJlc2VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBpZDNkZW11eCB3aGVuIHpsaWIgaXMgbm90IHByZXNlbnQuCgkgIChGaXhlcyAjMzI2NjAyOyBwYXRjaCBieTogU2VyZ2V5IFNjb2JpY2gpCgoyMDA2LTAxLTE1IDE0OjEyOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9NYWtlZmlsZS5hbTogb3RoZXJ3aXNlIGJ1aWxkIHdpbGwgZmFpbCBmb3IgZm9sa3Mgd2l0aCBsaWJlc2QgaW4gYSBub24tc3RhbmRhcmQgcHJlZml4ICgjMzI3MDA5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgQWRkICQoRVNEX0NGTEFHUyksIG90aGVyd2lzZSBidWlsZCB3aWxsIGZhaWwgZm9yIGZvbGtzCgkgIHdpdGggbGliZXNkIGluIGEgbm9uLXN0YW5kYXJkIHByZWZpeCAoIzMyNzAwOSkuCgoyMDA2LTAxLTEzIDE5OjI5OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKMjAwNi0wMS0xMyAxOToyNTo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkgIHJlbGVhc2luZyAwLjEwLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjEKCjIwMDYtMDEtMTMgMTg6Mzc6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiBmaXggbWVtbGVhay4gIEZpeGVzICMzMjY2MTgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBXaW0gVGF5bWFucwoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBmaXggbWVtbGVhay4gIEZpeGVzICMzMjY2MTgKCjIwMDYtMDEtMTMgMTg6MzU6MDAgKzAwMDAgIE1pa2UgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBGaXggbWVtbGVhay4gIEZpeGVzICMzMjY2MTIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMTMgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgkgIHBhdGNoIGJ5OiBNaWtlIFNtaXRoCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X2xldmVsX21lc3NhZ2VfYXBwZW5kX2NoYW5uZWwpOgoJICBGaXggbWVtbGVhay4gIEZpeGVzICMzMjY2MTIKCjIwMDYtMDEtMTEgMTE6Mzk6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBwcmVyZWxlYXNpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBwcmVyZWxlYXNpbmcKCSAgKiBwby9hZi5wbzoKCSAgKiBwby9hei5wbzoKCSAgKiBwby9jcy5wbzoKCSAgKiBwby9lbl9HQi5wbzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9uYi5wbzoKCSAgKiBwby9ubC5wbzoKCSAgKiBwby9vci5wbzoKCSAgKiBwby9zcS5wbzoKCSAgKiBwby9zci5wbzoKCSAgKiBwby9zdi5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAwNi0wMS0xMSAxMTowNDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgQ2xvc2VzICMzMjY1MjQKCjIwMDYtMDEtMTAgMTI6Mzg6NTkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBEb24ndCBsZWFrIGZpbHRlciBhcnJheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xldmVsX2Rpc3Bvc2UpOgoJICBEb24ndCBsZWFrIGZpbHRlciBhcnJheXMuCgoyMDA2LTAxLTA5IDE3OjA0OjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBhZGQgU3VuIEF1ZGlvIHBsdWdpbi4gVmVyaWZpZWQgdGhhdCBub3RoaW5nIGJyZWFrcyBhbmQgdGhhdCBtYWtlIGNoZWNrIHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIFN1biBBdWRpbyBwbHVnaW4uIFZlcmlmaWVkIHRoYXQgbm90aGluZyBicmVha3MgYW5kIHRoYXQgbWFrZSBjaGVjayB3b3Jrcy4KCSAgRG9uJ3QgdGhpbmsgdGhlIGRvY3MgZ2V0cyBwcm9wZXJseSBidWlsdCB5ZXQsIGJ1dCBJIGRvbid0IHVuZGVyc3RhbmQgZXhhY3RseSBob3cgdG8gZW5hYmxlIHRoYXQuCgoyMDA2LTAxLTA3IDIwOjAxOjA5ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvdWRwLzogQWxsb3cgdWRwc3JjIGFuZCBkeW51ZHBzaW5rIHRvIHRha2UgYSBzb2NrZmQgYXMgYSBwYXJhbWV0ZXIuIEZvciB1ZHBzcmMsIG92ZXJyaWRlcyB0aGUgcG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTAxLTA3ICBQaGlsaXBwZSBLaGFsYWYgIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEFsbG93IHVkcHNyYyBhbmQgZHludWRwc2luayB0byB0YWtlIGEgc29ja2ZkIGFzIGEgcGFyYW1ldGVyLiBGb3IgdWRwc3JjLAoJICBvdmVycmlkZXMgdGhlIHBvcnQgb3IgbXVsdGljYXN0IHBhcmFtZXRlcnMuIEZpeGVzIGJ1Z3MgIzMyMzAyMS4KCjIwMDYtMDEtMDYgMTY6Mjg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvOiBBZGQgbmV3IGdjb25mYXVkaW9zcmMgYW5kIGdjb25mdmlkZW9zcmMgZWxlbWVudHMgKG5lZWRlZCBmb3IgZ25vbWUtc291bmQtcmVjb3JkZXIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoY2JfdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19jbGFzc19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChjYl90b2dnbGVfZWxlbWVudCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgQWRkIG5ldyBnY29uZmF1ZGlvc3JjIGFuZCBnY29uZnZpZGVvc3JjIGVsZW1lbnRzCgkgIChuZWVkZWQgZm9yIGdub21lLXNvdW5kLXJlY29yZGVyKS4KCjIwMDYtMDEtMDYgMTE6NDY6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogQWRkIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGZvciBwcm9wZXIgZGVjb2RlYmluIGJlaGF2aW91ci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCk6CgkgIEFkZCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBmb3IgcHJvcGVyIGRlY29kZWJpbiBiZWhhdmlvdXIuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9jb21tZW50X2ZyYW1lKSwKCSAgKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLCAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEZhaWx1cmUgdG8gZGVjb2RlIHNvbWUgdGFncyBpcyBub3QgYSBHU1RfRVJST1IoKSBidXQgYQoJICBHU1RfV0FSTklORygpCgkgIFdoZW4gaXRlcmF0aW5nIG92ZXIgYSBjaHVuayBvZiB0ZXh0LCBjaGVjayB0aGF0IHdlIGhhdmVuJ3QgZ29uZSB0b28KCSAgZmFyLgoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgYWRkZWQgc3lzL2RpcmVjdGRyYXcgYWRkZWQgc3lzL2RpcmVjdHNvdW5kIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3IGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTA1ICBTZWJhc3RpZW4gTW91dHRlICA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgkgICogYWRkZWQgc3lzL2RpcmVjdGRyYXcKCSAgKiBhZGRlZCBzeXMvZGlyZWN0c291bmQKCSAgKiBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdwoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3AKCSAgKiBhZGRlZCB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMDYtMDEtMDUgMTc6MDM6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCjIwMDYtMDEtMDQgMTc6Mjg6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy86IEZpeCBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIEZpeCBsZWFrcy4KCjIwMDYtMDEtMDIgMTk6Mzg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IERvbid0IGdfYXNzZXJ0KCkgd2hlcmUgd2Ugc2hvdWxkIGp1c3QgcmV0dXJuIEZBTFNFOyByZW1vdmUgdW5uZWNlc3NhcnkgZ19hc3NlcnQoKTsgaW5pdGlhbGl6ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwKCSAgKGdzdF9mbGFjX2RlY19jb252ZXJ0X3NyYyksIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9mbGFjX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBnX2Fzc2VydCgpIHdoZXJlIHdlIHNob3VsZCBqdXN0IHJldHVybiBGQUxTRTsgcmVtb3ZlCgkgIHVubmVjZXNzYXJ5IGdfYXNzZXJ0KCk7IGluaXRpYWxpemUgc29tZSBmaWVsZHMgcHJvcGVybHkgaW4KCSAgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIChmaXhlcyAjMzI1NTA0KS4gQWxzbywgdXNlCgkgIEdTVF9ERUJVR19PQkpFQ1QgaW4gdHdvIG1vcmUgcGxhY2VzLgoKMjAwNS0xMi0zMCAxNTo1MTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBhbHNvIHJlbW92ZSBzbW9vdGh3YXZlJ3MgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBhbHNvIHJlbW92ZSBzbW9vdGh3YXZlJ3MgTWFrZWZpbGUuYW0KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGZpeCBwbHVnaW4gZG9jcwoKMjAwNS0xMi0zMCAxNTozOToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvc21vb3Rod2F2ZS8uZ2l0aWdub3JlOgoJKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aHdhdmUvUkVBRE1FOgoJKiBnc3Qvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgcmVtb3ZlIG9sZCBwbHVnaW4gdGhhdCB3ZW50IGJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG9sZCBwbHVnaW4gdGhhdCB3ZW50IGJhZAoKMjAwNS0xMi0zMCAxNTozNDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06IGFkZGVkIG1pc3NpbmcgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGFkZGVkIG1pc3NpbmcgTWFrZWZpbGUuYW0KCjIwMDUtMTItMzAgMTU6Mjg6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIG1vdmVkIGxldmVsLWV4YW1wbGUgdG8gdGVzdHMvZXhhbXBsZXMvbGV2ZWwtZXhhbXBsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBtb3ZlZCBsZXZlbC1leGFtcGxlIHRvIHRlc3RzL2V4YW1wbGVzL2xldmVsLWV4YW1wbGUKCSAgKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOiAobWFpbik6CgkgICogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzogKG1haW4pOgoJICBzb21lIGluaXRpYWwgZml4ZXMKCjIwMDUtMTItMjkgMTY6MzY6MTkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IFRyYWNrIHBhY2tldHMgc2VudCBwZXIgY2xpZW50IGluIGFkZGl0aW9uIHRvIGJ5dGVzIHNlbnQ7IHByb3ZpZGUgdGhpcyBpbmZvIHRocm91Z2ggZ2V0LXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfc3RhdHMpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIFRyYWNrIHBhY2tldHMgc2VudCBwZXIgY2xpZW50IGluIGFkZGl0aW9uIHRvIGJ5dGVzIHNlbnQ7IHByb3ZpZGUKCSAgdGhpcyBpbmZvIHRocm91Z2ggZ2V0LXN0YXRzIHNpZ25hbAoKMjAwNS0xMi0yOSAxMToyNjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogQ2FuJ3QgdXNlIGdzdF9vYmplY3RfdW5yZWYoKSBvbiBhIEdzdEFkYXB0ZXIgKCMzMjUxOTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfZGlzcG9zZSk6CgkgIENhbid0IHVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgb24gYSBHc3RBZGFwdGVyICgjMzI1MTkxKS4KCjIwMDUtMTItMjggMTg6NTU6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogSWYgYSBicm9rZW4gdGFnIGhhcyAwIGJ5dGVzIHBheWxvYWQsIGF0IGxlYXN0IHN0aWxsIHNraXAgdGhlIDEwIGJ5dGUgaGVhZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9yZWFkX2lkM3YyX3RhZyk6CgkgIElmIGEgYnJva2VuIHRhZyBoYXMgMCBieXRlcyBwYXlsb2FkLCBhdCBsZWFzdCBzdGlsbCBza2lwCgkgIHRoZSAxMCBieXRlIGhlYWRlcgoKMjAwNS0xMi0yMiAxNTowMDo0MSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC86IE1ha2luZyB0aGVzZSBkZXBheWxvYWRlcnMgKEgyNjMrIGFuZCBtcGVnNCB2aWRlbykgaW5oZXJpdCBmcm9tCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTIyICBQaGlsaXBwZSBLaGFsYWYgIDxidXJnZXJAc3BlZWR5Lm9yZz4KCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgTWFraW5nIHRoZXNlIGRlcGF5bG9hZGVycyAoSDI2MysgYW5kIG1wZWc0IHZpZGVvKSBpbmhlcml0IGZyb20KCSAgUnRwQmFzZURlcGF5bG9hZGVyQ2xhc3MuIEZpeGVzIGJ1Z3MgIzMyMzkyMiBhbmQgIzMyMzkwOC4KCjIwMDUtMTItMjEgMTc6MTU6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy4qOiBSZWdlbmVyYXRlIHRoZSBwbHVnaW4gaGllYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgUmVnZW5lcmF0ZSB0aGUgcGx1Z2luIGhpZWFyY2h5LgoKMjAwNS0xMi0yMSAxNToyNDo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgaWQzZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTIxICBKYW4gU2NobWlkdCAgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9nZXRfdHlwZSksCgkgIChnc3RfaWQzZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9pZDNkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBpZDNkZW11eC4KCSAgRG9uJ3QgZmFpbCBpZiB0aGUgZmlyc3QgYnVmZmVyIGlzIG5vdCBhdCBvZmZzZXQgMCwganVzdAoJICBhdHRlbXB0IHRvIHR5cGVmaW5kIGFuZCBkbyBwYXNzIHRocm91Z2gKCSAgUmVuYW1lIHRoZSBnc3RfdHlwZSBmdW5jdGlvbiBmcm9tIGdzdF9nc3RfaWQzZGVtdXguLgoKMjAwNS0xMi0yMCAxMjo0NDoyNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQ29sbGVjdCBzdGF0aXN0aWNzOyByZXR1cm4gdGhlbSBmcm9tIGdldF9zdGF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBDb2xsZWN0IHN0YXRpc3RpY3M7IHJldHVybiB0aGVtIGZyb20gZ2V0X3N0YXRzLgoKMjAwNS0xMi0xOSAxNTo0MzozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU3R1cGlkIHNpZ25lZG5lc3MgaXNzdWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIFN0dXBpZCBzaWduZWRuZXNzIGlzc3VlLi4uCgoyMDA1LTEyLTE5IDE1OjE5OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2hhaW4pLCAoZ3N0X3N3ZmRlY19yZW5kZXIpOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICBHZXQgc29tZXRoaW5nIGZyb20gdGhlIHBlZXIgcGFkIG9uY2Ugd2UndmUgY2hlY2tlZCBpZiB0aGVyZSBpcyBhIHBlZXIgcGFkLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIENvdXBsZSBvZiBmaXhlcwoKMjAwNS0xMi0xOSAxNTowNjoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ29uc3RydWN0IGluZGV4IGZvciBpbmRleGxlc3MgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfb2RtbCksIChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBDb25zdHJ1Y3QgaW5kZXggZm9yIGluZGV4bGVzcyBmaWxlcy4KCSAgTWFrZSBzdXJlIHBhZC9idWZmZXJzIGFyZSBjb3JyZWN0bHkgcmVzZXQgdG8gTlVMTCBvbmNlIHdlIGRvbid0IG5lZWQKCSAgdGhlbSBhbnltb3JlLCBlbHNlIHdlIGdldCBsb3ZlbHkgc2VnZmF1bHRzL2Fzc2VydGlvbnMuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFllcywgeW91IGNhbiBoYXZlIDk2S0h6IGF1ZGlvIGFuZCB3bWEgaW4gd2F2IDooCgoyMDA1LTEyLTE4IDE1OjE0OjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIG9wdGlvbmFsIGRlcGVuZGVuY3kgb24gemxpYiBmb3IgaWQzZGVtdXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igb3B0aW9uYWwgZGVwZW5kZW5jeSBvbiB6bGliIGZvciBpZDNkZW11eAoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9nc3RfaWQzZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2lkM2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfaWQzZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfaWQzZGVtdXhfcmVzZXQpLCAoZ3N0X2lkM2RlbXV4X2luaXQpLCAoZ3N0X2lkM2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpLCAoZ3N0X2lkM2RlbXV4X3JlbW92ZV9zcmNwYWQpLAoJICAoZ3N0X2lkM2RlbXV4X3RyaW1fYnVmZmVyKSwgKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9pZDNkZW11eF9nZXRfcHJvcGVydHkpLAoJICAoaWQzZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpLCAoZ3N0X2lkM2RlbXV4X3NyY3BhZF9ldmVudCksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9pZDN2MSksIChnc3RfaWQzZGVtdXhfcmVhZF9pZDN2MiksCgkgIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfaWQzZGVtdXhfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X2lkM2RlbXV4X3NyY19jaGVja2dldHJhbmdlKSwgKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKSwKCSAgKGdzdF9pZDNkZW11eF9zcmNfZ2V0cmFuZ2UpLCAoZ3N0X2lkM2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfaWQzZGVtdXhfcGFkX3F1ZXJ5KSwgKGdzdF9pZDNkZW11eF9nZXRfcXVlcnlfdHlwZXMpLAoJICAoc2ltcGxlX2ZpbmRfcGVlayksIChzaW1wbGVfZmluZF9zdWdnZXN0KSwKCSAgKGdzdF9pZDNkZW11eF9kb190eXBlZmluZCksIChnc3RfaWQzZGVtdXhfc2VuZF90YWdfZXZlbnQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChyZWFkX3N5bmNoX3VpbnQpLAoJICAoaWQzZGVtdXhfcmVhZF9pZDN2MV90YWcpLCAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpLAoJICAoaWQzZGVtdXhfaWQzdjJfZnJhbWVfaGRyX3NpemUpLCAoY29udmVydF9maWRfdG9fdjI0MCksCgkgIChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1mcmFtZXMudHh0OgoJICAqIGdzdC9pZDNkZW11eC9pZDN2Mi40LjAtc3RydWN0dXJlLnR4dDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2NvbW1lbnRfZnJhbWUpLCAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChpZDN2Ml90YWdfdG9fdGFnbGlzdCksIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgQWxsIG5ldyBMR1BMIGlkMyBkZW11eGVyLiBDYW4gdXNlIHpsaWIgZm9yIGNvbXByZXNzZWQgZnJhbWVzLAoJICBvdGhlcndpc2UgaXQgZGlzY2FyZHMgdGhlbS4gV29ya3Mgb24gbXkgdGVzdCBmaWxlcy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9sb29wKToKCSAgRG9uJ3Qgc2VuZCBFT1MgdG8gYSBub24tZXhpc3Rpbmcgc3JjcGFkCgkgIFRoZSBkZWJ1ZyBjYXRlZ29yeSBjYW4gYmUgc3RhdGljCgoyMDA1LTEyLTE3IDE3OjQ4OjM4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6IFVwZGF0ZXMuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fdm1vZGVzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2Vfc2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2dldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogSW1wbGVtZW50IHZlcnRpY2FsIHN5bmMgYW5kCgkgIGNvbG9yIGJhbGFuY2UgaW50ZXJmYWNlLgoKMjAwNS0xMi0xNiAyMTo1Nzo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzogKGdzdF9lc2Rtb25fb3Blbl9hdWRpbyk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19wcmVwYXJlKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgoyMDA1LTEyLTE2IDE5OjMyOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IFVzZSBHc3RTZWdtZW50IHRvIGltcGxlbWVudCBtb3JlIHNlZWtpbmcgZmVhdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9vdGhlciksIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFVzZSBHc3RTZWdtZW50IHRvIGltcGxlbWVudCBtb3JlIHNlZWtpbmcgZmVhdHVyZXMuCgoyMDA1LTEyLTE2IDEyOjI1OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBPb3BzLCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSBjYXBzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICBPb3BzLCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSBjYXBzIHN0cmluZy4KCjIwMDUtMTItMTYgMTA6MTI6NDkgKzAwMDAgIEJlbmphbWluIFBpbmVhdSA8YmVuLnBpbmVhdUBnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBBZGQgPG5ldGluZXQvaW4uaD4gaW5jbHVkZSBhbmQgbW92ZSA8YXJwYS9pbmV0Lmg+IGluY2x1ZGUgdG8gbWFrZSB0aGluZ3Mgd29yayBvbiBPcGVuQlNEIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgQWRkIDxuZXRpbmV0L2luLmg+IGluY2x1ZGUgYW5kIG1vdmUgPGFycGEvaW5ldC5oPiBpbmNsdWRlCgkgIHRvIG1ha2UgdGhpbmdzIHdvcmsgb24gT3BlbkJTRCBhcyB3ZWxsIChmaXhlcyAjMzIzNzE3OwoJICBwYXRjaCBieTogQmVuamFtaW4gUGluZWF1KQoKMjAwNS0xMi0xNiAwOTo1OToyMSArMDAwMCAgZ2NvY2F0cmVAZ21haWwuY29tIDxnY29jYXRyZUBnbWFpbC5jb20+CgoJICBleHQvd2F2cGFjay86IFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZSByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUKCSAgY2FwcyAoZml4ZXMgIzMyMjk3MzsgcGF0Y2ggYnk6IGdjb2NhdHJlQGdtYWlsLmNvbSkuIEFsc28KCSAgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnb25lIGluIDAuMTAuCgoyMDA1LTEyLTE0IDIwOjA1OjQ1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIFNldCBjbG9jayByYXRlIHRvIGJlIGZpeGVkIGluIDgwMDAuIEl0IGZpeGVzIGJ1ZyAjMzI0MDEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0IGNsb2NrIHJhdGUgdG8gYmUgZml4ZWQgaW4gODAwMC4gSXQgZml4ZXMgYnVnICMzMjQwMTIuCgoyMDA1LTEyLTE0IDE4OjA3OjE2ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwLzogRml4ZWQgcGF5bG9hZCByYW5nZSBpbiBwYXlsb2RlciBjYXBzLiBSZW1vdmVkIHBheWxvYWQgcmFuZ2UgY29tcGxldGx5IGZyb20gZGVwYXlsb2FkZXJzIGFzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE0ICBQaGlsaXBwZSBLaGFsYWYgIDxidXJnZXJAc3BlZWR5Lm9yZz4KCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvUkVBRE1FOgoJICBGaXhlZCBwYXlsb2FkIHJhbmdlIGluIHBheWxvZGVyIGNhcHMuIFJlbW92ZWQgcGF5bG9hZCByYW5nZSBjb21wbGV0bHkgZnJvbQoJICBkZXBheWxvYWRlcnMgYXMgdGhleSBkb24ndCByZXF1aXJlIHBheWxvYWQgdHlwZSBpbiB0aGVpciBjYXBzLiBJbiBlZmZlY3QsCgkgIHRoZXJlIGlzbid0IGFueSBzcGVjaWZpYyBwYXlsb2FkIHR5cGUgZm9yIGFueSBnaXZlbiBjb2RlYywgb25seSBzdWdnZXN0aW9ucy4KCSAgRml4ZXMgYnVnICMzMjQwMTEuCgoyMDA1LTEyLTEzIDIxOjU4OjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogQ29kZSBjbGVhbnVwIGFuZCByZS1lbmFibGluZyBxdWV1ZWQgdGltZSB2YWxpZGl0eSBjaGVjayBmb3IgY29ycmVjdCBFT1MgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTEzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6IENvZGUgY2xlYW51cCBhbmQgcmUtZW5hYmxpbmcKCSAgcXVldWVkIHRpbWUgdmFsaWRpdHkgY2hlY2sgZm9yIGNvcnJlY3QgRU9TIGhhbmRsaW5nLgoKMjAwNS0xMi0xMyAxNzoxODozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IEFkZCAnZGV2aWNlLW5hbWUnIHByb3BlcnR5IGFuZCBmaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2hhbmdlX3N0YXRlKToKCSAgQWRkICdkZXZpY2UtbmFtZScgcHJvcGVydHkgYW5kIGZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgoyMDA1LTEyLTEzIDEwOjQ1OjA0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2ZseC9nc3RmbHhkZWMuYzogSWYgdGhlIHNwZWVkIG9mIHRoZSBmaWxlIGlzIG51bGwgaW4gdGhlIGhlYWRlciwgc2V0IHRoZSBmcmFtZV90aW1lIHRvIHRoZSBkZWZhdWx0IHNldHRpbmcgb2YgR1NULi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgSWYgdGhlIHNwZWVkIG9mIHRoZSBmaWxlIGlzIG51bGwgaW4gdGhlIGhlYWRlciwgc2V0IHRoZSBmcmFtZV90aW1lIHRvIHRoZSBkZWZhdWx0CgkgIHNldHRpbmcgb2YgR1NUX1NFQ09ORCAvIDcwLiBXaGljaCBpcyB0aGUgZGVmYXVsdCBmcmFtZV9kZWxheSBmb3IgLmZsaSBmaWxlcyBhcwoJICBzdGF0ZWQgaW4gdGhpcyBkb2N1bWVudCA6IGh0dHA6Ly93d3cuY29tcHVwaGFzZS5jb20vZmxpYy5odG0KCSAgV291bGQgYmUgbmljZSB0byBoYXZlIHRoZSB0aW1lIGNvbnZlcnNpb24gZG9uZSBwcm9wZXJseSB0b28KCSAgKGR1cmF0aW9uID0gZmx4aC0+ZnJhbWVzICogZmx4ZGVjLT5mcmFtZV90aW1lKQoKMjAwNS0xMi0xMiAyMjoyOTozNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGRpbmcgZG9jdW1lbnRhdGlvbiBmb3IgdmlkZW9taXhlciBvbiBteSB3YXkgd2l0aCBhIGZ1bm55IHNhbXBsZSBwaXBlbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgQWRkaW5nCgkgIGRvY3VtZW50YXRpb24gZm9yIHZpZGVvbWl4ZXIgb24gbXkgd2F5IHdpdGggYSBmdW5ueSBzYW1wbGUKCSAgcGlwZWxpbmUuCgoyMDA1LTEyLTEyIDIxOjQzOjAwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IGNhcHMgbmVnb3RpYXRpb24uICgjMzIzODk2KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgIEZpeCBjYXBzIG5lZ290aWF0aW9uLiAoIzMyMzg5NikKCjIwMDUtMTItMTIgMTg6MTQ6NTggKzAwMDAgIEFyd2VkIHYuIE1lcmthdHogPHYubWVya2F0ekBnbXgubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgU2V0IGNvcnJlY3QgdGltZXN0YW1wcyBvbiBhdWRpbyBsYWNlcywgZml4ZXMgcGxheWJhY2sgb2YgbXAzIGZyb20gbWF0cm9za2EuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXQgY29ycmVjdCB0aW1lc3RhbXBzIG9uIGF1ZGlvIGxhY2VzLCBmaXhlcyBwbGF5YmFjayBvZiBtcDMgZnJvbSBtYXRyb3NrYS4KCjIwMDUtMTItMTIgMTA6NDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZiBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX3NyY19xdWVyeSksIChnc3RfbW1zX2NyZWF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY192aWRlb19saW5rKSwKCSAgKGdzdF9zd2ZkZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mCgkgIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaWItMi42IHVzZXJzLgoKMjAwNS0xMi0xMiAxMDozMDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuKjogVXNlIGdzdF9vYmplY3RfdW5yZWYoKSBmb3IgR3N0T2JqZWN0cyBpbnN0ZWFkIG9mIGdfb2JqZWN0X3VucmVmKCkgYW5kIGZpeCBhIG1lbSBsZWFrIGluIGEgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hdV9wYXJzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9kaXNwb3NlKSwgKGdzdF9hdV9wYXJzZV9jaGFpbiksCgkgIChnc3RfYXVfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgZm9yIEdzdE9iamVjdHMgaW5zdGVhZCBvZgoJICBnX29iamVjdF91bnJlZigpIGFuZCBmaXggYSBtZW0gbGVhayBpbiBhIGRlYnVnCgkgIHN0YXRlbWVudDsgd2hpbGUgd2UncmUgYXQgaXQsIGFsc28gYm9yZ2lmeSwgdXNlCgkgIGJvaWxlcnBsYXRlIG1hY3JvcyBhbmQgY2xlYW4gdXAgYSBsaXR0bGUgYml0LgoKMjAwNS0xMi0xMSAyMDoyNzowNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kZWJ1Zy9lZmVuY2UuYzogQWRkZWQgcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2luaXQpLCAoZ3N0X2VmZW5jZV9nZXRyYW5nZSksCgkgIChnc3RfZWZlbmNlX2NoZWNrZ2V0cmFuZ2UpLCAoZ3N0X2VmZW5jZV9hY3RpdmF0ZV9zcmNfcHVsbCk6CgkgIEFkZGVkIHB1bGwgbW9kZS4KCjIwMDUtMTItMTEgMTk6MjU6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBVc2UgYXVkaW90ZXN0c3JjIGluc3RlYWQgb2Ygc2luZXNyYyAoIzMyMzc5OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWFpbik6CgkgICogZ3N0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICBVc2UgYXVkaW90ZXN0c3JjIGluc3RlYWQgb2Ygc2luZXNyYyAoIzMyMzc5OCkuCgoyMDA1LTEyLTExIDE3OjUwOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogbW9yZSBkZWJ1Zy1mdW5jLXB0ciB1c2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KToKCSAgbW9yZSBkZWJ1Zy1mdW5jLXB0ciB1c2FnZQoKMjAwNS0xMi0xMSAxNjo0Mzo0MiArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmM6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmg6CgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBOb3cgZmx4ZGVjIHdvcmtzIG9uIGJpZy1lbmRpYW4gbWFjaGluZXMgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBmbHhkZWMgd29ya3Mgb24gYmlnLWVuZGlhbiBtYWNoaW5lcyBhcyB3ZWxsLgoKMjAwNS0xMi0xMSAxNjoxNDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9lZmVuY2UuYzogTWFrZSBzdXJlIEdTVF9CVUZGRVJfREFUQSBpcyBzZXQgb24gZmVuY2VkIGNvcGllZCBidWZmZXJzOyBmaXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9pbml0KSwgKGdzdF9lZmVuY2VfY2hhaW4pLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfY29weSk6CgkgIE1ha2Ugc3VyZSBHU1RfQlVGRkVSX0RBVEEgaXMgc2V0IG9uIGZlbmNlZCBjb3BpZWQgYnVmZmVyczsgZml4CgkgIEdTVF9ERUJVRyBjcmFzaGVyIHdoZXJlIEdTVF9USU1FX0ZPUk1BVCB3YXMgbm90IHVzZWQgaW4KCSAgY29uanVuY3Rpb24gd2l0aCBHU1RfVElNRV9BUkdTLiBBbHNvLCBkb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZXMKCSAgYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgcGFkIGZ1bmN0aW9ucy4KCjIwMDUtMTItMTAgMjA6MjY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IFJld3JpdGUgZmxhY2RlYyBhIGJpdCwgc28gdGhhdCBldmVuIHNlZWtpbmcgbWlnaHQgd29yayBub3cuIE1vc3QgaW1wb3J0YW50bHksIGRvbid0IGFjdCB1cG9uIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfY2xhc3NfaW5pdCksIChnc3RfZmxhY19kZWNfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLCAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY19lb2YpLCAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwgKGdzdF9mbGFjX2RlY19sb29wKSwKCSAgKGdzdF9mbGFjX2RlY19jb252ZXJ0X3NyYyksIChnc3RfZmxhY19kZWNfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KSwgKGdzdF9mbGFjX2RlY19zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9mbGFjX2RlY19zcmNfZXZlbnQpLAoJICAoZ3N0X2ZsYWNfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBSZXdyaXRlIGZsYWNkZWMgYSBiaXQsIHNvIHRoYXQgZXZlbiBzZWVraW5nIG1pZ2h0IHdvcmsgbm93LiBNb3N0CgkgIGltcG9ydGFudGx5LCBkb24ndCBhY3QgdXBvbiBhbnkgZmxvdyByZXR1cm4gdmFsdWVzIHdlIGdldCwganVzdCB0ZWxsCgkgIHRoZSBkZWNvZGVyIGV2ZXJ5dGhpbmcncyBkYW5keSBhbmQgYWN0IG9uIHRoZSBmbG93IHJldHVybiB2YWx1ZXMKCSAgbGF0ZXIgb24gaW4gdGhlIGxvb3AgZnVuY3Rpb24uIFdlIGRvbid0IHdhbnQgdG8gbWVzcyB1cCB0aGUgaW50ZXJuYWwKCSAgZGVjb2RlciBzdGF0ZSBmb3Igbm9uLWZhdGFsIHRoaW5ncyBsaWtlIGZsdXNoaW5nIHBhZHMgZXRjLiBPdGhlcgoJICB0aGFuIHRoYXQsIHVzZSBHc3RTZWdtZW50IChzZWdtZW50IHNlZWtzIGRvbid0IHdvcmsgeWV0IHRob3VnaCwgYnV0CgkgIHNob3VsZCBiZSBlYXN5IHRvIGFkZCksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGRyb3AgdGhlIHN1cGVyZmx1b3VzCgkgICdmbGFjZGVjOicgZnJvbSBkZWJ1ZyBtZXNzYWdlcywgdXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQsIGFuZAoJICBsb3RzIG9mIG90aGVyIHRoaW5ncy4KCjIwMDUtMTItMTAgMTQ6NTc6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSBjb21tZW50IGluIE9TUyBpbmNsdWRlcyBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgY29tbWVudCBpbiBPU1MgaW5jbHVkZXMgY2hlY2suCgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICAqIHN5cy9vc3Mvb3NzX3Byb2JlLmM6CgkgIERvbid0IGFzc3VtZSB0aGUgT1NTIHNvdW5kY2FyZC5oIGluY2x1ZGUgaXMgYWx3YXlzIGluCgkgIHRoZSBzeXMvIGRpcmVjdG9yeS4gSW5zdGVhZCwgdXNlIHRoZSBleGlzdGluZyBkZWZpbmVzCgkgIGZyb20gY29uZmlnLmggdG8gaW5jbHVkZSB0aGUgcmlnaHQgZmlsZS4gRml4ZXMKCSAgY29tcGlsYXRpb24gb24gT3BlbkJTRCAzLjggKCMzMjM3MTgpLgoKMjAwNS0xMi0wOSAxOTo1MTowMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGJvcmdpZnkgYW5kIGZpeCB1cCBkb2N1bWVudGF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5IGFuZCBmaXggdXAgZG9jdW1lbnRhdGlvbgoKMjAwNS0xMi0wOSAxNTozMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscyBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLAoJICAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpOgoJICBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMKCSAgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgZXJyb3JpbmcuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBIYW5kbGUgZS5nLiBqcGVnIHN0cmVhbXMgd2l0aCAwIGR1cmF0aW9uIGZyYW1lcyBhcyBoYXZpbmcgMCBmcmFtZXJhdGUuCgkgIERlYnVnIGZpeGVzLiBTb21lIDY0IGJpdCB2YXJpYWJsZSBmaXhlcwoKMjAwNS0xMi0wOSAxMToxMjo0OCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBY2NlcHQgYSB3aWRlciByYW5nZSBvZiBmbGFjIGZpbGVzLCBtb3JlIGNsb3NlbHkgbWF0Y2hpbmcgZmxhYyBzcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChyYXdfY2Fwc19mYWN0b3J5KSwgKGdzdF9mbGFjZGVjX3dyaXRlKToKCSAgQWNjZXB0IGEgd2lkZXIgcmFuZ2Ugb2YgZmxhYyBmaWxlcywgbW9yZSBjbG9zZWx5IG1hdGNoaW5nIGZsYWMgc3AKCjIwMDUtMTItMDggMTY6Mjc6MTIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBZGQgbXVsdGlwYXJ0IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWRkIG11bHRpcGFydCBlbGVtZW50cy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogRml4IGZsYWMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEFkZCBkb2NzLgoKMjAwNS0xMi0wNyAxMTo0NjoxNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWVtbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIE1lbWxlYWsgZml4ZXMuCgkgIFNlbmQgb3V0IEVPUyBmb3IgdmFsaWQgcmVhc29ucyAoY291bGRuJ3QgcHVsbF9yYW5nZSgpIGZyb20gdXBzdHJlYW0KCSAgZm9yIGV4YW1wbGUpLgoKMjAwNS0xMi0wNyAxMTo0MDo0NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTWVtbGVhayBhbmQgY3Jhc2hlciBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X2ludmVydCk6CgkgIE1lbWxlYWsgYW5kIGNyYXNoZXIgZml4ZXMuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIE1lbWxlYWsgZml4ZXMKCjIwMDUtMTItMDYgMTk6NTU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA2IDE5OjQ0OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkqIGV4dC9lc2QvZXNkc2luay5oOgoJKiBleHQvZmxhYy9mbGFjX2NvbXBhdC5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSogZXh0L2djb25mL2djb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5oOgoJKiBleHQvanBlZy9zbW9rZWZvcm1hdC5oOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBleHQvbGFkc3BhL3NlYXJjaC5jOgoJKiBleHQvbGFkc3BhL3V0aWxzLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSogZ3N0L2RlYnVnL3Rlc3RzLmM6CgkqIGdzdC9kZWJ1Zy90ZXN0cy5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tL2ZpbHRlcnMuaDoKCSogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkqIGdzdC9ydHNwL3J0c3B1cmwuYzoKCSogZ3N0L3J0c3AvcnRzcHVybC5oOgoJKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6CgkqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvcGFpbnQuYzoKCSogZ3N0L3NtcHRlL3BhaW50Lmg6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdmVuYy9yaWZmLmg6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5oOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA1IDE4OjEyOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuMTAuMCA9PT0KCjIwMDUtMTItMDUgMTg6MDM6MjMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIHJlbGVhc2luZyAwLjEwLjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjAKCjIwMDUtMTItMDUgMTg6MDE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZWxlYXNpbmcgMC4xMC4wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4wCgoyMDA1LTEyLTA1IDE2OjIxOjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNS0xMi0wNSAxNTowODo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2l0LnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAwNS0xMi0wNSAxMzowNDoyMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCksIChnc3RfZmFhY19jaGFpbik6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzogKGdzdF94aW5lX2lucHV0X2dldCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfY2hhaW4pOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA1IDEzOjAzOjAwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jaGFpbik6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksIChnc3RfcG5nZGVjX3Rhc2spOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF92b3JiaXNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNSAxMjoyMzoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOiBSZW1vdmUgYXJncyBmb3IgcGx1Z2lucyB0aGF0IGFyZW4ndCBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICBSZW1vdmUgYXJncyBmb3IgcGx1Z2lucyB0aGF0IGFyZW4ndCBpbiAtZ29vZC4KCjIwMDUtMTItMDQgMjI6MjY6MDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgcmVtb3ZlIHBhbmdvIHBsdWdpbiBhcyBpdHMgZ29uZSBpbnRvIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBwYW5nbyBwbHVnaW4gYXMgaXRzIGdvbmUgaW50byBiYXNlCgoyMDA1LTEyLTAzIDE4OjUxOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIGZpeCBlbGVtZW50IGRlc2NyaXB0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGVsZW1lbnQgZGVzY3JpcHRpb25zCgoyMDA1LTEyLTAzIDE4OjUwOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZHNyYy54bWw6CgkgIHJlbW92ZSBmZHNyYyBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgZmRzcmMgZG9jcwoKMjAwNS0xMi0wMSAxOToxODowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNyA9PT0KCjIwMDUtMTItMDEgMTk6MTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjcKCjIwMDUtMTItMDEgMTk6MTM6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZWxlYXNpbmcgMC45LjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNwoKMjAwNS0xMi0wMSAxNzo1MzoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNS0xMi0wMSAxNTozNDoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBhZGQgbXVsdGlwYXJ0IHBsdWdpbiB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbXVsdGlwYXJ0IHBsdWdpbiB0byBkb2NzCgoyMDA1LTEyLTAxIDE1OjIyOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5Lmg6CgkqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuaDoKCSogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5oOgoJICBtb3ZlIHBhbmdvIHRvIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgcGFuZ28gdG8gYmFzZQoKMjAwNS0xMi0wMSAxNDozOTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcnRwLzogcGFyc2VycyBhcmUgZGVwYXllcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJICBwYXJzZXJzIGFyZSBkZXBheWVycwoKMjAwNS0xMi0wMSAxNDozMDowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2VuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgRG8gYnVyZ2VyJ3MgcmVuYW1lIGZvciBydHAgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBEbyBidXJnZXIncyByZW5hbWUgZm9yIHJ0cCBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMKCjIwMDUtMTEtMzAgMTk6MDI6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvOiBGaXggc2Vla2luZyBpbiBkdmRlbXV4IGFnYWluLCBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIEZpeCBzZWVraW5nIGluIGR2ZGVtdXggYWdhaW4sIGFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCjIwMDUtMTEtMzAgMTg6NDg6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGZpeCB0ZXN0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHRlc3RzCgoyMDA1LTExLTMwIDE4OjQwOjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgdGVzdHMgc3ViZGlyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdGVzdHMgc3ViZGlyCgoyMDA1LTExLTMwIDE4OjM2OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBhZGQgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBNYWtlZmlsZS5hbQoKMjAwNS0xMS0zMCAxODoyODo1MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFBPUlRFRF8wOToKCSAgKiBkb2NzL3JhbmRvbS9QT1JURURfMDk6CgkgIG1vdmUKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgYWRkCgkgICogd2luMzIvZ3N0LnNsbjoKCSAgcmVtb3ZlCgoyMDA1LTExLTMwIDE4OjI0OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNoZWNrLy5naXRpZ25vcmU6CgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiBjaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9jYXBzZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIGV4YW1wbGVzL2dvYi9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZ29iL2dzdC1pZGVudGl0eTIuZ29iOgoJKiBleGFtcGxlcy9nc3RwbGF5Ly5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIGV4YW1wbGVzL2luZGV4aW5nLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL2luZGV4aW5nL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2xldmVsL1JFQURNRToKCSogZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiBleGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIGV4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIG1vdmUgdW5kZXIgdGVzdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgdW5kZXIgdGVzdHMKCjIwMDUtMTEtMzAgMTY6NTc6NTcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBjaGFuZ2VzCgoyMDA1LTExLTMwIDE0OjUzOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuKjogQWRkIG1pc3NpbmcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6IChnc3RfdGV4dF9yZW5kZXJfYmFzZV9pbml0KSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9jbGFzc19pbml0KSwgKHJlc2l6ZV9iaXRtYXApLAoJICAoZ3N0X3RleHRfcmVuZGVyX3JlbmRlcl90ZXh0KSwgKGdzdF90ZXh0X3JlbmRlcl9zZXRjYXBzKSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9maXhhdGVfY2FwcyksIChnc3RfdGV4dF9yZW5kZXJlcl9iaXRtYXBfdG9fYXl1diksCgkgIChnc3RfdGV4dF9yZW5kZXJfY2hhaW4pLCAoZ3N0X3RleHRfcmVuZGVyX2ZpbmFsaXplKSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9pbml0KSwgKGdzdF90ZXh0X3JlbmRlcl9zZXRfcHJvcGVydHkpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmg6CgkgIEFkZCBtaXNzaW5nIGZpbGVzLgoKMjAwNS0xMS0zMCAxMzoyMDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgcGFuZ28tYmFzZWQgdGV4dG92ZXJsYXksIHRpbWVvdmVybGF5IGFuZCB0ZXh0cmVuZGVyIHRvIDAuOSBhbmQgYWRkIGJhY2tncm91bmQgc2hhZGluZyBhbmQgdGV4dCB3cmFwcGluZyBtb2Rlcy4gTS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6IChnc3RfY2xvY2tfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X2Nsb2NrX292ZXJsYXlfcmVuZGVyX3RpbWUpLCAoZ3N0X2Nsb2NrX292ZXJsYXlfZ2V0X3RleHQpLAoJICAoZ3N0X2Nsb2NrX292ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfY2xvY2tfb3ZlcmxheV9pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5Lmg6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2dldF90ZXh0KSwgKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2ZpbmFsaXplKSwgKGdzdF90ZXh0X292ZXJsYXlfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3VwZGF0ZV93cmFwX21vZGUpLCAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfbGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfdW5saW5rZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3RleHRfb3ZlcmxheV9nZXRjYXBzKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfc2hhZGVfeSksIChnc3RfdGV4dF9vdmVybGF5X2JsaXRfeXV2NDIwKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcmVzaXplX2JpdG1hcCksIChnc3RfdGV4dF9vdmVybGF5X3JlbmRlcl90ZXh0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcHVzaF9mcmFtZSksIChnc3RfdGV4dF9vdmVybGF5X3BvcF92aWRlbyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3BvcF90ZXh0KSwgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF90aW1lX292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90aW1lX292ZXJsYXlfcmVuZGVyX3RpbWUpLCAoZ3N0X3RpbWVfb3ZlcmxheV9nZXRfdGV4dCksCgkgIChnc3RfdGltZV9vdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X3RpbWVfb3ZlcmxheV9pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuaDoKCSAgUG9ydCBwYW5nby1iYXNlZCB0ZXh0b3ZlcmxheSwgdGltZW92ZXJsYXkgYW5kIHRleHRyZW5kZXIgdG8gMC45CgkgIGFuZCBhZGQgYmFja2dyb3VuZCBzaGFkaW5nIGFuZCB0ZXh0IHdyYXBwaW5nIG1vZGVzLiBNYWtlCgkgIHRpbW92ZXJsYXkgZGVyaXZlIGZyb20gdGV4dG92ZXJsYXkuIEFsc28gYWRkIG5ldyBjbG9ja292ZXJsYXkKCSAgZWxlbWVudC4KCjIwMDUtMTEtMzAgMTE6MTA6MDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3VkcC9NYWtlZmlsZS5hbTogTW92ZWQgdG8gbmV0YnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0zMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06IE1vdmVkIHRvIG5ldGJ1ZmZlci4KCjIwMDUtMTEtMzAgMTA6MTg6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgUG9ydGVkIG11bHRpcGFydCBtdXgvZGVtdXggdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0zMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBQT1JURURfTzk6CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2luaXQpLCAoZ3N0X211bHRpcGFydF9tdXhfZmluYWxpemUpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfc2lua2Nvbm5lY3QpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcXVldWVfcGFkcyksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfY2hhbmdlX3N0YXRlKTogUG9ydGVkIG11bHRpcGFydCBtdXgvZGVtdXggdG8KCSAgMC45LgoKMjAwNS0xMS0zMCAwODoyNjo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvOiB1cGRhdGUgZm9yIHN5bWJvbHMgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZ3N0X25hdmlnYXRpb250ZXN0X2dldF90eXBlKToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOiAoZ3N0X2FnaW5ndHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzogKGdzdF9kaWNldHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzogKGdzdF9lZGdldHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6IChnc3RfcmV2dHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzogKGdzdF9zaGFnYWRlbGljdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzogKGdzdF92ZXJ0aWdvdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzogKGdzdF93YXJwdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb19mbGlwX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fZmxpcF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB1cGRhdGUgZm9yIHN5bWJvbHMgY2hhbmdlCgoyMDA1LTExLTI5IDE3OjQ2OjA0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC91ZHAvOiB0aGUgb2xkIGdzdG5ldCBsaWIgd2FzIHJlbmFtZWQgZ3N0bmV0YnVmZmVyICgjMzIyMjU3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB0aGUgb2xkIGdzdG5ldCBsaWIgd2FzIHJlbmFtZWQgZ3N0bmV0YnVmZmVyICgjMzIyMjU3KQoKMjAwNS0xMS0yOSAxNTo0MjowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBBY3R1YWxseSByZW5kZXIgdGhlIHRleHQgZnJvbSB0aGUgdGV4dCBwYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9yZW5kZXJfdGV4dCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCk6CgkgIEFjdHVhbGx5IHJlbmRlciB0aGUgdGV4dCBmcm9tIHRoZSB0ZXh0IHBhZC4KCjIwMDUtMTEtMjkgMTQ6NDk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVidWcvOiBVcGRhdGUgZm9yIEdzdEJhc2VUcmFuc2Zvcm0gZXZlbnQgdmlydHVhbCBtZXRob2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzogKGdzdF9uYXZzZWVrX2V2ZW50KToKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfZXZlbnQpOgoJICBVcGRhdGUgZm9yIEdzdEJhc2VUcmFuc2Zvcm0gZXZlbnQgdmlydHVhbCBtZXRob2QKCjIwMDUtMTEtMjkgMTA6NTU6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L2NhaXJvL01ha2VmaWxlLmFtOiBubyBuZWVkIHRvIGxpbmsgdG8gdmlkZW9maWx0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjkgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICBubyBuZWVkIHRvIGxpbmsgdG8gdmlkZW9maWx0ZXIKCjIwMDUtMTEtMjkgMTA6NDY6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICByZW1vdmUgdGhlIHZpZGVvZmlsdGVyIGxpYnJhcnkgYW5kIGxpbmsgdG8gdGhlIG9uZSBpbiBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgdGhlIHZpZGVvZmlsdGVyIGxpYnJhcnkgYW5kIGxpbmsgdG8gdGhlIG9uZSBpbiBiYXNlCgoyMDA1LTExLTI5IDAxOjMwOjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIGJvcmdpZnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkKCjIwMDUtMTEtMjggMTc6MzE6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFVzZWxlc3MgY2hlY2sgbm93IHdlJ3JlIHNldHRpbmcgdGhlIGN1cnJlbnQgZW50cnkgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIFVzZWxlc3MgY2hlY2sgbm93IHdlJ3JlIHNldHRpbmcgdGhlIGN1cnJlbnQgZW50cnkgY29ycmVjdGx5LgoKMjAwNS0xMS0yOCAxNjo1NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb24gKGZpeGVzICMzMjI2NjcpOyBtYWtlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19yZXN5bmMpLCAoZ3N0X2pwZWdlbmNfY2hhaW4pLAoJICAoZ3N0X2pwZWdlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9qcGVnZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfanBlZ2VuY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbiAoZml4ZXMgIzMyMjY2Nyk7IG1ha2UKCSAgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zYWZlOyBkb24ndCByZXBlYXQgdGhlIGN1cnJlbnQgZnVuY3Rpb24KCSAgbmFtZSBpbiBHU1RfREVCVUcgc3RhdGVtZW50czsgdXNlIEdTVF9ST1VORF9VUF8qIG1hY3JvczsgdXNlCgkgIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCk7IG1pc2MuIG1pbm9yIGNsZWFudXBzLgoKMjAwNS0xMS0yOCAxNTo0MzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zcmNnZXRjYXBzKToKCSAgSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvcgoJICBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdHMgaW4gMCBjaGFubmVscyB3aXRoIHNhbXBsZXJhdGVzIG9mIDAuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gdXB3YXJkIHRyYW5zaXRpb25zLCB0aGVuIGNhbGwgcGFyZW50IHN0YXRlX2NoYW5nZSwgdGhlbiBkbwoJICBkb3dud2FyZCB0cmFuc2l0aW9ucy4KCjIwMDUtMTEtMjggMTU6MTM6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBMb29rIGZvciBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2Fwcywgbm90IHBpeGVsX3dpZHRoIGFuZCBwaXhlbF9oZWlnaHQgKEZpeGVzOiAjMzIyNjQ1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgTG9vayBmb3IgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMsIG5vdCBwaXhlbF93aWR0aCBhbmQKCSAgcGl4ZWxfaGVpZ2h0IChGaXhlczogIzMyMjY0NSkKCjIwMDUtMTEtMjggMTI6NTk6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGcm9tIE1pY2hhbCBCZW5lczogZnJhbWUgZHVyYXRpb24gc2hvdWxkIGJlIEdTVF9TRUNPTkQgLyBmcmFtZXJhdGUsIG5vdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgRnJvbSBNaWNoYWwgQmVuZXM6CgkgIGZyYW1lIGR1cmF0aW9uIHNob3VsZCBiZSBHU1RfU0VDT05EIC8gZnJhbWVyYXRlLCBub3QKCSAgR1NUX1NFQ09ORCAqIGZyYW1lcmF0ZS4gKEZpeGVzOiAjMzIyNjQzKQoKMjAwNS0xMS0yNyAxNzowMjo1MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGZpeCB1cCBHU1RfUExVR0lOX0xERkxBR1MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBmaXggdXAgR1NUX1BMVUdJTl9MREZMQUdTCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgZml4IGluY2x1ZGVzIChzZWUgIzMxNzA0MykKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgIHN0b3AgaW5zdGFsbGluZyB0aGlzIGxpYnJhcnkKCjIwMDUtMTEtMjcgMTU6MzA6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBubyBuZWVkIGZvciBhbiBBU19MSUJUT09MIGNhbGwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG5vIG5lZWQgZm9yIGFuIEFTX0xJQlRPT0wgY2FsbAoKMjAwNS0xMS0yNyAxNDozMzozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgoyMDA1LTExLTI2IDEyOjU0OjQ3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgaW5jb21pbmcgVmlkZW8gZHYgc3RyZWFtIGRvZXNuJ3QgaGF2ZSBhIHBpeGVsIGFzcGVjdCByYXRpbyBzZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgaW5jb21pbmcgVmlkZW8gZHYgc3RyZWFtIGRvZXNuJ3QgaGF2ZQoJICBhIHBpeGVsIGFzcGVjdCByYXRpbyBzZXQuCgoyMDA1LTExLTI1IDIyOjE0OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZG9jdW1lbnQgZmxhY2RlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jdW1lbnQgZmxhY2RlYwoKMjAwNS0xMS0yNSAyMTozNjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgZG8gc29tZSBuYW1lIGJvcmdpZnlpbmcgZG9jdW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvIHNvbWUgbmFtZSBib3JnaWZ5aW5nCgkgIGRvY3VtZW50CgoyMDA1LTExLTI1IDIxOjAyOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3VtZW50aW5nIGF1dG8qc2luayB1c2luZyBzdHJzdHIgZm9yIHRoZSB2aWRlbyBzaW5rIGxvb2t1cCwgY2xhc3MgZmllbGQgaXMgbm90IG9yZGVyZWQgdXBkYXRlIG90aGVyIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZhY3RvcnlfZmlsdGVyKToKCSAgZG9jdW1lbnRpbmcgYXV0bypzaW5rCgkgIHVzaW5nIHN0cnN0ciBmb3IgdGhlIHZpZGVvIHNpbmsgbG9va3VwLCBjbGFzcyBmaWVsZCBpcyBub3Qgb3JkZXJlZAoJICB1cGRhdGUgb3RoZXIgcGx1Z2lucwoKMjAwNS0xMS0yNSAxOTo1ODoxOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCjIwMDUtMTEtMjUgMTg6MTU6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3d2Y2xpbmspLCAoZ3N0X3dhdnBhY2tfZGVjX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2V0dXBfY29udGV4dCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZGVjX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZmluZF9oZWFkZXIpLCAoZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VlayksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgoyMDA1LTExLTI1IDE4OjAzOjI0ICswMDAwICBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDJAeWFob28uY2E+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlIHRvIGNsb3NlIGNvbnRyb2wgc29ja2V0cyBpbiB1ZHBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0b3ApOgoJICBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlIHRvIGNsb3NlIGNvbnRyb2wgc29ja2V0cyBpbiB1ZHBzcmMuCgoyMDA1LTExLTI0IDE1OjA3OjA2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IEZsdXNoIHRoZSBwbGFuZXMgbGlzdCBvbiByZXZlcnNlIGNhcHMgbmVnb3RpYXRpb24uIFRoaXMgd2FzIGNyYXNoaW5nIGJlY2F1c2Ugb2YgZGlmZmVyZW50bHkgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl9zZXRfY2FwcyksCgkgIChnc3RfcXVhcmt0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9xdWFya3R2X3RyYW5zZm9ybSksCgkgIChnc3RfcXVhcmt0dl9wbGFuZXRhYmxlX2NsZWFyKSwgKGdzdF9xdWFya3R2X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXVhcmt0dl9iYXNlX2luaXQpLCAoZ3N0X3F1YXJrdHZfY2xhc3NfaW5pdCksCgkgIChnc3RfcXVhcmt0dl9pbml0KTogRmx1c2ggdGhlIHBsYW5lcyBsaXN0IG9uIHJldmVyc2UgY2FwcwoJICBuZWdvdGlhdGlvbi4gVGhpcyB3YXMgY3Jhc2hpbmcgYmVjYXVzZSBvZiBkaWZmZXJlbnRseSBzaXplZAoJICBidWZmZXJzLgoKMjAwNS0xMS0yNCAxMjo1MDoyOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvOiBIYW5kbGUgc3RyaWRlcyBjb3JyZWN0bHksIGZpeCBpZGVudGl0eSBmbGlwcGluZywgY29udmVydCBuYXZpZ2F0aW9uIGV2ZW50IGNvcnJlY3RseSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogKGRyYXdfYm94X3BsYW5hcjQxMSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICAoZ3N0X3ZpZGVvZmxpcF9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvZmxpcF9zZXRfY2FwcyksIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb2ZsaXBfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9mbGlwX2ZsaXApLAoJICAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvZmxpcF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF92aWRlb2ZsaXBfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb2ZsaXBfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb2ZsaXBfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9mbGlwX2luaXQpOiBIYW5kbGUgc3RyaWRlcwoJICBjb3JyZWN0bHksIGZpeCBpZGVudGl0eSBmbGlwcGluZywgY29udmVydCBuYXZpZ2F0aW9uIGV2ZW50CgkgIGNvcnJlY3RseSBhZ2Fpbi4KCjIwMDUtMTEtMjQgMTE6MTY6NTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIFJFQURNRToKCSAgRml4ICMzMjAyODg6IHdyb25nIHJlYWRtZSBpbiBwbHVnaW5zLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCAjMzIwMjg4OiB3cm9uZyByZWFkbWUgaW4gcGx1Z2lucy1nb29kCgoyMDA1LTExLTI0IDExOjA2OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBmaXggdG9ydHVyZSB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0b3J0dXJlIHRhcmdldAoKMjAwNS0xMS0yMyAyMToyNTo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgoyMDA1LTExLTIzIDIwOjA1OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjYgPT09CgoyMDA1LTExLTIzIDE5OjU3OjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVsZWFzaW5nIDAuOS42CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjYKCjIwMDUtMTEtMjMgMTk6NTY6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS42CgoyMDA1LTExLTIzIDE5OjE0OjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICBhZGRpbmcgY3V0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgY3V0dGVyCgoyMDA1LTExLTIzIDE5OjA1OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNS0xMS0yMyAxNjo0OToxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogT29wcywgaW5pdGlhbGlzZSB0aGUgZnJhbWVyYXRlIEdWYWx1ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogKGdzdF9uYXZpZ2F0aW9udGVzdF9pbml0KToKCSAgT29wcywgaW5pdGlhbGlzZSB0aGUgZnJhbWVyYXRlIEdWYWx1ZQoKMjAwNS0xMS0yMyAxNTo1MDo1MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBWaWRlb0ZpbHRlciBpbmhlcml0cyBmcm9tCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgIChnc3RfdGltZW92ZXJsYXlfdXBkYXRlX2ZvbnRfaGVpZ2h0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9zZXRfY2FwcyksIChnc3RfdGltZW92ZXJsYXlfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdGltZW92ZXJsYXlfdHJhbnNmb3JtKSwgKGdzdF90aW1lb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RpbWVvdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X3RpbWVvdmVybGF5X2luaXQpLAoJICAoZ3N0X3RpbWVvdmVybGF5X2dldF90eXBlKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3Rfc2V0X2NhcHMpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X3RyYW5zZm9ybSksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9iYXNlX2luaXQpLCAoZ3N0X25hdmlnYXRpb250ZXN0X2NsYXNzX2luaXQpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2luaXQpLCAoZ3N0X25hdmlnYXRpb250ZXN0X2dldF90eXBlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOiAoZ3N0X2FnaW5ndHZfc2V0X2NhcHMpLAoJICAoZ3N0X2FnaW5ndHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfYWdpbmd0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X2FnaW5ndHZfYmFzZV9pbml0KSwgKGdzdF9hZ2luZ3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X2FnaW5ndHZfaW5pdCksIChnc3RfYWdpbmd0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOiAoZ3N0X2RpY2V0dl9zZXRfY2FwcyksCgkgIChnc3RfZGljZXR2X2dldF91bml0X3NpemUpLCAoZ3N0X2RpY2V0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X2RpY2V0dl9iYXNlX2luaXQpLCAoZ3N0X2RpY2V0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9kaWNldHZfaW5pdCksCgkgIChnc3RfZGljZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6IChnc3RfZWRnZXR2X3NldF9jYXBzKSwKCSAgKGdzdF9lZGdldHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfZWRnZXR2X3RyYW5zZm9ybSksCgkgIChnc3RfZWRnZXR2X2Jhc2VfaW5pdCksIChnc3RfZWRnZXR2X2NsYXNzX2luaXQpLAoJICAoZ3N0X2VkZ2V0dl9pbml0KSwKCSAgKGdzdF9lZGdldHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2Lmg6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3NldF9jYXBzKSwKCSAgKGdzdF9xdWFya3R2X2dldF91bml0X3NpemUpLCAoZmFzdHJhbmQpLAoJICAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9xdWFya3R2X2NoYW5nZV9zdGF0ZSksIChnc3RfcXVhcmt0dl9iYXNlX2luaXQpLAoJICAoZ3N0X3F1YXJrdHZfY2xhc3NfaW5pdCksIChnc3RfcXVhcmt0dl9pbml0KSwKCSAgKGdzdF9xdWFya3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzogKGdzdF9yZXZ0dl9zZXRfY2FwcyksCgkgIChnc3RfcmV2dHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfcmV2dHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9yZXZ0dl9iYXNlX2luaXQpLCAoZ3N0X3JldnR2X2NsYXNzX2luaXQpLCAoZ3N0X3JldnR2X2luaXQpLAoJICAoZ3N0X3JldnR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6IChnc3Rfc2hhZ2FkZWxpY3R2X3NldF9jYXBzKSwKCSAgKGdzdF9zaGFnYWRlbGljdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3Rfc2hhZ2FkZWxpY3R2X3RyYW5zZm9ybSksCgkgIChnc3Rfc2hhZ2FkZWxpY3R2X2Jhc2VfaW5pdCksIChnc3Rfc2hhZ2FkZWxpY3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3NoYWdhZGVsaWN0dl9pbml0KSwgKGdzdF9zaGFnYWRlbGljdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzogKGdzdF92ZXJ0aWdvdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3ZlcnRpZ290dl9nZXRfdW5pdF9zaXplKSwgKGdzdF92ZXJ0aWdvdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF92ZXJ0aWdvdHZfYmFzZV9pbml0KSwgKGdzdF92ZXJ0aWdvdHZfY2xhc3NfaW5pdCksCgkgIChnc3RfdmVydGlnb3R2X2luaXQpLCAoZ3N0X3ZlcnRpZ290dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOiAoZ3N0X3dhcnB0dl9zZXRfY2FwcyksCgkgIChnc3Rfd2FycHR2X2dldF91bml0X3NpemUpLCAoZ3N0X3dhcnB0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3dhcnB0dl9iYXNlX2luaXQpLCAoZ3N0X3dhcnB0dl9jbGFzc19pbml0KSwKCSAgKGdzdF93YXJwdHZfaW5pdCksCgkgIChnc3Rfd2FycHR2X2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuYzogKGdzdF92aWRlb2ZpbHRlcl9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9maWx0ZXJfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9maWx0ZXJfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvZmxpcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb2ZsaXBfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdmlkZW9mbGlwX2ZsaXApLCAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZpZGVvZmxpcF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF92aWRlb2ZsaXBfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb2ZsaXBfYmFzZV9pbml0KSwgKGdzdF92aWRlb2ZsaXBfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9mbGlwX2luaXQpLCAocGx1Z2luX2luaXQpLCAoZ3N0X3ZpZGVvZmxpcF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOiBWaWRlb0ZpbHRlciBpbmhlcml0cyBmcm9tCgkgIEJhc2VUcmFuc2Zvcm0sIGl0J3MganVzdCBhIHBsYWNlIGhvbGRlciBmb3Igbm93IGFuZCBldmVyeSB2aWRlbwoJICBlZmZlY3QgcGx1Z2luIGhhcyBiZWVuIHBvcnRlZCB0byB1c2UgQmFzZVRyYW5zZm9ybSBmZWF0dXJlcwoJICBkaXJlY3RseS4gUXVhcmtUViB3YXMgZml4ZWQgdG9vICh3YXMgYnJva2VuKSwgbmF2aWdhdGlvbnRlc3QKCSAgd29ya3MKCSAgYW5kIGJlc3QgZm9yIHRoZSBlbmQsIHZpZGVvZmxpcCBjb252ZXJ0cyBuYXZpZ2F0aW9uIGV2ZW50cwoJICBkZXBlbmRpbmcKCSAgb24gZmxpcCBtZXRob2QgISBGaXhlcyAjMzIwOTUzCgoyMDA1LTExLTIzIDE0OjIyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeGVzIGZvciBBUEkgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2ZpeGF0ZSk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21faW5pdCksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKSwgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeGVzIGZvciBBUEkgY2hhbmdlcwoKMjAwNS0xMS0yMyAxMjoxOTowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgY3V0dGVyIHRvIHNwZWMgaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBjdXR0ZXIgdG8gc3BlYyBpbgoKMjAwNS0xMS0yMyAxMTo1Nzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCjIwMDUtMTEtMjIgMjM6NTg6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9qcGVnLzogSlBFRyBmcmFjdGlvbnkgZ29vZG5lc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19zZXRjYXBzKSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbiksIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfcmVzeW5jKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICBKUEVHIGZyYWN0aW9ueSBnb29kbmVzcy4KCjIwMDUtMTEtMjIgMjI6MzU6NTcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9ncmFwaGljLmg6CgkgIEZpeCBmb3IgIzMyMTQzMDogdW5yZXNvbHZlZCBzeW1ib2xzIGR1ZSB0byBpbmNvcnJlY3QgbGlua2FnZSBvbiBpbmxpbmUgZnVuY3Rpb25zIGluIGdvb20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZm9yICMzMjE0MzA6IHVucmVzb2x2ZWQgc3ltYm9scyBkdWUgdG8gaW5jb3JyZWN0IGxpbmthZ2Ugb24gaW5saW5lIGZ1bmN0aW9ucwoJICBpbiBnb29tLgoJICBEb2VzIG5vdCwgaG93ZXZlciwgZml4IHRoZSBnZW5lcmFsIGNyYWNraGVhZGVkbmVzcyBvZiBnb29tIChnbG9iYWwgdmFyaWFibGVzLAoJICBvaCBteSEpOyB0aGlzIHNob3VsZCBiZSBtb3ZlZCB0byAtYmFkLgoKMjAwNS0xMS0yMiAyMjoyMTozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3JlIGZyYWN0aW9uYWwgZnJhbWVyYXRlIGNvbnZlcnNpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfc2V0Y2FwcyksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2xpbmspOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX3NldGNhcHMpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3Jfc2V0X2NhcHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2luaXQpLAoJICAoZ3N0X2F2aW11eF92aWRzaW5rY29ubmVjdCk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2luaXQpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSksIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIE1vcmUgZnJhY3Rpb25hbCBmcmFtZXJhdGUgY29udmVyc2lvbnMKCjIwMDUtMTEtMjIgMjA6MDc6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfZml4YXRlKToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuYzoKCSAgKGdzdF92aWRlb2ZpbHRlcl9mb3JtYXRfZ2V0X3N0cnVjdHVyZSksIChnc3RfdmlkZW9maWx0ZXJfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9maWx0ZXJfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmg6CgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzLgoKMjAwNS0xMS0yMiAxODoxMTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBmaXggdXAgbW9yZSBlbnVtcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHVwIG1vcmUgZW51bXMKCjIwMDUtMTEtMjIgMTc6Mzk6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRnJhY3Rpb25hbCBmcmFtZXJhdGVzLCB2aWRlb21peGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6CgkgIEZyYWN0aW9uYWwgZnJhbWVyYXRlcywgdmlkZW9taXhlci4KCjIwMDUtMTEtMjIgMTc6MDk6MzYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9kdi86IEZyYWN0aW9uYWwgZnJhbWVyYXRlcyBmb3IgRFYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpLCAoZ3N0X2R2ZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2R2ZGVtdXhfc2lua19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X3ZpZGVvKSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSwKCSAgKGdzdF9kdmRlbXV4X2ZsdXNoKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMgZm9yIERWLgoKMjAwNS0xMS0yMiAxNDo0NDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogVXNlIGdzdF9wbHVnaW5fZmVhdHVyZV9saXN0X2ZyZWUoKSB0byBmcmVlIGZlYXR1cmUgbGlzdCBhbmQgaW4gdGhlIGNhc2Ugb2YgYXV0b3ZpZGVvc2luayBmcmVlIHRoZSBsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBVc2UgZ3N0X3BsdWdpbl9mZWF0dXJlX2xpc3RfZnJlZSgpIHRvIGZyZWUgZmVhdHVyZSBsaXN0IGFuZAoJICBpbiB0aGUgY2FzZSBvZiBhdXRvdmlkZW9zaW5rIGZyZWUgdGhlIGxpc3QgYXQgYWxsLiBBbHNvCgkgIG1pc2NlbGxhbmVvdXMgY29zbWV0aWMgZml4ZXMuCgoyMDA1LTExLTIyIDEzOjEzOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IGNvcHkgY2FsY3VsYXRpb24gY29kZSBmcm9tIGxldmVsOyByZW1vdmUgdXNlIG9mIHNvbWUgYXVkaW8gZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKSwKCSAgKGdzdF9jdXR0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9jdXR0ZXJfZ2V0X2NhcHMpOgoJICBjb3B5IGNhbGN1bGF0aW9uIGNvZGUgZnJvbSBsZXZlbDsgcmVtb3ZlIHVzZSBvZiBzb21lIGF1ZGlvCgkgIGZ1bmN0aW9ucwoKMjAwNS0xMS0yMiAxMzoxMToyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoKMjAwNS0xMS0yMiAxMjo0ODoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoKMjAwNS0xMS0yMiAxMjo0MTozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoKMjAwNS0xMS0yMiAxMjozODozMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFVwZGF0ZSBmb3IgZ3N0X3RhZ19zZXR0ZXIgQVBJIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIFVwZGF0ZSBmb3IgZ3N0X3RhZ19zZXR0ZXIgQVBJIGNoYW5nZXMuCgoyMDA1LTExLTIyIDExOjU3OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KQoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcikKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYyAoc3BlZWRfc2lua19ldmVudCkKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmMgKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KQoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOiBSdW4gdXBkYXRlLWZ1bmNuYW1lcy4KCjIwMDUtMTEtMjIgMTE6NTM6MzQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCkKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKQoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdGUpCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jIChnc3RfZmxhY2VuY19zZWVrX2NhbGxiYWNrKQoJICAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCkKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYyAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfaW5pdCkKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYyAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfaW5pdCkKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpCgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmMgKHNwZWV4X2RlY19ldmVudCwgc3BlZXhfZGVjX2NoYWluKQoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYyAoZ3N0X2F1cGFyc2VfY2hhaW4pCgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jIChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpCgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jIChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpCgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKQoJICAqIGdzdC9nb29tL2dzdGdvb20uYyAoZ3N0X2dvb21fZXZlbnQpCgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYyAoZ3N0X2VibWxfd3JpdGVfc2VlaykKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KQoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKQoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmMgKGdzdF93YXZlbmNfc3RvcF9maWxlKQoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jIChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOiBSdW4gdXBkYXRlLWZ1bmNuYW1lcy4KCjIwMDUtMTEtMjIgMTE6NDk6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBVUklIYW5kbGVyIGludGVyZmFjZSBhbmQgZWxlbWVudCBwcm9wZXJ0aWVzIGFyZSBub3cgcHJvcGVybHkgc3luY2hyb25pemVkIGZvciBEVjEzOTRzcmMgYW5kIFVEUFNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfZHYxMzk0c3JjX2luaXQpLCAoZ3N0X2R2MTM5NHNyY19kaXNwb3NlKSwKCSAgKGdzdF9kdjEzOTRzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLAoJICAoZ3N0X2R2MTM5NHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX3VwZGF0ZV91cmkpLCAoZ3N0X3VkcHNyY19zZXRfdXJpKSwKCSAgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfdXJpX2dldF91cmkpOgoJICBVUklIYW5kbGVyIGludGVyZmFjZSBhbmQgZWxlbWVudCBwcm9wZXJ0aWVzIGFyZSBub3cgcHJvcGVybHkKCSAgc3luY2hyb25pemVkIGZvciBEVjEzOTRzcmMgYW5kIFVEUFNyYwoKMjAwNS0xMS0yMiAxMTozNjowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IGxpYmdzdHRhZ2VkaXQgaGFzIGJlZW4gcmVuYW1lZCB0byBsaWJnc3R0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgbGliZ3N0dGFnZWRpdCBoYXMgYmVlbiByZW5hbWVkIHRvIGxpYmdzdHRhZy4KCjIwMDUtMTEtMjEgMjA6MTE6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBBcHBseSBwYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlIHRvIGZpeCAjMzE5MTg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocmVhZF9ib2R5KToKCSAgQXBwbHkgcGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBmaXggIzMxOTE4NC4KCjIwMDUtMTEtMjEgMTk6NTA6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG9ydCBjdXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfY3V0dGVyX2luaXQpLCAoZ3N0X2N1dHRlcl9tZXNzYWdlX25ldyksIChnc3RfY3V0dGVyX2NoYWluKSwKCSAgKGdzdF9jdXR0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9jdXR0ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KSwgKGdzdF9jdXR0ZXJfZ2V0X2NhcHMpOgoJICBwb3J0IGN1dHRlcgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBmaXggdXAgcGx1Z2luIGRldGFpbHMKCjIwMDUtMTEtMjEgMTg6MDk6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY19sb29wKSwKCSAgKGdzdF9mbGFjZGVjX3NyY19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCk6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfZXZlbnRfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX3NpbmtfZXZlbnRfaGFuZGxlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKToKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nCgkgIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DSwoJICB0byBHU1RfUEFEX1NUUkVBTV9MT0NLLiBEb24ndCBsZWFrIHJlZmVyZW5jZXMgaW4gZmx4ZGVjIGV2ZW50CgkgIGZ1bmN0aW9ucy4KCjIwMDUtMTEtMjEgMTc6NTI6MTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIEZvcmdvdCB0byBjb21taXQgaGVhZGVyIGZpbGUgY2hhbmdlcywgTWFrZWZpbGUuYW0gY2hhbmdlcy4gT29wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZvcmdvdCB0byBjb21taXQgaGVhZGVyIGZpbGUgY2hhbmdlcywgTWFrZWZpbGUuYW0gY2hhbmdlcy4gT29wcy4KCjIwMDUtMTEtMjEgMTc6NDk6MjEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBnc3Rfb2JqZWN0X3VucmVmLCBub3QgZ19vYmplY3RfdW5yZWYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdzdF9vYmplY3RfdW5yZWYsIG5vdCBnX29iamVjdF91bnJlZgoKMjAwNS0xMS0yMSAxNzozNzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpOgoJICBGaXggZm9yIHN0cmVhbSBsb2NrIHVwZGF0ZXMuCgoyMDA1LTExLTIxIDE3OjIzOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVzZSBHU1RfREVCVUdfRlVOQ1BUUjsgYWRkIGRlYnVnIG1lc3NhZ2UgaW4gcGFkIGFjdGl2YXRlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKToKCSAgVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhZGQgZGVidWcgbWVzc2FnZSBpbiBwYWQgYWN0aXZhdGUgZnVuY3Rpb24uCgoyMDA1LTExLTIxIDE3OjE4OjAxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVwYXJzZS86IFBhcnRpYWxseSBmaXggIzE2MTcxMi4gcGxheWJpbiBzdGlsbCBkb2Vzbid0IHdvcmsgb24gdGhlc2UgZmlsZXMsIChvbiB0aGUgYnVnIHJlcG9ydCwgQW5keSBzYXlzIHdlIGFyZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVwYXJzZV9pbml0KSwgKGdzdF9hdXBhcnNlX2Rpc3Bvc2UpLCAoZ3N0X2F1cGFyc2VfY2hhaW4pLAoJICAoZ3N0X2F1cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFBhcnRpYWxseSBmaXggIzE2MTcxMi4gcGxheWJpbiBzdGlsbCBkb2Vzbid0IHdvcmsgb24gdGhlc2UgZmlsZXMsCgkgIChvbiB0aGUgYnVnIHJlcG9ydCwgQW5keSBzYXlzIHdlIGFyZW4ndCB0eXBlZmluZGluZyBpdCBmb3Igc29tZQoJICByZWFzb24/KSBidXQgYXQgbGVhc3QgYXVwYXJzZSBpc24ndCB0b3RhbGx5IGJ1c3RlZCBsaWtlIGl0IHdhcyBiZWZvcmUuCgoyMDA1LTExLTIxIDE2OjQ1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIERYNTAsIERJVlggYW5kIERJVjMgZm91cmNjcyAocGF0Y2ggYnkKCSAgakBib290bGFiLm9yZywgIzMyMTkwMykuCgoyMDA1LTExLTIxIDE2OjM2OjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICAqLio6IFJhbiBzY3JpcHRzL3VwZGF0ZS1tYWNyb3MuIE9oIHllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogKi5oOgoJICAqICouYzogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoKMjAwNS0xMS0yMSAxNTowNjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaWxsZXIgZXZlbnRzIGFyZSBnb25lIGZvciBub3csIGNvbW1lbnQgb3V0IHNlY3Rpb24gZ2VuZXJhdGluZyB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpOgoJICBGaWxsZXIgZXZlbnRzIGFyZSBnb25lIGZvciBub3csIGNvbW1lbnQgb3V0IHNlY3Rpb24gZ2VuZXJhdGluZwoJICB0aGVtLgoKMjAwNS0xMS0yMSAxNDozOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X2Zyb21fY2Fwcyk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfdHlwZV9nZXQpLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfZHJlZiksIChxdGRlbXV4X2R1bXBfc3RzZCksCgkgIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpOgoJICBVcGRhdGUgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgoyMDA1LTExLTIxIDE0OjMzOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKiAoIzMyMjAyNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfc2lua19maXhhdGUpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2ZpeGF0ZSk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19maXhhdGUpOgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyoKCSAgKCMzMjIwMjcpCgoyMDA1LTExLTIxIDE0OjMxOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKiAoIzMyMjAyNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19maXhhdGUpOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6IChnc3RfbWlrbW9kX3NyY2ZpeGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyoKCSAgKCMzMjIwMjcpCgoyMDA1LTExLTIxIDEzOjM4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4ZXMgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfc2V0Y2Fwcyk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlcyksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX29kbWwpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAod3JpdGVfbWV0YWRhdGEpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BhcnNlX2FkdGwpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIEZpeGVzIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoKMjAwNS0xMS0yMSAxMjoxMzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBmb3IgY29sbGVjdCBwYWRzIEFQSSBjaGFuZ2UuIEFsc28gZml4IHRleHRvdmVybGF5IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2ZpbmFsaXplKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfaW5pdCksIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX2xpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX3VubGlua2VkKSwgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3ZpZGVvKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLCAoZ3N0X21hdHJvc2thX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2luaXQpLCAoZ3N0X3NtcHRlX2NvbGxlY3RlZCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgRml4IGZvciBjb2xsZWN0IHBhZHMgQVBJIGNoYW5nZS4gQWxzbyBmaXggdGV4dG92ZXJsYXkgc3RhdGUKCSAgY2hhbmdlIGZ1bmN0aW9uLgoKMjAwNS0xMS0yMCAxNzowNDo1NSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFJlcGxhY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KTogUmVwbGFjZQoJICBHU1RfUEFEX0lTX1VTQUJMRSBieSBzb21ldGhpbmcgYXBwcm9hY2hpbmcgaXQuCgoyMDA1LTExLTIwIDE2OjQzOjMyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IGZvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOiBGaXggZm9yCgkgIEFQSSBjaGFuZ2VzLgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKTogRml4IGZvciBBUEkKCSAgY2hhbmdlcywKCSAgYnV0IGFsc28gZml4IHRoZSBjb2RlIHRoYXQgd2FzIG5vdCBjaGVja2luZyByZXR1cm4gdmFsdWVzIGZyb20KCSAgcGFkX3B1c2ggbmVpdGhlciB1c2luZyBwYWRfYWxsb2NfYnVmZmVyLgoKMjAwNS0xMS0xOCAxODoxOToyMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IEFkZGVkIGRlYnVnIGNhdGVnb3J5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgIEFkZGVkIGRlYnVnIGNhdGVnb3J5CgkgIFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoZW4gc2VuZGluZyBhbiBFT1MsIHNvIHRoZSB3aG9sZSBwaXBlbGluZQoJICBnb2VzIHRvIEVPUy4KCjIwMDUtMTEtMTcgMTg6MjM6MjMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIENyZWF0ZWQgU3BlZXggcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcjsgT3B0aW1pemUgRzcxMSBwYXlsb2FkZXIgdG8gdXNlIGFkYXB0ZXIgYW5kIHNlbmQgcGFja2V0cyB1bnRpbCBNVFUgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgU3BlZXggcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcjsgT3B0aW1pemUgRzcxMSBwYXlsb2FkZXIgdG8gdXNlIGFkYXB0ZXIgYW5kIHNlbmQgcGFja2V0cyB1bnRpbCBNVFUgc2l6ZS4KCjIwMDUtMTEtMTYgMTk6MDg6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiBGaXggbGVhayBpbiBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLCAoc2V0dXBfc2lua19wYWQpOgoJICBGaXggbGVhayBpbiBjaGVjay4KCjIwMDUtMTEtMTYgMTc6MDA6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx4L2dzdGZseGRlYy5jOiBGaXggc3RhdGUgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFuZ2Vfc3RhdGUpOgoJICBGaXggc3RhdGUgY2hhbmdlLgoKMjAwNS0xMS0xNiAxMTowMjoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBNb3ZlIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3VkcHNyY19jcmVhdGUpOiBNb3ZlIGNvbW1lbnQuCgoyMDA1LTExLTE2IDEwOjQzOjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBDbGVhbiB1cCB3aXRoIHRoZSBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMTYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogQ2xlYW4gdXAgd2l0aCB0aGUgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA1LTExLTE1IDE5OjQxOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFdoZW4gc2Vla2luZywgc2VlayB0byBjbG9zZXN0IGluZGV4IGVudHJ5IGF0IG9yIGJlZm9yZSB0aGUgcmVxdWVzdGVkIHNlZWsgcG9zaXRpb24sIG5vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2Vlayk6CgkgIFdoZW4gc2Vla2luZywgc2VlayB0byBjbG9zZXN0IGluZGV4IGVudHJ5IGF0IG9yIGJlZm9yZSB0aGUgcmVxdWVzdGVkCgkgIHNlZWsgcG9zaXRpb24sIG5vdCBqdXN0IHRoZSBjbG9zZXN0IG9uZSAoIzMyMTAwMSkuCgoyMDA1LTExLTE1IDEyOjE2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbnZlcnQgRElCIGltYWdlcyBhZ2FpbiAoc2VlICMxMzIzNDEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChzd2FwX2xpbmUpLCAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIEludmVydCBESUIgaW1hZ2VzIGFnYWluIChzZWUgIzEzMjM0MSkuCgoyMDA1LTExLTE0IDAyOjEzOjM1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9kdi9nc3Rkdi5jOgoJKiBleHQvZXNkL2dzdGVzZC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkqIGdzdC9vbGRjb3JlL2dzdGVsZW1lbnRzLmM6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoKMjAwNS0xMS0xMiAxMzozMTo1NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogT25seSBHU1RfREVCVUcoKSBpbmZvcm1hdGlvbiBvbiB0aGUgdmFsaWQgY29tcG9uZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgT25seSBHU1RfREVCVUcoKSBpbmZvcm1hdGlvbiBvbiB0aGUgdmFsaWQgY29tcG9uZW50cy4KCjIwMDUtMTEtMTEgMTk6MzQ6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgo9PT0gcmVsZWFzZSAwLjkuNSA9PT0KCjIwMDUtMTEtMTEgMTk6MzM6MjMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS41CgoyMDA1LTExLTExIDE4OjMzOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNS0xMS0xMSAxNjo0ODo1OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogWWVhaCwgaW1wbGVtZW50IHByb3BlciBzZWVraW5nLiBFeGFjdCBzZWVraW5nIGFuZCBzZWdtZW50IHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgWWVhaCwgaW1wbGVtZW50IHByb3BlciBzZWVraW5nLiBFeGFjdCBzZWVraW5nIGFuZCBzZWdtZW50IHNlZWtpbmcuCgkgIFN0aWxsIG5lZWQgdG8gZG8gc29tZSBjaGVja3MgZm9yIHNlZ21lbnRfc3RvcC4KCjIwMDUtMTEtMTEgMTU6MTc6NDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgZml4IENhaXJvIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggQ2Fpcm8gZW50cnkKCjIwMDUtMTEtMTAgMTI6MzQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBjdXN0b20gZ2VucmUgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoKMjAwNS0xMS0xMCAxMjoyMjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRG9uJ3QgdHJ5IHRvIHJlYWR5IGJ1ZmZlciBkdXJhdGlvbiBmcm9tIGJ1ZmZlciB0aGF0IHdlIGRvbid0IG93biBhbnkgIGxvbmdlciBhbmQgdGhhdCBtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBEb24ndCB0cnkgdG8gcmVhZHkgYnVmZmVyIGR1cmF0aW9uIGZyb20gYnVmZmVyIHRoYXQgd2UgZG9uJ3QKCSAgb3duIGFueSAgbG9uZ2VyIGFuZCB0aGF0IG1pZ2h0IGFscmVhZHkgaGF2ZSBiZWVuIHVucmVmZmVkLgoJICAoIzMyMTEzNikKCjIwMDUtMTEtMDkgMjE6MzU6MjkgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBBdHRlbXB0aW5nIHRvIG9wdGltaXplIHRoZSBjb2RlIGZvciBlbWJlZGRlZCBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQXR0ZW1wdGluZyB0byBvcHRpbWl6ZSB0aGUgY29kZSBmb3IgZW1iZWRkZWQgc3lzdGVtcy4KCjIwMDUtMTEtMDggMDg6NTQ6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogRG9uJ3QgcmUtdXNlIGFscmVhZHkgY2xvc2VkIGZpbGUgZGVzY3JpcHRvci4gKCMzMjA5MjApCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2Nsb3NlKToKCSAgRG9uJ3QgcmUtdXNlIGFscmVhZHkgY2xvc2VkIGZpbGUgZGVzY3JpcHRvci4gKCMzMjA5MjApCgoyMDA1LTExLTA3IDE3OjM1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLio6IENhY2hlIHByb2JlZCBjYXBzOyBmaXggZGVidWcgb3V0cHV0IGZvciBTRVRfUEFSQU0gbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9vc3Nfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X29zc19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJICBDYWNoZSBwcm9iZWQgY2FwczsgZml4IGRlYnVnIG91dHB1dCBmb3IgU0VUX1BBUkFNIG1hY3Jvcy4KCjIwMDUtMTEtMDcgMTU6MDk6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Fpcm8vOiBQb3J0IGNhaXJvIHRleHRvdmVybGF5IHBsdWdpbiB0byAwLjkuIEFkZCAnc2hhZGVkLWJhY2tncm91bmQnIHByb3BlcnR5IGFuZCByZWRvIHBvc2l0aW9uLiBEb2Vzbid0IGhhbmRsZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9nc3RjYWlyby5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF90ZXh0X292ZXJsYXlfZmluYWxpemUpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwgKGdzdF90ZXh0X292ZXJsYXlfZm9udF9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF90ZXh0X292ZXJsYXlfcmVuZGVyX3RleHQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9nZXRjYXBzKSwgKGdzdF90ZXh0X292ZXJsYXlfc2V0Y2FwcyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX2xpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX3VubGlua2VkKSwgKGdzdF90ZXh0X292ZXJsYXlfc2hhZGVfeSksCgkgIChnc3RfdGV4dF9vdmVybGF5X2JsaXRfMSksIChnc3RfdGV4dF9vdmVybGF5X2JsaXRfc3ViMngyKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcHVzaF9mcmFtZSksIChnc3RfdGV4dF9vdmVybGF5X3BvcF92aWRlbyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3BvcF90ZXh0KSwgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgUG9ydCBjYWlybyB0ZXh0b3ZlcmxheSBwbHVnaW4gdG8gMC45LiBBZGQgJ3NoYWRlZC1iYWNrZ3JvdW5kJwoJICBwcm9wZXJ0eSBhbmQgcmVkbyBwb3NpdGlvbi4gRG9lc24ndCBoYW5kbGUgdXBzdHJlYW0gcmVuZWdvdGlhdGlvbgoJICB5ZXQgdGhvdWdoLgoKMjAwNS0xMS0wNyAxMDozMTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTm8gbmVlZCB0byB0YWtlIHRoZSBTVFJFQU1fTE9DSyBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gSW1wcm92ZSBzb21lIGRlYnVnIG1lc3NhZ2VzLiBEb24ndCBsZWFrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE5vIG5lZWQgdG8gdGFrZSB0aGUgU1RSRUFNX0xPQ0sgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEltcHJvdmUKCSAgc29tZSBkZWJ1ZyBtZXNzYWdlcy4gRG9uJ3QgbGVhayBwYWQgbmFtZXMgaW4gZGVidWcgbWVzc2FnZXMuCgoyMDA1LTExLTA3IDEwOjI3OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IERvbid0IGVycm9yIG91dCB3aGVuIHRoZSBzb3VyY2UgcGFkIGlzbid0IGxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF92b3JiaXNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpOgoJICBEb24ndCBlcnJvciBvdXQgd2hlbiB0aGUgc291cmNlIHBhZCBpc24ndCBsaW5rZWQuCgoyMDA1LTExLTAyIDE5OjQyOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mLzogRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMgaGVyZSBhcyB3ZWxsIGFuZCBzZXQga2lkIHRvIE5VTEwgc3RhdGUgYmVmb3JlIHJlbW92aW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGRvX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChkb190b2dnbGVfZWxlbWVudCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwgYW5kIHNldCBraWQKCSAgdG8gTlVMTCBzdGF0ZSBiZWZvcmUgcmVtb3ZpbmcgaXQuCgoyMDA1LTExLTAyIDE2OjQ4OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgc2lnaCwgc3RhdGljIHBhZCB0ZW1wbGF0ZXMgYXJlbid0IHJlZmNvdW50ZWQgcHJvcGVybHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNpZ2gsIHN0YXRpYyBwYWQgdGVtcGxhdGVzIGFyZW4ndCByZWZjb3VudGVkIHByb3Blcmx5CgoyMDA1LTExLTAxIDE2OjE0OjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIGdzdC9sZXZlbC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDUtMTEtMDEgMTU6MTU6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBBZGRlZCBwcm9wZXIgZXZlbnQgaGFuZGxpbmQsIG1hZGUgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50IHVzZSBHU1RfRk9STUFUX0JZVEVTIChvdGhlcndpc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfc3RvcF9maWxlKSwKCSAgKGdzdF93YXZlbmNfaW5pdCksIChnc3Rfd2F2ZW5jX2V2ZW50KSwgKGdzdF93YXZlbmNfY2hhaW4pOgoJICBBZGRlZCBwcm9wZXIgZXZlbnQgaGFuZGxpbmQsCgkgIG1hZGUgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50IHVzZSBHU1RfRk9STUFUX0JZVEVTIChvdGhlcndpc2UgaXQncwoJICBpZ25vcmVkKSwKCSAgYW5kIGRvbid0IHNldCBhIGR1cmF0aW9uIG9mIDAgZm9yIGJ1ZmZlcnMgb3RoZXJ3aXNlIHRoZXkgYXJlIGRpc2NhcmRlZAoJICBieSBHc3RCYXNlU2luay4KCSAgR3N0V2F2RW5jIG5lZWRzIHNvbWUgc2VyaW91cyBsb3ZpbmcsIGFmdGVyIGdvaW5nIHRocm91Z2ggdGhlIGNvZGUgSSdtCgkgIHJlYWxseSB3b25kZXJpbmcgaG93IHRoaXMgY2FuIHN0YXkgaW4gLWdvb2QgLi4uCgoyMDA1LTExLTAxIDE1OjExOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIEZpeCBsZWFrcyBhbmQgaW52YWxpZCBtZW1vcnkgYWNjZXNzIGFzIHJlcG9ydGVkIGJ5IHZhbGdyaW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwgKHNldHVwX3NpbmtfcGFkKSwKCSAgKHNldHVwX21hdHJvc2thbXV4KSwgKGNoZWNrX2J1ZmZlcl9kYXRhKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCBsZWFrcyBhbmQgaW52YWxpZCBtZW1vcnkgYWNjZXNzIGFzIHJlcG9ydGVkIGJ5IHZhbGdyaW5kCgoyMDA1LTExLTAxIDE0OjQxOjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIC4uLiBhbmQgYWRkIHRoZSBtaXNzaW5nIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC4uLiBhbmQgYWRkIHRoZSBtaXNzaW5nIGZpbGUKCjIwMDUtMTEtMDEgMTQ6MzY6MDIgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoKCSAgYWRkIGEgdW5pdCB0ZXN0IGZvciBtYXRyb3NrYW11eCBmaXggdGhlIGJ1Z3MgdGhhdCB0aGUgdW5pdCB0ZXN0IGV4cG9zZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4KCSAgKiBjaGVjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfc2Vlayk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgIGFkZCBhIHVuaXQgdGVzdCBmb3IgbWF0cm9za2FtdXgKCSAgZml4IHRoZSBidWdzIHRoYXQgdGhlIHVuaXQgdGVzdCBleHBvc2VkCgoyMDA1LTExLTAxIDE0OjM0OjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIGZpeCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IE1ha2VmaWxlLmFtCgoyMDA1LTExLTAxIDEyOjM5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgaW4gY2xhc3NfaW5pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgaW4KCSAgY2xhc3NfaW5pdC4KCjIwMDUtMTEtMDEgMTI6MzU6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBTZXQgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBlYm1sIGhlYWRlcnMgYXMgd2VsbCwgc28gdGhhdCB0aGUgZWxlbWVudCBhZnRlciBtYXRyb3NrYW11eCBjYW4gZ2V0IHRoZSB0aW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX25ldyksCgkgIChnc3RfZWJtbF93cml0ZV9yZXNldCksIChnc3RfZWJtbF93cml0ZV9lbGVtZW50X25ldyk6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBTZXQgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBlYm1sIGhlYWRlcnMgYXMgd2VsbCwgc28gdGhhdCB0aGUKCSAgZWxlbWVudCBhZnRlciBtYXRyb3NrYW11eCBjYW4gZ2V0IHRoZSB0aW1lc3RhbXAgYWxyZWFkeSB3aGVuCgkgIHJlYWRpbmcgdGhlIGZpcnN0IGVibWwgZWxlbWVudCBhbmQgZG9lc24ndCBoYXZlIHRvIHdhaXQgZm9yCgkgIHRoZSBhY3R1YWwgZGF0YSBidWZmZXIgZm9yIHRoYXQgKCMzMjAzMDgpLgoKMjAwNS0xMC0zMSAyMjowODo1MiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYyAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3VubGluaykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMzEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jIChnc3RfdmlkZW9taXhlcl9wYWRfdW5saW5rKQoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2xpbmspOiBLaWxsIHNvbWUgbWVtbGVha3MuCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfZ2V0X3Byb3BlcnR5KTogU3R5bGUgZml4LgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3NldF9wcm9wZXJ0eSk6IFN0eWxlIGZpeC4KCSAgKGdzdF92aWRlb21peGVyX3BhZF9pbml0KTogU3R5bGUgZml4LgoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6IEtpbGwgbWVtbGVhay4KCSAgKGdzdF92aWRlb21peGVyX2xvb3ApOiBLaWxsIG1lbWxlYWsuCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOiBLaWxsIG1lbWxlYWsuCgoyMDA1LTEwLTMxIDE5OjA4OjI3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgSnVzdCBzb21lIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHNvbWUgY2xlYW51cC4KCjIwMDUtMTAtMzEgMTQ6NDE6MzEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIEFkZCBjaGVja3MgdG8gR1NUX0ZMT1dfTk9UX0xJTktFRCBmb3IgdmFsdWVzIHJldHVybmVkIGZyb20gZ3N0X3BhZF9wdXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGNoZWNrcyB0byBHU1RfRkxPV19OT1RfTElOS0VEIGZvciB2YWx1ZXMgcmV0dXJuZWQgZnJvbSBnc3RfcGFkX3B1c2guCgoyMDA1LTEwLTMxIDEyOjAwOjEwICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkgIFBheWxvYWRlciBub3cgc2V0cyBzb21lIGRlZmF1bHQgY2FwcyBvbiB0aGUgc3JjcGFkIGlmIGNhcHMgb24gdGhlIHNpbmtwYWQgYXJlIG5ldmVyIHNldC4gVGhpcyBpcyBpbXBvcnRhbnQgZm9yIHRoZSBnNy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF5bG9hZGVyIG5vdyBzZXRzIHNvbWUgZGVmYXVsdCBjYXBzIG9uIHRoZSBzcmNwYWQgaWYgY2FwcyBvbiB0aGUgc2lua3BhZCBhcmUgbmV2ZXIgc2V0LiBUaGlzIGlzIGltcG9ydGFudCBmb3IgdGhlIGc3MTEgdG8gd29yayB3aXRoIGJ1cmdlcidzIHJ0cGJpbiBlbGVtZW50LgoKMjAwNS0xMC0yOCAxOToxOTo0MCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBBZGQgY2hlY2tzIGZvciByZXR1cm4gdmFsdWVzIGZyb20gZ3N0X3BhZF9wdXNoIGFuZCBnc3RfcGFkX2FsbG9jX2J1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBjaGVja3MgZm9yIHJldHVybiB2YWx1ZXMgZnJvbSBnc3RfcGFkX3B1c2ggYW5kIGdzdF9wYWRfYWxsb2NfYnVmZmVyLgoKMjAwNS0xMC0yOCAxNTozMjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBTaW1wbGVCbG9jayBzdXBwb3J0IHRvIG1hdHJvc2thIGRlbXV4ZXIgYW5kIG11eGVyIChwYXJ0IG9mCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX2J1ZmZlcl9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwgKGdzdF9tYXRyb3NrYV9tdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBTaW1wbGVCbG9jayBzdXBwb3J0IHRvIG1hdHJvc2thIGRlbXV4ZXIgYW5kIG11eGVyIChwYXJ0IG9mCgkgIE1hdHJvc2thIHYyKS4gKCMzMTk3MzEpCgoyMDA1LTEwLTI4IDEzOjI0OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy4qOiBDbGVhbnVwcy4gRG9uJ3QgY3JlYXRlIGNhcHMgZm9yIGV2ZXJ5IGNoYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfaW5pdCksIChnc3RfanBlZ19kZWNfY2hhaW4pLAoJICAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBDbGVhbnVwcy4gRG9uJ3QgY3JlYXRlIGNhcHMgZm9yIGV2ZXJ5IGNoYWluLgoKMjAwNS0xMC0yNyAxODo0NjozMiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICBGaXggdG8gc2V0IHRpbWVzdGFtcCBvbiBidWZmZXIsIGl0IHdhcyB0ZXN0ZWQgd2l0aCBSVFAgRzcxMSBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0byBzZXQgdGltZXN0YW1wIG9uIGJ1ZmZlciwgaXQgd2FzIHRlc3RlZCB3aXRoIFJUUCBHNzExIGVsZW1lbnRzLgoKMjAwNS0xMC0yNyAxMToyNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDogUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCjIwMDUtMTAtMjcgMTE6MjU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlIG9uIHRoZSBidXMgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZQoJICBvbiB0aGUgYnVzIGluc3RlYWQuCgoyMDA1LTEwLTI3IDExOjAwOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy9nc3Rvc3NzcmMuYzogU2V0IGNvcnJlY3QgZm9ybWF0IG9uIG9zcyBpbnN0ZWFkIG9mIGEgc2lsbHkgdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19wcmVwYXJlKToKCSAgU2V0IGNvcnJlY3QgZm9ybWF0IG9uIG9zcyBpbnN0ZWFkIG9mIGEgc2lsbHkgdmFsdWUuCgoyMDA1LTEwLTI3IDA5OjUyOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBVc2UgbGlib2lsIGZvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2JveF9jb3B5X3BsYW5lX2k0MjApLAoJICAoZ3N0X3ZpZGVvX2JveF9pNDIwKSwgKGdzdF92aWRlb19ib3hfYXl1dik6IFVzZSBsaWJvaWwgZm9yCgkgIEk0MjAgcmVuZGVyaW5nIGFzIHdlbGwsIGRvZXNuJ3QgYnJpbmcgbXVjaCBmb3IgbXkgcGxhdGZvcm0uCgkgIE1pZ2h0IGhlbHAgb24gc29tZSBvdGhlciBwbGF0Zm9ybXMuCgoyMDA1LTEwLTI2IDIxOjQ3OjM2ICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIERlY2xhcmluZyB0aGUgcGFkdGVtcGxhdGUgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRGVjbGFyaW5nIHRoZSBwYWR0ZW1wbGF0ZSBjb3JyZWN0bHkuCgoyMDA1LTEwLTI2IDIwOjI4OjMyICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIFNldHRpbmcgdGhlIHByb3BlciBjb3B5cmlnaHQgbm90aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0dGluZyB0aGUgcHJvcGVyIGNvcHlyaWdodCBub3RpY2UuCgoyMDA1LTEwLTI2IDE3OjIzOjA2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbTogVXNlIGxpYm9pbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06IFVzZSBsaWJvaWwuCgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X3NldF9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXYpOiBMb3Qgb2Ygb3B0aW1pemF0aW9uIGluIEFZVVYgcmVuZGVyaW5nCgkgIHVzaW5nIGxpYm9pbC4gV2lsbCBkb3QgdGhlIHNhbWUgdG8gSTQyMCBib3JkZXIgZ2VuZXJhdGlvbgoJICB0b21vcnJvdy4KCjIwMDUtMTAtMjYgMTY6MzY6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgZml4IGF1dG9tYWtlIHdhcm5pbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYXV0b21ha2Ugd2FybmluZ3MKCjIwMDUtMTAtMjYgMTQ6NTA6NTkgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBIYWNrZWQgdGhlIEc3MTEgKGRlKXBheWxvYWRlciB0byB0cnkgdG8gbWFrZSB0aGluZ3MgcmlnaHQuIHJ0cGc3MTFkZWMgbm93IGluaGVyaXRzIGZyb20gdGhlIGJhc2VydHBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEhhY2tlZCB0aGUgRzcxMSAoZGUpcGF5bG9hZGVyIHRvIHRyeSB0byBtYWtlIHRoaW5ncyByaWdodC4gcnRwZzcxMWRlYyBub3cgaW5oZXJpdHMgZnJvbSB0aGUgYmFzZXJ0cGRlcGF5bG9hZGVyLgoKMjAwNS0xMC0yNiAxNDoyMzo0NSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogUmVtb3ZpbmcgdGhpcyBmb3Jnb3R0ZW4gZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvX2JveF9heXV2KTogUmVtb3ZpbmcgdGhpcyBmb3Jnb3R0ZW4gZGVidWcuCgoyMDA1LTEwLTI2IDE0OjA4OjQ5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBGaXggdGhlIHN0cmlkZSBpc3N1ZSB3aGVuIGJveGluZyB0byBBWVVWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dik6IEZpeCB0aGUgc3RyaWRlIGlzc3VlIHdoZW4gYm94aW5nIHRvIEFZVVYuCgoyMDA1LTEwLTI2IDExOjEyOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IEFjdHVhbGx5IHVzZSB0aGUgJ29zcycgZGVidWcgY2F0ZWdvcnkgd2UgcmVnaXN0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgQWN0dWFsbHkgdXNlIHRoZSAnb3NzJyBkZWJ1ZyBjYXRlZ29yeSB3ZSByZWdpc3Rlci4KCjIwMDUtMTAtMjYgMTA6Mzg6MTggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBVc2UgZ3N0X3BhZF9nZXRfcGFyZW50IGFuZCBkcm9wIHRoZSByZWYgdGhhdCB3YXMgYWRkZWQgdGhyb3VnaCB0aGF0IGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2dldGNhcHMpOgoJICBVc2UgZ3N0X3BhZF9nZXRfcGFyZW50IGFuZCBkcm9wIHRoZSByZWYgdGhhdCB3YXMgYWRkZWQgdGhyb3VnaAoJICB0aGF0IGNhbGwuCgoyMDA1LTEwLTI2IDEwOjAzOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgZml4IGNvbXBpbGF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggY29tcGlsYXRpb24KCjIwMDUtMTAtMjUgMjE6MDk6MzYgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgSnVzdCByZW1vdmVkIGEgY291cGxlIG9mIGxpbmVzIG9mIHdlaXJkIGNvZGUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQvdGVzdCB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCByZW1vdmVkIGEgY291cGxlIG9mIGxpbmVzIG9mIHdlaXJkIGNvZGUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQvdGVzdCB0aW1lLgoKMjAwNS0xMC0yNSAxOToxOTozOCArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5Lmg6CgkgIEc3MTEgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlciBjcmVhdGVkIGJ5IEVkZ2FyZCBMaW1hIChpdCBzdXBwb3J0cyBtdWxhdyBhbmQgYWxhdyAoZGVjKWVuY29kZXJzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRzcxMSBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyIGNyZWF0ZWQgYnkgRWRnYXJkIExpbWEgKGl0IHN1cHBvcnRzCgkgIG11bGF3IGFuZCBhbGF3IChkZWMpZW5jb2RlcnMpCgoyMDA1LTEwLTI1IDE3OjU1OjE5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBEb2ggISBJIGludHJvZHVjZWQgd2luZ28ncyBidWcgYWdhaW4gISBTb3JyeS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKToKCSAgRG9oICEgSSBpbnRyb2R1Y2VkIHdpbmdvJ3MgYnVnIGFnYWluICEgU29ycnkuLi4KCjIwMDUtMTAtMjUgMTY6MDI6MzggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGVzIGZvciBkaXN0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCjIwMDUtMTAtMjUgMTU6MDc6MDIgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkgIEdldHRpbmcgdGhlIEdTTSAoZGUpcGF5bG9hZGVyIHdvcmtpbmcgYW5kIGNvbXBhdGlibGUgd2l0aCBvdXIgcGxhbnMgZm9yIFJUUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdldHRpbmcgdGhlIEdTTSAoZGUpcGF5bG9hZGVyIHdvcmtpbmcgYW5kIGNvbXBhdGlibGUgd2l0aCBvdXIgcGxhbnMgZm9yIFJUUC4KCjIwMDUtMTAtMjUgMTM6MDM6MDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkgIGZpeCBtaXN0YWtlbiBjbGFpbSBvbiBHUEwsIGl0cyBMR1BMCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbWlzdGFrZW4gY2xhaW0gb24gR1BMLCBpdHMgTEdQTAoKMjAwNS0xMC0yNSAxMDo0NzowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBQdXNoIGEgbmV3c2VnbWVudCBldmVudCwgbW92ZSBzb21lIHJlZHVuZGFudCBjb2RlIGluIGEgc2luZ2xlIHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2luZm9fY2FsbGJhY2spLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwgKGdzdF9wbmdkZWNfdGFzayk6IFB1c2gKCSAgYSBuZXdzZWdtZW50IGV2ZW50LCBtb3ZlIHNvbWUgcmVkdW5kYW50IGNvZGUgaW4gYSBzaW5nbGUgcGxhY2UuCgoyMDA1LTEwLTI1IDEwOjIzOjI2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFRlbXBvcmFyeSBoYWNrIHRvIGdldCBjb3JyZWN0IGNvbG9ycyBvcmRlciB3aGVuIHdlIGhhdmUgYSBwbmcgaW1hZ2Ugd2l0aCBhbHBoYSBjaGFubmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2luZm9fY2FsbGJhY2spLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwgKGdzdF9wbmdkZWNfdGFzayk6IFRlbXBvcmFyeQoJICBoYWNrIHRvIGdldCBjb3JyZWN0IGNvbG9ycyBvcmRlciB3aGVuIHdlIGhhdmUgYSBwbmcgaW1hZ2Ugd2l0aAoJICBhbHBoYSBjaGFubmVsLgoKMjAwNS0xMC0yNCAxNzoyOTowMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IENhbGwgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzIHdoZW4gdGhlcmUgd2lsbCBiZSBubyBtb3JlIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9hZGRfcGFkcyk6CgkgIENhbGwgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzIHdoZW4gdGhlcmUgd2lsbCBiZSBubyBtb3JlIHBhZHMuCgoyMDA1LTEwLTI0IDE2OjM5OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHR3byBuZXcgcGF5bG9hZGVycywgYW4gUkZDIDIxOTAgcGF5bG9hZGVyIGZvciBoMjYzIGFuZCBhIHBheWxvYWQgY29udmVydG9yIGZvciBhbiBhc3RlcmlzayBzZXJ2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfZ2V0X3R5cGUpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19iYXNlX2luaXQpLCAoZ3N0X2FzdGVyaXNraDI2M19jbGFzc19pbml0KSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfaW5pdCksIChnc3RfYXN0ZXJpc2toMjYzX2ZpbmFsaXplKSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfY2hhaW4pLCAoZ3N0X2FzdGVyaXNraDI2M19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19nZXRfcHJvcGVydHkpLCAoZ3N0X2FzdGVyaXNraDI2M19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2VuYy5jOiAoZ3N0X3J0cGgyNjNlbmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cGgyNjNlbmNfYmFzZV9pbml0KSwgKGdzdF9ydHBoMjYzZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cGgyNjNlbmNfaW5pdCksIChnc3RfcnRwaDI2M2VuY19maW5hbGl6ZSksCgkgIChnc3RfcnRwaDI2M2VuY19zZXRjYXBzKSwgKGdzdF9ydHBoMjYzZW5jX2dvYmZpbmVyKSwKCSAgKGdzdF9ydHBoMjYzZW5jX2ZsdXNoKSwgKGdzdF9ydHBoMjYzZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cGgyNjNlbmNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2VuYy5oOgoJICBBZGRlZCB0d28gbmV3IHBheWxvYWRlcnMsIGFuIFJGQyAyMTkwIHBheWxvYWRlciBmb3IgaDI2MyBhbmQKCSAgYSBwYXlsb2FkIGNvbnZlcnRvciBmb3IgYW4gYXN0ZXJpc2sgc2VydmVyLgoKMjAwNS0xMC0yNCAxNTo1NzoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IFNldCBieXRlc19wZXJfc2FtcGxlIGNvcnJlY3RseSAoaXMgbm90IGFsd2F5cyA0LCBidXQgZGVwZW5kcyBvbiB3aWR0aCBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3ByZXBhcmUpOgoJICBTZXQgYnl0ZXNfcGVyX3NhbXBsZSBjb3JyZWN0bHkgKGlzIG5vdCBhbHdheXMgNCwgYnV0CgkgIGRlcGVuZHMgb24gd2lkdGggYW5kIG51bWJlciBvZiBjaGFubmVscykuCgoyMDA1LTEwLTI0IDE1OjUwOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBGaXggc2Vla2luZywgc28gdGhhdCBmbGFjZW5jIGNhbiByZXdyaXRlIHRoZSBoZWFkZXIgd2l0aCB0aGUgY29ycmVjdCBkdXJhdGlvbiBhbmQgYW1vdW50IG9mIHNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY2VuY19pbml0KSwgKGdzdF9mbGFjZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZmxhY2VuY19zZWVrX2NhbGxiYWNrKSwgKGdzdF9mbGFjZW5jX3dyaXRlX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X2ZsYWNlbmNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9mbGFjZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZmxhY2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgRml4IHNlZWtpbmcsIHNvIHRoYXQgZmxhY2VuYyBjYW4gcmV3cml0ZSB0aGUgaGVhZGVyIHdpdGggdGhlCgkgIGNvcnJlY3QgZHVyYXRpb24gYW5kIGFtb3VudCBvZiBzYW1wbGVzIGFuZCBhbGwgdGhhdCBhdCBFT1M7CgkgIGFsc28gc2V0IHRpbWVzdGFtcHMgYW5kIGdyYW51bGVwb3Mgb24gb3V0Z29pbmcgYnVmZmVyczsgYWRkCgkgIGRlYnVnIGNhdGVnb3J5OyBmaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoKMjAwNS0xMC0yNCAxMzo0NjowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IERvbid0IHJlc3RyaWN0IHZpZGVvIGdlb21ldHJ5IGZyb20gMTYgdG8gNDA5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IERvbid0IHJlc3RyaWN0IHZpZGVvIGdlb21ldHJ5CgkgIGZyb20gMTYgdG8gNDA5Ni4KCjIwMDUtMTAtMjQgMTM6MjI6MTQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCBjYXBzIG5lZ290aWF0aW9uIGNvcnJlY3RseSwgYWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6CgkgIEZpeCBjYXBzIG5lZ290aWF0aW9uIGNvcnJlY3RseSwgYWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCjIwMDUtMTAtMjQgMTM6MDI6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgoyMDA1LTEwLTI0IDA4OjU5OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IERvbid0IHVzZSBmaXhlZCBjYXBzIG9uIGEgc2luayBwYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCk6IERvbid0IHVzZSBmaXhlZAoJICBjYXBzIG9uCgkgIGEgc2luayBwYWQuCgoyMDA1LTEwLTIzIDIzOjA1OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNCA9PT0KCjIwMDUtMTAtMjMgMjI6NDM6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNpbmcgMC45LjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNAoKMjAwNS0xMC0yMyAxMTowNzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIFNUT1BQRUQtPkZBSUxFRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU1RPUFBFRC0+RkFJTEVECgoyMDA1LTEwLTIxIDE3OjAwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEFkZCBwb3NpdGlvbiBhbmQgZHVyYXRpb24gcXVlcnksIGZpeCBxdWVyeSB0eXBlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3NwZWV4ZW5jX3NyY19xdWVyeSk6CgkgIEFkZCBwb3NpdGlvbiBhbmQgZHVyYXRpb24gcXVlcnksIGZpeCBxdWVyeSB0eXBlIGZ1bmN0aW9uLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICBMZXQncyBub3Qgc2V0IG5vbi1maXhlZCBjYXBzIG9uIHNvdXJjZSBwYWRzLgoKMjAwNS0xMC0yMSAxNjoxNTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNldCBjb3JyZWN0IHN0cmVhbV90aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQuIGF2aSBjYW4gYWxzbyBoYW5kbGUgYSBkdXJhdGlvbiBxdWVyeSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICBTZXQgY29ycmVjdCBzdHJlYW1fdGltZSBpbiBuZXdzZWdtZW50IGV2ZW50LgoJICBhdmkgY2FuIGFsc28gaGFuZGxlIGEgZHVyYXRpb24gcXVlcnkgbm93LgoKMjAwNS0xMC0yMSAxMDowNjo0MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBhZGRpdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGFkZGl0aW9ucwoKMjAwNS0xMC0yMCAxOToxNDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggZHVyYXRpb24gcXVlcnk7IGZpeCBiYXNldGltZSBpbiBuZXdzZWdtZW50IGV2ZW50IGFmdGVyIHNlZWs7IGZpeCBkdXJhdGlvbiBpbiBpbml0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICBGaXggZHVyYXRpb24gcXVlcnk7IGZpeCBiYXNldGltZSBpbiBuZXdzZWdtZW50IGV2ZW50IGFmdGVyCgkgIHNlZWs7IGZpeCBkdXJhdGlvbiBpbiBpbml0aWFsIG5ld3NlZ21lbnQgZXZlbnQuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgRXh0cmFjdCBudW1iZXIgb2YgY2hhbm5lbHMgYW5kIHNhbXBsZXJhdGUgZnJvbSB2b3JiaXMgaGVhZGVyczsKCSAgYWRkIHNvbWUgZGVidWcgbWVzc2FnZXMgd2hlbiBxdWVyeWluZyB0aGUgZHVyYXRpb25zIG9mIHRoZQoJICBpbnB1dCBzdHJlYW1zLgoKMjAwNS0xMC0yMCAxMTo1MDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTZXQgc3RyZWFtIHRpbWUgY29ycmVjdGx5IGluIG5ld3NlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBTZXQgc3RyZWFtIHRpbWUgY29ycmVjdGx5IGluIG5ld3NlZ21lbnQuCgoyMDA1LTEwLTIwIDExOjM5OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDb3JyZWN0bHkgZmlsbCBpbiB0aGUgc3RyZWFtIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICBDb3JyZWN0bHkgZmlsbCBpbiB0aGUgc3RyZWFtIHRpbWUuCgoyMDA1LTEwLTE5IDIwOjQ4OjI0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHVzZSBFTEVNRU5UIG1lc3NhZ2VzIGluc3RlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVzZSBFTEVNRU5UIG1lc3NhZ2VzIGluc3RlYWQKCjIwMDUtMTAtMTkgMTU6NTg6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBBUEkgY2hhbmdlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2dldF9xdWVyeV90eXBlcyksIChzcGVlZF9zcmNfcXVlcnkpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfZ2V0X3F1ZXJ5X3R5cGVzKSwgKGdzdF90dGFfcGFyc2VfcXVlcnkpOgoJICBBUEkgY2hhbmdlIGZpeC4KCjIwMDUtMTAtMTkgMTU6NTc6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBUEkgY2hhbmdlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY19sZW5ndGgpLAoJICAoZ3N0X2ZsYWNkZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfcXVlcnkpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX3NyY19xdWVyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOiAoZ3N0X25hdnNlZWtfc2Vlayk6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3JlcG9ydCk6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9nZXRfbGVuZ3RoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBBUEkgY2hhbmdlIGZpeC4KCjIwMDUtMTAtMTkgMTA6NTc6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IE1ha2UgaW5saW5lIGZ1bmN0aW9ucyBlaXRoZXIgJ3N0YXRpYyBpbmxpbmUnIG9yICdleHRlcm4gaW5saW5lJywgb3RoZXJ3aXNlIHRoZSBGb3J0ZSBjb21waWxlciBhcHBhcmVudGx5IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOgoJICAqIGdzdC9nb29tL2dyYXBoaWMuaDoKCSAgKiBnc3QvZ29vbS9saW5lcy5jOgoJICBNYWtlIGlubGluZSBmdW5jdGlvbnMgZWl0aGVyICdzdGF0aWMgaW5saW5lJyBvciAnZXh0ZXJuIGlubGluZScsCgkgIG90aGVyd2lzZSB0aGUgRm9ydGUgY29tcGlsZXIgYXBwYXJlbnRseSB3b24ndCBpbmxpbmUgdGhlbSAoIzMxNzMwMCkuCgoyMDA1LTEwLTE4IDIyOjUwOjExICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IGZvcmdvdCB0aGUgYnVmZmVyIHVucmVmIGluIHB1bGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogZm9yZ290IHRoZSBidWZmZXIgdW5yZWYgaW4gcHVsbC4KCjIwMDUtMTAtMTggMjI6NDQ6MTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogQ29tcGxldGUgcmV3cml0ZSBvZiBwbmdkZWMuIEl0J3Mgbm93IHZlcnkgbmljZSBhbmQgaGFuZGxlIHB1c2gvcHVsbCBiYXNlZCBtb2RlbC4gaWYgeW91IGhhdmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcG5nZGVjX2luaXQpLCAodXNlcl9lcnJvcl9mbiksICh1c2VyX3dhcm5pbmdfZm4pLAoJICAodXNlcl9pbmZvX2NhbGxiYWNrKSwgKHVzZXJfZW5kcm93X2NhbGxiYWNrKSwKCSAgKHVzZXJfZW5kX2NhbGxiYWNrKSwKCSAgKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksCgkgIChnc3RfcG5nZGVjX3Rhc2spLCAoZ3N0X3BuZ2RlY19jaGFpbiksIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3BuZ2RlY19saWJwbmdfY2xlYXIpLCAoZ3N0X3BuZ2RlY19saWJwbmdfaW5pdCksCgkgIChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfcG5nZGVjX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfcG5nZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfcG5nZGVjX3NpbmtfYWN0aXZhdGUpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6IENvbXBsZXRlIHJld3JpdGUgb2YgcG5nZGVjLiBJdCdzIG5vdwoJICB2ZXJ5IG5pY2UgYW5kIGhhbmRsZSBwdXNoL3B1bGwgYmFzZWQgbW9kZWwuIGlmIHlvdSBoYXZlIGZpbGVzcmMKCSAgY29ubmVjdGVkIHRvIGl0LCBpdCB3aWxsIGRvIHJhbmRvbSBhY2Nlc3MgdG8gbG9hZCB0aGUgcG5nIGZpbGUuCgkgIElmIHlvdSBoYXZlIGEgbmV0d29yayBzb3VyY2UgdGhhdCBjYW4ndCBkbyBfZ2V0cmFuZ2UsIGl0IGRvZXMKCSAgcHJvZ3Jlc3NpdmUgbG9hZGluZyB0aHJvdWdoIHRoZSBjaGFpbiBmdW5jdGlvbi4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwKCSAgKHRyYW5zZm9ybV9yZ2IpLCAodHJhbnNmb3JtX2Jncik6IEZpeCBjYXBzIG5lZ290aWF0aW9uIGNvcnJlY3RseQoJICB0aGFua3MgdG8gTWFzdGVyIFdpbSBUYXltYW5zIDstKQoKMjAwNS0xMC0xOCAxODoxMjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFBvcnRlZCBtYXRyb3NrYSBkZW11eGVyIHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6IChwbHVnaW5faW5pdCk6CgkgIFBvcnRlZCBtYXRyb3NrYSBkZW11eGVyIHRvIDAuOS4KCjIwMDUtMTAtMTggMTg6MDY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBtcGVnNCBpbnB1dCBoYW5kbGluZyAoIzMxODg0Nyk7IGFsc28sIHdoaWxlIHdlJ3JlIGF0IGl0LCBmaXggbWVkaWEgdHlwZSBmb3IgTW90aW9uLUouLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgRml4IG1wZWc0IGlucHV0IGhhbmRsaW5nICgjMzE4ODQ3KTsgYWxzbywgd2hpbGUgd2UncmUgYXQgaXQsCgkgIGZpeCBtZWRpYSB0eXBlIGZvciBNb3Rpb24tSlBFRzogc2hvdWxkIGJlIGltYWdlL2pwZWcuCgoyMDA1LTEwLTE4IDEzOjIxOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBmb3Igc2VnbWVudC1zdGFydC9zdG9wIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBGaXggZm9yIHNlZ21lbnQtc3RhcnQvc3RvcCBBUEkgY2hhbmdlLgoKMjAwNS0xMC0xNyAxNzoxODo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiBIYW5kbGUgY2FwcyBuZWdvdGlhdGlvbiBpbiBhIGJldHRlciB3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2FwcyksCgkgICh0cmFuc2Zvcm1fcmdiKSwgKHRyYW5zZm9ybV9iZ3IpOiBIYW5kbGUgY2FwcyBuZWdvdGlhdGlvbiBpbiBhCgkgIGJldHRlcgoJICB3YXkuCgoyMDA1LTEwLTE3IDE2OjU5OjIwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBGaXggY2FwcyBuZWdvIHNvbWUgbW9yZSB0byBnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKTogRml4IGNhcHMgbmVnbyBzb21lIG1vcmUgdG8gZ2V0CgkgIEFZVVYKCSAgb3V0cHV0IGRlY2xhcmVkIGluIHRyYW5zZm9ybV9jYXBzLgoKMjAwNS0xMC0xNyAxNToyMzoyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBXZSB1c2UgZml4ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KTogV2UgdXNlIGZpeGVkIGNhcHMuCgoyMDA1LTEwLTE3IDE1OjE0OjI5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBGaXggd3Jvbmcgc2l6ZSBjYWxjdWxhdGlvbnMgYW5kIGltcGxlbWVudCBnZXRfdW5pdF9zaXplIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKTogRml4IHdyb25nIHNpemUgY2FsY3VsYXRpb25zIGFuZAoJICBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSBjb3JyZWN0bHkuCgoyMDA1LTEwLTE3IDE0OjU2OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBFbmFibGUgZmx4IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBFbmFibGUgZmx4IHBsdWdpbi4KCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZmx4X2RlY29kZV9jaHVua3MpOgoJICBGaXggZ2NjNCBzaWduZWRuZXNzIGlzc3VlLgoKMjAwNS0xMC0xNyAwODo0NjozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZGluZyB2aWRlb21peGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzogQWRkaW5nIHZpZGVvbWl4ZXIuCgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2xhc3NfaW5pdCksCgkgICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX2NoYWluKTogTW9yZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOiBBZGRpbmcgYWxwaGFjb2xvcgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfYmFzZV9pbml0KSwKCSAgKGdzdF9hbHBoYV9jb2xvcl9jbGFzc19pbml0KSwgKGdzdF9hbHBoYV9jb2xvcl9pbml0KSwKCSAgKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2FwcyksIChnc3RfYWxwaGFfY29sb3Jfc2V0X2NhcHMpLAoJICAodHJhbnNmb3JtX3JnYiksICh0cmFuc2Zvcm1fYmdyKSwKCSAgKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1faXApLAoJICAocGx1Z2luX2luaXQpOiBQb3J0ZWQgdG8gMC45IHVzaW5nIGluIHBsYWNlIGJhc2UgdHJhbmZvcm0uCgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2xpbmspLCAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3VubGluayksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfaW5pdCksIChnc3RfdmlkZW9taXhlcl9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyksIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCksIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBQb3J0ZWQKCSAgdG8gMC45IHVzaW5nIGNvbGxlY3RwYWRzLgoKMjAwNS0xMC0xNiAyMToxOTo0NCArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBmbHggcGx1Z2luIHBvcnRlZCB0byAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZseCBwbHVnaW4gcG9ydGVkIHRvIDAuOQoKMjAwNS0xMC0xNiAxNDozMzowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHVzZSBnc3RfdmVyc2lvbl9zdHJpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVzZSBnc3RfdmVyc2lvbl9zdHJpbmcKCjIwMDUtMTAtMTYgMTM6MTc6MTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogR0xJQl9DSEVDSy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOiBHTElCX0NIRUNLLgoKMjAwNS0xMC0xNSAxNjo0ODo1NSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nLzogUG9ydGVkIHBuZ2RlYyB0byAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcG5nZGVjX2luaXQpLCAodXNlcl9yZWFkX2RhdGEpLCAoZ3N0X3BuZ2RlY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDogUG9ydGVkIHBuZ2RlYyB0byAwLjkKCjIwMDUtMTAtMTQgMTI6NDM6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IG1hdHJvc2thIG11eGVyIHRvIDAuOSAoIzMxODg0NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOiAocGx1Z2luX2luaXQpOgoJICBQb3J0IG1hdHJvc2thIG11eGVyIHRvIDAuOSAoIzMxODg0NykuCgoyMDA1LTEwLTEzIDE4OjU5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEZpeCBoYW5kbGluZyBvZiBHU1RfVEFHX0RBVEUsIHdoaWNoIGlzIG5vdyBvZiBHU1RfVFlQRV9EQVRFOyB1c2UgR1NUX1JFQURfVUlOVDMyX0xFKCkgYW5kIGZyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2dldF90YWdfdmFsdWUpLAoJICAoY29tbWVudF9pbml0KSwgKGNvbW1lbnRfYWRkKToKCSAgRml4IGhhbmRsaW5nIG9mIEdTVF9UQUdfREFURSwgd2hpY2ggaXMgbm93IG9mIEdTVF9UWVBFX0RBVEU7CgkgIHVzZSBHU1RfUkVBRF9VSU5UMzJfTEUoKSBhbmQgZnJpZW5kcyByYXRoZXIgdGhhbiB0aGUgcHJpdmF0ZQoJICBpbXBsZW1lbnRhdGlvbiBvZiB0aG9zZSBzYW1lIG1hY3Jvcy4KCjIwMDUtMTAtMTMgMTY6MDE6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICBmaXggZGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3QKCjIwMDUtMTAtMTMgMTU6Mjg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOiBtb3JlIHR5cG8gZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkgIG1vcmUgdHlwbyBmaXhlcwoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksCgkgIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLAoJICAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLAoJICAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksCgkgIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksCgkgIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksCgkgIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLAoJICAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLAoJICAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksCgkgIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksCgkgIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLAoJICAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwKCSAgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTEwLTEyIDE0OjI5OjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX29wZW5fYXVkaW8pLAoJICAoZ3N0X2VzZG1vbl9jbG9zZV9hdWRpbyksIChnc3RfZXNkbW9uX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2VzZC9lc2Rtb24uaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRvdmVybGF5X2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9pbml0KToKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aWZpbGVzcmNfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc3JjX2dldCksIChnc3RfbXVsdGlmaWxlc3JjX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzogKGdzdF9waXBlZmlsdGVyX2luaXQpLAoJICAoZ3N0X3BpcGVmaWx0ZXJfb3Blbl9maWxlKSwgKGdzdF9waXBlZmlsdGVyX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3BpcGVmaWx0ZXJfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiAoZ3N0X29zeGF1ZGlvc2lua19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTEwLTEyIDAzOjE0OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGlzdCBjYWlybwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzdCBjYWlybwoKMjAwNS0xMC0xMiAwMzoxMjo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvOiB1cGRhdGUgb2YgY2Fpcm8tYmFzZWQgdGltZW92ZXJsYXkgdG8gMS4wIENhaXJvIEFQSSBkb2Vzbid0IHdvcmsgeWV0IGZvciByZXNpemluZyBvZiBvdXRwdXQgc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9nc3RjYWlyby5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRvdmVybGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfdGltZW92ZXJsYXlfdXBkYXRlX2ZvbnRfaGVpZ2h0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9zZXR1cCksIChnc3RfdGltZW92ZXJsYXlfcGxhbmFyNDExKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgdXBkYXRlIG9mIGNhaXJvLWJhc2VkIHRpbWVvdmVybGF5IHRvIDEuMCBDYWlybyBBUEkKCSAgZG9lc24ndCB3b3JrIHlldCBmb3IgcmVzaXppbmcgb2Ygb3V0cHV0IHNpbmsKCjIwMDUtMTAtMTIgMDM6MDc6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgY2hlY2sKCjIwMDUtMTAtMTIgMDM6MDM6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgZ3N0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGdzdGNoZWNrCgoyMDA1LTEwLTExIDE3OjM4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IG5ld3NlZ21lbnQgQVBJIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfZXZlbnQpLCAoc3BlZXhfZGVjX2NoYWluKToKCSAgbmV3c2VnbWVudCBBUEkgZml4LgoKMjAwNS0xMC0xMSAxNjozNDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoKMjAwNS0xMC0xMSAxNjozMzowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY193cml0ZSk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9ldmVudCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfc3RvcF9maWxlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoKMjAwNS0xMC0xMSAxMDowNzozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IFNpZ25lZG5lc3MgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTExICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBTaWduZWRuZXNzIGNsZWFudXBzLgoKMjAwNS0xMC0xMCAxOTo1Nzo0MCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBTcGVleGVuYyBwb3J0ZWQgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU3BlZXhlbmMgcG9ydGVkIHRvIDAuOS4KCjIwMDUtMTAtMTAgMTQ6MTY6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzLzogQ2xlYW51cHMsIG1ha2UgZGV2aWNlIGNvbmZpZ3VyYWJsZSBpbiB0aGUgc2luaywgaGFuZGxlIGFuZCByZXBvcnQgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc2lua19pbml0KSwgKGdzdF9vc3Nfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfb3NzX3Npbmtfb3BlbiksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSksIChnc3Rfb3NzX3NpbmtfcmVzZXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfb3NzX3NyY19pbml0KSwgKGdzdF9vc3Nfc3JjX29wZW4pLAoJICAoZ3N0X29zc19zcmNfcHJlcGFyZSk6CgkgIENsZWFudXBzLCBtYWtlIGRldmljZSBjb25maWd1cmFibGUgaW4gdGhlIHNpbmssIGhhbmRsZSBhbmQgcmVwb3J0CgkgIGVycm9ycy4KCjIwMDUtMTAtMTAgMTI6MzE6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ2NvbmYvOiBNYWtlIHN1cmUgZWxlbWVudCBpcyBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIHRoZSBiaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpOgoJICBNYWtlIHN1cmUgZWxlbWVudCBpcyBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIHRoZSBiaW4uCgoyMDA1LTEwLTA3IDE2OjI4OjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBEb24ndCB1bnJlZiB0aGUgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCk6IERvbid0IHVucmVmIHRoZSBtZXNzYWdlLgoKMjAwNS0xMC0wNyAxNjoyMjo1OSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgY2FibGUgaXMgdW5wbHVnZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KTogUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgY2FibGUgaXMKCSAgdW5wbHVnZ2VkLgoJICAoZ3N0X2R2MTM5NHNyY19jcmVhdGUsIGdzdF9kdjEzOTRzcmNfdW5sb2NrKTogUmVtb3ZlIHNvbWUgcHJpbnRzLgoKMjAwNS0xMC0wNyAxNToyNDoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QKCSAgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCjIwMDUtMTAtMDcgMTM6MTc6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBDbGVhbiB1cCBmb3Igc3R5bGUgYmVmb3JlIGRvaW5nIHNvbWUgaGFja2luZy4gVGhlIG9ubHkgY2hhbmdlIHNob3VsZCBiZSB0aGF0IHRoZSBzdGF0ZSBjaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogQ2xlYW4gdXAgZm9yIHN0eWxlIGJlZm9yZSBkb2luZyBzb21lCgkgIGhhY2tpbmcuIFRoZSBvbmx5IGNoYW5nZSBzaG91bGQgYmUgdGhhdCB0aGUgc3RhdGUgY2hhbmdlIHN0dWZmIHdhcwoJICBwdXQgaW50byBiYXNlc3JjJ3Mgc3RhcnQoKSBhbmQgc3RvcCgpIHJvdXRpbmVzLCB3aGljaCBjb2FsZXNjZXMKCSAgc29tZSBzdGVwcy4KCjIwMDUtMTAtMDcgMTE6MzA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZCBjaGVjayBmb3IgbW1hcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBjaGVjayBmb3IgbW1hcAoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgT25seSBjb21waWxlIGVmZW5jZSBwbHVnaW4gb24gc3lzdGVtcyB0aGF0IGhhdmUgbW1hcC4KCjIwMDUtMTAtMDUgMTY6MzY6NTcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBmaWxlcwoKMjAwNS0xMC0wNSAxMTozODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy86IFBvcnQgcHJvZ3Jlc3NyZXBvcnQsIG5hdnNlZWssIG5hdmlnYXRpb250ZXN0LCB0ZXN0c2luayBhbmQgYnJlYWtteWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmg6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgUG9ydCBwcm9ncmVzc3JlcG9ydCwgbmF2c2VlaywgbmF2aWdhdGlvbnRlc3QsIHRlc3RzaW5rIGFuZAoJICBicmVha215ZGF0YS4KCjIwMDUtMTAtMDUgMTE6MTU6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBGaXhlcyBmb3IgYmV0dGVyIGNvbnZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSk6CgkgIEZpeGVzIGZvciBiZXR0ZXIgY29udmVyc2lvbgoKMjAwNS0xMC0wNCAxNzo1ODo0MCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBTZXQgc3RhdGUgb2YgZWxlbWVudHMgdG8gTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSBiaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgU2V0IHN0YXRlIG9mIGVsZW1lbnRzIHRvIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gYmlucy4KCSAgU2V0IHN0YXRlIG9mIHRlc3QgZWxlbWVudCB0byBOVUxMIGlmIHdlIGZhaWxlZCB0byBtb3ZlIGl0IHRvIFJFQURZCgoyMDA1LTEwLTA0IDE3OjQ0OjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2LzogQWRkZWQgREVGQVVMVCA8PT0+IEJZVEVTLCBUSU1FIGNvbnZlcnNpb25zIG9uIHNyY3BhZCwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLCAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcik6CgkgIEFkZGVkIERFRkFVTFQgPD09PiBCWVRFUywgVElNRSBjb252ZXJzaW9ucyBvbiBzcmNwYWQsCgkgIENvcnJlY3RlZCB0aGUgcXVlcnkgZnVuY3Rpb24gZm9yIHBvc2l0aW9uIHNvIGl0IGRvZXNuJ3QgZm9yZ2V0IHdoYXQKCSAgZm9ybWF0IHdhcyBhc2tlZCwgYW5kIGNhbGxzIHRoZSBjb252ZXJzaW9uIGZ1bmN0aW9ucyBvbiB0aGUgY29ycmVjdCBwYWQuCgoyMDA1LTEwLTAzIDE3OjU5OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjMgPT09CgoyMDA1LTEwLTAzIDE3OjQ4OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVBRE1FOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzZSB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNlIHRpbWUKCjIwMDUtMTAtMDIgMjM6MDg6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdGUpOiBEZWFsIHdpdGggcGFkX2FsbG9jIGVycm9yIHJldHVybnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTAzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdGUpOiBEZWFsIHdpdGggcGFkX2FsbG9jCgkgIGVycm9yIHJldHVybnMuCgoyMDA1LTEwLTAyIDE1OjMzOjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IENoYW5nZSB0byBiZSBsaWtlIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IENoYW5nZSB0byBiZSBsaWtlIC1iYXNlLgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogUG9ydGVkIHRvIDAuOS4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX2xvb3ApOiBIYW5kbGUgZXJyb3JzIGJldHRlci4KCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbTogQWRkIHRoZSBHU1RfUExVR0lOU19CQVNFIGNmbGFncyBhbmQgbGlicywKCSAgYW5kIGxpbmsgdG8gZ3N0dGFnZWRpdC4gRW5hYmxlIGZsYWNlbmMuCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBSZS1lbmFibGUgdGFnIHJlYWRpbmcuCgoyMDA1LTA5LTMwIDE2OjM2OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFZhcmlvdXMgY2xhc3MgYW5kIGNhcHMgZml4ZXMgZnJvbSBBbmRyZSBNYWdhbGhhZXMgKGFuZHJ1bmtvKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOiAoZ3N0X3J0cGFtcmVuY19zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19oYW5kbGVfYnVmZmVyKToKCSAgVmFyaW91cyBjbGFzcyBhbmQgY2FwcyBmaXhlcyBmcm9tIEFuZHJlIE1hZ2FsaGFlcyAoYW5kcnVua28pCgoyMDA1LTA5LTI5IDEzOjA4OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogVXBkYXRlIGZvciBuZXcgYnVzIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1haW4pOgoJICBVcGRhdGUgZm9yIG5ldyBidXMgQVBJLgoKMjAwNS0wOS0yOCAxMzozODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgoyMDA1LTA5LTI4IDA5OjQ1OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggdW5leHBhbmRlZCBhdXRvY29uZiBtYWNybyBHU1RfRE9DLCB3aGljaCBoYXMgYmVlbiByZW5hbWVkIHRvIEdTVF9ET0NCT09LX0NIRUNLIChzZWUgY29tbW9uL200L2dzdC1kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHVuZXhwYW5kZWQgYXV0b2NvbmYgbWFjcm8gR1NUX0RPQywgd2hpY2ggaGFzIGJlZW4gcmVuYW1lZAoJICB0byBHU1RfRE9DQk9PS19DSEVDSyAoc2VlIGNvbW1vbi9tNC9nc3QtZG9jLm00KSAoIzMxNjIwMikuCgoyMDA1LTA5LTI3IDE1OjEyOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IEZpeCBwbGF5YmFjayBvZiBtb25vIHN0cmVhbXMgKGJ5dGVzX3Blcl9zYW1wbGUgc2hvdWxkIGJlIHNldCBmcm9tIHRoZSBzYW1wbGUgd2lkdGggYW5kIHRoZSBudW1iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX3ByZXBhcmUpOgoJICBGaXggcGxheWJhY2sgb2YgbW9ubyBzdHJlYW1zIChieXRlc19wZXJfc2FtcGxlIHNob3VsZCBiZSBzZXQKCSAgZnJvbSB0aGUgc2FtcGxlIHdpZHRoIGFuZCB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIG5lZ290aWF0ZWQsCgkgIGFuZCBub3QganVzdCBiZSBzZXQgdG8gNCkgKCMzMTczMzgpCgoyMDA1LTA5LTI2IDE0OjU5OjEwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBhdXBhcnNlIHRvIHBsdWdpbnMgbGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGF1cGFyc2UgdG8gcGx1Z2lucyBsaXN0CgoyMDA1LTA5LTI2IDE0OjQyOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogU2V0IGJ1ZmZlciBkdXJhdGlvbiBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2ZsdXNoKSwKCSAgKGdzdF9ydHBtcGFlbmNfaGFuZGxlX2J1ZmZlcik6CgkgIFNldCBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5LgoKMjAwNS0wOS0yNiAxMzowNjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvdW50ZXJpbmcgYSBzdHJlYW0gd2l0aCBhbiB1bmtub3duIGZvdXJjYyBvciBjb2RlYyBpZC4gSW5zdGVhZCwgY3JlYXRlIGEgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjcmFzaCB3aGVuIGVuY291bnRlcmluZyBhIHN0cmVhbSB3aXRoIGFuIHVua25vd24gZm91cmNjIG9yCgkgIGNvZGVjIGlkLiBJbnN0ZWFkLCBjcmVhdGUgYSBwYWQgb2YgdHlwZSB2aWRlby94LWF2aS11bmtub3duIG9yCgkgIGF1ZGlvL3gtYXZpLXVua25vd24sIHdoaWNoIGFzIGEgc2lkZS1lZmZlY3QgYWxzbyByZXN1bHRzIGluIGxlc3MKCSAgY29uZnVzaW5nIGVycm9yIG1lc3NhZ2VzIGluIHBsYXllcnMgKCdubyBkZWNvZGVyJyB2cy4gJ25vIHN0cmVhbXMnKTsKCSAgbWlub3IgZml4ZXMgdG8gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCBjbGFzc19pbml0IGZ1bmN0aW9uLgoKMjAwNS0wOS0yNCAxMzozNDo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHNldCB1cCBwbHVnaW4gcGF0aHMgcHJvcGVybHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNldCB1cCBwbHVnaW4gcGF0aHMgcHJvcGVybHkKCjIwMDUtMDktMjQgMTM6MTA6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IFRoZXNlIGFyZSBzaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpOgoJICBUaGVzZSBhcmUgc2lua3MuCgoyMDA1LTA5LTI0IDEyOjEwOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6IGZpeCB0ZXN0IGZvciBuZXcgR3N0Q2xvY2tUaW1lIHVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBmaXggdGVzdCBmb3IgbmV3IEdzdENsb2NrVGltZSB1c2UKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KSwgKGdzdF9sZXZlbF9zZXRfY2FwcyksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgZml4IHVwIHRoZSBkZWNheSBwZWFrLCBlbnN1cmluZyB0aGUgZGVjYXkgcGVhayBpcyBuZXZlciBsb3dlcgoJICB0aGFuIHRoZSBwZWFrIGZvciB0aGF0IGludGVydmFsCgoyMDA1LTA5LTIzIDE4OjIzOjA0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHVwZGF0aW5nIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0aW5nIGRvY3MKCjIwMDUtMDktMjMgMTg6MTU6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogY29tbW9uOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgY29udmVydCB0byB1c2luZyBHc3RDbG9ja1RpbWUgZm9yIGFsbCB0aW1lIHZhbHVlcywgZmluYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbnZlcnQgdG8gdXNpbmcgR3N0Q2xvY2tUaW1lIGZvciBhbGwgdGltZSB2YWx1ZXMsIGZpbmFsbHkuCgoyMDA1LTA5LTIzIDE1OjAxOjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgb2YgZ29vbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIG9mIGdvb20KCjIwMDUtMDktMjMgMTQ6MjA6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgd2UgaGFuZGxlIG1vcmUgdGhhbiB0d28gY2hhbm5lbHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdlIGhhbmRsZSBtb3JlIHRoYW4gdHdvIGNoYW5uZWxzCgoyMDA1LTA5LTIzIDA0OjIzOjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoKMjAwNS0wOS0yMiAyMjozODo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIEF1cGFyc2UgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGF1cGFyc2UgISBvc3NzaW5rIGFuZCBhbHNhc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQXVwYXJzZSBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgYXVwYXJzZSAhIG9zc3NpbmsgYW5kIGFsc2FzaW5rCgoyMDA1LTA5LTIyIDE0OjEzOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFVzZSBpc19maWxsZWQgdG8gYm90aCBjaGVjayBNVFUgYW5kIG1heC1wdGltZSBvZiBiYXNlIGNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1RPRE86CgkgICogZ3N0L3J0cC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfZ2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLCAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmg6CgkgIFVzZSBpc19maWxsZWQgdG8gYm90aCBjaGVjayBNVFUgYW5kIG1heC1wdGltZSBvZiBiYXNlIGNsYXNzLgoKMjAwNS0wOS0yMiAxMToyODoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiBEb24ndCBmcmFnbWVudCBwYWNrZXRzIHdpdGggbXVsdGlwbGUgZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSk6CgkgIERvbid0IGZyYWdtZW50IHBhY2tldHMgd2l0aCBtdWx0aXBsZSBmcmFtZXMuCgoyMDA1LTA5LTIyIDEwOjM5OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFJlbW92ZSBnX3ByaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1RPRE86CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6IChnc3RfcnRwbXA0dmRlY19zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfaW5pdCksIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkgIFJlbW92ZSBnX3ByaW50LgoJICBVcGRhdGUgVE9ETwoJICBNYWtlIHBheWxvYWQgZW5jb2RlciBhIGJpdCBzbWFydGVyIGFuZCBtb3JlIGNvcnJlY3Qgd2l0aAoJICB0aW1lc3RhbXBzLgoJICBBZGRlZCBvcHRpb24gaW4gcGF5bG9hZGVyIHRvIGluY2x1ZGUgY29uZmlnIHN0cmluZyBpbi1iYW5kLgoKMjAwNS0wOS0yMSAxOTo0MTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU3RyaXAgc3BhY2VzIGZvciBrZXkvdmFsdWUgcGFpcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIFN0cmlwIHNwYWNlcyBmb3Iga2V5L3ZhbHVlIHBhaXJzLgoKMjAwNS0wOS0yMSAxNzo1MzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTW9yZSBTRFAgcGFyc2luZyBhbmQgY2FwcyBzZXR0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgTW9yZSBTRFAgcGFyc2luZyBhbmQgY2FwcyBzZXR0aW5nLgoJICBEbyBOT19QUkVST0xMIGRpZmZlcmVudGx5LgoJICBhZGQgcGFkcyBvbmx5IGFmdGVyIG5lZ290aWF0ZWQuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2dldGNhcHMpOgoJICBJbXBsZW1lbnQgdGhlIGdldGNhcHMgZnVuY3Rpb24uCgoyMDA1LTA5LTIxIDE3OjUwOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzogSGFuZGxlIG11bHRpcGxlIEFNciBwYWNrZXRzIHBlciBwYXlsb2FkLiBIYW5kbGUgQ1JDIGFuZCBwYXJzZSBJTEwvSUxQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOiAoZ3N0X3J0cGFtcmRlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cGFtcmRlY19jaGFpbik6CgkgIEhhbmRsZSBtdWx0aXBsZSBBTXIgcGFja2V0cyBwZXIgcGF5bG9hZC4gSGFuZGxlIENSQyBhbmQKCSAgcGFyc2UgSUxML0lMUC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOiAoZ3N0X3J0cGFtcmVuY19zZXRjYXBzKToKCSAgTWFrZSBjYXBzIHBhcmFtcyBzdHJpbmdzIGZvciBlYXN5IFNEUCBtYXBwaW5nLgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2luaXQpLCAoZ3N0X3J0cGRlY19nZXRjYXBzKToKCSAgSGFuZGxlIGNhcHNuZWdvIGJldHRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzogKGdzdF9ydHBtcDR2ZGVjX3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfbmV3X2NhcHMpOgoJICBHZW5lcmF0ZSBhbmQgcGFyc2UgY29uZmlnIHN0cmluZyBpbiB0aGUgY2Fwcy4KCjIwMDUtMDktMjEgMTI6MTk6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRQoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6IChnc3RfcnRwYW1yZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIE1ha2UgZXh0cmEgcGFyYW1zIGFzIHN0cmluZ3MuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3N0YXRlKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLCAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIE1ha2Ugc3RhdGUgY2hhbmdlIHJldHVybiBOT19QUkVST0xMIGFzIHRoaXMgaXMgYSBsaXZlCgkgIHNvdXJjZS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBEb24ndCB1bnJlZiBvbGQgY2FwcyB3aGVuIE5VTEwuCgoyMDA1LTA5LTIwIDE3OjM1OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBBZGQgVVJJIGhhbmRsZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3Byb3RvY29scyksIChnc3RfcnRzcHNyY191cmlfZ2V0X3VyaSksCgkgIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSksIChnc3RfcnRzcHNyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVkaWFfZ2V0X2Zvcm1hdCk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICBBZGQgVVJJIGhhbmRsZXIuCgkgIFBhcnNlIFNEUCBhbmQgY3JlYXRlIGNhcHMuCgoyMDA1LTA5LTIwIDE3OjE5OjQzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIG1vcmUgc3BlYyBmaWxlIGZpeG9yaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIHNwZWMgZmlsZSBmaXhvcmluZwoKMjAwNS0wOS0yMCAxNzowNDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QtcGx1Z2lucy5zcGVjLmluOgoJICBmaXggc3BlYyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHNwZWMgZmlsZXMKCjIwMDUtMDktMjAgMTA6NTE6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgZG9uJ3QgdXNlIHVuZGVyc2NvcmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCB1c2UgdW5kZXJzY29yZXMKCjIwMDUtMDktMjAgMDc6MzA6MzEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiBmaXggZWxlbWVudCBkZXNjcmlwdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgZml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCjIwMDUtMDktMTkgMTc6NTc6MDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICBwcmVyZXFzIGFzIHdlbGwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHByZXJlcXMgYXMgd2VsbAoKMjAwNS0wOS0xOSAxNzo1Mzo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgIGNvbW1pdCByZXN1bHQgb2Ygc2Nhbm9iaiBzdGVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21taXQgcmVzdWx0IG9mIHNjYW5vYmogc3RlcAoKMjAwNS0wOS0xOSAxNzowMzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzogRG9uJ3QgY2hlY2sgcGF5bG9hZCBmb3Igbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6IChnc3RfcnRwaDI2M3BkZWNfY2hhaW4pOgoJICBEb24ndCBjaGVjayBwYXlsb2FkIGZvciBub3cuCgoyMDA1LTA5LTE5IDE2OjQzOjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgoyMDA1LTA5LTE5IDE2OjI2OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEZpeCB3YXZwYXJzZSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9pbml0KSwgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgRml4IHdhdnBhcnNlIHNvbWUgbW9yZS4KCjIwMDUtMDktMTkgMTE6NDg6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiBGaXggZm9yIGJ1cyBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggZm9yIGJ1cyBBUEkgY2hhbmdlLgoKMjAwNS0wOS0xOSAxMTozODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IEZpeCBmb3IgbmV3IGJ1cyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtYWluKToKCSAgRml4IGZvciBuZXcgYnVzIEFQSS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBTZXQgY2FwcyBvbiBwYWRzLgoKMjAwNS0wOS0xOSAxMTowNjowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgIGRpc2FibGUgZmxhZ3MgZm9yIHVuYnVpbHQgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzYWJsZSBmbGFncyBmb3IgdW5idWlsdCBwbHVnaW5zCgoyMDA1LTA5LTE5IDA4OjIxOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL3NjYW5vYmotYnVpbGQuc3RhbXA6CgkgIG5vcm1hbCBidWlsZHMgc2hvdWxkbid0IHNjYW4gZ29iamVjdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG5vcm1hbCBidWlsZHMgc2hvdWxkbid0IHNjYW4gZ29iamVjdHMKCjIwMDUtMDktMTYgMDA6Mzg6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHJlbW92ZSBnc3QtcmVnaXN0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBnc3QtcmVnaXN0ZXIKCjIwMDUtMDktMTUgMTM6NTc6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICBVcGRhdGVzIHRvIHBheWxvYWRlci9kZXBheWxvYWRlcnMsIG1ha2UgcGF5bG9hZGVycyB1c2UgdGhlIGJhc2UgY2xhc3Nlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZXMgdG8gcGF5bG9hZGVyL2RlcGF5bG9hZGVycywgbWFrZSBwYXlsb2FkZXJzIHVzZQoJICB0aGUgYmFzZSBjbGFzc2VzLgoJICBVcGRhdGVkIFJFQURNRSB3aXRoIHN1Z2dlc3RlZCBSVFAgY2FwcyBhbmQgaG93IHRvIGNvbnZlcnQKCSAgdG8vZnJvbSBTRFAuCgkgIEFkZGVkIGNvbmZpZyBkZXNjcmlwdG9yIGluIG1wNHYgcGF5bG9hZGVyLgoKMjAwNS0wOS0xNSAxMDo0Nzo1OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6IGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0xNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmMgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmMKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KTogVXBkYXRlIGZvciBuZXcgcmVnaXN0cnkgQVBJLgoKMjAwNS0wOS0xNCAyMDo1MTo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb21tb24vOiBhIHNpbXBsZSBweSBzY3JpcHQgdG8gZ2VuZXJhdGUgdmFsaWQgeG1sIGZyb20gYSBDIGV4YW1wbGUgcHJvYmFibHkgYWxzbyBuZWVkIHRvIHN0cmlwIGFuIE1JVCBsaWNlbnNlIHdoZW4gd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29tbW9uL2MtdG8teG1sLnB5OgoJICAqIGNvbW1vbi9ndGstZG9jLXBsdWdpbnMubWFrOgoJICBhIHNpbXBsZSBweSBzY3JpcHQgdG8gZ2VuZXJhdGUgdmFsaWQgeG1sIGZyb20gYSBDIGV4YW1wbGUKCSAgcHJvYmFibHkgYWxzbyBuZWVkIHRvIHN0cmlwIGFuIE1JVCBsaWNlbnNlIHdoZW4gd2UgZGVjaWRlCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KToKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBhZGQgYW4gZXhhbXBsZSB0byBsZXZlbCB0aGF0IHdpbGwgc2hvdyB1cCBpbiB0aGUgZG9jcwoJICAqIGdzdC9ydHAvVE9ETzoKCSAgYWRkIGEgbm90ZSBmb3IgdGhlIGZ1dHVyZQoKMjAwNS0wOS0xNCAxMTo0NDoxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogQWN0dWFsbHkgZGVmaW5lIHRoZSBkZWJ1ZyBvYmplY3QgYmVpbmcgdXNlZCBpbiB3YXZlbmMuIEZpeGVzICMzMTYyMDUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2xhc3NfaW5pdCk6CgkgIEFjdHVhbGx5IGRlZmluZSB0aGUgZGVidWcgb2JqZWN0IGJlaW5nIHVzZWQgaW4gd2F2ZW5jLiBGaXhlcyAjMzE2MjA1CgoyMDA1LTA5LTE0IDExOjIzOjQ0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgTGluayBzbXB0ZSBwbHVnaW4gYWdhaW5zdCBHU1RfQkFTRV9MSUJTLCB0byBnZXQgbGliZ3N0YmFzZTsgbmVlZGVkIHRvIGJ1aWxkIG9uIHdpbjMyIGFzIHRoaXMgcGx1Z2luIHVzZXMgY29sbGVjdHBhZHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBMaW5rIHNtcHRlIHBsdWdpbiBhZ2FpbnN0IEdTVF9CQVNFX0xJQlMsIHRvIGdldCBsaWJnc3RiYXNlOyBuZWVkZWQgdG8KCSAgYnVpbGQgb24gd2luMzIgYXMgdGhpcyBwbHVnaW4gdXNlcyBjb2xsZWN0cGFkcyAoYnVnIDMxNjIwNCkKCjIwMDUtMDktMTIgMTY6Mzc6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggdXAgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgoyMDA1LTA5LTEyIDE2OjE0OjQ4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBhdXRvZ2VuLnNoIChwYWNrYWdlKTogTm93IHR5cGUgJ21ha2UnIHRvIGJ1aWxkIGdzdC1wbHVnaW5zLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTEyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGF1dG9nZW4uc2ggKHBhY2thZ2UpOiBOb3cgdHlwZSAnbWFrZScgdG8gYnVpbGQgZ3N0LXBsdWdpbnMtZ29vZC4KCjIwMDUtMDktMTEgMTc6NTI6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgYWRkIHNvdXJjZSBtb2R1bGUgdG8gZG9jczsgcmVpbnNwZWN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgc291cmNlIG1vZHVsZSB0byBkb2NzOyByZWluc3BlY3QKCjIwMDUtMDktMDkgMTc6NTY6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBmZHNyYyBiYWNrIGludG8gZ3N0cmVhbWVyIGNvcmUgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmRzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zkc3JjL2dzdGZkc3JjLmM6CgkgICogZ3N0L2Zkc3JjL2dzdGZkc3JjLmg6CgkgIE1vdmUgZmRzcmMgYmFjayBpbnRvIGdzdHJlYW1lciBjb3JlIGVsZW1lbnRzLgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X3NldF9wcm9wZXJ0eSk6CgkgIEJhc2V0cmFuc2Zvcm0gY2hhbmdlcy4KCjIwMDUtMDktMDkgMTY6MTE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA1LTA5LTA5IDExOjA5OjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjogc3BlYyBmaWxlIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgc3BlYyBmaWxlIGZpeGVzCgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyKToKCSAgaXQgYWN0dWFsbHkgaGVscHMgdG8gYWN0dWFsbHkgc3RyZWFtIGlmIHdlIGhvb2sgdXAgdGhlCgkgIGFkZCBzaWduYWwgdG8gYW4gYWN0dWFsIGltcGxlbWVudGF0aW9uCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBzb21lIGRlYnVnZ2luZwoKMjAwNS0wOS0wOCAxNjo1ODo0MCArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkgIGpwZ2VuYyBwb3J0ZWQgdG8gR1NUcmVhbWVyIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAganBnZW5jIHBvcnRlZCB0byBHU1RyZWFtZXIgMC45CgoyMDA1LTA5LTA4IDE2OjI2OjE3ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSAganBlZ2VuYyBwb3J0ZWQgdG8gR1N0cmVhbWVyIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAganBlZ2VuYyBwb3J0ZWQgdG8gR1N0cmVhbWVyIDAuOQoKMjAwNS0wOS0wNyAxMzo0OTozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0LzogZ3N0dGFnaW50ZXJmYWNlLmggLT4gZ3N0dGFnc2V0dGVyLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIGdzdHRhZ2ludGVyZmFjZS5oIC0+IGdzdHRhZ3NldHRlci5oCgoyMDA1LTA5LTA2IDIzOjMwOjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgdG8gMC45IGFuZCByZS1lbmFibGUgZWZlbmNlIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2NsYXNzX2luaXQpLCAoZ3N0X2VmZW5jZV9pbml0KSwKCSAgKGdzdF9lZmVuY2VfY2hhaW4pLCAoZ3N0X2VmZW5jZV9idWZmZXJfYWxsb2MpLCAocGx1Z2luX2luaXQpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfZmluYWxpemUpLCAoZ3N0X2ZlbmNlZF9idWZmZXJfY29weSksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9hbGxvYyksIChnc3RfZmVuY2VkX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2luaXQpLCAoZ3N0X2ZlbmNlZF9idWZmZXJfZ2V0X3R5cGUpOgoJICBQb3J0IHRvIDAuOSBhbmQgcmUtZW5hYmxlIGVmZW5jZSBwbHVnaW4uCgoyMDA1LTA5LTA2IDIxOjMxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBBZGQgc3VwcG9ydCBmb3IgZmxhYyBmaWxlcyB3aXRoIDI0LzMyIGJpdHMgcGVyIHNhbXBsZTsgYW5kIG1pc2MuIG1pbm9yIGNsZWFuLXVwcy4gU2Vla2luZyBpcyBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGZsYWNfY2Fwc19mYWN0b3J5KSwgKHJhd19jYXBzX2ZhY3RvcnkpLAoJICAoZ3N0X2ZsYWNkZWNfd3JpdGUpLCAoZ3N0X2ZsYWNkZWNfY29udmVydF9zcmMpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsYWMgZmlsZXMgd2l0aCAyNC8zMiBiaXRzIHBlciBzYW1wbGU7IGFuZCBtaXNjLgoJICBtaW5vciBjbGVhbi11cHMuIFNlZWtpbmcgaXMgc3RpbGwgcGFydGx5IGJyb2tlbiAoZm9yIG1lIGF0IGxlYXN0KS4KCjIwMDUtMDktMDYgMTU6NTA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgbXBlZzQgdmlkZW8gcGF5bG9hZCBlbmNvZGVyL2RlY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzogKGdzdF9ydHBtcDR2ZGVjX2dldF90eXBlKSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2Jhc2VfaW5pdCksIChnc3RfcnRwbXA0dmRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2luaXQpLCAoZ3N0X3J0cG1wNHZkZWNfc2V0Y2FwcyksCgkgIChnc3RfcnRwbXA0dmRlY19jaGFpbiksIChnc3RfcnRwbXA0dmRlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cG1wNHZkZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBtcDR2ZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwbXA0dmRlY19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19nZXRfdHlwZSksCgkgIChnc3RfcnRwbXA0dmVuY19iYXNlX2luaXQpLCAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19pbml0KSwgKGdzdF9ydHBtcDR2ZW5jX3NldGNhcHMpLAoJICAoZ3N0X3J0cG1wNHZlbmNfZmx1c2gpLCAoZ3N0X3J0cG1wNHZlbmNfY2hhaW4pLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBtcDR2ZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwbXA0dmVuY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cG1wNHZlbmNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6IChnc3RfcnRwbXBhZGVjX2NoYWluKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19mbHVzaCk6CgkgIEFkZGVkIG1wZWc0IHZpZGVvIHBheWxvYWQgZW5jb2Rlci9kZWNvZGVyLgoJICBBZGRlZCBzb21lIGRvY3MgaW4gbXBhIHBheWxvYWRlci4KCjIwMDUtMDktMDYgMTQ6MDY6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjEgPT09CgoyMDA1LTA5LTA2IDE0OjA1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVBRE1FOgoJKiBSRUxFQVNFOgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuOS4yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjIKCjIwMDUtMDktMDUgMTc6MjA6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDUtMDktMDUgMTY6Mjg6MTYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2NoYWluKTogTW92ZSB0aGUgcGFkIGFkZGluZyBoZXJlIGZyb20gdGhlIHN0YXRlIGNoYW5nZSBoYW5kbGVyLCBzbyB3ZSBmaXJlIHNpZ25hbHMgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9jaGFpbik6IE1vdmUgdGhlIHBhZCBhZGRpbmcKCSAgaGVyZSBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgaGFuZGxlciwgc28gd2UgZmlyZSBzaWduYWxzIHdpdGhvdXQKCSAgaG9sZGluZyB0aGUgc3RhdGUgbG9jay4KCjIwMDUtMDktMDUgMTU6MTA6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBjbGVhbmluZyB1cCBiYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuaW5nIHVwIGJhZAoKMjAwNS0wOS0wNSAxMzoxODo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBtYWludGVuYW5jZSBjb21taXRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtYWludGVuYW5jZSBjb21taXRzCgoyMDA1LTA5LTA0IDE1OjA5OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LWJ1aWxkLnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGRpc3RjaGVjayBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzdGNoZWNrIGZpeGVzCgoyMDA1LTA5LTA0IDExOjUwOjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBmaXggZGlzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdGNoZWNrCgoyMDA1LTA5LTAyIDE1OjU2OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdmFyaW91cyBzcGVjIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIHNwZWMgZml4ZXMKCjIwMDUtMDktMDIgMTU6NDQ6NTAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9mZHNyYy9nc3RmZHNyYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoKMjAwNS0wOS0wMSAyMToyNDo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIxOjIzOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjE6MjA6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMToxNTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIwOjIzOjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNoZWNrLy5naXRpZ25vcmU6CgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiBjaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiB0ZXN0cy9jaGVjay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQW5kcmV3aW8gUGF0cmlja29mb3J1cyBXaW5nb255bXVzIC0gNSBhZGRpdGlvbmFsIHRlc3RzIGZvciB5b3VyIHNpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFuZHJld2lvIFBhdHJpY2tvZm9ydXMgV2luZ29ueW11cyAtIDUgYWRkaXRpb25hbCB0ZXN0cyBmb3IgeW91ciBzaW5zCgkgIEFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgbGV2ZWwgYW5kIGZpeCBhIGNhc3RpbmcgYnVnIHRoYXQgbWFkZSB0aGUgYWRkaXRpb25hbAoJICBjaGFubmVscyB0dXJuIG91dCB3cm9uZwoKMjAwNS0wOS0wMSAxNzo1NToxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgZG9jcyB0byBidWlsZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgIGFkZCBkb2NzIHRvIGJ1aWxkCgkgICogY29tbW9uL3BsdWdpbnMueHNsOgoJICB3cmFwIERlc2NyaXB0aW9uIGludG8gYSByZWZzZWN0MgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2dldF90eXBlKSwgKGdzdF9nb29tX2Jhc2VfaW5pdCksCgkgIChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLCAoZ3N0X2dvb21fZGlzcG9zZSksCgkgIChnc3RfZ29vbV9zaW5rX3NldGNhcHMpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSksIChnc3RfZ29vbV9ldmVudCksIChnc3RfZ29vbV9jaGFpbiksCgkgIChnc3RfZ29vbV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgR3N0R09PTSAtPiBHc3RHb29tCgkgIGFkZCBhbiBleGFtcGxlIGxhdW5jaCBsaW5lCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgY2xlYW51cHMKCjIwMDUtMDgtMzEgMTY6Mjg6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2R2ZGxwY21kZWMvLmdpdGlnbm9yZToKCSogZ3N0L2R2ZGxwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRscGNtZGVjL2dzdGR2ZGxwY21kZWMuYzoKCSogZ3N0L2R2ZGxwY21kZWMvZ3N0ZHZkbHBjbWRlYy5oOgoJICByZW1vdmUgZHZkbHBjbWRlYywgaXQncyBkdmQgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBkdmRscGNtZGVjLCBpdCdzIGR2ZCBzdHVmZgoKMjAwNS0wOC0zMCAxOTo0MToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJICBhZGQgc29tZSBpMThuIGhlYWRlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb21lIGkxOG4gaGVhZGVycwoKMjAwNS0wOC0zMCAxOToyNDozNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA1LTA4LTMwIDE5OjI0OjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYWtlZmlsZS5hbQoKMjAwNS0wOC0zMCAxOToyMDowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjoKCSAgY29tbWl0IG5ldyBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWl0IG5ldyBzdHVmZgoKMjAwNS0wOC0zMCAxOTowMToxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSAgZG9jdW1lbnQgZWxlbWVudHMgYW5kIHBsdWdpbnMuICBTaGF6YW0gIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jdW1lbnQgZWxlbWVudHMgYW5kIHBsdWdpbnMuICBTaGF6YW0gIQoKMjAwNS0wOC0zMCAxNzozNzowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJKiBDT1BZSU5HOgoJKiBSRUxFQVNFOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBzb21lIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgc29tZSBmaWxlcwoK